基于 SKYLINE 的二三维 GIS 互动* 
系统设计与实现 
江昕,秦奋 
(河南大学 环境与规划学院,河南,开封 475004) 
摘    要:本文以校园为例,设计了一个基于 ArcEngine 和 Skyline 的二三维 GIS 联动的系统,经过运行和实践证明,此
系统具有实用性和可行性,它既能够实现二维 GIS 的分析查询功能,又能实现三维 GIS 的逼真的可视化功能,并且还有
相互联动操作,弥补了二维 GIS 和三维 GIS 各自的不足,这为 GIS 的设计开发以及充分发挥 GIS 功能做出了一种新的、
有益的探索,并且本系统利用三维激光扫描办法对古建筑物进行建模,这对于文物的数字化保护具有十分重要的意义。 
关键词:二三维联动;arcEngine;skyline;三维激光扫描;文物数字化保护 
中图分类号:TP311.52                                          文献标识码:A 
Design and Implementation of Interactive 2D&3D GIS Architecture 
based on the skyline 
JIANG Xin,QIN Fen 
(College of Environment and Planning, Henan University, Kaifeng 475004, China) 
Abstract:This  paper,taking  the  campus  for  example,  designed  a  ArcEngine  and  Skyline  based  on  two-dimensional  GIS  and 
three-dimensional GIS linkage system, after operation, the system has proved the feasibility and practicality, and it can realize the 
function of two-dimensional GIS analysis, and can realize query lifelike 3d GIS of visual function, and mutual interaction for 2D 
GIS and 3D GIS,It can make up for the two-dimensional GIS and 3D GIS deficiencies in their respective  ,for the design and 
development  of  GIS  and  its  full  function,  this  paper  made  a  new  and  beneficial  exploration.  And  this  system  uses 
three-dimensional  laser  scanning  approach  for  modeling  ancient  buildings,  which    is  of  great  significance  for  theDigital 
protection of cultural relics. 
Key words: mutual interaction for 2D GIS and 3D GIS;arcEngine;skyline;three-dimensional laser scanning;digital protection 
of cultural relics 
 
GIS 技术在我国经过近 30 多年的发展,在测绘、土
地、环境、电力、交通等诸多领域已得到了广泛应用。随
着二维 GIS 理论和计算机等相关技术的不断发展,三维
GIS 的深入研究和加速发展现已成为可能。目前三维 GIS
的研究主要集中在三维可视化[1]等方面。国内外的大学、
公司、研究所也陆续开发了一些三维的造型软件(如
Multigen  Creator,Cyber-  CityGIS 等);或在原来的二维
GIS 中增加了三维功能,使其能够表达现实世界中的三维
对象(如 IMAGIS,VRMAP,CCGIS  等三维 GIS  软件);
还有一些三维可视化系统用于虚拟漫游等场合(如谷歌的
Google  Earth,微软的 Virtual  Earth 等)。这些系统和软件
都具有对三维模型进行创建、管理的能力,但这些软件的
分析功能还局限于二维分析方面,三维分析功能的开发和
交互操作还有待于进一步研究。 
很多学者[1-7]进行了相关的研究,本系统是基于.net2.0 框 
架下利用 ArcEngine  的二维功能和 Skyline 三维 GIS 功能,
将二维 GIS 与三维 GIS 进行集成并实现联动,从而实现在
同一框架体系下使两者优势互补,最大程度地发挥系统功
能。 
校园 GIS  系统最基本的职能是校园基础信息管理, 
包括对管辖范围内校园的植被、地下管线、灯光照明、 
消防设施、垃圾桶、指示牌等资源进行清查和空间定位,
以及对所查资源附近的环境进行评估,还有对所承接的工
程项目进行空间定位和监测。我们可以将所掌握的校园测
绘地图、工程数据、师生情况、招生就业资料等输入,通
过系统的不断更新,可以方便、及时地找到所需资料,  GIS
系统可以建立地下管线网络等计算机模型,可以帮助处理
地下管线突发事件(爆管、断路)等应急处理;以数字地形
模型为基础,还可以建立校园三维可视化模型,实现多角
度浏览,可广泛应用于宣传、旅游等领域。校园基础资料
的完善是校园管理的基础,有了准确完善的不断更新的基
础资料信息系统,校园管理才会事半功倍,校园管理效率
才会提高。 
二维 GIS 具有很强的分析能力,例如缓冲分析、路径
分析、平面测量、空间索查询、渲染分析等,但是它缺乏
有效的三维空间表达能力。三维 GIS 提供了二维 GIS 所不
具有的功能,例如体积测量、三维建模、纹理贴图、模拟
飞行、视角判断等。三维 GIS 在给用户带来可视化功能的
同时,却失去了二维 GIS 分析特色。如何实现两者的互动,   
_________________________________________________ 
*收稿日期:2009-8-28 
作者简介:江昕(1978-),男,河南新野人,汉族,硕士研究生。主要研究方向为地图学与地理信息系统,Email: 
dajiang66@163.com    Tel:15837836069 
 
 
 
 
 
 
1 
 
