基于ArcEngine的地理信息系统功能研究与简易实现

2022-09-14 版权声明 我要投稿

地理信息系统以其强大的数据可视化、空间数据库管理以及空间分析功能, 为新建开发区的信息化管理提供了强有力的工具, 构建新建开发区地理信息系统已是必然趋势。

本文结合天津某开发区地理信息系统的设计和开发实践, 对采用ArcGIS Engine作为GIS开发平台建立园区地理信息系统进行了较深入的研究。本系统融合当今GIS的主流技术——组件式GIS和数据库技术, 能够较好地为开发区建设管理服务, 为展现新园区信息提供了一个平台及可视化窗口。

1 需求分析

从开发区园区信息管理的实际需要出发, 系统能够对新园区地形、建筑物、管线等数据进行统筹管理, 记录新园区从规划初期到竣工建成的整个建设过程;提高园区设施管理的效率, 便于查询和分析, 对今后日常维护、资产管理、各种资料的保存及新园区改造提供依据, 并可直观地展现三维立体的园区景观。

2 系统设计

2.1 系统总体结构

系统采用客户机/服务器 (Client/Server) 的体系结构。服务器端存储系统空间数据库, 应客户端请求发送不同用途的数据, 由系统维护人员负责空间数据库的管理和维护, 客户端只需要安装Arc GIS Engine Runtime (运行时) 即可。

系统以目前在世界上占主流地位的开放型GIS软件——ArcGIS地理信息处理平台为基础, 采用关系数据库SQL Server 2000和ArcSDE 9.2相结合的技术统一管理空间数据和属性数据, 确保空间和非空间数据的一体化存储, 实现数据的存储、管理、查询、检索及数据的深层次挖掘问题, 为前端GIS应用功能的开发提供强有力的支持。

2.2 系统功能模块

根据需求分析, 将系统设计为10个功能模块来实现, 分别为数据加载模块、数据编辑模块、地图浏览模块、影像播放模块、查询检索模块、三维显示模块、空间量算模块、三维分析模块、系统管理模块和地图打印模块。

3 数据库设计

3.1 数据库构成

本系统的数据库建设是一项长期、重要和基础性的工作, 数据库中包括地形、规划和工程勘察数据以及系统配置数据, 构成能够提供丰富的信息资源和服务能力的园区空间数据中心。

3.2 基于Geodatabase的空间数据组织模式

本系统需要对园区建筑物、地下管线、运动场等多种地理要素的空间数据和属性数据进行管理, 涉及的数据种类多, 数据量大, 且各类数据之间存在一定的关系。因此, 为了实现统一管理, 采用新型的面向对象数据模型Geodatabase来设计和管理系统的地理数据库。系统Geodatabase中的矢量数据包含要素数据集 (Feature Dataset) 和要素类 (Feature Class) 两种数据结构, 要素数据集是具有相同空间参考系统的要素类的集合, 如基础地形要素数据集;要素类是存储相同几何类型和属性的要素的集合, 要素类是各要素数据集中具有点、线或面几何特征的地理实体, 如道路线要素类。栅格数据集包含表达连续地理对象的栅格数据, 栅格数据集能够表示一副影像图、一个表面、一个以格网采样的环境属性, 或者有关特征的对象图片, 开发区园区用地的遥感影像图 (QuikBird卫星数据) 是采用栅格数据集管理。关系表中的表文件是记录的集合, 本系统地理数据库中的关系表为项目设计方案信息表。

4 系统开发与实现

4.1 系统开发环境

采用Visual studio 2005+ArcGIS Engine 9.2作为系统的开发平台, 用面向对象的方法进行程序设计, 通过Visual C#开发语言调用ArcGIS Engine组件库的组件, 利用相关接口和函数开发系统功能, 实现了数据加载、数据编辑、地图浏览、影像播放、查询检索、三维显示、空间量算、三维分析、系统管理和地图打印功能。

4.2 主要功能实现

以地图浏览、三维显示和三维分析为例进行说明 (图1) 。

(1) 地图浏览。

地图浏览界面主要由地图显示区、图层控制区、菜单栏和工具栏组成。

