Oracle数据仓库的分层管理器解决方案开发者网络Oracle

正在看的ORACLE教程是:Oracle数据仓库的分层管理器解决方案开发者网络Oracle。摘要 本文描述分层管理器的原理、步骤、限制,并和Oracle数据仓库相结合实现了地学数据的有效存储、管理以及大范围数据的快速浏览。

  关键字 分层管理器 元数据 快速浏览
  
  前言

  21世纪是信息的世纪,综合国力的竞争在很大程度上是信息的竞争,更是信息利用率的竞争。近年来,随着“数字地球”和“数字国土”战略的提出和实施,地学领域的海量数据飞速增长,数据的存储、分析、管理和处理变得日益复杂。随着Oracle技术的成熟,尤其是8.15本版后Oracle Spatial的出现,数据仓库在海量数据存储、分析和表达方面有着无可比拟的优势。同时,由于信息量的巨大,传统的数据存储和显示方式在大范围数据快速浏览方面显得力不从心,这样有必要改变空间数据的存储方式,加载需要的空间数据部分,避免不必要数据的反复加载和卸载。

  分层管理器

  1、分层管理器架构

  分层管理器是实现大范围数据的快速浏览的关键部分,它控制了逐层细化表的结构和元数据的定义和赋值,定义了组件表中的关键信息,给出了空间数据的来源、数据挖掘规则、图层加载范围和图形编辑、输出和保存。分层管理器有两部分组成,分别为:

  a) 一组存储于Oracle数据仓库中的空间数据表,用于逐层细化图层中的每个详细信息层,这些表称为组件表;

  b) 一个空表,包含该表的结构定义和描述组件表的特殊元数据,该表称为逐层细化表。任何逐层细化应用程序均需要逐层细化表,从中可以了解逐层细化图层中各层的层次关键字描述,以及它们之间的层次关联方式。进行分层时,分层管理器作为程序的一部分,确定需要添加的子图元所在的图层及其关键字,以便确定在逐层细化图层中需要添加和删除的图元信息。

  逐层细化图层是一种特殊的地图图层,它是有自己表结构的空白图层,并用元数据规定了所有加载图层的一些规则和限制,所显示出来的地图信息是按照元数据规定的规则从其它表或数据库中提取出来的。在地图中显示逐层细化图层时,分层管理器会创建一个临时表,然后将组件表中的图元复制到该临时表中。逐层细化图层中显示的图元实际上是组件表中图元的副本。这样就可以灵活的在图层上面加载需要的信息。在应用程序终止时,将丢弃该临时表,为了保存有用的专题图信息,可以对提取出来的图层进行保存。此时,如果用户查看图层信息时,逐层细化图层仍将是单个图层。

  逐层细化表的要求作为分层管理器的组织核心部分,它定义了元数据关键字和三个标准列:关键字、层和标签。并有着自己的一套语法:

  (1) 关键字 begin_metadata 标记逐层细化表中元数据部分的开头。

  (2) 每行元数据包含两个元素:关键字和值。所有关键字和值均使用双引号引起来。

  (3) 逐层细化表必须包含 \IsDrilldown 关键字,该关键字的值必须为 True。

  (4) 每个关键字以“\”(反斜线)开头。

  (5) 元数据关键字可以在层次结构中嵌套。层次结构中的每一层以反斜线 (\) 标记。

  (6) 元数据包括 \DDMap\ComponentMaps\ 关键字层次结构。在该层次结构中为每个组件表指定四个元数据关键字。

  分层管理器的分层原理图如图1所示,从图中可以看出,分层管理器有两部分组成:组件表和逐层细化表组成,分层管理器根据系统的要求以数据挖掘的方式从Oracle数据仓库中提取数据,形成组件表中的某个图层,然后确定需要加载图层的名称和图层中的部分,并加载到逐层细化表中。如果是第一次加载,此时的逐层细化表是空白图层,在加载过程中,逐层细化表不断的进行图元信息的增加和删除,这样会出现每个组件表中的部分信息显示在逐层细化表所示的图层中。这样输出所需要的图层,并对它进行编辑,由于逐层细化表中数据是个组件表中的副本,需要对编辑后的图层进行另存,形成专题图。

  分层管理器首先形成空白图层,通过分层管理器用数据挖掘工具从Oracle数据仓库中提取数据,根据分层管理器的元数据规则形成一级的图层,在该图层中,通过响应事件,以确定加载二级图层的图层名称和该图层中的加载部分,相应的加载三级、四级图层数据,在加载的同时,就形成了各种专题图。当然,分层管理器功能的实现是通过GIS组件(MapX、MO、AO等)和编程语言(VB、VC、Delphi等)来实现的。