1 开发设计思路 
系统设计采用“一主两翼”的方法进行,其中“一主”
即一个主要关联,通过地理坐标的关联作用来实现二三维
GIS 的互动,从而实现两者的优势互补,发挥 GIS 的最大
功能。“两翼”即两条(二维 GIS、三维 GIS)独立的技术
开发路线。 
二维空间数据主要用 ArcMap 的中 shp 文件来组织,
每个图层包括特定的数据集,如道路、河流、广场等。而
shp 文件主要是由 arcCatalog 工具中的 Geodatabase 数
据库来管理数据。本系统二维数据主要是通过关系数据库
access 进行编辑、修改、更新二维数据库的。在二维 GIS
开发过程中,利用 ArcEngine 插件中 Mapcontrol[2, 8]
控件调用 shp 文件来实现二维 GIS 功能,ArcEngine(以
下简称 AE)在逻辑上分为 5 个组成部分如图 1,其中 Base 
Services 包含了 AE 中最核心的 ArcObjects 组件,几乎所
有的 GIS 组件都需要调用它们,如 Geometry 和 Display
等 。 Data  Access 包 含 了 访 问 矢 量 或 栅 格 数 据 的
GeoDatabase 所 有 的 接 口 和 类 组 件 。 Developer 
Components 包含了进行快速开发所需的全部可视化控件,
如 MapControl、PageLayoutControl、ToolbarControl 等
控件,从而提高开发效率。 
三维空间数据用 Creator 的 OpenFlight 结构来组织,
利用其层次结构,根据路、河流、广场等分类来组织数据,
二维地图与三维场景的相互响应主要通过坐标转来实现,
都转化为 WGS 84 地理坐标系,并且三维场景中的地物都
对应于二维图层中的某一矢量图或模型点,三维地物到二
维地物之间的响应主要通过其编号和对应图层号的联系
实现的响应的,当鼠标点击三维场景中的某一点,在二维
地图上实时显示这个点的变化;当点击地二维地图上某一
个点时,三维模型立即显示出来。 
 
图1 系统设计的技术路 
Fig.1 system design technology 
2 数据准备 
2.1 数据获取及处理 
2.1.1 二维地图数据获取及处理 
 
 
本系统主要利用 Google Earth[9-14]提供的免费的
卫 星 影 像 图 , 利 用 截 图 软 件 Snagit 截 图 ,, 然 后 用
CorelDraw 拼 图 处 理 , 结 合 GPS 实 测 坐 标 , 最 后 用
arcgis9.2 进行几何校正、配准,最终形成了准确的校园
平面图。针对本校园地形的起伏小且建筑物较多的特点,
在 实 际 操 作 中 , 主 要 以 Creator 手 动 建 模 为 主 , 以
3dMAX9.0 和三维激光扫描仪为辅助工具对重要建筑物进
行了局部精细建模。 
 
