专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » oracle数据仓库:Oracle数据仓库的分层管理器解决方案开发者网络Oracle »正文

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

来源: 发布时间:星期二, 2008年12月23日 浏览:2次 评论:0
正在看ORACLE教程是:Oracle数据仓库分层管理器解决方案开发者网络Oracle摘要 本文描述分层管理器原理、步骤、限制并和Oracle数据仓库相结合实现了地学数据有效存储、管理以及大范围数据快速浏览
  关键字 分层管理器 元数据 快速浏览
  
  前言
  21世纪是信息世纪综合国力竞争在很大程度上是信息竞争更是信息利用率竞争近年来随着“数字地球”和“数字国土”战略提出和实施地学领域海量数据飞速增长数据存储、分析、管理和处理变得日益复杂随着Oracle技术成熟尤其是8.15本版后Oracle Spatial出现数据仓库在海量数据存储、分析和表达方面有着无可比拟优势同时由于信息量巨大传统数据存储和显示方式在大范围数据快速浏览方面显得力不从心这样有必要改变空间数据存储方式加载需要空间数据部分避免不必要数据反复加载和卸载
  分层管理器
  1、分层管理器架构
  分层管理器是实现大范围数据快速浏览关键部分它控制了逐层细化表结构和元数据定义和赋值定义了组件表中关键信息给出了空间数据来源、数据挖掘规则、图层加载范围和图形编辑、输出和保存分层管理器有两部分组成分别为:
  a) 组存储于Oracle数据仓库中空间数据表用于逐层细化图层中每个详细信息层这些表称为组件表;
  b) 个空表包含该表结构定义和描述组件表特殊元数据该表称为逐层细化表任何逐层细化应用均需要逐层细化表从中可以了解逐层细化图层中各层层次关键字描述以及它们的间层次关联方式进行分层时分层管理器作为部分确定需要添加子图元所在图层及其关键字以便确定在逐层细化图层中需要添加和删除图元信息
  逐层细化图层是种特殊地图图层它是有自己表结构空白图层并用元数据规定了所有加载图层些规则和限制所显示出来地图信息是按照元数据规定规则从其它表或数据库中提取出来在地图中显示逐层细化图层时分层管理器会创建个临时表然后将组件表中图元复制到该临时表中逐层细化图层中显示图元实际上是组件表中图元副本这样就可以灵活在图层上面加载需要信息在应用终止时将丢弃该临时表为了保存有用专题图信息可以对提取出来图层进行保存此时如果用户查看图层信息时逐层细化图层仍将是单个图层
  逐层细化表要求作为分层管理器组织核心部分它定义了元数据关键字和 3个标准列:关键字、层和标签并有着自己套语法:
  (1) 关键字 begin_metadata 标记逐层细化表中元数据部分开头
  (2) 每行元数据包含两个元素:关键字和值所有关键字和值均使用双引号引起来
  (3) 逐层细化表必须包含 \IsDrilldown 关键字该关键字值必须为 True
  (4) 每个关键字以“\”(反斜线)开头
  (5) 元数据关键字可以在层次结构中嵌套层次结构中层以反斜线 (\) 标记
  (6) 元数据包括 \DDMap\ComponentMaps\ 关键字层次结构在该层次结构中为每个组件表指定 4个元数据关键字



  分层管理器分层原理图如图1所示从图中可以看出分层管理器有两部分组成:组件表和逐层细化表组成分层管理器根据系统要求以数据挖掘方式从Oracle数据仓库中提取数据形成组件表中某个图层然后确定需要加载图层名称和图层中部分并加载到逐层细化表中如果是第次加载此时逐层细化表是空白图层在加载过程中逐层细化表不断进行图元信息增加和删除这样会出现每个组件表中部分信息显示在逐层细化表所示图层中这样输出所需要图层并对它进行编辑由于逐层细化表中数据是个组件表中副本需要对编辑后图层进行另存形成专题图
  分层管理器首先形成空白图层通过分层管理器用数据挖掘工具从Oracle数据仓库中提取数据根据分层管理器元数据规则形成图层在该图层中通过响应事件以确定加载 2级图层图层名称和该图层中加载部分相应加载 3级、 4级图层数据在加载同时就形成了各种专题图当然分层管理器功能实现是通过GIS组件(MapX、MO、AO等)和编程语言(VB、VC、Delphi等)来实现




[NextPage]

2、分层管理器开发步骤
  分层管理器应用需要进行许多设置和准备主要步骤汇总如下:
  (1)获取多层逐层细化图层时要使用各个表数据
  (2)创建个包含特殊列和特殊元数据空逐层细化表(.tab 文件)元数据为每个组件表指定个层名同时标识组件表中重要列标识列和标题列
  (3)将逐层细化表加入地图例如将逐层细化表加入您使用Geo或通过编码思路方法将逐层细化表加入地图
  (4)在应用中添加用户界面元素响应逐层细化事件
  (5)添加代码响应用户对逐层细化工具使用(也就是说编写分层管理器)
  (6)该代码需要检测用户已选择图元;确定需要添加子图元和需要删除图元;应用来实现分层或汇总地图图元
  例子分析
  由于遥感影响数据量特别巨大对于数据存储、管理、分析和有用图形部分显示就显得非常困难这需要用关系——对象数据库对数据进行存储在图形显示时为了使取得有用图层信息减少加载时间和提高编辑效率需要对图形进行分层显示即用到了前面介绍分层管理器技术本文用VB作为编程语言MapX作为GIS组件进行 2次开发来实现分层管理技术
  1、构建分层管理器
  构建逐层细化表其表结构为:
Definition Table
Type Native Char "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, miToolTypePo, miDrilldownExpandCursor, miDrilldownContractCursor, miDrilldownContractCursor
  每次使用自定义逐层细化工具均会触发 ToolUsed 事件在 ToolUsed 事件过程中您将需要

[1] [2] 下

正在看ORACLE教程是:Oracle数据仓库分层管理器解决方案开发者网络Oracle执行产生逐层细化行为代码该过程主要分为 4个步骤:
  (1)使用 SelectByPo 或 SearchAtPo 的类思路方法确定用户单击地图图元
  (2)确定应取代用户单击图元子图元集例如可以使用个或多个嵌套 Case 语句确定哪些子图元取代所选父图元
  (3)提取空间数据根据前述条件用SQL语言从数据仓库中提取信息如:select goloc form YN. Tab_HQ_KC where Prix=68
  (4) DrilldownAddFeatures 思路方法将子图元加入地图
  (5) DrilldownRemoveFeatures 思路方法从地图中删除父图元(用户单击图元)
  (6)对显示图层进行编辑并把编辑结果保存
  3、结果分析
  从例子结果可以看出Oracle数据仓库能够方便对空间数据进行存储、分析、管理和输出数据挖掘技术应用能够灵活存取数据而不需要加载整个数据表中所有数据分层管理器应用实现了空间数据大范围快速浏览和区别主题图层部分叠加实际应用中有着非常方便应用
  结论
  高效地利用现有海量数据是目前面临难题的Oracle数据仓库技术是专门针对海量数据管理和应用技术它在对象-关系型数据库、功能强大DBMS和支持可视化检索方面有着非常明显优势地学数据仓库理论在今年时间应用中不断完善本文在数据仓库存储、分析和表达层方面把理论和实际应用相结合结合分层管理GIS 2次开发开发出基于Oracle数据仓库分层管理系统它结合了数据仓库和分层管理优点在地学空间数据应用方面进行了有益尝试







页 [1] [2]

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: