荆平等编著的《基于C#的地理信息系统设计开发 案例教程(附光盘)》在简要介绍GIS组件开发基本方 法的基础上,以国外流行的GIS组件(MapX、Map Objects、ArcGIS Engine)为对象,采用C#开发语 言,以示例程序为核心,分别对GIS的基本功能、检 索功能、专题图实现及高级功能进行示例演示,书中 所有示例均为可执行的程序段,利于读者学习参考, 快速提高程序设计的技能,深入了解GIS程序设计的 方法。
基于C#的地理信息系统设计开发案例教程(附 光盘)》的读者对象主要是高等院校资源与环境、地 理信息系统、地理科学等专业的本科生和研究生。
荆平等编著的《基于C#的地理信息系统设计开发案例教程(附光盘)》分为12章,第1章为绪论,简要论述地理信息系统的发展状况,对GIS设计开发方式及组件的加载进行了说明; 第2章对基于MapX的GIS基本功能的实现进行论述; 第3章对基于MapX信息检索功能的设计开发进行论述; 第4章对基于MapX的专题图设计开发进行分析论述; 第5章对基于Map Objects的GIS基本功能的实现进行论述; 第6章对基于Map Objects信息检索功能的设计开发进行论述; 第7章对基于Map Objects的专题图设计开发进行论述; 第8章对基于ArcGIS Engine的GIS基本功能的实现进行论述; 第9章对基于ArcGIS Engine的检索功能的设计开发进行论述; 第10章对基于ArcGIS Engine的专题图设计开发进行论述; 第11章对基于ArcGIS Engine的空间分析功能的设计开发进行论述; 第12章对基于ArcGIS Engine的三维GIS功能的设计开发进行论述。
第1章 绪论 1.1 地理信息系统发展概述 1.1.1 地理信息系统的基本概念 1.1.2 地理信息系统的分类 1.1.3 地理信息系统的组成 1.1.4 地理信息系统软件的功能 1.1.5 地理信息系统的发展 1.1.6 地理信息系统的趋势 1.2 GIS 设计开发方式 1.2.1 独立开发 1.2.2 单纯二次开发 1.2.3 集成二次开发 1.2.4 三种实现方式的分析与比较 1.3 组件式GIS 1.3.1 软件开发的组件技术 1.3.2 COM与DCOM 1.3.3 组件技术与GIS的发展 1.3.4 组件式GIS的特点 1.3.5 组件式GIS开发平台的结构 1.4 GIS组件的加载 1.4.1 MapX 1.4.2 Map Objects 1.4.3 ArcGIS Engine 第2章 基于MapX的GIS基本功能的实现 2.1 MapX组件 2.1.1 MapInfo的数据组织 2.1.2 MapX组件的模型结构 2.1.3 MapX组件的空间数据结构 2.2 图层的添加与删除 2.2.1 图层集的加载 2.2.2 图层的基本属性 2.2.3 图层的加载 2.2.4 图层的删除 2.3 图层的移动 2.3.1 采用Move方法实现图层位置的移动 2.3.2 图层的管理方法 2.4 浏览功能的实现 2.5 地图输出 2.6 鹰眼功能的实现 第3章 基于MapX信息检索功能的设计开发 3.1 属性数据检索 3.1.1 Features集合和Selection集合 3.1.2 Features集合的常用方法 3.1.3 Selection集合的常用方法 3.1.4 利用选择工具实现属性数据检索 3.2 空间数据检索 3.2.1 数据绑定 3.2.2 Find和Search方法 3.3 综合检索示例 第4章 基于MapX的专题图设计开发 4.1 专题图的基本类型简介 4.1.1 专题地图的定义及类型 4.1.2 利用MapX可以设计实现的专题地图 4.2 专题图的实现方法 4.2.1 专题地图的对象、方法及属性 4.2.2 通过数据绑定实现专题图 4.2.3 各种专题图的实现示例 4.2.4 动态生成专题图 4.3 专题图的组合实现 第5章 基于Map Objects的GIS基本功能的实现 5.1 Map Objects组件 5.1.1 Map地图控件 5.1.2 图层文件的特征 5.1.3 符号对象 5.1.4 颜色属性 5.2 图层的添加与删除 5.2.1 图层加载 5.2.2 加载SDE层 5.2.3 增加一个影像图层 5.2.4 图层的删除 5.3 图层的移动 5.4 浏览功能的实现 5.5 颜色及字体的修改 5.5.1 颜色修改 5.5.2 设置图层为文本内容的字体 5.6 动态跟踪层的实现 5.6.1 TrackingLayer 5.6.2 GeoEvent 5.7 鹰眼功能的实现 第6章 基于Map Objects信息检索功能的设计开发 6.1 查询条件的创建 6.1.1 条件查询的方法 6.1.2 创建查询条件 6.2 通过查询条件搜索元素 6.2.1 字段检索 6.2.2 所有记录值的检索 6.2.3 记录集对象浏览 6.2.4 基于查询条件搜索元素 6.3 通过距离来搜索元素 6.3.1 SearchByDistance方法 6.3.2 示例程序 6.4 通过几何图形搜索元素 6.4.1 SearchShape方法 6.4.2 示例程序 第7章 基于Map Objects的专题图设计开发 7.1 专题图渲染方法 7.2 专题图的实现方法 7.2.1 常见专题图实现方法 7.2.2 ZRenderer渲染生成专题图 7.2.3 动态设定点密度专题图 7.2.4 Statistics对象的CalculateStatistics方法 7.2.5 可选字段生成专题图 7.3 专题图的组合实现 7.3.1 组合渲染对象GroupRenderer 7.3.2 ChartRenderer和ClassBreaksRenderer组合专题图 7.3.3 ChartRenderer和DotDensityRenderer组合专题图 第8章 基于ArcGIS Engine的GIS基本功能的实现 8.1 图层的加载与删除 8.1.1 MapControl控件 8.1.2 PageLayoutControl控件 8.1.3 TOCControl 8.2 图层的移动 8.3 浏览功能的实现 8.3.1 ToolbarControl控件 8.3.2 ToolbarControl功能的代码加载 8.3.3 放大缩小功能的代码实现 8.3.4 弹出式菜单的设计 8.4 图层文件的保存及另存 8.5 鹰眼功能的实现 第9章 基于ArcGIS Engine的检索功能的设计开发 9.1 信息数据的检索方式 9.1.1 检索类型 9.1.2 数据管理对象 9.1.3 主要查询对象 9.2 属性数据检索 9.2.1 点信息查询 9.2.2 线信息查询 9.2.3 面对象信息查询 9.3 空间数据检索 9.4 综合检索示例 第10章 基于ArcGIS Engine的专题图设计开发 10.1 专题图的基本颜色 10.1.1 Color 10.1.2 ColorRamp 10.2 专题图的基本符号 10.2.1 MarkerSymbol对象 10.2.2 LineSymbol对象 10.2.3 FillSymbol对象 10.3 专题图的实现方法 10.3.1 简单渲染 10.3.2 独立值渲染 10.3.3 点密度/多字段点密度 10.3.4 数据分级绘制 10.3.5 饼图/柱状图 10.3.6 比例符号渲染 10.4 专题图的组合实现 10.5 专题图的综合实现示例 10.5.1 符号的获取 10.5.2 加载图层 10.5.3 设置分级数 10.5.4 分析计算各级的数值大小及颜色设置 10.5.5 实现专题图的渲染 第11章 基于ArcGIS Engine的空间分析功能的设计开发 11.1 缓冲功能设计开发 11.2 空间拓扑运算的实现 11.2.1 Boundary方法 11.2.2 Clip方法 11.2.3 Cut方法 11.2.4 Difference方法和SymetricDifference方法 11.2.5 Intersect方法 11.2.6 ConstructUnion方法和Union方法 11.2.7 IsSimple属性和Simplify方法 11.3 网络分析功能的实现 11.4 空间量算功能的实现 第12章 基于ArcGIS Engine的三维GIS功能的设计开发 12.1 三维浏览查询 12.1.1 文件的加载 12.1.2 浏览功能的实现 12.2 等高线的设计实现 12.2.1 Contour方法 12.2.2 ContourList方法 12.2.3 空间插值分析 12.3 MultiPatch的创建 12.3.1 创建MultiPatch的常用接口 12.3.2 通过输入点坐标创建MultiPatch 12.3.3 通过拉伸平面创建MultiPatch 12.3.4 外部三维模型的导入 12.4 三维动画的实现 参考文献