2.1.2 纹理数据获取与处理 
主要是通过尼康 S700 1210 万像素的高清晰数据数码
相机获取。最具真实感的纹理才能最好地反映现实世界,
在三维模型中纹理的好坏直接影响场景的效果。建筑物的
纹理加工包括立面纹理和顶部纹理加工。立面纹理可以通
过实地拍摄的数码照片获取;建筑物顶部纹理需要通过高
分辨率影像、航片等,从上面选取对应区域的图像代替,
对于非重点区域的建筑物纹理从纹理库中直接获取。 
2.2 虚拟场景的构建 
场景建模型主要以 Multigen Creator 工具为主,并辅
助 3DsMax 进行一些精细建模,如交通工具中的公交车、
汽车等,以及重要文物如学校大礼堂等采用三维激光扫描
的 办 法 进 行 , 最 终 都 转 换 成 flt 格 式 , 并 且 以
PhotoShop8.0 为主要图像处理工具,对纹理图像进行光
泽、大小等处理。 
 
2.2.1 Creator 建模原则 
 
(1)采用统一的单位和比例尺,在从其他软件导入模型时
尤其要注意;还要注意设备底面与网格线关系,如动态交
通工具模的车辆类底面要与网格重合; 
(2)应尽量减少面数,能用贴图就不要建面;贴图宜小不
宜大,边长要为 2 的幂单位像素[15]。 
(3)设置合适的 LOD 和 DOF,模型数据库中节点名称注意不
能为默认值,避免产生过多的 Default 节点;放在某一个
自由度下的节点不能移动到其它的父节点。 
(4)自然及人文景观建模,它主要包括植树、交通标志、
道路桥梁、建筑物等类型的实体。对树木等植物实体的建
模,在精确度要求不高的情况,可以采用 Billboard 或交
叉面的方法,赋予用带有 α 通道的植物贴图;如果观察
距离较近或要求较高,也可采用其它建模软件生成的植物
树干导入,然后加上树冠的多个角度贴图,一般来说,第
一种方法就可以达到要求。树木较多时,在合成最终文件
时可采用引入外部模型的方法,以提高运行速度桥梁建筑
物等由于需要从不同视角观察,因此要建立三维模型。建
模时画出截面图后,采用 Wall 或 loft 方法,生成三维实
体;如果形状不规则,对其主框架建模后,细节部分用贴
图来实现。对道路的建模,可以采用 road 工具或直接采
用 Strip Face 实现,或者用添加子面的方法。 
 
2.2.2 Creator 建模关键技术 
 
(1)节点开关工具。它可以控制模型的显示与隐藏,特别
是对于距离近的、密集型、复杂建模区这个工具特别有用,
可以选用此开关,保留当前模型,隐藏周围的模型,如物
理学院圆锥楼在多个院系包围中,可以把其周围的建筑物
暂时隐藏,待建完模型后,再显示出来。 
(2)移动工具如图 2,作者称为万能变形工具,因为它具有
多种功能。它可以实现模型的上、下、左、右平移,也能
放大缩小。以河南大学新区正校门为例,当鼠标放在箭头
上,变蓝时可以平移,进行上下或左右移动,对于模型的
2 
 遥感影像Creator3.2建模集成 三维场景统一坐标配准纠正后形成shp格二维图像ArcEngine的Toobarcontrol、Mapcontrol和Toccontrol 控件 Geodatabase数据库距离量算路线查询二三维联动ExtensionsMap presenttationData AccessBase ServicesArcEngine 组成Devekioer Components
精确定位,非常有用。当鼠标放在箭头上,变黄时,可以
放大缩小,以满足实际大小的需要。 
3.1 集成互动功能 
 
  
 
       (a)                   (b)    
 图 2 移动工具及应用实例 
Fig.2 moving tool and its application 
(3)纹理映射。就是将一幅二维图像文件映射到一个几何
体的表面上,从而提高三维几何物体表面的真实感效果,
应用纹理是 Creator 一大优势,在大面积虚拟地形时,它
可以代替详细建模,可以大大减少模型数据库的占用内
存,提高实时运行速度。 
(4)External Refrence 技术。它是指在一个模型中可以设
置外部引用节点,在节点下能调用另一模型的部分或者全
部,并可以重新定义被调用模型的位置方向。 
(5)LOD(level of details)技术。它的基本思想[16]是:
同一个物体与眼睛距离不同,所看到的该物体的详细程度
也 不 同 。 它 可 以 通 过 设 置 每 个 LODs 节 点 的 转 入
(Switch-in)和转出(Switch-out)参数可以方便地控
制 LODs 节点显示的时机。 
 
