本书针对地理信息科学专业初年级学生的专业基础特点和需求,将常用地理信息系统二次开发的功能按需求进行分解,以功能为基本单元,由易到难对所需理论、开发思路、实现步骤、编程实现、代码详细注释等进行了系统论述;并从学生的视角进行内容设计和语言组织,突出开发思维、开发技能和ArcEngine开发方法的培养,是地理信息系统二次开发的参考用书与使用手册。
更多科学出版社服务,请扫码获取。
前言
1 搭建开发环境(1)
1.1 安装VisualStudio2010(1)
1.2 安装ArcGISEngine(4)
1.3 安装许可(7)
1.4 ArcGISEngine在VisualStudio的授权(8)
1.5 ArcGISEngine常用对象模型介绍(13)
1.6 对象模型的引用(16)
1.7 ArcGISEngine开发资源(18)
1.7.1 帮助文档(18)
1.7.2 自带实例(18)
1.7.3 在线资源(18)
2 最简单的ArcGISEngine应用程序(19)
2.1 地图浏览(19)
2.2 添加shp数据(25)
2.3 通过lyr文件添加图层(29)
2.4 浏览要素类属性(32)
3 OMDs-ArcGISEngine开发基础(37)
3.1 ArcGISEngine开发的相关定义(37)
3.2 NetFramework(37)
3.3 组件式对象模型开发技术(39)
3.4 面向对象程序设计(41)
3.5 ArcGISEngine的构成(42)
3.6 对象模型图(44)
3.6.1 OMD的基本组成要素(45)
3.6.2 ArcGISEngine接口编程原理(58)
3.6.3 ArcGISEngine编程实战(63)
参考文献(68)
4 空间数据存储模型(69)
4.1 空间数据与模型表达(69)
4.1.1 空间数据(69)
4.1.2 空间数据模型(70)
4.1.3 空间数据模型在计算机上的表达(72)
4.2 空间数据模型的发展历程(72)
4.2.1 第代空间数据模型:CAD模型(72)
4.2.2 第二代空间数据模型:Coverage模型”(73)
4.2.3 “二代半”数据模型:ShapeFile模型”(74)
4.2.4 第三代数据模型:GeoDatabase数据模型(74)
参考文献(83)
5 开发个完整的系统(84)
5.1 搭建界面(84)
5.1.1 Mapcontrol控件类(84)
5.1.2 ToolbarControl控件类(86)
5.1.3 TOCControl控件类(88)
5.1.4 PageLayoutControl控件类(89)
5.1.5 常用的VisualStudio控件(89)
5.1.6 界面设计实战(92)
5.1.7 制作自定义GIS工具(93)
5.2 数据打开与浏览(95)
5.2.1 工作空间工厂及其相关组件(96)
5.2.2 加载地图文档(97)
5.2.3 加载ShapeFile文件到地图控件(101)
5.2.4 打开存储在AccessGeoDatabase的要素类(107)
5.2.5 加载Tiff文件(108)
5.3 鹰眼(110)
5.4 空间查询(119)
5.4.1 基于属性的查询与QueryFilterclass对象类(119)
5.4.2 基于空间位置的查询与SpatialFilter(127)
5.5 图形绘制(132)
5.5.1 Envelope对象(133)
5.5.2 Segment对象(133)
5.5.3 Path对象(137)
5.5.4 Ring对象(138)
5.5.5 Point对象(138)
5.5.6 MultiPoint对象(139)
5.5.7 Polyline对象(140)
5.5.8 Polygon对象(143)
5.5.9 图形绘制综合实例(143)
5.6 专题地图制图(153)
5.6.1 地图符号及符号库(154)
5.6.2 添加地图元素(176)
5.7 叠加分析(184)
5.7.1 要素(矢量)叠加(184)
5.7.2 栅格叠加(197)
5.8 三维分析(199)
5.8.1 坡度分析(200)
5.8.2 通视分析(206)
5.9 栅格运算(210)
5.9.1 IMathOp接口(211)
5.9.2 ITrigOp接口(217)
5.9.3 ILogicalOp接口(217)
5.9.4 IConditionalOp接口(218)
5.10 网络分析(219)
5.10.1 常见网络分析问题(221)
5.10.2 ArcGISDesktop中的网络分析(224)
5.10.3 在ArcGISEngine中实现网络分析(234)
5.11 拓扑分析(TopologyAnalyst)(254)
5.11.1 拓扑的由来及定义(254)
5.11.2 拓扑性质(254)
5.11.3 GIS中的拓扑关系及其描述方法(255)
5.11.4 拓扑的数学表示方法(257)
5.11.5 ArcGIS中拓扑规则(259)
5.11.6 ArcMap中的拓扑分析(261)
5.11.7 在ArcGISEngine中实现拓扑分析(265)
5.12 洪水淹没区提取(273)
参考文献(276)
6 地理空间数据管理系统(277)
6.1 打开数据库(277)
6.2 新建数据库(283)
6.3 ArcSDE地理数据库(286)
6.3.1 空间数据库(286)
6.3.2 ArcSDE地理数据库示例(287)
7 常见疑难解答与经验技巧汇总(290)
7.1 释放资源异常问题(290)
7.2 版本引用警告(291)
7.3 表结构操作错误(293)
7.4 无法嵌入互操作类型错误(293)
7.5 图层刷新问题(294)
7.6 鹰眼视窗无法绘制红线框/鹰眼视图与主地图不同步(295)
7.7 未将对象引用设置到对象的实例(296)
7.8 网络分析、拓扑分析的许可问题(296)
7.9 帮助文档的使用(297)
7.9.1 ArcGISEngine帮助文档(297)
7.9.2 VisualStudioC#帮助文档(299)
7.9.3 ArcGIS帮助文档(302)
7.10 利用帮助文档查询、引用对象模型(302)
8 C#编程规范(305)
8.1 概述(305)
8.1.1 规范指定原则(305)
8.1.2 术语定义(305)
8.1.3 文件命名组织(305)
8.2 命名规范(306)
8.2.1 命名方法(306)
8.2.2 命名约定(306)
8.2.3 局部变量命名(307)
8.2.4 参数命名(307)
8.2.5 类数据成员/属性命名(307)
8.2.6 接口命名(308)
8.2.7 枚举命名(309)
8.2.8 参数命名(309)
8.3 代码外观(310)
8.3.1 列宽(310)
8.3.2 换行(310)
8.3.3 缩进(310)
8.3.4 空行(310)
8.3.5 空格(310)
8.4 控件命名规则(311)
8.4.1 命名方法(311)
8.4.2 主要控件名简写对照表(311)