基于C#语言的ArcGIS Engine开发基础与技巧
作者:芮小平,于雪涛 编著
出版时间:2015年版
内容简介
《基于C#语言的ArcGIS Engine开发基础与技巧》将GIS理论知识和实际应用相结合,在Visual Studio 2010。NET开发环境下,以C#作为开发语言,结合大量实例,介绍了利用ArcGIS Engine 10。0进行GIS二次开发的方法、过程和技巧。本书内容主要包括ArcGIS Engine接口的概念,利用ArcGIS Engine构建GIS基本框架的方法,在ArcGIS Engine环境下空间数据访问与查询、空间数据投影转换、矢栅数据结构转换、符号化显示与符号库定制、空间数据编辑、外部属性数据操作与专题图制作、地图整饰与打印输出、空间数据裁剪、地形分析、插值方法、叠加分析、地图配准,以及空间数据图饰符号标注等功能的实现方法。每个章节都对应一个具体的GIS功能,先介绍基本概念,然后讲述ArcGIS Engine 10。0实现这些功能所提供的方法,并给出了具体的实现过程。
目录
第1章 ArcGIS Engine概述 1
1.1 ArcGIS Engine介绍 1
1.2 ArcGIS Engine的主要特点 3
1.3 ArcGIS Engine与其他组件的区别与联系 3
1.4 ArcGIS Engine 10.0的安装 4
1.5 第一个ArcGIS Engine 10.0程序的开发 8
1.6 ArcGIS Engine从9.3升级到10.0方法 11
第2章 ArcGIS Engine基础 13
2.1 接口的定义 13
2.1.1 COM的基本概念 13
2.1.2 使用COM对象 14
2.1.3 IUnknown接口 14
2.1.4 面向接口编程 14
2.1.5 接口访问 16
2.2 什么是对象模型图 17
2.3 ArcGIS Engine类库结构 21
2.4 ArcGIS Engine的控件介绍 27
2.4.1 MapControl控件 28
2.4.2 PageLayoutControl控件 32
2.4.3 TOCControl控件 33
2.4.4 ToolbarControl控件 37
2.5 地图浏览功能的实现 45
第3章 地图数据加载 47
3.1 概述 47
3.2 地图与图层 48
3.2.1 地图 48
3.2.2 图层 49
3.3 加载图层 50
3.3.1 工作空间与工作空间工厂 50
3.3.2 几种常用数据类型的加载 54
3.4 图层控制 57
3.5 创建新的Shape文件 59
3.5.1 Field和Fields对象 59
3.5.2 利用Field和Fields对象创建Shape文件 60
第4章 地图符号化 66
4.1 概述 66
4.2 ArcGIS Engine的颜色 66
4.2.1 颜色概述 66
4.2.2 Color对象 68
4.2.3 ColorRamps颜色梯度对象 69
4.3 地图符号化 71
4.3.1 MarkerSymbol 71
4.3.2 LineSymbol 74
4.3.3 FillSymbol 76
4.3.4 TextSymbol 81
4.3.5 3DChartSymbol 82
4.4 符号控件的使用(SymbologyControl) 83
4.5 自定义符号库 90
4.5.1 符号的绘制与保存 90
4.5.2 符号的配置 93
4.5.3 符号导入/导出与管理 93
4.6 地图标注与标记 93
第5章 地图整饰与输出 98
5.1 概述 98
5.2 地图整饰及其实现 98
5.2.1 地图整饰概述 98
5.2.2 元素(Element)类型 99
5.2.3 图形元素及其应用 100
5.2.4 框架元素及其应用 103
5.3 地图输出及其实现 123
5.3.1 地图打印 123
5.3.2 地图图片格式输出 124
5.3.3 输出地图的实例 125
第6章 几何对象和空间参考 129
6.1 几何对象 129
6.1.1 点和多点 131
6.1.2 Segment、Path、Ring和Polyline对象 132
6.1.3 Polygon对象 136
6.1.4 Curve几何对象 137
6.1.5 MultiPatch几何对象 139
6.1.6 Geometry集合接口 139
6.2 空间参考 143
6.2.1 ArcGIS Engine中的坐标系 143
6.2.2 ArcGIS Engine的空间参考 145
6.2.3 距离及面的积量算功能实现 152
第7章 地图编辑 155
7.1 地图编辑相关类与接口 155
7.1.1 IWorkspaceEdit接口 155
7.1.2 IWorkspaceFactory接口 156
7.2 编辑功能介绍及实现 157
7.2.1 启动编辑流程 157
7.2.2 添加要素 159
7.2.3 修改要素 161
7.2.4 撤销与重做 166
7.2.5 属性的编辑 168
7.3 创建自定义的地图编辑工具 170
第8章 空间查询 172
8.1 空间查询相关的类和接口 172
8.1.1 Cursor对象 172
8.1.2 ISelectionSet接口 174
8.1.3 IFeatureSelection接口 174
8.1.4 QueryFilter与SpatialFilter 175
8.2 根据图形查询空间数据的属性 176
8.3 根据属性条件查询空间数据 180
8.4 根据空间关系查询空间数据 184
8.5 连接外部数据库 190
8.6 清除结果集 193
8.7 统计分析 194
第9章 专题地图制作 196
9.1 ArcGIS Engine专题地图概述 196
9.2 简单绘制 197
9.3 唯一值绘制/多字段唯一值绘制 197
9.4 点密度/多字段点密度绘制 203
9.5 数据分级绘制 205
9.6 直方图和饼图 212
9.6.1 直方图 213
9.6.2 饼图 217
第10章 矢量数据空间分析 221
10.1 地学处理(GP)工具应用 221
10.2 缓冲区分析 224
10.3 叠置分析 226
10.4 网络分析 234
10.4.1 网络分析相关的类及接口 235
10.4.2 最短路径的实现 235
10.5 TIN与泰森多边形生成 241
10.5.1 TIN数据模型 241
10.5.2 泰森多边形 243
第11章 栅格数据空间分析 245
11.1 栅格数据简介 245
11.2 栅格数据相关的接口 246
11.2.1 IRasterProps 246
11.2.2 IRasterCursor 246
11.2.3 IPixelBlock 247
11.2.4 IRasterLayerExport 247
11.2.5 IRasterBandCollection 247
11.2.6 IRaster 247
11.3 栅格数据访问 248
11.4 栅格数据渲染 250
11.5 栅格数据分析 255
11.5.1 栅格查询 255
11.5.2 栅格数据统计 257
11.5.3 栅格数据裁剪 263
11.5.4 栅格计算器 269
11.5.5 栅格数据归一化 273
11.5.6 矢栅数据结构互相转换 274
11.5.7 栅格表面分析 279
11.5.8 栅格重分类 282
11.5.9 插值计算 283
11.5.10 栅格局部操作 287
11.5.11 地图配准 289
第12章 ArcGIS Engine程序的发布 291
12.1 Visual Studio 2010制作安装程序 291
12.2 Install Shield制作安装程序 294