2.2.3 三维激光扫描进行精细建模 
河南大学近代建筑群[17]是近代中国公共建筑中最
具组群特色的建筑类型。该建筑群见证了河南乃至我国近
代高等教育事业的历史进程,有重要的历史价值、艺术价
值和科学价值,对其科学管理与保护意义重大[18],为此
运用三维激光扫描系统对校园近代文物建筑进行精细建
模十分必要。地面三维激光扫描系统选择的是加拿大
Optech 公司生产的 ILRIS-3D 便携式三维扫描系统。 
首先要确定三维激光扫描仪布站位置,一般选择在大
礼堂周围选择透光性好、扫描视距不超过 100 米的位置进
行布站,如图 3(a)所示。通过选择其周边的制高点对房顶
的扫描,然后俯视扫描,室内扫描则与外部扫描操作一样。
接下来进行分站扫描,获得点云数据以及纹理数据,然后
将各分站扫描的数据进行归一化处理,统一转换为一个坐
标系,再结合点云处理软件 Polywork9.0 将点云数据去噪、
拼接,最终形成的大礼堂点云模型如图 3(b)所示。 
 
本系统二维部分在 Visual Studio2005.net 环境下,
用 C#与 ArcGIS Engine 组件实现。三维部分是采用的
SkyLine 的 TerraExplorer Pro[19-23]提供的部分二次开
发接口,定义三维界面,并实现部分功能。它们都提供 com
组件,添加到工具箱直接加载即可;并且 C#均采用智能指
针来声明 ArcGIS Engine 接口和 TerraExplorer Pro 提供
的部分二次开发接口,可以被实例化的类在 C#中具有两种
实例化方式:第一种作者称之为类标识方式。在类对象声
明 时 , 直 接 使 用 类 唯 一 标 识 ( CLSID ) 进 行 构 造 , 如
ESRI.ArcGIS.Geometry.IPoint pt ;第二种作者称之为
NEW 方式。在类对象声明时,使用 new 方法进行构造,如
TerraExplorerX.TerraExplorer 
new 
TerraExplorerX.TerraExplorer();然后可以应用各自的
接口,二维部分的功能主要体现在能进行一些地图的基本
操作和属性查询以及各种格式图片的输出方面,三维部分
实现的功能,不仅包含了一些三维地图的基本操作,还有
三维地图上的测量分析功能。 
TE 
= 
ArcGIS Engine 提供了 ToMapPoint 方法可以获得当
前鼠标所在位置的地理坐标,通过 TerraExplorer Pro 的
TerraExplorerX.IPlane5 接口的 MovePosition 方法可以
将三维窗口的中心点移到该地理坐标,即可实现二维控制
三 维 。 同 样 TerraExplorer  Pro 同 样 提 供 了
TerraExplorerX.IPlane5 接口的 ScreenToWorld 方法获
得当前鼠标所在位置的地理坐标,而 ArcGIS Engine 提供
的 CenterAt 的方法,不能对二维窗口比例尺缩放,必须
重绘二维窗口的 Extent,三维控制二维也完成了,整个系
统的核心部分也就实现了。程序运行的主主界面如图 4 所
示,互动关键代码如下: 
private void MoveMapTo(double X, double Y) 
{ 
ESRI.ArcGIS.Geometry.IPoint pPointt = new 
ESRI.ArcGIS.Geometry.PointClass(); 
pPointt.X = X; 
pPointt.Y = Y; 
double dblWidth = 
this.axMapControl1.Extent.Width; 
double dblHeight = 
this.axMapControl1.Extent.Height; 
//画一个矩形 
ESRI.ArcGIS.Geometry.IEnvelope IIEnvelope = 
new ESRI.ArcGIS.Geometry.EnvelopeClass(); 
IIEnvelope.UpperLeft.X = pPointt.X - dblWidth 
/ 2; 
IIEnvelope.UpperLeft.Y = pPointt.Y - dblHeight 
/ 2; 
IIEnvelope.LowerRight.X = pPointt.X + dblWidth 
/ 2; 
IIEnvelope.LowerRight.Y = pPointt.Y + 
dblHeight / 2; 
(a)                          (b) 
图 3 激光扫描示意图 
Fig.3 3D laser scanning schemes 
3 系统功能实现 
 
    
} 
//中心点移到矩形中心 
axMapControl1.CenterAt(pCenterpoint); 
//将矩形作为二维窗口的窗口 
axMapControl1.Extent = IIEnvelope; 
//从屏幕坐标获得地理坐标 
pt = axMapControl1.ToMapPoint(e.x, e.y); 
TerraExplorerX.TerraExplorer TE; 
TE = new TerraExplorerX.TerraExplorer(); 
3 
 
