基于ArcEngine的信息管理系统关键技术研究

时间:2022-09-26 03:18:47

基于ArcEngine的信息管理系统关键技术研究

摘 要: 以某城市部件数据为对象,在分析ArcEngine组件技术基础上,研究了基于ArcEngine的数字化城市部件信息管理系统设计与实现中的关键技术,其中包括视图同步技术、图层控制技术、数据查询技术、空间分析等技术。以.NET为开发环境,采用C#语言开发了一套基于ArcEngine组件库的数字化城市部件信息管理系统,实现了用户对城市部件属性数据和空间数据的管理。

关键词: 数字化城市; GIS; 城市部件; ArcEngine; 空间数据库; 信息管理系统; 组件式开发

中图分类号: TN919?34; P226.3 文献标识码: A 文章编号: 1004?373X(2013)12?0074?04

0 引 言

“数字化城市”是基于地理信息系统(GIS)、全球定位系统(GPS)、遥感系统(RS)等关键技术,深入开发和应用空间信息资源,建设服务于城市规划、建设和管理的信息基础设施和应用体系[1]。数字化城市的管理主要是指基于“万米单元网格城市管理法”和“城市部件管理法”的一种城市管理新模式[2]。“城市部件管理法”是把物化的城市管理对象作为城市部件进行管理,运用地理编码技术,将城市部件按照地理坐标定位到万米单元网格图上,通过网格化城市管理信息平台对其进行分类管理的方法[3]。城市部件主要指城市市政管理的各项公用设施、公共设施和交通设施等。

本文以某城市部件数据为对象,着重研究了基于GIS软件平台上的组件式开发技术和基于ArcEngine的数字化城市部件信息管理系统设计与实现中的关键技术。

1 ArcEngine

ArcGIS是美国环境系统研究所开发的一个全面的、完善的、可伸缩的GIS软件平台,是世界上使用最广泛的GIS软件之一[4]。ArcGIS与其他GIS软件相比具有以下特点:完善的空间数据模型;空间与非空间数据的一体化管理;支持MicroSoft的.NET平台;支持多种数据格式;支持Web GIS应用;具有齐全、强大的空间分析和计算功能等。

ArcGIS Engine(ArcEngine)是开发人员用于建立自定义应用程序的嵌入式GIS组件的一个完整类库。开发人员可以使用ArcEngine将GIS功能嵌入到现有的应用程序中,也可以建立能分发给众多用户的自定义高级GIS系统应用程序。ArcEngine由一个软件开发工具包和一个可以重新分发的、为所有ArcGIS应用程序提供平台的运行时组成[5?6]。ArcEngine由数据存取、地图表达、开发组件、基本服务和运行时选件5个部分组成。

ArcEngine为辅助应用程序开发提供了地图控件、工具条控件、阅读者控件、页面布局控件、内容列表控件、场景控件、球体控件、使用工具条等控件。ArcEngine开发人员可以将以上控件用于ActiveX,.Net和Java等开发者环境,并与其他开发控件和组件结合创建具有显示多个地图图层、地图漫游和缩放、识别地图上的要素等定制功能的应用程序。

基于ArcEngine的信息管理系统关键技术包括视图同步技术、图层控制技术、数据查询技术、空间分析等技术。

2 图层控制技术

2.1 调整图层显示顺序

调整图层显示顺序功能的实现主要利用了TOCControl控件的OnMouseDown,OnMouseUp两个事件和HitTest(),Update()两个方法;OnMouseDown事件方法的主要功能是获得源图层pMoveLayer,OnMouseUp事件方法的主要功能是:获得目标图层及其索引号;利用IMap提供的MoveLayer(pMoveLayer,Toindex)将源图层pMoveLayer移到目标图层(Toindex)的下方;使用ITOCControl提供的Updata()方法更新TOCControl空间中显示的内容。

2.2 鼠标右键获得图层属性

2.3 鼠标右键获得图层标注[8]

ArcObjects中的文字标注分为2种:标注(Label)和注记(Annotation)。它们都是在要素图层上以文字来揭示地图要素的某些信息,如地名、人口等。前者较为简单,后者较为复杂但功能更加强大,本系统采用了后者。

3 数据查询技术

在基于ArcEngine的信息管理系统中,使用了基于空间要素和基于空间属性2种查询技术。

3.1 基于空间要素的查询

3.2 基于空间属性的查询

基于空间属性查询空间对象,需要使用QueryFilter和FeatureCursor对象。QueryFilter对象用来构造属性查询条件,其实现了IQueryFilter接口。FeatureCursor是一个可以包含多个Feature对象,它实现了IFeatureCursor接口和ICursor接口,通过IFeatureCursor::NextFeature方法可以遍历所有的Feature对象,通过ICursor::NextRow可以遍历所有的属性记录。基于空间属性查询的部分关键代码如下:

4 空间分析技术[9]

本系统具有两种空间分析方法:缓冲区分析和最短路径分析。缓冲区分析是在缓冲区概念上,以数据库中的点、线、面为对象,自动建立其周围一定范围内的缓冲区多边形,帮助解决临近度的问题[10]。ArcEngine中已经封装好了缓冲区运算的方法,设计人员只要根据缓冲区多边形获得需要的信息即可。

最短路径分析是利用ArcCatalog中的工具建立好网络拓扑,然后静态加载已经创建好的网络。当选择了起始节点和终止节点后,系统便可以自动分析出最优路径并以红色高亮显示。最短路径分析部分关键代码如下:

5 结 语

本文以.NET作为开发环境,采用高级编程语言C#开发了一套基于ArcEngine组件库的数字化城市部件信息管理系统,实现了用户对城市部件属性数据和空间数据的管理。该系统不仅具有地图浏览功能、图层控制功能、要素和属性查询功能、空间分析等功能,而且人机界面友好、功能强大、操作简便。本文所涉及的关键技术具有一定的通用性和实用性。

参考文献

[1] 陈平.网格化城市管理新模式[M].北京:北京大学出版社, 2006.

[2] 王洪深,吴强华,许欣.数字化城市管理新模式信息系统设计与开发[J].地理信息世界,2008,37(4):22?23.

[3] 王建强.城市部件数字化调查系统的研究与实现[J].测绘与空间地理信息,2009,30(3):56?62.

[4] 李德仁,龚健雅,边馥荃.地理信息系统导论[M].北京:测绘出版社,1993.

[5] 何建国,吕从,刘伟,等.基于ArcGIS Engine的城市基础地理信息数据库系统开发研究[J].测绘科学,2007,13(4):67?79.

[6] XU Han?wei, BADAWI R, FAN Xiao?hu, et al. Research for 3D visualization of digital city based on SketchUp and ArcGIS [J]. Proceedings of SPIE, 2009, 7492: 111?116.

[7] CHEN Hua, LI Xiao?bing, XU Guang?hui. Design and realization of geographic information service system based on SuperMap GIS [J]. Computer Engineering and Design, 2009, 13(20): 100?103.

[8] XU Han?wei, LIU Zhi?hui, BADAWI R, et al. Research on models of digital city geo?information sharing platform [J]. Proceedings of SPIE, 2009, 7492: 7?13.

[9] 李赢.空间数据格式转换方法的研究[J].职教研究,2009(3):9?13.

[10] 贾鹏鹏.空间数据库实现理论与应用研究[J].硅谷,2010,34(10):8?11.

上一篇:基于CAN总线的在线更新机制的设计与实现 下一篇:基于嵌入式WinCE 6.0的脉冲/数据发生器软件设...