【好书】ArcGIS Engine地理信息系统开发教程:基于C#.NET【内附光盘】
桌面GIS、WebGIS和移动GIS是GIS软件开发的三种模式。
桌面GIS的功能更为丰富,软件设计更加灵活,加之历史溯源,GIS软件开发的初学者往往都是从桌面GIS的开发入门,这也符合软件开发的一般学习规律。具体到ArcGIS的开发,就需要学习者从ArcGIS Engine入手。
由于ArcGIS的桌面、服务器和移动端是采用一套ArcObjects构建的,因此在掌握了ArcGIS Engine的开发思路和开发接口以后,就会很容易地过渡到WebGIS和移动GIS的开发上来。
同时,由于基于ArcGIS Engine进行二次开发已经成为业界桌面GIS开发的事实上的标准,因此GIS行业的开发者大都是从学习ArcGISEngine开始的。
书名 | ArcGIS Engine地理信息系统开发教程:基于C#.NET
作者 | 牟乃夏,王海银,李丹,高松峰,戴洪磊,等
出版 | 测绘出版社
书号 | 978-7-5030-3575-3
尺寸 | 184×260毫米
页数 | 566页
定价 | 72.00元
内附光盘
责任编辑 | 贾晓林
基于ArcGIS Engine 10,
以C#.NET 2010为开发语言进行讲解。
内容翔实,通俗易懂,
配大量实际编程案例,
提供全套的源代码和数据。
书后那个有全部代码和数据的完整系统,
曾获Esri杯中国大学生软件开发大赛一等奖。
无论你是初学者,
还是有一定开发经验的用户,
这都是一部优秀的参考书。
2015年4月出版,
截至2016年11月,已经印刷3次,
销量长期居同类图书榜首,
目前已被近30所高校采纳为相关课程的教材。
目 录
第1章 ArcGIS Engine编程基础
1.1 ArcGIS Engine概述
1.1.1 ArcGIS Engine简介
1.1.2 ArcGIS Engine功能
1.1.3 ArcGIS Engine与ArcObjects
1.1.4 ArcGIS Engine类库
1.1.5 ArcGIS Engine控件
1.2 ArcGIS Engine开发资源
1.2.1 帮助文档
1.2.2 自带示例
1.2.3 在线帮助
1.2.4 网上资源
1.3 Esri开发方式简介
1.3.1 AML语言开发方式
1.3.2 Avenue语言开发方式
1.3.3 MapObjects开发方式
1.3.4 VBA开发方式
1.3.5 ArcObjects开发方式
1.4 对象模型图
1.4.1 对象模型图中的类与接口
1.4.2 查看OMD图
1.5 ArcGIS Engine的安装
1.5.1 ArcGIS License Manager的安装
1.5.2 ArcGIS Engine Runtime for Windows的安装
1.5.3 ArcObjects SDK for the Microsoft.NET Framework的安装
1.6 本章小节
第2章 桌面GIS应用软件的开发方式
2.1 使用VBA进行桌面软件开发
2.1.1 VBA开发方式
2.1.2 VBA代码的安全性
2.2 使用DLL进行桌面软件开发
2.2.1 DLL开发方式
2.2.2 DLL功能的应用部署
2.3 使用Add-in进行桌面软件开发
2.3.1 Add-in开发方式
2.3.2 Add-in的安装部署
2.4 使用ArcGIS Engine构建独立应用程序
2.5 不同开发方式的比较
2.6 本章小结
第3章 地图基本操作
3.1 空间数据与工作空间
3.1.1 空间数据
3.1.2 工作空间
3.2 MapControl控件接口
3.2.1 IMapControlDefault接口
3.2.2 IMapControl2接口
3.2.3 IMapControl3接口
3.2.4 IMapControl4接口
3.2.5 IMapControlEvents2接口
3.3 数据加载
3.3.1 加载地图文档
3.3.2 加载Shapefile数据
3.3.3 加载栅格数据
3.3.4 加载CAD数据
3.3.5 加载个人地理数据库数据
3.3.6 加载文件地理数据库数据
3.3.7 加载ArcSDE空间数据库数据
3.3.8 加载文本文件数据
3.4 地图文档保存
3.4.1 地图文档保存
3.4.2 地图文档另存为
3.5 地图浏览
3.5.1 放大与缩小
3.5.2 拉框放大与缩小
3.5.3 漫游
3.5.4 全图显示
3.5.5 历史视图切换
3.6 书签
3.6.1 添加书签
3.6.2 书签管理
3.7 ICommand和ITool命令操作地图
3.8 量测
3.8.1 状态栏坐标显示
3.8.2 距离测量
3.8.3 面积测量
3.9 要素选择操作
3.9.1 要素选择
3.9.2 缩放至选择
3.9.3 清除选择
3.10 地图导出
3.11 视图同步
3.11.1 鹰眼窗口
3.11.2 数据视图与布局视图的同步
3.12 TOCControl控件
3.12.1 TOCControl与数据视图的关联
3.12.2 图层显示顺序调整
3.12.3 TOCControl的右键菜单
3.13 本章小结
第4章 查询统计
4.1 属性查询
4.1.1 相关类与接口
4.1.2 实例详解
4.2 空间查询
4.2.1 相关类与接口
4.2.2 实例详解
4.3 图形查询
4.3.1 相关类与接口
4.3.2 实例详解
4.4 选择集
4.4.1 相关类与接口
4.4.2 实例详解
4.5 查询选项设置
4.5.1 相关类和接口
4.5.2 实例详解
4.6 统计分析
4.6.1 相关的类和接口
4.6.2 实例详解
4.7 本章小结
第5章 地图制图
5.1 颜色模型
5.1.1 颜色模型分类
5.1.2 颜色对象
5.2 地图符号化
5.2.1 点要素符号化
5.2.2 线要素符号化
5.2.3 面要素符号化
5.2.4 文本符号化
5.2.5 符号选择器
5.2.6 样式管理器
5.3 地图标注
5.3.1 TextElement标注
5.3.2 Annotation注记
5.3.3 MapTips显示
5.4 专题地图制图
5.4.1 单一符号化
5.4.2 唯一值符号化
5.4.3 唯一值多字段符号化
5.4.4 分级色彩符号化
5.4.5 分级符号化
5.4.6 比例符号化
5.4.7 点密度符号化
5.4.8 统计图表符号化
5.4.9 双值符号化
5.4.10 多比例尺符号化
5.5 地图整饰
5.5.1 添加图例
5.5.2 添加指北针
5.5.3 添加比例尺
5.5.4 添加地图格网
5.6 制图模板
5.7 空间参考
5.7.1 创建空间参考
5.7.2 同一基准面的坐标转换
5.7.3 不同基准面的坐标转换
5.8 打印输出
5.8.1 打印设置
5.8.2 打印预览
5.8.3 打印
5.8.4 地图输出
5.9 本章小结
第6章 空间数据编辑
6.1 简介
6.1.1 操作步骤
6.1.2 实现思路
6.1.3 代码说明
6.2 编辑对象
6.2.1 几何对象
6.2.2 DisplayFeedback对象
6.3 开始编辑
6.3.1 IEngineEditor接口介绍
6.3.2 功能实现
6.4 设置编辑图层
6.4.1 IEngineEditLayers接口介绍
6.4.2 功能实现
6.5 设置编辑任务
6.5.1 IEngineEditTask接口介绍
6.5.2 功能实现
6.6 编辑操作
6.6.1 选择要素
6.6.2 移动要素
6.6.3 添加要素
6.6.4 删除要素
6.6.5 撤销操作
6.6.6 恢复操作
6.7 节点编辑
6.7.1 移动节点
6.7.2 添加节点
6.7.3 删除节点
6.8 属性编辑
6.9 保存编辑
6.10 结束编辑
6.11 本章小结
第7章 矢量数据空间分析
7.1 空间拓扑分析
7.1.1 相关类与接口
7.1.2 实例详解——缓冲区分析
7.1.3 实例详解——获取多边形要素边界
7.2 空间关系运算
7.2.1 相关类与接口
7.2.2 实例详解——查找一多边形要素的所有邻接要素
7.3 叠加分析
7.3.1 相关类与接口
7.3.2 实例详解——两相交面图层的裁剪分析
7.4 数据格式转换
7.4.1 相关类与接口
7.4.2 实例详解——将Shapefile数据导入File Geodatabase中
7.4.3 实例详解——通过数据解析方式实现Shapefile数据转CAD
格式数据
7.5 添加X、Y数据
7.5.1 相关类与接口
7.5.2 实例详解——将带有X、Y字段的Excel数据表转化为点数据
7.6 使用GP工具进行空间分析
7.6.1 相关类与接口
7.6.2 实例详解——利用GP工具实现缓冲区分析
7.6.3 实例详解——利用GP工具实现Shapefile数据转CAD数据
7.7 本章小结
第8章 栅格数据空间分析
8.1 环境设置
8.2 空间插值
8.2.1 反距离权重法
8.2.2 克里金法
8.2.3 样条函数法
8.2.4 趋势面法
8.2.5 自然邻域法
8.3 栅格表面分析
8.3.1 坡度计算
8.3.2 坡向计算
8.3.3 等值线计算
8.3.4 填挖方计算
8.3.5 山体阴影
8.3.6 曲率计算
8.3.7 可见性分析
8.4 栅格计算
8.4.1 IMathOp接口
8.4.2 ITrigOp接口
8.4.3 ILogicalOp接口
8.4.4 IBitwiseOp接口
8.5 栅格统计
8.6 密度分析
8.6.1 核密度分析
8.6.2 线密度分析
8.6.3 点密度分析
8.7 提取分析
8.7.1 按属性提取
8.7.2 按掩模提取
8.7.3 按形状提取
8.8 距离分析
8.8.1 欧氏距离
8.8.2 成本距离
8.8.3 成本路径
8.8.4 廊道分析
8.9 重分类
8.9.1 使用表重分类
8.9.2 使用ASCII文件重分类
8.9.3 分割
8.10 条件分析
8.11 本章小结
第9章 管网几何网络分析
9.1 几何网络
9.1.1 几何网络要素
9.1.2 逻辑网络
9.1.3 几何网络属性
9.2 显示网络流向
9.2.1 相关类与接口
9.2.2 实例详解
9.3 网络追踪分析
9.3.1 相关类与接口
9.3.2 实例详解
9.4 爆管分析
9.4.1 实例程序操作步骤
9.4.2 实例程序实现思路
9.4.3 核心代码
9.5 本章小结
第10章 交通网络分析
10.1 网络数据集
10.1.1 网络元素
10.1.2 网络连通性
10.1.3 网络属性
10.2 最短路径分析
10.2.1 相关类与接口
10.2.2 实例详解
10.3 查找服务区分析
10.3.1 相关类与接口
10.3.2 实例详解
10.4 最近设施点分析
10.4.1 相关类和接口
10.4.2 实例详解
10.5 OD成本矩阵分析
10.5.1 相关类和接口
10.5.2 实例详解
10.6 多路径配送分析
10.6.1 相关类和接口
10.6.2 实例详解
10.7 位置分配分析
10.7.1 相关类和接口
10.7.2 实例详解
10.8 本章小结
第11章 三维分析
11.1 三维数据模型
11.1.1 3D要素数据
11.1.2 表面数据
11.2 多面体
11.2.1 MultiPatch创建
11.2.2 MultiPatch编辑
11.2.3 MultiPatch分析
11.3 TIN数据
11.3.1 加载TIN数据
11.3.2 创建TIN数据
11.3.3 TIN表面分析
11.4 SceneControl三维可视化
11.4.1 三维数据加载
11.4.2 三维地图浏览
11.4.3 三维地图识别
11.4.4 遥感影像图与三维地形叠加
11.4.5 矢量图层与地形叠加
11.4.6 三维动画
11.5 GlobeControl三维可视化
11.5.1 三维数据加载
11.5.2 三维地图工具
11.5.3 三维效果
11.6 实例:基于GlobeControl的三维数字校园
11.6.1 地图浏览模块
11.6.2 鹰眼模块
11.6.3 书签管理模块
11.6.4 查询模块
11.7 本章小结
第12章 Esri杯中国大学生GIS软件开发
大赛总决赛一等奖作品 分析——崂山森
林火灾扩散模拟分析与决策系统
12.1 数据准备
12.1.1 系统开发与运行环境
12.1.2 数据存储与组织
12.2 系统功能介绍
12.2.1 系统总体功能设计
12.2.2 系统登录
12.2.3 基本功能模块
12.2.4 数据管理模块
12.2.5 预报分析模块
12.2.6 火场模拟模块
12.2.7 辅助决策模块
12.2.8 损失评估模块
12.3 代码阅读指南
12.3.1 DevExpress界面库使用
12.3.2 代码组织与说明
12.4 本章小结
牟乃夏老师简介
牟乃夏(1973-),男,博士、博士后,现为山东科技大学测绘学院副教授,硕士生导师。在扎实科研的同时,更乐于将所思所学传授给学生,曾经连续六年带领七组学生进入Esri杯中国大学生GIS软件开发大赛的总决赛,成为学生培养的传奇和美谈。从教十年来已培养研究生40余名,都在自己的工作岗位上为GIS的发展应用做出了重要贡献。
为使全国的GIS学子更快更好的掌握GIS基本技能,近年,他组织团队精心编写了《ArcGIS10地理信息系统教程:从初学到精通》《ArcGIS Engine地理信息系统开发教程:基于C#.NET》《CityEngine城市三维建模》三本教材,并出版了译著《基于ArcGIS的Python编程秘笈》。这些书籍,深受广大学子喜爱,已成为学习GIS的必备工具。同时为了推广GIS、传授GIS,他还开设了博客、微博,QQ群等,进行GIS知识的传播和交流,由于他为GIS教学与推广做出的贡献,2015年被CPGIS(全球海外华人地理联合会)授予杰出教育奖。
《ArcGIS10地理信息系统教程:从初学到精通》2012年9月由测绘出版出版(截至2016年11月已经印刷11次)。
扩展:谈谈牟乃夏老师
提示:教学课件,随后陆续发布!
京东下单,点击下方蓝字「阅读原文」。