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

更新时间:2024-04-07 作者:用户投稿原创标记本站原创 点赞:16233 浏览:70083

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

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

中图分类号: TN91934; P226.3 文献标识码: A 文章编号: 1004373X(2013)12007404

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应用程序提供平台的运行时组成[56].ArcEngine由数据存取、地图表达、开发组件、基本怎么写作和运行时选件5个部分组成.

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

基于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组件库的数字化城市部件信息管理系统,实现了用户对城市部件属性数据和空间数据的管理.该系统不仅具有地图浏览功能、图层控制功能、要素和属性查询功能、空间分析等功能,而且人机界面友好、功能强大、操作简便.本文所涉及的关键技术具有一定的通用性和实用性.