标题 | SuperMap与ArcGIS异构空间数据集成方法研究与实现 |
范文 | 王永红++全思湘 摘 要:针对目前正在开展的“数字城市地理空间框架建设”项目中异构空间数据无缝集成困难、数据难以集成共享等问题,提出一种基于GML的SuperMap与ArcGIS异构空间数据集成方法。项目实验表明,基于GML的SuperMap与ArcGIS异构空间数据集成方法能解决异构空间数据集成共享问题,具有原理简单、编程容易、无缝集成等特点。 关键词:GML;数字城市地理空间框架;异构空间数据;空间数据集成;SuperMap;ArcGIS DOIDOI:10.11907/rjdk.151449 中图分类号:TP301 文献标识码:A 文章编号文章编号:16727800(2015)009001703 0 引言 近年来,我国各级政府高度重视地理信息资源开发应用,大力开展数字城市地理空间框架建设。目前,政府各部门采用的GIS平台各不相同,有ArcGIS、SuperMap、AutoCAD等,同时不同GIS平台的空间数据格式和数据存储方式不同,导致不同部门间地理空间数据无法直接共享,阻碍了各部门间地理空间数据共享[12]。目前,开放地理空间联盟(Open Geospatial Consortium,即OGC)提出基于XML格式的地理标记语言(Geography Markup Language,GML),该标记语言提供了一个公开、可扩展的语言来定义地理空间数据模型框架[3]。 以往,异构地理空间数据集成方法采用转换为公开数据格式和直接数据访问这两种方式。数据格式转换方式是将不同平台数据转换为一种公共、公开的中间数据格式,如ArcGIS的Shapefile格式。由于不同GIS平台对数据表达不一致,同时数据模型也相互不同,使得转换过程中存在信息损失[4,5]。对于直接数据访问方式,由于不同GIS平台软件空间数据模型及空间数据格式不一致,转换需依赖宿主软件,这不利于GIS标准化发展。 为有效解决以上问题,结合以往空间数据集成方法,本文提出一种基于GML的异构空间数据集成方法,以SuperMap与ArcGIS两种异构空间数据源为例,开发专门的异构空间数据集成工具,不需要转换为中间数据格式,也不需要依赖宿主软件,很好地实现了SuperMap与ArcGIS异构空间数据集成。 1 基本思路 以GML格式为空间数据统一标准,研究SuperMap和ArcGIS平台数据模型,与GML数据模型进行对比分析,研究不同数据模型间相互对应的转换关系,分别开发对应转换工具,将不同部门的SuperMap和ArcGIS平台数据统一转换为GML数据格式,转换的同时需要考虑属性信息和几何信息的匹配,确保数据无损转换。转换后,在网络环境下,采用HTTP传送方式,根据数据集成规则将转换后的GML格式数据进行整合集成,利用或开发相关工具,将集成成果在客户端进行可视化显示,从而实现SuperMap与ArcGIS不同GIS平台之间异构空间数据的集成与共享[6,7],总体框架如图1所示。 2 实现方法 2.1 ArcGIS数据源读取 分析ArcSDE for Oracle数据源结构,编程实现对ArcGIS平台数据的读取、解析。ArcSDE for Oracle数据源的读取方法可以基于ArcGIS提供开发工具包,也可以用ArcSDE提供的CAPI函数来读取。本文基于ArcGIS Engine 9.3开发包,用C#编程实现ArcSDE for Oracle数据源的读取、解析。 2.2 SuperMap for Oracle数据源读取 分析SuperMap for Oracle几何模型结构和属性存储结构,按照上述读取ArcSDE for Oracle数据源的思路,基于SuperMap Objects.NET开发包,用C#编程实现SuperMap for Oracle数据源的读取、解析。 2.3 定制转换规则 ArcSDE for Oracle数据源为Geodatabase数据模型,其支持的几何对象模型有Point、MultiPoint、PolyLine、Polygon、Multipatch。SuperMap Objects.NET中的几何对象包括GeoPoint、GeoLine、GeoRegion、GeoText、GeoPath、GeoCompound以及圆、弧、椭圆、斜椭圆等参数化几何对象。GML几何模型结构如图2所示。 图1 SuperMap与ArcGIS空间数据集成框架 图2 GML几何数据模型结构图 根据对3种空间数据模型的分析,建立ArcSDE for Oracle和SuperMap for Oracle数据源几何对象模型与GML数据模型映射关系,如表1所示。 2.4 空间信息解析及向GML对象转换 ArcSDE for Oracle数据源空间信息的读取和解析基于ArcGIS Engine 9.3开发包实现。下面列举面向对象处理方法。 表1 Geodatabase和SuperMap GIS几何数据类型与GML的映射关系 GML数据类型[]Geodatabase数据类型[]SuperMapGIS数据类型 Point[] Point[] GeoPoint MultiPoint[] MultiPoint LineString(只有一个path)[] PolyLine[] GeoLine MultiLineString(多个path)[] Polygon(只有一个ring)[] Polygon[] GeoRegion MultiPolygon(有多个ring)[] Multipatch 在ArcGIS Engine中一个点对象对应一个Feature,根据Feaute对象Shape属性可获得点对象X,Y坐标信息,进而根据映射规则构建自定义PointType对象。 IPoint arcPt = pFeature.Shape as IPoint; double _x = arcPt.X; double _y = arcPt.Y; gml.CoordinatesType _ct = new gml.CoordinatesType(new double[2]{_x,_y}); gml.PointType pt = new gml.PointType(_ct);//在gml空间下的PointType类型 上述为ArcSDE for Oracle数据源解译方法,SuperMap for Oracle数据源解析的方法和ArcSDE for Oracle数据源解析方法一致。 2.5 GML文档生成 解析后的空间数据保存在自定义对象中,随后将其写入GML文档,基本实现步骤为: (1)将解析后的对象存储在GML对象中;以下为点对象转换为GML元素的代码: public XmlElement PointToGmlElement(XmlDocument xmlDoc,PointType pt) { XmlElement parentElement = xmlDoc.CreateElement("gml:featureMember"); CreateAttributeElement(ref parentElement,pt);//为非几何属性创建元素 CreateGeoElement(ref parentElement,pt);//为几何属性创建元素 return parentElement; } (2)生成应用模式。生成GML文档前,构建统一的XML应用模式。 (3)写入GML文档。生成对应的XML应用模式文档后,根据生成的应用模式和GML语法规则将自定义对象写入GML文档。 2.6 异构数据集成显示 GML只以中间件形式存在,需要转换为合适的图形格式文件才能以图像形式显示给用户。SVG基于XML,在表示图形矢量信息的同时加入图形显示信息,是一种网络上显示矢量图形的比较好的格式。SVG由W3C制定,并不是某个团体或组织的私有标准,因此任何团体、研究机构、公司或个人都可根据需要对其进行开发,制作适合自己的SVG创造工具,其具有广泛应用前景。本文采用SVG格式,GML格式向SVG格式转换的流程如下: 第一步:构建SVG几何对象类。 GML点对象用SVG的一定半径的圆对象来代替,圆心坐标即为点对象坐标。GML线对象采用SVG的 第二步:GML对象向SVG对象转换。 遍历GML元素,读取GML对象的几何信息和属性信息,根据转换规则生成对应的SVG对象。 第三步:生成SVG格式文档。与SVG格式文档的生成和GML自定义的对象写入GML文档的方法类似,生成SVG文档无需生成对应应用模式,只需将SVG对象按照SVG格式规范写入文本文件中,文本文件后缀为.svg。 第四步:数据集成显示。 SVG文件可在安装相应SVG显示插件浏览器中直接显示,本文采用Adobe公司的SVGViewer3.0显示插件。 3 应用举例 基于GML的SuperMap与ArcGIS异构空间数据集成方法已在某地级市“数字城市”项目中成功应用。城市燃气管网地理信息系统为“数字城市”项目子系统之一,该系统为B/S架构,需要将SuperMap平台管网数据与ArcGIS平台道路数据集成。若采用传统集成方式需要将各自GIS平台数据转换为公共、公开格式(如SHP格式)或以其中一个GIS平台为主,另外一个作为宿主软件,而采用基于GML的集成方式,可实现异构空间数据无缝集成,实现数据网络集成共享,满足系统基于B/S架构集成模式的要求。 基于SuperMap平台的气化站数据和基于ArcGIS平台的道路专题数据在浏览器中的显示效果、系统中气化站和道路网集成显示效果分别如图3、图4、图5所示。 图3 气化站显示效果 4 结语 本文对SuperMap与ArcGIS异构空间数据集成技术进行详尽探讨,设计一种基于GML的SuperMap与ArcGIS异构空间数据集成的框架,解决数字城市地理空间数据共享平台中异构空间数据集成问题。该框架原理简单、编程容易、易达到无缝集成,并为实现其它类型异构空间数据集成提供借鉴。该集成方案已成功应用于某地级市“数字城市地理空间框架建设”项目中,效果明显。 图4 城市路网显示效果 图5 城市气化站和城市路网集成显示效果 参考文献参考文献: [1] 龚健雅,杜道生,高文秀,等.地理信息共享技术与标准[M].北京:科学出版社,2009. [2] 吴信才.数据中心集成开发平台[M].北京:电子工业出版社,2010. [3] 张书亮,闾国年,龚健雅,等.地理标识语言——GeoWeb基础[M].北京:科学出版社,2008. [4] 张书亮,陶陶,闾国年.地理信息共享与互操作框架研究[J].测绘科学,2004(6):5861. [5] 张书亮,戚海峰,张亦鸣等.空间互操作框架集成模式分析[J].地球信息科学,2006(4):8895. [6] 闾国年,张书亮,龚敏霞,等,地理信息系统集成原理与方法[M].北京:科学出版社,2003. [7] 兰小机,王志红,司志克.基于GML/WebGIS的空间数据集成研究[J].测绘通报,2010(10):2123. [8] 周文生,毛峰.地理标记语言GML及其可视化[J].测绘通报,2003(9):2326. [9] 张爱国,邬群勇,王钦敏.GML数据的Web可视化设计与实现[J].测绘科学,2007,32(1):140141. [10] 刘旭军,关佶红.WebGIS应用中GML文档到SVG的转换[J].计算机应用,2004,24(2):157160. [11] 李清泉,谢智颖,左小清,等.基于SVG的空间信息描述与可视化表达[J].测绘学报,2005,34(1):5863. 责任编辑(责任编辑:孙 娟) |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。