Oracle数据仓库的分层管理器解决方案开发者网络Oracle
来源:asp之家 发布时间:2010-07-16 13:08:00
前言
21世纪是信息的世纪,综合国力的竞争在很大程度上是信息的竞争,更是信息利用率的竞争。近年来,随着“数字地球”和“数字国土”战略的提出和实施,地学领域的海量数据飞速增长,数据的存储、分析、管理和处理变得日益复杂。随着Oracle技术的成熟,尤其是8.15本版后Oracle Spatial的出现,数据仓库在海量数据存储、分析和表达方面有着无可比拟的优势。同时,由于信息量的巨大,传统的数据存储和显示方式在大范围数据快速浏览方面显得力不从心,这样有必要改变空间数据的存储方式,加载需要的空间数据部分,避免不必要数据的反复加载和卸载。
分层管理器
1、分层管理器架构
分层管理器是实现大范围数据的快速浏览的关键部分,它控制了逐层细化表的结构和元数据的定义和赋值,定义了组件表中的关键信息,给出了空间数据的来源、数据挖掘规则、图层加载范围和图形编辑、输出和保存。分层管理器有两部分组成,分别为:
a) 一组存储于Oracle数据仓库中的空间数据表,用于逐层细化图层中的每个详细信息层,这些表称为组件表;
b) 一个空表,包含该表的结构定义和描述组件表的特殊元数据,该表称为逐层细化表。任何逐层细化应用程序均需要逐层细化表,从中可以了解逐层细化图层中各层的层次关键字描述,以及它们之间的层次关联方式。进行分层时,分层管理器作为程序的一部分,确定需要添加的子图元所在的图层及其关键字,以便确定在逐层细化图层中需要添加和删除的图元信息。
逐层细化图层是一种特殊的地图图层,它是有自己表结构的空白图层,并用元数据规定了所有加载图层的一些规则和限制,所显示出来的地图信息是按照元数据规定的规则从其它表或数据库中提取出来的。在地图中显示逐层细化图层时,分层管理器会创建一个临时表,然后将组件表中的图元复制到该临时表中。逐层细化图层中显示的图元实际上是组件表中图元的副本。这样就可以灵活的在图层上面加载需要的信息。在应用程序终止时,将丢弃该临时表,为了保存有用的专题图信息,可以对提取出来的图层进行保存。此时,如果用户查看图层信息时,逐层细化图层仍将是单个图层。
逐层细化表的要求作为分层管理器的组织核心部分,它定义了元数据关键字和三个标准列:关键字、层和标签。并有着自己的一套语法:
(1) 关键字 begin_metadata 标记逐层细化表中元数据部分的开头。
(2) 每行元数据包含两个元素:关键字和值。所有关键字和值均使用双引号引起来。
(3) 逐层细化表必须包含 \IsDrilldown 关键字,该关键字的值必须为 True。
(4) 每个关键字以“\”(反斜线)开头。
(5) 元数据关键字可以在层次结构中嵌套。层次结构中的每一层以反斜线 (\) 标记。
(6) 元数据包括 \DDMap\ComponentMaps\ 关键字层次结构。在该层次结构中为每个组件表指定四个元数据关键字。
分层管理器有两部分组成:组件表和逐层细化表组成,分层管理器根据系统的要求以数据挖掘的方式从Oracle数据仓库中提取数据,形成组件表中的某个图层,然后确定需要加载图层的名称和图层中的部分,并加载到逐层细化表中。如果是第一次加载,此时的逐层细化表是空白图层,在加载过程中,逐层细化表不断的进行图元信息的增加和删除,这样会出现每个组件表中的部分信息显示在逐层细化表所示的图层中。这样输出所需要的图层,并对它进行编辑,由于逐层细化表中数据是个组件表中的副本,需要对编辑后的图层进行另存,形成专题图。
分层管理器首先形成空白图层,通过分层管理器用数据挖掘工具从Oracle数据仓库中提取数据,根据分层管理器的元数据规则形成一级的图层,在该图层中,通过响应事件,以确定加载二级图层的图层名称和该图层中的加载部分,相应的加载 * 、四级图层数据,在加载的同时,就形成了各种专题图。当然,分层管理器功能的实现是通过GIS组件(MapX、MO、AO等)和编程语言(VB、VC、Delphi等)来实现的。
猜你喜欢
- 一、下载MySQL登录MySQL官网下载MSI Installer:点击“Dnownload”点击“No thanks, just star
- 如果你看过YUI的RAW源码,会发现很多跟javadoc语法类似的注释。据说(via)是使用JSDoc这个工具。但我探索了一遍,发现YUI多
- 1. 概述JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式. Python标准库中的json模
- 本文实例讲述了Python实现的最近最少使用算法。分享给大家供大家参考。具体如下:# lrucache.py -- a simple LRU
- 什么是EfficientNet模型2019年,谷歌新出EfficientNet,在其它网络的基础上,大幅度的缩小了参数的同时提高了预测准确度
- 在密码学中,ElGamal加密算法是一个基于迪菲-赫尔曼密钥交换的非对称加密算法。它在1985年由塔希尔·盖莫尔提出。GnuPG和PGP等很
- *args与**kwarsg及闭包和装饰器过程先理解闭包,再理解装饰器,不要忘了不定长参数def func():
- 最近网上流行着一些采集程序,更多人拿着这些东西在网上叫卖,很多不太懂的人看着那些程序眼羡,其实如果你懂一些ASP,了解自动采集程序的原理后,
- 案例故事:大部分带彩色屏幕的终端设备,不管是手机,车机,电视等等,都需要涉及图片的显示,作为一名专业的多媒体测试人员,我们需要一堆的规范化标
- 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技
- 因为要用到过滤一组中重复的数据,使之变成没有重复的一组数据的功能,百度了一下,居然有朋友乱写,而且比较多,都没有认真测试过,只对字符可以,但
- Python的绘图库也允许用户创建优雅的图形,本章给大家介绍的是关于ggplot绘制画图的技巧,ggplot2建立在grid系统上,这个系统
- 代码如下:'个人代码风格注释(变量名中第一个小写字母表表示变量类型) 'i:为Integer型; 's:为Strin
- 背景:加入现在有这样的数据,可能一条ocr代表两个label,并且label通过","分隔。我们想把数据转换成下面的。原
- 前言今天在使用 8.0.12 版的 mysql 驱动时遇到了各种各样的坑,在使用 JDBC 连接上遇到的问题可以参考我的上一篇博客。我在使用
- vue 百度地图 + 定位 前提需要自己有百度的密钥,如没有可以去百度地图申请一、在主目录下的index.html引入js,例如:
- 本文实例讲述了python实现查找excel里某一列重复数据并且剔除后打印的方法。分享给大家供大家参考。具体分析如下:在python里面ex
- Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes
- 本文实例讲述了Python网络编程之TCP套接字简单用法。分享给大家供大家参考,具体如下:上学期学的计算机网络,因为之前还未学习python
- 本文实例讲述了Python3.6实现连接mysql或mariadb的方法。分享给大家供大家参考,具体如下:python3.6的安装查看前面一