测绘信息与工程 JournalofGeomaticsDec.2009;34(6)
中图分类号:P208 文献标志码:B
文章编号:1007-3817(2009)06-0040-02
基于ArcSDE的地理数据入库技术研究
黄 明 边馥苓
(武汉大学空间信息与数字工程研究中心,武汉市珞喻路129号,430079)
摘 要 分析了GIS开发中空间数据的导入原理和技术,提出了一种基于ArcSDE的自建命令,实现了一种简单高效的空间数据入库方法。
关键词 空间数据库;ArcSDE;地理数据入库;数据检查 在GIS技术体系中,空间数据库是所有GIS应用的基础,空间数据的高效合理的组织和存储是GIS建设的关键,在空间数据库的建立中,将原始数据如遥感数据、测量数据等组织入库,需要采用适当的科学方法[1]。作为应用开发的重要环节,需对空间数据导入功能进行合理设计。ArcSDE不仅为应用开发提供了许多接口,而且为服务管理和空间数据库的基本操作提供了多种命令,其中包括数据表和图层的建立和修改,数据导入导出等命令。对于数据导入,提供了shape、coverage、dBase数据文件等的支持;此类命令封装了ArcGIS的数据转换机制,将不同格式的数据转化成了SDE数据,从而达到数据入库的目的。以广东某镇区的基础地理数据入库为例,介绍一种基于ArcSDE技术的空间数据导入方法。
设计可能与源数据组织不同,需要按照系统具体的要求重新组织数据,即在数据导入阶段,设置导入条件。由于ArcSDE封装了sde2shp、shp2sde、sde2cov、cov2sde等许多数据转换命令,这些命令是ESRI公司为地理数据格式转换而提出的解决方案,使用这些命令可以方便高效地进行数据格式转换,而省去了复杂的ArcGISEngine编程过程。在系统中,可以使用shp2sde和cov2sde等命令并结合关系数据库技术,针对不同格式的源文件导入地理数据。
数据检查是保证导入数据质量的非常重要的功能,数据检查是保证数据的正确性[2],在以增量式导入机制下,可能出现数据记录的重复或者图层编码的错误。对于空间数据,需要进行类型一致性、拓扑一致性、数据接边等检查[3],对于空间数据的检查,可以通过检查标注问题数据,结合图形编辑平台,采用人机交互的方式实现;对于属性数据,需要进行编码一致性和属性值是否符合数据库的约束条件等检查,由于空间数据库的特性[4],属性数据可以直接使用存储空间数据的数据库管理系统进行处理,从而使处理效率更高。由于对于属性数据的检查可以通过RDBMS直接处理,并且对于空间数据的检查都是要通过ArcGISEngine接口实现,所以在数据导入数据库后,对数据进行检查处理更为高效。
1 基于ArcSDE命令的空间数据导入方法
空间数据入库是一项复杂和严谨的工作,入库质量的好坏,直接关系到整个GIS应用的效率,其中包括数据准备、数据检查和数据导入等环节。
在大多应用中,空间数据源一般是摄影测量数据经过矢量处理后的DWG文件,所以在数据准备阶段,需要将DWG文件转成ArcGIS支持的数据格式。在格式转换过程中,必须针对数据的实际情况进行适当的处理,如通常的DWG文件只有点、线和注记三种数据类型,面是使用闭合曲线表示,而实际上大多DWG文件制作时可能存在一些误差,导致代表面的曲线没有闭合,这将在数据转换中导致数据类型转换错误,所以要设置一定的容差值来自动闭合曲线,保证数据类型转换的正确性;DWG文件对属性数据的记录支持不是很好,所以还要根据测量调查数据对数据记录进行补充,以保证空间数据的完整性。属性数据的入库既可以在数据准备阶段进行,也可以在空间数据入库以后进行。根据DWG文件的扩展属性,需要对GIS空间数据库图层进行属性设计,不同类地物要素对数据的要求不同,其关系数据库表属性字段也不一致,因此DWG文件必须具有标识地物要素类型的字段和地物要素的惟一性标识字段,以便实现对地物要素属性数据的导入。
当DWG格式的源数据按照要求转化成ArcGIS支持的数据格式并对空间对象按照国标进行编码后,需要按照具体空间数据库设计将数据进行导入处理。由于空间数据库的2 实例分析
在广东某镇区的地理信息管理系统建设中,基础地理源数据是用作城市规划的DWG格式文件,以此应用为例,实现该镇基础地理信息入库的过程。
系统采用Visualstudio2005+C#语言开发环境、Ora-cle10gR2数据库,系统运行环境是.NETFramework3.0+ArcGISEngineRuntime,数据入库功能模块是负责对以DWG文件为源数据文件的数据进行转换处理并导入数据库,主要分为数据格式转换、数据导入和数据检查处理三个子功能模块,系统采用ArcSDE作为空间数据引擎对Ora-cle10g数据库进行交互。
DWG文件经过抽取、构面等处理后转换成点、线、面三个图层,分别对这些图层进行检查后保存为shape数据格式文件,根据测量调查数据,补充属性数据,并根据DWG文件中标识图层的字段,按照图层编码国标对空间记录编码,数据处理完毕后,形成shape数据格式的待入库数据文件。数据转换界面如图1所示。测绘信息与工程 JournalofGeomaticsDec.2009;34(6)
根据需求分析,系统的基础地理数据按类型分为建筑
41
在数据导入后,利用系统的数据检查组件,对地理数据
图1 数据转换界面图3 数据入库结果报告物、植被、道路、水体、注记等52个图层,每个图层对应数据库中一个数据表,源数据要按照国标编码导入到相应的图层,系统中用到ArcSDE中自建的shp2sde命令对数据进行导入,shp2sde命令使用格式为:
shp2sde-oappend?-l