ArcGIS Engine 开发实例教程
三峡大学土木水电学院 肖泽云
二〇〇九年 三月
ArcGIS Engine 开发实例教程 土木水电学院 3S 实验室
很高兴和大家分享我的心得!ArcGIS Engine 是专门用于开发 GIS 系统的开
发包,目前最新版本是 9.3。基于 ArcGIS Engine,结合程序开发语言可以开发具
有很强专业性的 GIS 系统。而且所开发的系统不需要客户端安装 ArcGIS 软件,
只需要安装 ArcGIS Engine Runtime 及相应的许可就可以使用开发的 GIS 系统。
本教程是本人原创作品,其主要目的是能让读者在学习完本教程后,对 ArcGIS
Engine 开发有基础的认识,对 ArcGIS Engine 主要的库有一定了解,熟悉 GIS 开
发的基本流程,以 期 得 到抛砖引玉的效果。本教程中所有的程序代码都是作者一
句一句编写的,希望广大读者、特别是初学者一定要仔细阅读、认真思考、反复
斟酌,才会达到事半功倍的效果。限于作者水平及时间关系,其 中 的 错误在所难
免,望广大读者提出宝贵的意见和建议!相互交流,共同提高!
—— 肖泽云
作者联系方式:
地址:湖北省宜昌市三峡大学土木水电学院
邮编:443002
Email:xwebsite@163.com
QQ:289700062
软件建议配置要求:
由于在本教程中主要以 Visual Basic.Net 语言开发为主,所以要求读者在使用
本教程之前先安装 Visual Studio2005。然后安装 ArcGIS Engine for .Net,安装完
ArcGIS Engine 后安装 Engine 的许可文件,在启动 Visual Studio 时会出现如下所
示界面:
其中 MapControl Application 是一个典型的二维地图模版。
ArcGIS Engine 开发实例教程 土木水电学院 3S 实验室
目 录
第一篇 Map 地图开发.............................................................................................1
1、新建一个 GIS 项目 ......................................................................................1
2、导入 Map 文档.............................................................................................5
3、设置 TOCControl 和 ToolbarControl 控件的链接 ....................................7
4、添加 Shapefile 数据文件..............................................................................7
5、添加图层 ......................................................................................................8
6、其他常用属性及方法 ...................................................................................9
7、地图放大缩小等.........................................................................................10
8、创建数据属性表格.....................................................................................12
9、缓冲分析 ....................................................................................................15
10、CAD 与 Shapfile 格式之间的相互转换...................................................20
11、将 CAD 导出成 Shp 格式 ........................................................................23
12、创建符号选择窗体 SymbologyControl ...................................................23
13、指定对象的符号 .......................................................................................27
14、三维分析...................................................................................................31
15、获取 TIN 图层..........................................................................................40
16、选择对象...................................................................................................42
17、获取选择数据...........................................................................................45
18、获取剖面图...............................................................................................49
19、闪烁动画并缩放至数据 ...........................................................................62
20、更改点的显示符号 ...................................................................................67
21、更改线的显示符号 ...................................................................................69
22、自定义点的符号 .......................................................................................71
23、打开个人数据库 .......................................................................................72
24、打开 CAD 数据 ........................................................................................74
25、计算 Raster 的绝对值 ..............................................................................77
26、Raster 的复杂计算...................................................................................79
27、生成表面 Raster.......................................................................................82
ArcGIS Engine 开发实例教程 土木水电学院 3S 实验室
28、生成坡度 Raster.......................................................................................83
29、生成等高线...............................................................................................84
30、生成曲率 Raster.......................................................................................85
第二篇 Scene 三维开发 .........................................................................................87
1、创建一个简单的三维场景 .........................................................................87
2、在 SceneControl 控件中添加 Scene 文件..................................................88
3、旋转/移动摄像机动画 ................................................................................88
4、常用浏览功能.............................................................................................88
5、更改摄像机位置.........................................................................................90
6、输出 AVI 动画............................................................................................91
7、创建动画关键帧.........................................................................................92
8、在三维控件 SceneControl 中添加 Shapfile、jpg、tif 等格式文件..........95
9、保存场景图片.............................................................................................96
10、添加 Raster 数据......................................................................................96
11、生成 TIN...................................................................................................97
12、设置图层基准高程 .................................................................................107
13、点击查询.................................................................................................115
14、转换 TIN 成 MultiPatches.....................................................................120
15、获取 TIN 中对象 ....................................................................................121
16、输出 TIN 节点坐标 ................................................................................124
17、设置点的模型.........................................................................................127
ArcGIS Engine 开发实例教程 土木水电学院 3S 实验室
第 1 页 共 119 页
第一篇 Map 地图开发
1、新建一个 GIS 项目
1)启动 Visual Studio,在 Visual Basic 下面的 Windows 模版下选择 Windows
应用程序,并命名项目名称为“GIS 开发”,如下图所示。
2)点击确定按钮,创建一 个 Windows 应用程序项目。在工 具栏 中的 ArcGIS
Windows Forms 选项下有一些常用的 GIS 控件,如下图所示:
其中,MapControl 就是 Map 地图控件,PageLayoutCOntrol 是布局地图控件,
TOCControl是目录控件,ToolbarControl是 GIS 工具栏控件,SceneControl是 Scene
三维场景控件,GlobeControl 是 Globe 控件,LicenseControl 是许可控件,
SymbologyControl 是符号选择器控件,ArcReaderControl 是 ArcReader 控件,
ArcReaderGlobeControl 是 ArcReaderGlobe 控 件。常用的有 MapControl 、
SceneControl、ToolbarControl 、TOCControl 和 LicenseControl。LicenseControl
是许可控件,一般 GIS 系统中都必须添加,否则无法使用。
3)下面我们添加 MapControl、ToolbarControl 、TOCControl 和 LicenseControl