地图浏览功能可进行视图控制和图层控制操作, 主要是利用ArcGIS Engine中己封装的工具条控件 (ToolbarControl) 和目录树控件 (TOCControl) 实现, 使用工具按钮对地图进行放大、缩小、移动等操作, 方便用户观察目标和快速定位。图层控制窗口用来显示地图的图层, 可以控制图层的显隐以及图层在上层或下层的控制, 便于用户选择感兴趣的图层和显示方式进行地图浏览和查询分析, 提高查找效率。

(2) 三维显示。

通过显示园区三维地形模型和地物模型, 可以为开发区管理人员提供对园区布局和资源的可视化预览, 提供可视化的分析和决策环境, 以地形表面模型建立为例进行说明。

(1) 创建TIN (不规则三角网) 。

从1∶500园区用地现状地形图中提取出测量点, 测量点数据含有高程信息, 使用测量点创建TIN。TIN用不规则三角网表达地形表面, 三角形的网点存储Z值 (高程值) , 从而建立了园区用地现状的地形表面模型。

(2) 在TIN上叠加建筑物的高度。

在TIN上分别叠加用地现状地形图上的居民地和规划园区单体建筑的建筑高度, 从而得到叠加居民地的地形表面模型和叠加园区单体建筑的地形表面模型, 按照不同的高程段用不同的颜色显示, 展示了园区不同时期的三维地形景观, 如图2所示。

(3) 三维分析。

三维分析是在创建了表面模型数据基础上的分析, 基于ArcEngine的接口和函数二次开发实现, 三维分析功能可以为用地规划和建筑选址提供决策依据, 以剖面分析和视域分析功能为例进行介绍。

(1) 剖面分析。

系统可根据地形数据绘制地形剖面图, 地形剖面图表示沿两点连线前进时地形表面上高程变化的情况。首先, 在TIN上选择两点, 然后根据选择的两点创建剖面线 (Polyline对象) , 然后计算出TIN与Polyline对象相交后的三维线 (含有Z值的线) , 根据三维线对象在TIN上绘制图形要素, 最后根据三维线上每个点的距离和高程信息绘制地形剖面图。

(2) 视域分析。

视域分析功能实现了两点通视分析。首先需建立视线瞄准线, 创建视线瞄准线可以判断某点相对于另外一点而言是否可见。如果地形遮挡了目标点, 则可以分析得出这些障碍物, 以及视线瞄准线上哪些区域可视, 哪些区域不可见。在瞄准线上, 可视与遮挡的部分分别以不同的颜色表示。

5 结语

本文结合天津某开发区园区地理信息系统的开发实践, 探讨了ArcGIS Engine组件技术在园区信息化管理中的应用和实现方法, 在开发过程中得出以下结论: (1) 为了便于设计开发和维护管理, 需要采用合理的GIS空间数据与属性数据的组织结构, 建立比较完善的空间数据和属性数据关联的GIS数据库, 这是实现GIS功能的前提条件和系统开发成败的关键。 (2) 选择ArcGIS Engine作为系统的GIS开发平台, 能够满足新园区信息管理对GIS功能的需要, 较好地实现系统集成。利用可视化开发语言Visua C#进行开发集成, 能够方便灵活地实现GIS大部分功能。

摘要:地理信息系统以其强大的数据可视化、空间数据库管理以及空间分析功能, 为园区信息化管理提供了强有力的工具。本文以天津某开发区园区地理信息系统开发为研究背景, 对GIS技术在园区信息管理中的应用进行了研究, 阐述系统总体结构、功能模块和数据库设计, 基于ArcGIS Engine开发平台, 结合可视化开发语言Visual C#进行集成二次开发, 实现了显示、查询、编辑等GIS常用功能以及三维显示和三维分析功能, 为开发区管理部门提供多层次园区地理数据与决策依据。

关键词:园区地理信息系统,ArcGIS Engine,三维分析

参考文献

[1] 董娜.基于ArcGIS Engine的××大学新园区地理信息系统研究与实现[D].昆明:昆明理工大学, 2008.

[2] 顾留碗, 郑平建, 张海荣.基于GIS技术的滁州学院管理系统[J].滁州学院学报, 2009 (1) .

[3] 赵俊兰, 冯仲科.基于组件式的数字园区信息管理系统的建立[J].测绘通报, 2007 (6) .

[4] 李守平, 潘雨青, 陈天滋.三维GIS建模方法的研究与实现[J].计算机应用与软件, 2006, 23 (11) .

上一篇:施工管理创新措施研究下一篇:劳动合同中竞业禁止条款的效力