作者简介:白晓东,男,硕士,讲师,研究方向:图形、图像处理、数据库技术、地理信息系统及其应用。
1前言
地理信息系统(GIS )技术的研究与发展从其诞生以来一直
是信息科学中最活跃的组成部分。它在空间信息的采集、建模、数据组织、可视化表示和分析等领域取得了大量的研究成果。其中,空间信息的数据组织是GIS 领域研究的核心问题。这是因为空间数据的特点是类型繁多、异常复杂,一种空间数据的组织方式决定了它应用的方便性和检索效率。
该文针对当前GIS 研究领域中空间数据组织的几个问题,从原理和实现两个角度,提出了一种全新的空间信息的组织模型,给出了这种模型快速定位空间信息的索引算法。这种模型适合GIS 数据的分布式应用和Web 应用,笔者还结合当前最新的W3C 的Web 矢量化图形标准—SVG ,提出了一种We-
bGIS 实现方法。
2空间数据信息组织的特征分析和现状
矢量化的空间数据是研究地理信息系统的基础,矢量信息
模型一般分为两种形式,即基于域的模型和基于对象的模型。
笔者认为矢量化空间数据的本质特征是对象的集合,而基于域的表示最终可以转化为对象的方法调用,因此,空间对象,包括点、线、面对象及其它们的相互关系是组织空间信息模型的核心。当前流行的GIS 系统平台正是基于这样一种思想构建的。
图1是著名的GIS 桌面平台MapInfO 的数据组织形式。MapInfO 数据反映了当前空间数据组织的一般形式,
即:(1)空间数据分层存储;
(2)空间对象的描述分为属性要素和空间要素两种形式,空间要素描述空间对象的空间位置及其关系;而属性要素描述空间对象的意义及应用要求;
(3)空间要素(几何数据)使用特定的矢量图形格式存储于图形文件中,而属性要素可以存放于数据库中,也可以存放在文件中,二者通过索引文件相互对应。
分层存储和空间、属性要素相分离反映了GIS 系统的特征:几何数据是空间对象的本质属性,它反映了数字地图元素的外在表现;而属性数据则基于某种应用要求而定。由于空间对象的几何数据与属性数据应用的层次不同,存取的频度也不
面向对象空间数据组织方法与应用研究
白晓东
(南京师范大学数学与计算机科学学院,南京210097)
E-maii :*****************
文章在空间对象类的组织和管理、空间对象高效的索引方式以及分离空间数据与空间数据应用等方面提出了
一些新的观点。关键词
面向对象空间数据库
对象关系数据库
网格索引
SVG
文章编号1002-8331-(2002)19-0215-03文献标识码A
中图分类号TP311.13
The Organization and Application of the Object-oriented Spatial Data
Bai Xiaodong
(Mathematic and COmputer Science COiiege ,Nanjing NOrmai University ,Nanjing 210097)
Abstract :The articie prOpOses new views in the fOiiOwing fieids :the OrganizatiOn and management Of the spatiai Ob-ject ,the effective index way in the spatiai Object and the separatiOn Of spatiai data and the appiicatiOn tO spatiai data.Keywords :Object-Oriented spatiai Database ,Object-reiatiOn Database ,Grid Index ,SVG
1MapInfO 数据组织形式
同,因此适宜分开存储,否则会影响空间对象检索的效率,还会造成计算机资源的浪费;同时,不同的空间对象的应用范围和层次也不尽相同,根据应用系统的特定要求,需要把不同的空间对象放在不同的层面上存储和表现。这样,不仅可以提高计算机对空间数据的处理效率,而且可以针对不同的应用需求,合理地使用空间数据。
从空间数据存储介质的角度,随着计算机技术的发展,经历了几个不同的阶段:文件存储、文件——
—数据库混合存储、完全数据库存储。当前,文件—数据库混合存储空间数据仍然是GIS应用的主流。正如前面所说的那样:属性要素存储在关系型数据库中,而几何要素以某种特定的矢量图形格式存储在图形文件中。存储介质的差异主要受数据库技术发展的制约,由于传统的关系型数据库缺乏表达复杂数据结构的能力,无法构建空间对象的数据类型,矢量数据很难存储在关系型数据库中。GIS系统的开发厂商采用了折中的办法,把空间数据的几何属性放在图形文件中,通过索引文件把空间对象的属性要素与之联系起来。文件——
—数据库混合存储方式由于采用了异构的数据源,给空间数据的应用带来了诸多不便。面向对象技术和对象—关系数据库技术的发展,空间数据的数据库存储成为可能。一种可行的办法是利用当前数据库系统支持的可变长二进制类型,在应用系统中定义支持空间对象的结构,然后把此结构的数据当作一种可变长二进制数据类型存储在数据库中。例如,可以定义“点”结构如下例所示:
struct point{
fioat!;
fioat";
}map;
如果有一个map变量的值是(12.4,1.3),把此数据转化为数值的ASCII码形式(用16进制表示):31322E342C31 2E33,用0X作此16进制串的开头就可以把它插入到数据库表中,假定表中有一个point字段与之对应:INSERT INTO TABLE point_tabie(ID,point)VALUE(*10006*,0X31322E342C 312E33)。可以写二进制域存储过程把其转换为应用程序可以理解的数据形式来提高变长二进制域的存取速度。由于某个空间对象的数字化点数不同(每个点对应一个!,"值),而不同个数数字化点但同种空间对象很难在同一关系表中存储,因此,用可变长的二进制类型表示空间对象的位置信息有一定的优势。
Oracie与MapInfo合作推出的网络GIS系统——
—Spatiaiware中,使用了Oracie的对象—关系数据库的DBMS扩展,可以定义与地理信息系统有关的数据类型,例如,可以在关系表中增加这样的域:
Aiter tabie‘temp’adds coiumn iocation point
还可以支持与地理信息系统有关的查询,如下:
seiect r.name
from temp j,temp r
where j.name=’Joe’and distance(j.iocation,r.iocation)<1000
该例查询与名字为’Joe’的人居住距离在1公里范围内所有人的姓名。
Spatiaiware用到了Oracie对象—关系数据库的基本操作方法,即支持用户自定义类型和用户自定义函数。但是,新一代数据库标准SOL-3还没有被大多数系统所采纳,当前流行的数据库系统,如SOL Server7.0等还不支持这种操作方法。同时,即使SOL-3被广泛采纳,作为地理信息系统这样一个特殊的数据库应用领域,通用的数据库系统也不可能做到完全的支持,必须和GIS公司合作,正如Oracie与MapInfo合作推出Spatiaiware一样,而这种合作仍然需要针对特定的系统。对象—关系数据库中所谓复杂空间数据类型都可以分解成关系型数据库中支持的简单数据类型,同时,针对GIS空间数据查询的要求,对象—关系数据库采用R-树等空间索引方式,提高了空间数据检索的速度。
3空间信息模型的基本组织方法
空间数据结构可以用一种复杂数据类型来表达。例如可以视一条公路为一个空间对象,许多涉及地理数据的操作都是以一个空间对象为单位,一个空间对象的空间位置信息可以由许多离散的空间点构成:公路1:((!0,"0)、(!1,"1)…(!#,"#))。
对象—关系数据库模型中用嵌套关系描述这样一种结构,即可以允许非原子的域存在,这样的模型不符
合1NF关系。并且,它允许直接表达层次结构,也就是利用结构类型、集合类型、引用类型等表示复杂关系,同时,扩展了的SOL支持这样的表达。存在嵌套关系的数据库系统可以看成是一种三维的关系表集合,即对作为关系数据库基础的二维表进行扩充,这样,第三维表示蕴涵复杂类型数据的简单数据集合,使整个数据表仍然满足原子性要求。GIS应用中往往涉及空间位置信息的局部应用,例如,“查与某条街道最近的饭店”,这样的操作是针对某个空间离散点进行的,离散点不是对象—关系数据库中的原子对象,而是对象的某个属性,很难在对象—关系数据库模型中到对这种查询的支持。因此,笔者采用另一种关系数据库扩展方式—面向对象数据库模型来组织空间数据。面向对象数据库系统以过程化的面向对象语言操作数据,可以大大提高程序的执行速度,同时,它可以满足空间数据的各种应用要求。
3.1空间对象的存储与访问
空间对象的存储应满足对象的持久化要求。首先,对象的数据部分必须要针对每个对象单独存储,该模型中,用关系型数据库存储空间对象的数据部分,每个空间对象有一个唯一标识它的Oid,而关系表的每个元组对应一个空间对象的属性数据。关系表设计满足类层次的要求,每个关系表对应一个空间对象类,类与类的继承关系(类层次)由关系的聚集表示。在逻辑上,实现类的方法的代码应该作为数据库模式的一部分存储在数据库中,在该模型中,将代码存储在数据库外的文件里,表现为类的动态连接库(.dii)的形式,这样做是为了避免必须将如编译器这样的系统软件集成到数据库中,省去了许多麻烦。模型系统包含一个Manager类,它管理持久化空间对象,定义了三张系统表格:类表、类层次表和类引
用表,它们用来由Manager类直接管理用户定义的空间对象类:
private:
CiassTabie ciass_tabie;//类表
RefTabie Ref_tabie;//类引用表
LayerTabie Layer_tabie;//类分层表
pubiic:
Manager();//读各表内容进行初始化
~Manager();//存储各表内容
int create(char*,char*);//建库
int store(OID);//空间对象存储
int restore(OID);//空间对象恢复
int deleteObj (OID );//空间对象删除int select (OID ,int );//空间对象选择
……
Manager 类,
用户自定义的空间对象类,包括它们的属性集和方法集的关系和存储介质如下图所示:
图2
面向对象空间数据的逻辑结构
3.2
高效的空间对象索引方法
该模型系统采用了一种高效的网格式索引文件用于检索
空间数据。它的基本思想是把应用空间等分成一定大小的网格,网格(称为Grids )分割空间对象,换言之,每个网格(称为一个Grid )中会含有一定数量的空间对象的局部信息(空间位置)。空间数据的特点是海量数据,因此,高效的检索对空间数据的有效应用是至关重要的。而网格索引文件可以很好地解决这一问题。顺序检索或者普通的检索方式优化后检索代价仍然是O
(I )或者是O (I /m ),而用网格索引的检索代价是O (I /m 2)
,只需要经过很少的计算就可以进行空间定位。下面用空间数据应用中经常用到的~选择~操作来说明网格索引的运做原理。
用户单击鼠标在图形区域发出一个选择请求,捕获这个坐标值。设图形区域为(0,0)、(6000,6000),I =60,
这时x =890.5,y =l000.3,那么,此(x ,y )应落在[890.5/(6000/60)]=8行、
[l000.3/(6000/60)]=l0列,
即第680个Grid 中,查Grids 索引文件可知680Grid 中有Oid=l 、Oid=9、Oid=l0三个图形对象,
它们分别是点对象(Oid=l )、点对象(Oid=9)和线对象(Oid=l0)
,它们对应的空间坐标如下:(Oid=l ,890.5,l00l.3)、(Oid =9,820.3,l020)
和(Oid =l0,90.3,200.l\\l0,l80.5,350\\l0,780.6,l200.8\\l0,2000,5000)
假定空间对象的误差允许范围是2,先计算点对象与选择
点的距离:
D l=sgr ((890.5-890.5)*(890.5-890.5)+(l000.3-l00l.3)*(l000.3-l00l.3))D 2=sgr ((820.3-890.5)*(820.3-890.5)+(l000.3-l020)*(l000.3-l020))
显然对象l 更符合要求。
再计算线对象与选择点的距离。在代入方程前,先查符合要求的线段,选择点(x ,y )应满足(x l<x<x 2)或(x l>x>x 2)和(y l<y<y 2)
或(y l>y>y 2),对线对象(Oid=l0)的三条线段进行比较运算,发现它们都不符合要求,因此,线对象l0不是请求的线段。D l 的计算结果是l ,小于误差允许范围,所以,点对象l 是请求点。
在此过程中,请求点的定位一次完成,并且只经过两次计算和三次比较运算就完成了要求的全部操作。网格空间索引以
文件的形式存储在系统中,应用时可以以结构数组的方式加载到内存,由于它只包含空间对象的标识信息,因此,它对计算机资源的占用是相对较小的。
3.3模型的逻辑结构
用图3给出整个系统的逻辑结构:
图3
系统的逻辑结构
系统中并没有把空间数据分解为点表、线表和面表分别存储在数据库中,这是因为模型采用如上述的可变长二进制域存储空间几何数据,这样可以实现空间对象与数据库表的元组之间的一一对应关系。同时,这样的存储模式,可以根据空间数据的逻辑关系编排数据而不受空间数据特性的制约,例如,可以把公路以及与公路相关的数据(例如房屋等)存储在同一数据库表中,这样更有利于数据检索,而传统的点、线、面表的空间数据分割方法很难实现这样的存储。
4分离数据和“表现”应用模式
涉及图形的应用系统,数据往往是和绘制图形的~画布~绑
定在一起的。这种绑定的~画布~可以是控件(control ),例如,MapInfo 的MapX ,也可以是某个应用系统平台,例如,Arc /Info 的Arcview 。这种绑定关限定了空间数据的应用范围,使得一种格式的空间数据只能在一种特定的平台上使用,即使以控件的形式存在,支持空间数据与其他系统的集成,也由于控件~画布~的存在,
限制了空间数据的应用范围。例如,控件可以内嵌在浏览器中,支持空间数据的Web 应用。2000.8.2,W3C 推出的新的~可升级矢量图形~标准—SvG ,可以在浏览器中快速直接地显示图形,而不需要在网页中内嵌图形控件。
svg的类型有几种
该模型系统采用完全面向对象的思想和设计方法,同时考虑到前台应用的多样性,从系统的组织角度实现数据与数据的“表现形式”的分离。
(l )采用完全数据库存储,通过统一的调用接口管理和操作数据;
(2)
程序以动态链接库的形式存在,可以方便地加载到任何一种开发平台中,来实现空间数据的前台应用;
(3)
空间数据的组织以空间对象为基础,一个元组对应一个空间对象,符合空间对象的操作习惯,并且保证空间对象操
(下转225页)
(上接217页)
作的方便性,实现了系统的通用性。
模型系统给出了直接基于浏览器的SVG 图形格式的一种应用,由于SVG 数据格式是基于XML 的,它继
承了XML 中对对象的支持,因此可以和该模型的空间对象很好地结合起来。该模型系统绝不仅仅支持空间数据浏览器表现这样一种应用,其实,用户可以构建任何应用平台,由于系统的完全面向对象的特点,使系统组织的空间数据可以和任何前台应用相结合。
5小结
空间数据的组织和管理是地理信息系统领域研究的核心
问题之一。信息组织的好坏和空间数据检索的效率是衡量一种空间数据应用系统成败的关键。文章中所研究的空间信息模
型、空间对象类的组织形式和基于网格的空间数据索引方式以及模型的前台应用等已经在笔者开发的空间信息系统—We-
bcity 中得到了部分实现,但是,Webcity 距可以实际应用还有
很长的路要走。(收稿日期:2001年9月)
参考文献
1.边馥苓.地理信息系统原理与方法[M].北京:测绘出版社,1996
2.罗英伟等.WebGIS 的构件设计[J].中国图形图像学报,1999;4:79~84
3.曹晶等.空间数据库的聚类方法[J].计算机科学,2000-07
4.[美]Robert W.Stewart Graphics Programming Design[M].北京:清华大学出版社,1995
5.王家耀.地图学与地理信息系统的现状和趋势[J].测绘通报,1997-06
6.吴信才.地理信息系统的基本技术与发展动态[J].地球科学,1998-04
Risk Metrics Monte-cario 损失超过
损失超过
VaR 的比例VaR 的比例
单位A
-0.0343190.1106-0.036210.083单位B -0.0322140.1085-0.033220.0957单位c -0.0290570.0872-0.030460.0723平均0.10210.0837单位A -0.0371160.0553-0.040860.0532单位B -0.0382240.0532-0.040210.034单位c -0.0361570.0617-0.037160.0404平均0.05670.0425单位A -0.0441120.0234-0.0492
10.0128单位B -0.0395240.0149-0.043250.0149单位c -0.040021
0.0191-0.04221
0.0064平均
0.0191
0.0114
P=0.95
P=0.975
P=0.99
VaR 值
VaR 值图
2
统计分析模块中各子功能的调用关系
4实证研究
表1
三单位三种置信水平上市场风险VaR 评估结果
此案例是对当前绝大多数的商业性银行的金融市场风险进行评估分析,采用上述所确定的模型体系。为了准确地对参评单位进行风险评估,课题组进行了实际的调查,从被调查的单位中随机选出三个单位的指标数据,采用Risk Metrics 和
Monte-cario 模拟法两个模型在三种置信水平上进行风险评估,其评估结果列于表1。
表1给出了两种模型Risk Metrics 和Monte-cario 的VaR 估计结果。可以看出,Risk Metrics 的VaR 估计在较高的置信
水平下低估了风险,如它在99%的置信水平下,
显著低估了3家中的2家的VaR 。相比之下,Monte-cario 没有产生显著低估。在90%的置信水平下,Monte-cario 高估了一家银行的VaR ,
这在实践中比风险低估的危害小得多。5结束语
加强金融市场的风险评估管理对银行金融业乃至整个经
济、社会都具有重要意义,它能全面、动态地了解和掌握市场风险变化的基本情况,为各级管理部门提供宝贵的基本数据,能促进其决策的科学化、合理化,能促进其经济效益提高,并保障
其经营目标的顺利实现。随着我国改革开放的不断深入和社会主义市场经济体制的逐步建立,市场竞争日益激烈,不确定因素日益增多,各单位的运营都会面临更多的风险,可能的损失也越来越大,这些都要求各级企业管理部门加强综合风险评估管理。无论是理论研究方面还是实践方面,我国风险管理水平都与国外有很大差距,值得大家进一步研究和探讨。(收稿日期:2002年1月)
参考文献
1.洪源源.风险价值(VaR )基本模型研究[D].北京航空航天大学,2000
2.Phiiippe Jorion.Vaiue at risk[M].chicago :Irwin Professionai Pub ,1997
3.Phiiip Best.Impiementing Vaiue at risk[M].chichester :J.Wiiey &Sons ,1998
4.kevin Dowd.Beyond Vaiue at risk[M].chichester :Wiiey ,1998
5.王春峰,万海峰,张维.金融市场风险测量模型-VaR[J]系统工程学报,2000;
(3)6.詹原瑞.极值理论
(EVT )在汇率受险价值(VaR )计算中的应用[J].系统工程理论与实践,2000;
(3)7.郑文通.金融风险管理的VaR 方法及其应用[J].国外银行经营与管理,1997;
(9)8.李友华,
王吉恒,刘德宏.VaR 模型在我国金融风险管理中的应用研究[J].农村金融研究,2000;
(2)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。