摘要:国土资源数据具有时间相异、基准相异、平台相异等多源异构性,给国土资源信息化建设造成障碍。针对当前数据备份、数据拷贝、局域网共享等简单共享方式的不足,本文提出了一种基于不同平台的国土异构数据共享方法。该方法首先利用中间件技术和动态投影技术进行数据异源整合,然后利用ArcGISAPIforFlex和SuperMapiClientforflash构建服务平台,相互调用共享多源异构数据。实验表明,两个平台通过服务调用和聚合可实现无缝共享多源异构国土数据,图形没有偏移错误和拓扑错误,实现了数据跨平台服务共享。
关键词:异构数据;拓扑关系;异构数据中间件;数据驱动;国土资源数据
0引言
地理信息系统(GeographicInformationSystems,GIS)已广泛应用于各级政府土地资源信息管理,在土地利用、分析、评估,灾情的监测预报评估,环境保护,制定土地政策和电子政务等方面起到重要作用[1],因此,近年来相继出现了各类土地资源管理信息系统[2-3]、信息服务系统[4]、执法监察信息系统[5]和电子政务办公系统[6],实现了国土资源科学管理,极大推进了国土资源信息化建设。结合遥感影像、土地利用现状、基本农田、土地利用总体规划、矿产资源、基础地理以及遥感监测等多源信息,近年来许多学者提出了国土资源“一张图”建设理论与方法[7]。虽然对“一张图”认识各有不同[8-11],但通常认为,“一张图”是一个容纳各类国土资源数据的仓库,通过对原始数据或挖掘数据分析获得业务信息,实现数据服务和交互[12]。由于“一张图”仓库数据种类繁多,且数据间具有时间相异、基准相异、结构相异、平台相异等多源异构性,因此多源数据的整合集成与共享就成为首要解决的关键问题。
相关期刊推荐:《测绘与空间地理信息》是黑龙江测绘局主管、黑龙江省测绘学会主办的反映测绘学科及地理空间信息科学前沿理论和技术并指导地理信息工作者从事科研、开发、生产的技术性、知识性刊物,主要刊载测绘高新技术、地球空间信息和地理信息系统的前沿理论与技术;地理信息系统工程建设的技术总结与经验交流;测绘行业管理与改革的先进经验;测绘生产技术交流、科研成果推广及教学经验介绍等;测绘学和地理信息学中的理论探讨;国内外地理信息学术动态及测绘科技报道与介绍;测绘科普知识;测绘仪器最新发展等。
为了解决多源数据整合和共享问题,辜寄蓉等人利用网络环境进行异构国土地籍数据提取与汇交,建立多级异构国土地籍数据交换系统框架,保证了数据一致性[13];于华等人提出一种分布式与数据中心相结合的集成模式异构数据整合方法,实现新老系统之间数据无缝集成与统一管理,提高了系统可扩展性[14];缪谨励等人采用中间件技术和动态投影技术,屏蔽数据的多格式性和多投影方式,开发出国土资源多源异构数据集成系统,得到了较好的应用效果[15]。本文基于中间件技术和动态投影技术对多源异构数据进行整合,并基于ArcGISAPIforFlex和SuperMapiClientforflash创建服务平台,实现异构数据的云共享服务,取得了较为满意的访问效果。
1多源异构数据整合
1.1中间件技术
中间件技术建立了异构数据之间的映射关系,对多源数据进行了语义统一,在数据访问中重构中间信息数据,可以根据用户访问要求提取数据内容,减少了由语义不同造成的数据信息损失。中间件技术将计算机软硬件分为数据驱动器和统一操作界面两层结构,其中,数据驱动器对应多个数据源驱动,实现不同数据源统一管理,而统一操作界面负责与数据驱动器通信,实现数据由数据源到客户端的动态双向访问。中间件技术搭建了多源异构数据客户请求与数据访问中间平台,用户可根据自身要求访问多源异构数据。
多源异构数据访问时,首先由客户端产生数据访问要求,将需要访问的数据通过操作界面传递给数据驱动器,操作界面判断数据访问是否为异构数据,如果不是异构数据,由客户端经操作界面直接访问数据源,访问结束;如果是异构数据,则根据客户端异构数据请求,驱动异构数据源,构造中间件,经由数据驱动器访问多个数据源,数据源启用驱动程序实现数据访问,将其结果反馈至数据驱动器。客户端发送检索、查询、修改、显示等请求,数据驱动器将前述反馈结果进行处理,将处理结果反馈给客户端,完成多源异构数据访问,其具体流程如图1所示。
1.2动态投影
基准相异是异构数据的一个基本特征,因此,多源数据访问时需要构建一个暂时统一投影,仅实现数据显示和查询功能,这种方式称之为动态投影。动态投影实质是数据源投影的引用,将数据存储与表现相隔离,建立投影坐标系引用,实际数据源的投影并未发生变化[16]。动态投影是以第一个加载到数据驱动管理器的投影为基准,当加载后续数据时,若投影与当前投影相同,坐标保持不变;若相异,则进行动态投影变换,后载入的数据投影转换为当前投影。如此实现投影的动态变换与统一,解决异构数据空间基准不一致问题。
2数据云共享
基于中间件和动态投影技术,在ArcGISAPIforFlex和SuperMapiClientforflash平台下进行WebService调用与服务聚合。
2.1ArcGISAPIforFlex与SuperMapiClientforflash
ArcGISAPIforFlex(以下简称API)是ESRI公式发布的基于Flex的组件,用于开发REST客户端程序。它通过WebService访问ArcGISServer,是一种基于ArcGISServer的二次开发组件,可在短时间内快速定制开发程序。ArcGISAPIforFlex提供20余种开发类库,常用的是ags类库和layers类库。其中,ags类库包含Feature、Graphic、Map、SpatialReference、timeExtent和Units;layers类库包括ArcGISDynamicMapServiceLayer、ArcGISImageServiceLayer、ArcGISTitledMapServiceLayer、WebTitledLayer、WMSLayer、WMTSLayer、FeatureLayer和GraphicLayer。
SuperMapiClientforflash(以下简称flash)是超图公司开发的基于AdobeFlex的客户端开发程序,共提供5个类库,核心开发类库是swc,包含9个开发包。在9个开发包中,最常用的是mapping开发包,它包含6个属性,其中,action用于获取地图当前操作状态;CRS用于读写坐标系;bounds用于获取边界范围,scales用于访问或设置比例尺;resolution用于分辨率读写;layers用于图层操作。API和flash均可嵌入到Flex中,通过构造URL、发送URL、接收服务器响应、解析服务器4个环节,实现FlexAPI调用GISService,其访问过程如图2所示。
2.2多源异构数据共享
在Flex环境中创建WebService,可以实现异构数据共享,其创建过程是:分析不同平台数据源的数据结构差异性,利用中间件技术进行数据整合,在数据源中提取中间件数据,通过地图文档或工作空间的方式表示数据,然后,进行数据发布,将整合后的异构数据源转成远程GIS服务。在Flex环境下布置前述的API或flash类库,通过编写代码调用服务,最后,对多源异构数据进行聚合服务。
3多源异构数据整合与共享
3.1实验数据库
实验数据库是ArcGIS与SuperMap异构数据库,该数据为基于ArcGIS钦州市1∶500地籍数据库和基于SuperMap的1∶10000土地利用现状数据,此外还有ArcGIS土地规划数据。这些数据比例尺投影、要素分层、属性各不相同,按照中间件和动态投影技术,对这些数据进行整合,最后选用Oracle作为数据库平台,ArcSDE作为空间数据引擎,对实验区数据进行管理。
3.2API共享调用
ArcGISAPIforFlex调用时,在FlexBuilder中配置好开发路径,通过动态地图、缓存地图、ArcGISWTMS和SuperMapOGC4种服务调用方式,尝试访问可能性。动态地图调用时,运用ArcGIS动态地图服务图层方法,实现地图任意比例尺可视化,细节属性可以设置固定比例尺,调用发布于ArcGISServer的钦州市动态土地规划地图,实现结果如图3(a)所示。运用ArcGIS标题地图服务层方法,在控件中实现钦州市土地利用现状缓存地图调用,对相应的比例尺和范围属性进行设置,调用结果如图3(b)所示。编程实现SMTS服务,重写标题信息类、细节层次类和标题地图服务层类,同时重写获取标题URL方法,调用结果如图3(c)所示。通过编程调用超图OGC服务,实现访问超图iServer的WMS,钦州市地籍数据显示结果如图3(d)所示。
3.3Flash共享调用
在Flash中实现服务调用,需要在Flex工程中引用swc类库,通过编程实现动态调用、缓存地图调用和REST地图服务调用。编辑类库中动态REST服务层,可实现SuperMap地图动态调用,以钦州市某区城镇地籍面要素为例,服务调用结果如图4(a)所示。通过设定初始化函数和URL读取函数,完成动态REST服务层设置,可调用缓存地图。实验中,还尝试对ArcGIS的TEST服务进行调用,结果发现在Flash中不能直接访问REST服务,将地图服务改为超图REST服务后,可在Flash中实现服务调用,以钦州市地籍点要素为例,其调用结果如图4(b)所示。
3.4服务聚合
在超图动态地图服务中启用ArcGIS的WMS,可实现要素的聚合。实验中超图动态地图为钦州市城镇地籍面要素,WMS服务为该市交通要素,二者聚合后,效果如图5(a)所示。同理,以在ArcGIS缓存地图中聚合超图WMS服务,同样可完成服务聚合。在图5(b)中,ArcGIS缓存底图为钦州市土地利用现状图,超图WMS为地籍面要素图,服务聚合结果如图5(b)所示。
3.5异构数据服务共享分析
分析3.2、3.3,结果发现API可以实现ArcGIS自身发布的动态、缓存和OGC地图服务,也能调用超图发布的OGC服务,但无法实现超图发布的动态、缓存地图服务,也无法实现超图REST调用。Flash可以实现自身发布的动态、缓存和OGC服务,也可实现ArcGIS发布的OGC服务,并且可以通过修改ArcGIS服务为超图iServer服务的方式实现调用ArcGISREST服务,因此,超图的SuperMapiClientforflash在服务调用方面具有更好的兼容性。
API和flash均支持OGC服务,理论上可以互相调用,但实验结果并非如此,原因是ArcGIS和SuperMap对于OGC理解存在差异,最终造成超图发布的OGC与ArcGIS的OGC并非完全一致,尤其是在调用复杂符号时,出现不可预见错误。分析图5(a)与图5(b),发现同一区域交通和地籍要素聚合后,图形未出现错误,且异构数据吻合较好,未出现由于投影差异造成要素间偏移,说明本文采用的中间件技术和动态投影技术是有效的。同时在图5(a)中对交通要素进行拓扑检查,发现超图平台聚合后要素不但图形结果完整,而且拓扑关系没有被破坏,这也是基于Flash开发的一个优点。
4结束语
基于中间件和动态投影技术,本文进行了多源异构数据库整合与共享分析研究,并在ArcGISAPIforFlex和SuperMapiClientforflash两个开发平台进行了地图服务相互调用与聚合,所得结论如下:
1)中间件技术和动态投影技术是多源异构数据整合的一种有效方法,整合后的数据在服务调用后,未出现服务调用错误和空间位置偏移。
2)API和flash可以相互调用,但SuperMap的兼容性更好,且线状要素能保持自身拓扑结构,与其他异构数据吻合较好,未出现空间偏移,实现了多源异构数据的跨平台服务共享。
然而,由于研究未实现数据的复杂调用,且异构数据仅为ArcGIS和SuperMap两种异构数据,因此,异构数据元数不多,中间件、动态投影以及两种开发平台访问数据的稳定性有待于进一步验证。总之,本文提出的方法不失为一种有效的多源异构数据整合和共享方法,也为相关研究提出了一个技术新视角。
* 稍后学术顾问联系您