TerraExplorerX.IPlane5 pIPlane; 
pIPlane = TE as TerraExplorerX.IPlane5; 
//定义各个参数的变量 
double dobjH = 20; 
double dYaw = 30; 
double dPitch = 320; 
double dRoll = 0; 
double dCameraDeltaYaw = 0; 
double dCameraDeltaPitch = 0; 
int Flags = 0; 
double pX = Convert.ToDouble(pt.X); 
double pY = Convert.ToDouble(pt.Y); 
//将三维窗口中心点坐标移到二维窗口中心点坐标
转换到的地理坐标上 
pIPlane.MovePosition(pX,  pY,  dobjH,  dYaw, 
dPitch, dRoll, dCameraDeltaYaw, dCameraDeltaPitch, 
Flags); 
TerraExplorerX.IRender5 pIRender; 
pIRender = TE as TerraExplorerX.IRender5; 
TerraExplorerX.IObjectManager51 
pIObjectManager; 
pIObjectManager = TE as 
TerraExplorerX.IObjectManager51; 
TerraExplorerX.ITENavigationMap5 
pITENavigationMap; 
pITENavigationMap = TE as 
TerraExplorerX.ITENavigationMap5; 
TerraExplorerX.IInformationTree5 
pIInformationTree; 
pIInformationTree = TE as 
TerraExplorerX.IInformationTree5; 
object objType = 63; 
object objX = 0; 
object objY = 0; 
object objH = 0; 
object objID = ""; 
//将地理坐标转换为屏幕坐标 
pIRender.ScreenToWorld(X, Y, ref objType, out 
objX, out objH, out objY, out objID); 
string strobjx = Convert.ToString(objX); 
string strobjy = Convert.ToString(objY); 
double dobjx = Convert.ToDouble(objX); 
double dobjy = Convert.ToDouble(objY); 
pCenterpoint.X = dobjx; 
pCenterpoint.Y = dobjy; 
//三维和二维移动 
MoveMapTo(dobjx, dobjy); 
//地图刷新 
this.axMapControl1.Refresh(); 
 
 
图 4 主界面 
  Fig.4 main interface 
 
3.2 基本的量测分析功能 
校园管理过程中有时候要知道一些具体数据,如果去
实地测量,不仅费时费力,而且数据精度和存储也是个问
题,而在本系统中这个只需要几秒钟就好,可以进行直线
测量,可以获取亮点之间的水平距离,高度,坡度等,还
可以空间距离测量(如图 5),测量的是空间两点之间的位
置,可以获取空间距离,高差,坡度等数值,以及高度测
量,还可以测量垂直距离,测的是两点之间的垂直坐标,
可以得到第一点的海拔,第二点的海拔,以及这两点之间
的高差以及面积量测等。 
 
 
 
如图 5  空间距离量测 
Fig.5    space distance measurement 
 
3.3 双向查询功能[24] 
它包括属性查图(如图 6(a))与图查属性如图 6(b))。 
 
 
  (a)        (b)  
 
4 
 
图 6  双向查询 
Fig.6 bidirectional inquiring 
 
  此外,本系统还可以将二维地图输出JPEG,BMP,
PDF等格式,便于管理者更加仔细的观察和分析。 
 
结  论 
通过运行河大校园信息管理系统,作者验证了此方案
的可行性和实用性。本系统利用三维激光扫描办法对古建
筑物进行建模,这对于文物的数字化保护具有十分重要的
意义,并实现了二三维互动功能,这仅仅是二三维联动理
论的一个具体实践途径,更多的二三维联动理论和应用还
需要进一步的研究和探索,如何随时间的变化,使校园监
控设备与地面动态物体同步显示,如何具体表现出专题地
图形式,这些都是下一步需要深入思考的地方。 
 
 
参考文献 
 