[NextPage] 2、分层管理器开发步骤

  分层管理器应用程序需要进行许多设置和准备。主要步骤汇总如下:

  (1)获取多层逐层细化图层时要使用的各个表的数据。

  (2)创建一个包含特殊列和特殊元数据的新的空逐层细化表(.tab 文件)。元数据为每个组件表指定一个层名,同时标识组件表中的重要列标识列和标题列。

  (3)将逐层细化表加入地图。例如,将逐层细化表加入您使用的Geoset,或通过编码方法将逐层细化表加入地图。

  (4)在应用程序中添加用户界面元素,响应逐层细化事件。

  (5)添加代码,响应用户对逐层细化工具的使用(也就是说编写分层管理器)。

  (6)该代码需要检测用户已选择的图元;确定需要添加的子图元和需要删除的图元;调用应用程序来实现分层或汇总地图图元。

  实例分析

  由于遥感影响数据量特别巨大,对于数据的存储、管理、分析和有用图形部分显示就显得非常困难,这需要用关系——对象数据库对数据进行存储。在图形显示时,为了使取得有用图层信息,减少加载时间和提高编辑效率,需要对图形进行分层显示,即用到了前面介绍的分层管理器技术。本文用VB作为编程语言,MapX作为GIS组件进行二次开发来实现分层管理技术。

  1、构建分层管理器

  构建逐层细化表,其表结构为:

Definition Table

Type Native Charset "WindowsLatin1"

Fields 3

Key Char (32);

Level Char (32);

Label Char (32) ;

  元数据关键字和对应值为:

begin_metadata

"\IsDrilldown" = "TRUE"

"\DDMap\ComponentMaps\One\File" = " Tab_YNP.TAB"

"\DDMap\ComponentMaps\One\LevelID" = " Tab_YNP "

"\DDMap\ComponentMaps\One\FeatureIDCol" = "3"

"\DDMap\ComponentMaps\One\FeatureCaptionCol" = "1"

…(其他各组件层的关键字和值与此相同)

"\DDMap\HierarchyManager\IsDLL" = "TRUE"

"\DDMap\HierarchyManager\ID" = "SomeDLL.dll"

"\DDMap\HierarchyManager\InitialLevel" = " Tab_YNP "

end_metadata

  2、分层管理器的实现

  使用 CreateCustomTool 方法实现逐层细化工具,定义为:Map1.CreateCustomTool customDrilldownExpandTool, miToolTypePoint, miDrilldownExpandCursor, miDrilldownContractCursor, miDrilldownContractCursor

  每次使用自定义逐层细化工具均会触发 ToolUsed 事件。在 ToolUsed 事件过程中,您将需要

[1] [2] 下一页

正在看的ORACLE教程是:Oracle数据仓库的分层管理器解决方案开发者网络Oracle。执行产生逐层细化行为的代码。该过程主要分为四个步骤:

  (1)使用 SelectByPoint 或 SearchAtPoint 之类的方法确定用户单击的地图图元。

  (2)确定应取代用户单击的图元的子图元集。例如,可以使用一个或多个嵌套的 Case 语句确定哪些子图元取代所选的父图元。

  (3)提取空间数据。根据前述条件,用SQL语言从数据仓库中提取信息,如:select goloc form YN. Tab_HQ_KC where Prix=68

  (4)调用 DrilldownAddFeatures 方法将子图元加入地图。

  (5)调用 DrilldownRemoveFeatures 方法从地图中删除父图元(用户单击的图元)。

  (6)对显示图层进行编辑,并把编辑结果保存。

  3、结果分析

  从实例的结果可以看出,Oracle数据仓库能够方便的对空间数据进行存储、分析、管理和输出,数据挖掘技术的应用能够灵活存取数据,而不需要加载整个数据表中的所有数据,分层管理器的应用实现了空间数据大范围快速浏览和不同主题图层的部分叠加,实际应用中有着非常方便的应用。

  结论

  高效地利用现有的海量数据是目前面临的难题之一。Oracle数据仓库技术是专门针对海量数据的管理和应用的技术,它在对象-关系型数据库、功能强大的DBMS和支持可视化检索方面有着非常明显的优势。地学数据仓库的理论在今年的时间应用中不断完善,本文在数据仓库的存储、分析和表达层方面把理论和实际应用相结合,结合分层管理GIS二次开发,开发出基于Oracle数据仓库的分层管理系统,它结合了数据仓库和分层管理的优点,在地学空间数据应用方面进行了有益的尝试。

上一页    

上一页  [1] [2] 

(0)

