中国科技论文在线
http://www.paper.edu.cn
基于 ArcGIS Engine 的三维校园路灯管理系
统的研究#
张韶华,聂宜民,汪思廷,李明慧*
(山东农业大学资源与环境学院,山东 泰安 271018)
摘要:论文结合山东农业大学校本部路灯管理系统的开发实践,对 GIS 及三维校园技术在校
园路灯管理中的应用进行研究。在对系统进行总体设计的基础上,采用 ArcGIS Engine 组件
作为系统的开发平台,结合 VB 语言进行二次开发,将在 Sketch UP 中建立好的三维校园模
型导入到 ArcScene 中。最终山东农业大学校本部路灯管理系统实现了图形操作、图层管理、
数据编辑、分析统计、三维立体显示、输出和打印等功能,为校园路灯的管理、检修、布局
及维护提供了一种崭新的决策支持方法。
关键词:地理信息系统;AcrGIS Engine ;Sketch Up ;路灯;二次开发
中图分类号:TP315 文献标识码:A
Research and on 3D Virtual Campus streetlight
management system Based on ArcGIS Engine
Zhang SHaohua, Nie Yimin, Wang Siting, Li Minghui
(College of Resource and Environment ,Shandong Agricultural University,ShanDong
Tai’an 271018)
Abstract: Combining the Shandong Agricultural University Main Campus streetlight management
system practice, we have carried on an investigation into the application of GIS and 3D Campus
Technology in Campus streetlight Management .On the basis of the general system design we have had
ArcGIS Engine components as a system development platform and made the re-development
combining with Visual Basic 6.0. And then imported the 3D campus model created by Sketch Up into
ArcScene. Ultimately we got some functions such as graphics operations, layer management,data
editing, analysis of statistics, three-dimensional display ,output and printing. And that provides us a
new method of decision support for the campus streetlight management, maintenance, and distribution.
Key words: AcrGIS Engine SketchUp Streetlight Re-development
Keywords:GIS;AcrGIS Engine;SketchUp;Streetlight;Re-development
0 引言
校园路灯具有数量多,分布范围广,路灯的属性繁杂等特点。传统的路灯管理都只停留
在纸质的地图和表格记录中,由此导致数据繁多难以查找。路灯一旦出现故障,很难及时的
查找并且修理。对于路灯的整体分布情况也很难有一个全局性的了解,不利于学校的管理与
决策。将 GIS 应用到校园路灯的管理中将所需空间数据和属性数据一一对应起来,可以根据
空间位置的相互关系来实现对业务数据的管理。在这种情况下,用图形表示显然比用数字和
文字表示更直观、更形象。[1] 利用 Sketch Up 与 AcrGIS Engine 相结合制作三维校园路灯
管理系统,可以很好的再现真实的场景,使决策者对校园路灯的整体布局拥有更加直观、形
象的认识,为学校相关部门的工作提供强有力的辅助作用。
基金项目:山东农业大学 srt 基金(0903001)
作者简介:张韶华(1988-),男,大学本科,主要研究方向:土地资源管理,地理信息系统. E-mail:
zsh_11@163.com
- 1 -
中国科技论文在线
1 绪论
1.1 校园路灯管理系统的研究背景与意义
1.1.1 校园路灯管理系统的研究背景
http://www.paper.edu.cn
地理信息系统(GIS)作为一类获取、处理、分析、访问、表示以及在不同用户、不同
系统、不同地点之间传输空间数据与属性数据的计算机信息系统。近几年来,无论是在理论
上还是在应用技术上,都处在一个快速发展的阶段,且已经广泛的应用于国民经济的各个领
域和社会生活的各个方面,因而 GIS 及相关技术的应用已成为大势所趋。
然而地图和现有的GIS 只具有在一维或者二维空间处理问题的能力,随着 GIS 应用的深
入,人们越来越多地要求从三维空间来处理问题。在三维客观现实世界里,三维 GIS 比二
维 GIS 更具有可表达性、可认知性、具有更形象的现实逼真效果。在某些部门如地质、采
矿、测绘等领域已率先实现了具有部分功能的三维 GIS。
校园路灯管理是校园管理中技术含量较高、难度较大的一项工作,很大程度上反映了一
个校园的综合实力、人文特色和现代化水平。由于路灯遍布在校园内各条道路上,其运行管
理要求高、工作量大,路灯建设完成之后,其管理和维修需要较大的人力和物力。将
GIS 引入到校园路灯管理中能大大提升工作效率,节省人力和物力。
1.1.2 校园路灯管理系统的研究意义
校园路灯管理系统将地理信息系统(GIS)技术服务于校园路灯管理应用中,能够把图形
管理系统和数据管理系统有机地结合起来,不但克服数据库和图形系统各自的局限性,而且
使两者优势加强联合,优势更加突出,功能倍增。
校园路灯管理系统的建立极大的方便了校园路灯的管理。系统不仅可以在三维场景下形
象、直观的反映路灯的分布情况,还可以随时查询路灯的相关属性,对于校园路灯的维护和
检修提供了便利。系统还独特的引入了路灯光源的缓冲区分析等内容,对路灯光源的缓冲区
分析可以直观的对路灯光源的辐射面积做出判断,对于减少安全隐患和节约能源、优化资源
配置有十分重要的现实意义,为今后校园路灯的调整和更换提供了良好的依据。此外,该系
统对于填补我校路灯管理系统的空白具有不可忽视的作用。
2 校园路灯管理系统的总体设计
2.1 系统需求分析
随着大学城校园建设进程的推进,大学城校园路灯照明设施的规模及数量也越来越大,路
灯照明的耗电也在与日俱增。路灯作为校园的公共设施,对校园治安、交通、安全和方便学
校师生学习、科研与生活都起着重要的保障作用。人口密度大、夜间人们活动频繁的校园公
共空间的路灯照明设计,对于提高行人和车辆在夜间通过校园的安全性有十分重要的意义。[2]
经过对我校校园路灯的调查,分析得出我校路灯存在以下问题:
(1)我国大部分高等院校在建校之初,均利用图纸及表格等形式保存各种资料, 我校也
不例外,由于年代久远,保存的资料丢失、毁坏或与实际不符的情况时有发生。
(2)我校已有百年的建校历史,目前学校的路灯管理仍然停留在较低水平,路灯中经
常会出现线路老化、路灯损坏等问题,一旦发生故障,无法及时进行排查和检修,仅仅依靠
个人经验进行维修与管理,这就造成了大量的人力和财力的浪费,大大降低工作效率,不利
- 2 -
中国科技论文在线
于优化资源配置。
http://www.paper.edu.cn
(3)由于近年来校园扩建等多方面的原因,我校路灯管理还出现许多新的问题,面临
许多新的挑战。例如:路灯光源安置不足,存在着一些照明上的死角,而这有一些是同学们
活动比较频繁的区域,这为同学夜晚的出行带来了不便。
2.2 系统设计原则
路灯 GIS 是一项复杂的、综合性很强的系统工程,系统的设计应该严格遵循软件工程
的规范程序进行,在保证系统具有科学合理的结构框架的基础上,力求系统的优化和高效。
系统在满足用户需求的前提下,必须尽可能提高各项系统性能指标,系统总体设计遵循以下
原则:[3]
(1)标准化原则
在系统的设计和建设过程中必须强调标准化、规范化和统一化,包括数据格式的一致性
和数据编码的一致性。相关标准和规范的选择顺序为:己颁布的国家标准规范,部颁标准规
范,自行制定经过论证的有关标准。
(2)完备性原则
完备性原则包括数据完备性和系统功能完备性。前者指数据的完整性、现势性、准确度、
精度;后者指用户的主要业务及管理内容,完成系统详细设计的全部功能要求。
(3)安全稳定性原则
①抗干扰能力:指工作的连续性和正确性,包括检错、纠错的能力,并应付一般的人为
及机器故障;
②在错误干扰下重新恢复和启动的能力;
③完善的数据备份措施。
(4)适应性原则
①能根据功能调整的需要,由用户对系统的设置进行调整,满足系统发展变化的要求;
②系统的结构设计预留今后的发展空间;
③能在一定范围内适应技术更新(软、硬件升级更新)的要求。
(5)先进性原则
在满足系统功能要求的前提下,保持系统的先进性和高性价比。
2.3 系统功能设计
我校校园路灯管理系统分为两个大的功能模块,包括二维视图和三维视图两部分。在二
维视图和三维视图模块中系统将实现以下功能:地图的显示(三维地图显示)和浏览功能、
图形的编辑和操作功能、属性的查询和修改功能、路灯灯光缓冲区的显示功能以及输出和打
印功能。
- 3 -
中国科技论文在线
http://www.paper.edu.cn
图 1:校园路灯管理系统功能设计
Fig.1: Campus Lighting Management System Function Design
3 校园路灯管理系统的软件技术
3.1 Sketch UP 结合 Arcscene 三维制图技术
3.1.1 Sketch UP 的特性
Sketch Up 是一款可供用于创建、共享和展示 3D 模型的软件。它通过一个简单而详尽
的颜色、线条和文本提示指导系统,让人们不必键入坐标,就能帮助其跟踪位置和完成相关
建模操作。就像人们在实际生活中使用的工具那样,Sketch Up 为数不多的工具中每一样都
可做多样工作。这样人们就更容易学习、使用并且记住如何使用该软件, 从而使人们更加方
便地以三维方式思考和沟通。不仅如此,Sketch Up 同时还可与 Auto CAD、3D MAX 等多
种绘图软件对接,实现协同工作。通过对该软件的熟练运用,人们可以借助其简便的操作和
丰富的功能完成建筑和风景、室内、城市、图形和环境设计,土木、机械和结构工程设计,
小到中型的建设和修缮的模拟及游戏设计和电影电视的可视化预览等诸多工作。[4]
3.1.2 实现用 Sketch Up 制作的模型将地图符号化
由于 Sketch Up 可以与 Auto CAD 对接,因此在建立模型之前,打开 ArcCatalog,打开
保存底图的文件夹,选择需要转换格式的 Shapefile 文件,单击右键——〉Export——〉CAD
即可将 Shapefile 文件转换为 CAD 文件。在 Sketch Up 中建立好模型之后,可以通过 ArcScene
中的符号管理器将来建立自己的符号库然后所有的模型导入。使用时只需要将模型提取出
来,然后符号化要素即可。[5]
3.2 ArcGIS Engine 开发技术
3.2.1 ArcGIS Engine 特点
ArcGIS Engine 是开发人员用于建立自定义应用程序的嵌入式 GIS 组件的一个完整类
库。开发人员可以使用 ArcGIS Engine 将 GIS 功能嵌入到现有的应用程序中。ArcGIS Engine
包括两个产品:Engine 开发包,是组件、API 和工具的集合,是创建自定义的 GIS 和制图应
用的工具包;Engine 运行时,是为了运行自定义的 Engine 应用的可分发的 ArcObjects。ArcGIS
Engine 的功能非常强大,用 Engine 开发可以实现以下功能[8]:
- 4 -
中国科技论文在线
http://www.paper.edu.cn
显示具有多个图层,如道路、河流和边界等的地图。
地图漫游和缩放。
识别地图上的要素。
搜索和查找地图上的要素。
显示字段值的文本标注。
绘制航空相片或卫星影像。
绘制描述性文本。
用线、框、区域、多边形和圆选择要素。
选择与某些要素的距离在一定范围内的要素。
用结构化查询语言(SQL)表达式查找和选择要素。
用专题方法,如 value map、class breaks 和 dot density 等为要素着色。
动态显示实时或时间序列数据。
通过地理编码地址或街道交叉口在地图上查找位置。
转换地图数据的坐标系统。
在要素几何形状上执行几何操作以创建缓冲区、计算差异、发现交叉、合并或反交叉。
处理要素形状或旋转地图。
创建和更新地理要素及其属性。 [9]
3.2.2 ArcGIS Engine 软件开发工具包
ArcGIS Engine 开发工具包是一个基于组件的软件开发产品,用于建立和部署自定义GIS
和制图应用程序。利用 ArcGIS Engine 软件开发包用户可以不用写一行代码就能够完成一些
基本的功能。
(1)控件
ArcGIS Engine 为用户提供了 MapControl(地图控件)、PageLayoutControl (布局控
件)、ToolbarControl(工具条控件)、TOCControl(内容表控件)、SceneControl 、
GlobeControl、ReaderControl 等控件,并且这些控件可以实现一些基本的功能。
(2)工具
ArcGIS Engine 将一些基本的工具封装了起来供用户使用。使用时可以直接在工具条控
件中调用这些工具。包括地图缩放工具,数据编辑工具,属性查询工具等。
(3)类库
ArcGIS Engine 中包含 SyStem、SystemUI、Geometry、Display、Server 等 21 个类库。
各个不同的类库中都包含了相关的接口、组件、组件对象类、属性、方法、事件的描述的文
件。
4 校园路灯管理系统的开发与实现
校园路灯管理系统客户端采用 WindowsXP 操作系统,数据录入采用 ArcCatalog、
ArcMap、ArcScene,客户端编写采用 ArcGIS Engine 组件和 VisualBasic6.0。
4.1 系统各功能界面
校园路灯管理系统共有三大界面即:系统主界面、二维视图操作界面和三维视图操作界
面。
系统主界面为欢迎界面,用户可以在此选择需要进行二维视图操作还是三维视图操作。
- 5 -
中国科技论文在线
http://www.paper.edu.cn
图 2:系统主界面
Fig2: System main interface
二维视图操作界面分为菜单栏,工具栏、鹰眼地图显示,二维地图主显示,图层显示四
个部分。
图层显示
鹰 眼 地
图显示
菜单栏
工具栏
二维地图主
显示
图 3:二维视图操作界面
Fig3: 2D view of user interface
二维视图界面中可以实现地图的浏览、缩放、数据的编辑、属性查询、属性修改、测距、
缓冲区显示等功能。其中的部分功能可以直接调用 ArcGIS Engine 组件中已经封装好的工具,
只需与对应的控件相关联即可实现,不需要编写代码。
- 6 -
中国科技论文在线
http://www.paper.edu.cn
图 4:属性查询
Fig4: Attribute query
三维视图操作界面同样也分为菜单栏,工具栏、二维地图显示,三维地图主显示,图层
显示四个部分。
图层显示
鹰 眼 地
图显示
菜单栏
工具栏
三维地图主
显示
图 5:三维视图操作界面
Fig5: 3D view of user interface
4.2 地图显示与操作
4.2.1 将控件嵌入容器中
在嵌入控件之前,首先要在VisualBasic6.0通过菜单栏中的工程——部件中勾选ESRI
Controls 之 后 便 会 在 VB 中 看 到 MapControl 、 PageLayoutControl 、 ToolbarControl 、
- 7 -
中国科技论文在线
http://www.paper.edu.cn
TOCControl、SceneControl等控件,然后按照下图分别在二维视图界面和三维视图界面中将
控件嵌入容器中。
图6:二维视图布局
Fig6: 2D view layout
4.2.2 建立控件间的联系
各个控件能够正常运行,就要建立控件之间的联系。在 ArcGIS Engine 中,建立各个控
件之间的联系十分方便不需要编写代码即可实现。在 TOCControl 和 ToolbarControl 上单击
鼠标右键,选择“PorPerty”弹出“Propertypages”然后在“Buddy”选项中选择“PageLayout
Control”这样即可建立与主视图 PageLayoutControl 的功能联系,在 Map Document 中添加
需要显示的地图。若 PageLayoutControl 中有地图加载,在 ToCC0nrtol 中就会显示相关地图
图例和图层。同样,在三维视图中只需要在 SceneControl 中重复以上工作即可。
4.2.3 在 ToolbarControl 中添加已经封装的工具
ToolbarControl 与 PageLayoutControl 已经建立好了联系,只需要在 ToolbarControl 中添
加相关的工具就可以在 PageLayoutControl 上实现操作了。
添加过程也是在“Propertypages”的“Item”标签中的“Add”对话框完成,如图所示:
图7:工具栏
Fig7: Toolbar
ArcGIS Engine 的这种简单快捷的开发特性,减少了开发者添加代码的数量,从而提高
了二次开发应用程序整体的稳定性能,节省了开发成本和开发时间,从另一个角度体现了在
本项目中使用 ArcGIS Engine 组件的优势。[10]
4.3 创建自定义工具
虽然 ArcGIS Engine 组件已经为用户封装了大量的控件和工具,但有在通常情况下仍然
无法满足用户的需求,需要用户自己创建工具。用户在创建自己的工具时可以通过引用
ArcGIS Engine 中的相关类库,通过具体的接口编写代码来实现相应的功能。
- 8 -