




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、0引言地理信息系统(GIS以空间数据为研究对象,在实现对空间数据存储和操作的基础上进行空间分析和应用。以往受关系数据库不支持空间数据管理的限制,传统的GIS 软件采用分离的方式管理数据,即空间数据采用文件形式和目录结构,属性数据由内置的关系型数据库进行管理。分离体系结构造成空间数据管理效率低下,无法获得数据库系统的有效支持;数据共享性差;在网络方面无法得到有效拓展。目前,随着数据库技术的不断发展,大型关系型、对象关系型、纯对象型数据库在完整性、安全性、标准化、开放性、可扩充性等方面日益完善,一般都提供对变长字段的支持,有些还支持空间数据。空间数据库技术中处于核心位置的是空间数据库引擎技术,利用
2、这一技术可以将空间数据和属性数据有机地集成起来,实现有效存储和管理,并在此基础上,实现便利的空间索引、查询和各种分析操作。1空间数据库与空间数据库引擎空间数据库,是以描述空间位置和点、线、面、体特征拓扑结构的位置数据及描述这些特征的属性数据为对象的数据库。空间数据库采用关系数据库来组织管理空间地理数据和属性数据,提供对这些数据的有效存储查询和分析,以支持各种空间地理数据的应用。然而,如何用关系数据库存储、管理复杂的空间地理数据,以支持空间关系运算和空间分析等GIS 功能,如何让用户透明地空间数据库引擎及其解决方案分析文章编号:1672-1586(200604-0063-04摘要:解决用户应用系
3、统与空间数据库间的数据传输成为空间数据库能否得以充分利用的关键问题。在众多解决方案中,空间数据库引擎备受关注。本文对几种常见的空间数据引擎ArcSDE 、OracleSpatial 、SpatialWare 、DB2Spatial Extender 和Imformix Spatial DataBlade 以及SuperMapSDX+,从存储模型、进程管理、空间查询与索引、数据缓存技术以及二次开发等方面进行了分析。关键词:空间数据库;空间数据库引擎;空间扩充器;空间数据刀片中图分类号:P208文献标识码:AAnalysis of Spatial Database Engine and Its S
4、olutionsWANG Ming-chong 1,ZHAO Jun 1,LI Yu-lin 2(1.Development and Application Research Center of GIS ,NWNU ,Lanzhou 730070,China ;2.Shangdong GeomaticsCenter ,Jinan 250013,ChinaAbstract:Data transmission between the Spatial Database and user s application systems becomes the primary problem.Whether
5、 Spatial Database can be used sufficiently depends on how much this problem can be coped with.In many solutions,Spatial Database Engine (SDEattracts much more attention.In this paper,the authors analyzed and discussed some typical spatial database management platforms including ArcSDE,Oracle Spatial
6、,SpatialWare,DB2Spatial Extender,Imformix Spatial DataBlade and SuperMapSDX +from the view of storing models ,process management schema ,spatial querying and indexing ,and data cache approaches.Key words:Spatial Database;Spatial Database Engine;Spatial Extender;Spatial DataBlade汪明冲1,赵军1,李玉琳2(1.西北师范大
7、学GIS 开发应用研究中心,甘肃兰州730070;2.山东省地理信息中心,山东济南250013汪明冲(1980-,男,江苏沛县人,硕士研究生,研究方向为地理信息科学及GIS 设计与开发。E -m a il :w a n g m c 126.c o m 收稿日期:2005-07-29访问空间地理数据,而不必关心它的实际存储位置、方式和数据结构等实际问题成为采用空间数据库组织管理空间数据所必须思考的问题。空间数据库引擎(SDE正是解决这些问题的良好方法。空间数据库引擎并不是空间数据库,而是一座桥,将对空间数据的使用和存贮联系在一起,其数据依赖于关系数据库进行存储和管理,但应用软件对空间数据的存取是
8、通过空间数据库引擎来实现的。空间数据库引擎是指提供存储、查询、检索空间地理数据,以及对空间地理数据进行空间关系运算和空间分析的程序功能集合。正是空间数据库引擎的引入,才建立了真正意义上的面向分布式空间数据库和地理信息系统。在三层客户机/服务器的环境下,为了建立GIS应用体系,作为客户应用和空间数据库中间层的空间数据库引擎必须具备多用户管理、多空间数据库管理、空间数据索引、空间关系运算和空间分析功能以及GSQL语句的解释执行等基本功能。通过空间数据库引擎可以用传统的关系数据库对空间地理数据加以管理和处理,提供必要的空间关系运算和空间分析功能。目前,国际上在此领域内进行深入研究并形成软件产品的有E
9、SRI的ArcSDE、MapInfo的SpatialWare、Oracle 的Spatial、IBM DB2的Spatial Exten-der和IBM Imformix的DataBlade以及国内超图的SuperMapSDX+等。2几种常见的空间数据引擎及其解决方案2.1ESRI的ArcSDE在目前采用集成结构的商用数据库软件中,应用最广泛的当属ESRI公司的SDE(Spatial Database Engine,空间数据库引擎,用于对海量空间数据及其属性数据的管理和驱动,为并发访问的多客户端提供快速、安全的数据服务。SDE是美国著名的地理信息研究机构ESRI推出的空间数据库解决方案,它在现
10、有的关系或对象关系型数据库管理系统的基础上进行空间扩展,可以将空间数据和属性数据集成在目前绝大多数的商用DBMS中,其数据模型和查询语言能支持空间数据类型和空间索引,并且提供空间查询和其他空间分析方法。SDE的开放式数据访问模型,支持最新的标准(OpenGIS,SQL3,SQLMultimedia,提供快速的、多用户的数据存取,提供开放的应用开发环境。SDE将空间数据与其相关属性数据统一放到工业标准的关系数据库中进行管理,同时采取开放策略,提供标准的应用编程接口(API。这使得海量空间数据的管理获得了一种较为理想的模式,同时,使得面向多用户、在广域网上以真正的客户机/服务器方式提供空间数据访问
11、服务成为可能,从而为面向企业和社会的GIS提供了高效的服务器端解决方案。空间数据库的应用系统通常可分为3层结构。SDE就是处于中间层的空间服务器,是一种中间件。它在用户和所有的数据之间提供接口,使得用户能通过SDE获得空间数据和属性数据以及其他传统数据库管理系统的数据。SDE本身并无专用数据库,而是通过与其他通用DBMS的集成来管理空间数据。根据DBMS的类型,SDE与DBMS的集成方式有以下两种:1与传统的关系数据库管理系统(RDBMS集成传统的RDBMS不支持数据类型的扩展,无法管理2维的空间数据,只能通过空间服务器对空间数据和空间操作进行解释和管理。2与对象关系数据库(ORDBMS集成在
12、提供第一种集成方式的同时,由于对象关系数据库支持新的数据类型和函数扩展,SDE可以直接在数据库中定义数据类型和空间函数。通过基于SQL函数对空间数据进行操作,并在数据库层次建立空间索引。SDE采用Client/Serve结构,服务器和客户端异步协同工作。服务器执行所有的空间查找和检索,并将结果返回给客户端。为了充分利用服务器和客户端的资源,一些耗费CPU资源较多的操作,如缓存计算、多边形覆盖等,则在客户端运行。在DBMS中,SDE将空间坐标数据存储在一个BLOB(Binary LargeObject Block类型的字段中,每种形状(如点、线、面的对象组成一个形状表,在表中每个空间对象以记录的
13、形式存储。这样,只需一次磁盘存取就能检索出空间对象的几何数据。SDE采用无缝数据连接方式,使得数据检索效率大大增强。尽管SDE采用的技术先进,有很多值得借鉴之处,但是在某些方面仍存在不足:1索引方法只采用了固定栅格类型,索引效率较低,而在目前的学术研究中,基于R树的空间索引方法已广为应用且技术成熟,是以后的发展方向;2空间数据中不含拓扑结构,虽然减轻了空间数据存储的复杂度,但也降低了空间查询和空间分析的性能;3空间数据类型中有3维数据类型,但空间操作函数中针对3维对象的操作很少,对3维GIS的支持有限。2.2Oracle公司的SpatialOracle Spatial是Oracle公司推出的空
14、间数据库组件,通过Oracle数据库系统存储和管理空间数据。Oracle 从9i开始对空间数据提供了较为完备的支持。由于Oracle Spatial本身是ORA-CLE数据库的一个特殊组成部分,因此可以用ORACLE提供的程序接口对Oracle Spatial管理的空间数据进行操作。目前,ORACLE数据库主要提供两种接口方式对其数据进行存取:1ORACLE提供的面向C语言程序员的编程接口OCI(Oracle Call In-terface;2用ORACLE提供的OLE对象(Oracle Objects for OLE,简称OO4O快速访问有关数据库。Oracle Spatial主要通过元数据
15、表、空间数据字段(即SDO_GEOME-TRY字段和空间索引来管理空间数据,并在此基础上提供一系列空间查询和空间分析函数,让用户进行更深层次的GIS应用开发。使用空间字段SDO_GEOMETRY存储空间数据,采用元数据表管理具有SDO_GEOMETRY 字段的空间数据表,采用R树索引和四叉树索引技术,能有效提高空间查询和空间分析效率。2.3Maplnfo公司的SpatialWareMaplnfo SpatialWare扩充了In-formix、Microsoft SQL Server和IBM DB2数据库,即在SQL Server上通过扩充存储函数机制,在IBM的DB2上将SpatialWar
16、e作为扩充器(Extender,在Infomix上将SpatialWare作为数据刀片(Datablade,以实现对空间数据的管理。为了处理空间数据,数据库必须满足3个条件:1定义空间数据结构和存储机制的空间数据类型;2空间数据操作所必需的、能定制的空间索引结构;3扩充了SQL接口的空间操作。SpatialWare提供必要的数据结构以存储空间数据的几何信息。为了保证数据库中的空间查询性能,MaplnfoSpatialWare实现了R-树索引,并在R-树索引技术上处于领先地位。在数据库中,结构化查询语言SQL是用户与数据库系统的交互接口,重要性是显而易见的。为了利用空间数据,需要扩展SQL以便数
17、据库的常规操作能够用于空间数据类型。这些操作对用户而言应该是透明的,在用户使用这些操作时不应该觉得与使用常规操作有什么不同。SpatialWare提供了丰富的操作,数量超过150个,大大增强了空间数据的可利用性和可操作性。2.4DB2空间扩充器DB2空间扩充器(IBM DB2SpatialExtender在DB2Universal Database中存储、管理和分析空间数据以及传统的文本和数字数据。这样就可以生成、分析和利用关于地理特征的空间信息,例如办公楼的位置或洪水区域的范围。通过一组表示点、线和多边形等几何图形的高级空间数据类型和可与这些新数据类型进行互操作的许多功能和特性,DB2Spa
18、tial Extender扩展了DB2Universal Database的功能,使其能够将空间信息和业务数据集成在一起,为数据库添加了一种智能要素。DB2空间扩充器利用SQL空间数据分析能力,提供空间数据的查询功能和方法,通过在查询时允许使用空间数据和函数来增强现有应用程序的智能。它符合ISO SQL/MM空间标准和开放式地理信息系统协会(OGC的Simple Feature Specification for SQL,支持功能强大的可视化工具,如ESRI的ArcView GIS、ArcInfo、ArcView Busi-nessAnalyst和ArcIMS,并提供ArcEx-plorer
19、for DB2Version3.0。2.5Informix的空间数据刀片Informix的空间数据刀片(IBM In-formix Spatial DataBlade Module把GIS嵌入了动态服务器内核(IBM InformixDynamic Server kernel,空间数据刀片实现了OpenGIS抽象数据类型的SQL3规范,符合OpenGlS关于SQL的简单特征规范,能够存储空间数据类型。空间数据刀片是利用Spatial_ref-erences表对空间数据进行处理的,spatial_references表存储地图投影数据,例如,当使用墨卡托圆柱投影(Mer-cators proje
20、ction时,Spatial_references表存储那些能够使空间数据刀片把数据转换到XY坐标平面的相关信息。在spatial_references表中,空间参照ID(SRID是惟一的,作为关键字用以描述特殊的空间参照系。数据库中,所使用的全部空间参照系在spatial_refere-nees表中必须有一个记录。而且,关系表空间列中所有几何体必须使用相同的空间参照系。在把空间对象插入spatial_refer-ences表之前,必须先行把这个对象的空间参照ID插入spatial_references表。空间数据刀片利用spatial_refer-ences表,再结合几何列表(geome-t
21、ry_columns达到对空间数据处理的目的。2.6超图的SuperMapSDX+北京超图公司开发的Su-perMapSDX+海量空间数据管理引擎是SuperMap 第三代空间数据库技术,具有大数据量矢/栅数据管理、长事务处理能力、异构分布式数据管理、拓扑关系支持等诸多性能和功能,其在空间索引速度、复杂集合实体支持等技术性能上甚至超过了国外同类产品。SuperMapSDX +不仅对Oracle 、Oracle Spatial 、SQL Server 、Sybase 等国外数据库产品支持良好,而且首次对国产DM3(达梦数据库进行支持。Su-perMapSDX+采用“图库+四叉树+网格”三级索引,
22、提高了空间查询的效率及命中精度。2.7几种常见的空间数据引擎及其解决方案的对比分析这几种空间数据库引擎是目前国内外成功的商用数据库软件解决方案,它们在存储模型、进程管理、空间查询与索引、数据缓存技术、二次开发等方面各有其特点和创新之处,详细情况见表1。3结论空间数据库技术在地理信息系统中起着举足轻重的作用,空间数据库引擎技术又是空间数据库技术的核心部分和最关键部件。开发一个兼容性强、性能优越、功能强大的空间数据库,必须对空间数据库及其关键技术进行深刻的理解和分析。空间数据库引擎(SDE 是目前得到成功应用的空间数据库系统,它采用的空间数据库技术在一定程度上代表了目前的发展方向,对我们开发自己的
23、空间数据库系统具有很好的借鉴意义。参考文献:1李滨,王青山,冯猛.空间数据库引擎关键技术剖析J .测绘学院学报,2003,20(1:35-38.2李清文.面向组件的空间数据库引擎的研究与实现D .北京:北京工业大学,1999.3王青山.面向对象地理数据模型的研究与实践D .郑州:信息工程大学,2000.4夏启斌.空间数据库引擎的设计与实践D .郑州:信息工程大学,2002.5李滨.地理数据库引擎的设计与实现D .郑州:信息工程大学,2003.6刘智斌.数据库应用的新发展-空间数据库J .广西科学院学报,1997,13(2:32-34.7王建涛,等.基于面向对象的空间数据库引擎模型分析J .测绘学院学报,2005,22(2:110-111.8陈晟.GIS 空间数据库基础技术研究D .长沙:国防科技大学,1998.9胡来林,刘仁义,刘南.空间信息管理系统SpatialWare 应用系统开发J .计算机应用,2000,20(3:52-54.10毛先成,彭华熔.关系数据库存储空间数据模型与结构分析J .地球信息科学,2005.7(1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高效开发流程2025年考试试题及答案
- 现代社会中的编程语言选择与应用试题及答案
- 吉林省长春市第二实验学校2025年数学八下期末达标检测模拟试题含解析
- 社会实践活动在幼儿园的开展计划
- 教学资源共享与借用策略计划
- 湖北省黄冈市麻城市思源实验学校2025届八下数学期末综合测试模拟试题含解析
- 2024年宁夏开放大学辅导员考试真题
- 2025届福建省南安市柳城义务教育小片区八年级数学第二学期期末质量跟踪监视试题含解析
- 2024年黑龙江省体育局下属事业单位真题
- 黑龙江省七台河市名校2025届八下数学期末教学质量检测模拟试题含解析
- 储能产业研究白皮书2025摘要版
- 曲靖市社区工作者招聘真题2024
- 2024年新疆阿合奇县事业单位公开招聘村务工作者笔试题带答案
- 基层应急管理能力提升与建设
- 小学生脱口秀课件
- 混凝土配合比试验设计方案
- 抖音陪跑合同协议
- 高三尖子生、边缘生辅导方案2
- 湖北省武汉市2025届高中毕业生四月调研考试政治试题及答案(武汉四调)
- 海鲜门店管理制度
- 消化内镜操作技术
评论
0/150
提交评论