相关推荐

  • Oracle数据仓库的分层管理器解决方案开发者网络Oracle

    正在看的ORACLE教程是:Oracle数据仓库的分层管理器解决方案开发者网络Oracle.摘要 本文描述分层管理器的原理.步骤.限制,并和Oracle数据仓库相结合实现了地学数据的有效存储.管理以及大范围数据的快速浏览. 关键字 分层管理器 元数据 快速浏览 前言 21世纪是信息的世纪,综合国力的竞争在很大程度上是信息的竞争,更是信息利用率的竞争.近年来,随着"数字地球"和"数字国土"战略的提出和实施,地学领域的海量数据飞速增长,数据的存储.分析.管理和处理变得日

  • Oracle9i的全文检索技术开发者网络Oracle

    正在看的ORACLE教程是:Oracle9i的全文检索技术开发者网络Oracle.介绍:细处着手,巧处用功.高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些.电脑小技巧收集最新奇招高招,让你轻松踏上高手之路. >> 摘要 全文检索技术是智能信息管理的关键技术之一,Oracle Text作为Oracle9i的一个组件,提供了强大的全文检索功能,用Oracle9i做后台数据库,就可以充分利用其全文检索技术,构建复杂的大型文档管理系统.本文主要介绍了Oracle Text的体系结构及其使用.

  • Oracle数据库性能优化技术开发者网络Oracle

    正在看的ORACLE教程是:Oracle数据库性能优化技术开发者网络Oracle.介绍:细处着手,巧处用功.高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些.电脑小技巧收集最新奇招高招,让你轻松踏上高手之路.  摘要: Oracle数据库是当前应用最广泛的大型数据库之一,而其性优化直接关系到系统的运行效率.本文以数据库性能优化的基本原则为出发点,阐述了在数据库设计阶段如何避免竞争和如何优化数据访问,在数据库运行阶段如何从操作系统和数据库实例级别上调整内存和I/O来达到数据库性能优化的各种技

  • Oracle数据库及应用程序优化开发者网络Oracle

    正在看的ORACLE教程是:Oracle数据库及应用程序优化开发者网络Oracle.介绍:细处着手,巧处用功.高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些.电脑小技巧收集最新奇招高招,让你轻松踏上高手之路. 摘 要:本文对ORACLE数据库及ORACLE应用程序的优化,进行了全面的分析与研究,并提出了自己的一些建议. 关 键 词:ORACLE,优化,数据库,SQL 1.引言 随着信息化时代的到来,人们开始广泛地使用数据库技术对大量而复杂的信息进行科学高效的管理.在数据库领域中的各种应用

  • PL/SQL编程经验小结开发者网络Oracle

    正在看的ORACLE教程是:PL/SQL编程经验小结开发者网络Oracle.平时在PL/SQL中的编程中遇到一些问题,这里以问答的形式来进行把它们总结下来,以供大家分享. 1.当需要向表中装载大量的数据流或者需要处理大量的数据流的时候,能否使用管道提高处理效率? 管道函数对于改善并行查询的性能非常方便,它加快往表中加载数据的速度.管道函数的使用总结如下两点: 每当在查询里使用PL/SQL函数时,该查询将被序列化,即一个处理器只能运行一个查询实例,那么在这种情况下不可能使用并行查询(比如在数据仓库

  • 用Oracle9ias开发无线应用程序开发者网络Oracle

    正在看的ORACLE教程是:用Oracle9ias开发无线应用程序开发者网络Oracle. 介绍:细处着手,巧处用功.高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些.电脑小技巧收集最新奇招高招,让你轻松踏上高手之路. Oracle 移动服务的中心组件 Oracle Application Server Wireless (OracleAS Wireless) 是一个灵活的无线和语音综合平台,可以使任何公司的联系扩展到其公司范围以外.利用 Oracle9iAS Wireless,企业可以部

  • 基于Oracle的面向对象技术入门基础简析开发者网络Oracle

    正在看的ORACLE教程是:基于Oracle的面向对象技术入门基础简析开发者网络Oracle.一.概述 对象是Oracle8i以上版本中的一个新的特性,对象实际是对一组数据和操作的封装,对象的抽象就是类.在面向对象技术中,对象涉及到以下几个重要的特性:  封装性 通过对数据和操作的封装,将用户关心的数据和操作暴露出来作为接口,其他数据和操作则隐藏到对象内部,这样便于用户使用和维护.  继承性 对象具有继承性,通过这一特性可以增强程序的可扩展性,适合大型项目的开发.  多态性 同一操作在运行时刻有

  • MySQL高可用解决方案MMM(mysql多主复制管理器)

    一.MMM简介: MMM即Multi-Master Replication Manager for MySQL:mysql多主复制管理器,基于perl实现,关于mysql主主复制配置的监控.故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份.节点之间重新同步功能的脚本.MySQL本身没有提供replication failover的解决方案,通过MMM方案能实

  • SQL Server 出现Error: 1326错误(管理器无法连接远程数据库)问题解决方案

    SQL Server 出现Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例的问题,错误描述信息摘录如下: An error has occurred while establishing a connection to the server. (provider: Named Pipes Provider, error: 40 – Could not open a connection to

  • AERGO SHIP:用于开发智能合约的包管理器

    AERGO SHIP:用于开发智能合约的包管理器 用于构建.测试和部署分布式应用程序的客户端框架和开发环境 构建大型分布式应用程序是很困难的,因为对其进行测试,使其实现端到端工作,并进行部署是一个非常耗时的过程.通过AERGO,我们计划让一切变得与众不同. AERGO是一个为在实现基于区块链的系统和应用程序时面临众多独特挑战的企业提供解决方案的平台.为了提高开发.测试和部署智能合约的效率和易用性,我们创建了SHIP.SHIP是Lua智能合约包管理器.它将本地开发环境与Git和分布式分类账连接起来

随机推荐