“ArcGIS Engine组件式开发及应用”是西安科技大学为地理信息系统本科专业开设的一门专业课。本书在积累作者近年来讲授这门课经验的基础上,结合具体GIS软件项目开发实践,采用C#语言编写应用实例,并以ArcGIS Engine9.3和10.0为开发平台编写而成,系统讲述了ArcGIS Engine组件式开发的方法和具体应用。
全书共11章,内容涉及ArcGIS Engine基础、使用ArcGIS Engine控件编程、几何形体对象Geometry、地图组成、空间数据符号化、空间数据管理、空间分析、空间数据编辑、地图输出、基于ArcGIS Server的Web GIS开发和三维可视化及三维分析。对每部分所涉及的接口,实现接口的类,以及对应的属性和方法均进行了详细介绍。为便于读者理解和练习,在各部分还结合实际GIS项目开发实践,列举了大量采用C#语言编程实现的工程实例,突出编程实践和具体应用,以使读者能有效了解和掌握ArcGIS Engine开发的实战技术。
本书可作为地理信息系统及相关专业高年级本科生和研究生的教材,也可供各行业从事ArcGIS Engine软件开发工程技术人员参考。
样章试读
目录
- 前言
第1章 ArcGIS Engine基础
1.1 ArcGIS Engine概述
1.2 ArcGIS Engine组件库
1.3 阅读对象模型图
1.3.1 ArcGIS Engine中的类与对象
1.3.2 类与类的关系
1.4 组建对象模型
1.4.1 软件开发历史
1.4.2 组件对象模型
1.5 使用控件构建独立应用程序
1.5.1 程序功能描述
1.5.2 程序控件设计
1.5.3 代码编写
1.6 ArcGIS10.0的新增功能
第2章 使用ArcGIS Engine控件编程
2.1 MapControl控件
2.1.1 主要接口
2.1.2 用MapControl控件加载地理数据
2.1.3 鼠标与控件的交互
2.1.4 数据选择
2.1.5 实现鹰眼功能
2.2 PageLayoutControl控件
2.2.1 用PageLayoutControl操作Mxd文件
2.2.2 PageLayout与MapControl联动
2.3 TOCControl控件
2.3.1 TOCControl控件概述
2.3.2 TOCControl控件应用开发实例
2.4 ToolbarControl及相关对象
2.4.1 概述
2.4.2 ToolbarControl控件
2.4.3 ToolbarItem
2.4.4 ToobarMenu组件类
2.5 ControlCommands
2.5.1 通过ToolbarControl控件使用ControlCommands
2.5.2 不通过ToolbarControl控件使用ControlCommands
2.6 应用开发实例
2.6.1 概述
2.6.2 自定义命令开发实例
2.6.3 自定义开发工具
2.6.4 自定义菜单开发实例
2.6.5 生成上下文菜单
第3章 几何形体对象Geometry
3.1 Geometry模型
3.2 Point和MultiPoint对象
3.2.1 Point对象
3.2.2 MultiPoint对象
3.3 Envelope包络线对象
3.4 Curve曲线对象
3.4.1 Segment对象
3.4.2 路径对象
3.4.3 环对象
3.4.4 PolyCurve对象
3.5 Geometry集合接口
3.5.1 IGeometryCollection接口
3.5.2 ISegmentCollection接口
3.5.3 IPointCollection接口
3.6 空间参考
3.6.1 空间参考含意
3.6.2 两种坐标系统
3.6.3 设置空间参考
第4章 地图组成
4.1 Map对象
4.1.1 IMap接口
4.1.2 IGraphicsContainer接口
4.1.3 IActiveView接口
4.1.4 IActiveViewEvents接口
4.1.5 IMapBookmarks接口
4.1.6 ITableCollection接口
4.2 图层对象
4.2.1 ILayer接口
4.2.2 要素图层
4.2.3 往地图中加入CAD文件
4.2.4 TIN图层
4.2.5 GraphicsLayer对象
4.3 ScreenDisplay对象
4.4 地图排版
4.4.1 PageLayout对象
4.4.2 Page对象
4.4.3 SnapGrid对象
4.4.4 SnapGuides对象
4.4.5 RulerSettings对象
4.5 元素对象
4.5.1 图形元素
4.5.2 框架元素
4.5.3 元素的选择跟踪对象
4.6 地图格网对象
4.6.1 MapGrid对象
4.6.2 MapGridBorder对象
4.6.3 MapGridLabel对象
4.7 MapSurround对象
4.7.1 图例对象
4.7.2 指北针对象
4.7.3 比例尺对象
4.7.4 比例尺文本对象
4.8 使用样式对象
4.8.1 StyleGallery对象
4.8.2 StyleGalleryItem对象
第5章 空间数据符号化
5.1 概述
5.2 使用颜色对象
5.2.1 颜色模型
5.2.2 Color对象
5.2.3 颜色可视化选择
5.2.4 ColorRamp对象
5.3 使用Symbol符号对象
5.3.1 MarkerSymbol对象
5.3.2 LineSymbol对象
5.3.3 FillSymbol对象
5.3.4 TextSymbol对象
5.3.5 3DChartSymbol对象
5.4 专题着色渲染
5.4.1 SimpleRenderer简单着色
5.4.2 ClassBreakRenderer分级着色
5.4.3 UniqueValueRenderer唯一值着色
5.4.4 ProportionalSymbolRenderer依比例符号着色
5.4.5 DotDensityRenderer密度点渲染着色
5.4.6 ChartRenderer图表渲染着色
5.5 地图标注
5.5.1 TextElement标注
5.5.2 自动标注
5.6 开发实例
第6章 空间数据管理
6.1 概述
6.2 地理数据库基础知识
6.3 Workspace及相关对象
6.3.1 打开工作空间
6.3.2 工作空间
6.3.3 PropertySet
6.3.4 名称对象
6.4 Dataset对象
6.4.1 GeoDataset类
6.4.2 FeatureDataset对象
6.5 表、对象类和要素类
6.5.1 Table对象
6.5.2 ObjectClass对象
6.5.3 FeatureClass对象
6.5.4 字段集与字段
6.5.5 与字段相关的对象
6.6 行、对象和要素
6.6.1 RowBuffer和Row对象
6.6.2 Object和Feature对象
6.6.3 更新要素
6.7 关系与关系类
第7章 空间分析
7.1 概述
7.2 空间查询
7.2.1 Cursor与Featurecursor对象
7.2.2 QueryFilter对象
7.2.3 SpatialFilter对象
7.2.4 要素选择集
7.3 空间拓扑运算
7.4 空间关系运算
7.5 IProximityOperator接口
7.6 叠加分析
7.6.1 矢量图层的叠加分析
7.6.2 IBasicGeoProcessor接口
7.6.3 栅格图层的叠加分析
7.6.4 RasterMathops组件类
7.7 网络分析
7.7.1 网络分析概述
7.7.2 网络分析的实际应用
7.7.3 网络数据集
7.7.4 网络分析的相关类说明
7.7.5 相关接口说明
7.7.6 最短路径分析的代码实现
7.8 开发实例
7.8.1 线、面要素分割工具实例
7.8.2 矢量图层叠加运算实例
第8章 空间数据编辑
8.1 概述
8.2 ArcGIS Engine9.2编辑介绍
8.2.1 IWorkspaceEdit接口
8.2.2 DisplayFeedback对象
8.2.3 产生新Geometry的Feedback对象
8.2.4 移动几何形体对象上的节点
8.2.5 移动整个几何形体对象
8.2.6 其他DisplayFeedback介绍
8.3 EngineEditor对象
8.3.1 IEngineEditor接口
8.3.2 IEngineEditTask接口
8.3.3 IEngineEditLayers接口
8.3.4 IEngineEditProperties接口
8.3.5 IEngineEditSketch接口
8.4 ArcEngine9.3编辑任务流
8.4.1 开始编辑对象
8.4.2 设置编辑图层
8.4.3 设置编辑任务
8.4.4 编辑操作
8.4.5 保存编辑对象
8.4.6 停止编辑
8.5 编辑命令和工具
8.5.1 常用编辑命令介绍
8.5.2 常用编辑命令实例
第9章 地图输出
9.1 概述
9.2 地图打印输出
9.2.1 页面设置
9.2.2 打印预览
9.2.3 打印
9.2.4 Printer类
9.2.5 Paper对象
9.2.6 PageLayoutControl控件打印出图
9.3 地图的转换输出
9.3.1 基于影像格式的输出
9.3.2 基于矢量格式的输出
第10章 基于ArcGIS Server的Web GIS开发
10.1 ArcGIS Server概述
10.1.1 ArcGIS Server系统组成部分
10.1.2 ArcGIS Server的主要功能
10.1.3 ArcGIS Server包含的主要技术
10.1.4 ArcGIS Server10安装
10.2 ArcGIS Server管理与服务发布
10.2.1 使用Manager管理和发布服务
10.2.2 使用ArcCatalog管理和发布服务
10.3 创建Web GIS应用的几种方法
10.3.1 使用Manager工具创建
10.3.2 使用Visual Studio模板创建
10.3.3 使用Web控件创建
10.4 简单Web应用开发实例
10.4.1 添加自定义工具
10.4.2 点查询工具实现
10.4.3 矩形框查询工具实现
10.4.4 属性查图功能实现
10.4.5 去除高亮状态
10.4.6 查询结果保存
10.4.7 Callback机制
10.5 高级Web应用开发实例
10.5.1 创建几何对象
10.5.2 缓冲区分析
10.6 Web应用程序的部署
10.6.1 发布网站
10.6.2 复制网站
第11章 三维可视化及三维分析
11.1 概述
11.2 数据的三维显示
11.2.1 DEM数据加载
11.2.2 TIN数据加载
11.2.3 分层设色
11.3 三维分析
11.3.1 插值分析
11.3.2 坡度、坡向和通视分析
主要参考文献