[1]  肖乐斌, 钟耳顺, 刘纪远, 等. 三维 GIS 的基本
问题探讨[J]. 中国图象图形学报 A 辑, 2001, 
6(9): 842-847. 
 
[15]  孟晓梅, 刘文庆. Multigen Creator 教程[M]. 
北京:  国防工业出版社, 2005. 
[16]  王英杰, 袁勘省, 余卓渊. 多维动态地学信息
可视化[M]. 北京:  科学家出版社, 2003. 
[17]  国家文物局经费阳光工程网. [河南]河南大学近
[EB/OL]. 
代
http://www.wenwu.net.cn/infoview.asp?info
id=3751.  2007-2012  
建
筑
群
 
[18]  阚瑷珂, 朱利东, 罗丽萍等. 考古地层的三维
重建方法[J]. 计算机应用研究, 2007, 24(3): 
302-305. 
[19]  李佼. 基于 TerraExplorer Pro 的三维城市浏览
系统开发[J]. 计算机技术与发展, 2009, 19(6): 
240-242. 
[20]  侯妙乐. 基于 Skyline 的三维数字校园[J]. 北
京建筑工程学院学报, 2008, 24(4). 
[21]  洪安龙. 基于 Skyline 的三维地理信息系统应用
的实践[J]. 浙江国土资源, 2009(3): 49-50. 
[22]  邓洁. 基于 Skyline Terrasuite 的城市三维景
观的建立[J]. 遥感技术与应用, 2008, 23(5): 
529-532. 
[23]  梁吉欣. Skyline 在 Web 三维 GIS 中的应用研究
[J].  昆 明 理 工 大 学 学 报 ( 理 工 版 ) ,  2009, 
34(2). 
[24]  王磊, 周云轩. GIS 二维、三维空间信息查询功
能的实现与应用[J]. 计算机应用研究, 2001, 
18(12): 145-148. 
[2]  李建成. 基于 ArcEngine 的三维 GIS 的设计与实
现 [J].  遥 感 技 术 与 应 用 ,  2009,  24(3): 
395-398. 
 
 
[3]  刘东琴. 城市空间二维信息系统与三维虚拟场
景一体化研究与应用——BDA 城市三维信息系统
的 设 计与 实 现[J].  测绘 科学, 2007, 32(1): 
53-54. 
[4]  钱韬. 基于 Vega 的虚拟城市仿真系统设计研究
[J]. 电脑知识与技术, 2009, 5(1): 175-176. 
[5]  邵明旭. 二三维联动的虚拟校园设计与实现[J]. 
地理信息世界, 2008, 6(2): 73-76. 
[6]  万幼, B. Fu-ling. 二三维联动的 GIS 系统体系
结构构建技术[J]. 地理信息世界, 2008, 6(2): 
48-52. 
[7]  谢绍锋. 森林资源信息三维虚拟仿真系统研究
[J]. 福建林业科技, 2009, 36(1): 146-150. 
[8]  蒋波涛. 插件式 GIS 应用框架的设计与实现──
基于 C#和 ArcGIS Engine 9.2[M]. 北京:  电子
工业出版社, 2008.10. 
[9]  李 黎 . Google Earth 面面 观[J]. 中国 测绘, 
2006(1): 64-67. 
[10]  何君毅. Google-Earth 在油田边探井管理中的
应 用 [J].  油 气 田 地 面 工 程 ,  2009,  28(4): 
63-64. 
[11]  刘祥磊. 基于 Google Earth 管线巡检系统地图
数 据 的 制 作 方 法 研 究 [J].  测 绘 科 学 ,  2008, 
33(2): 141-142. 
[12]  薛亚婷. 基于 Google Earth 及 KML 的数字校园
设计与实现方法研究[D]. 2007. 
[13]  莫平浩. 利用 Google Earth 制作卫星影像图[J]. 
电力勘测设计, 2008(2): 30-31. 
[14]  朱超平. 如何利用 Google Earth 绘制校园平面
图――以湖北大学为例[J]. 湖北大学学报(自
然科学版), 2008, 30(1): 93-96. 
 
5