描述
包 装: 平装胶订国际标准书号ISBN: 9787030472472
编辑推荐
地理信息系统,应用软件,软件开发
内容简介
“ArcGIS Engine组件式开发及应用”是西安科技大学为地理信息系统本科专业开设的一门专业课。《ArcGIS Engine组件式开发及应用(第二版)》在积累作者近年来讲授这门课经验的基础上,结合具体GIS软件项目开发实践,采用C#语言编写应用实例,并以ArcGIS Engine 10.1为开发平台编写而成,系统讲述了ArcGIS Engine组件式开发的方法和具体应用。
《ArcGIS Engine组件式开发及应用(第二版)》共12章,内容涉及ArcGIS Engine基础、使用ArcGISEngine控件编程、插件式工具集的实现、几何形体对象Geometry、地图组成、空间数据符号化、空间数据管理、空间分析、空间数据编辑、地图输出、三维可视化及三维分析和基于ArcGIS Server的Web GIS开发。对每部分所涉及的接口,实现接口的类,以及对应的属性和方法均进行了详细介绍。为便于读者理解和练习,在各部分还结合实际GIS项目开发实践,列举了大量采用C#语言编程实现的工程实例,突出编程实践和具体应用,以使读者能有效了解和掌握ArcGIS Engine开发的实战技术。
《ArcGIS Engine组件式开发及应用(第二版)》共12章,内容涉及ArcGIS Engine基础、使用ArcGISEngine控件编程、插件式工具集的实现、几何形体对象Geometry、地图组成、空间数据符号化、空间数据管理、空间分析、空间数据编辑、地图输出、三维可视化及三维分析和基于ArcGIS Server的Web GIS开发。对每部分所涉及的接口,实现接口的类,以及对应的属性和方法均进行了详细介绍。为便于读者理解和练习,在各部分还结合实际GIS项目开发实践,列举了大量采用C#语言编程实现的工程实例,突出编程实践和具体应用,以使读者能有效了解和掌握ArcGIS Engine开发的实战技术。
目 录
目录
第二版前言
**版前言
第1章 ArcGIS Engine基础(1)
1.1 ArcGIS Engine概述(1)
1.2 ArcGIS Engine组件库(1)
1.3 阅读对象模型图(6)
1.3.1 ArcGIS Engine中的类与对象(7)
1.3.2 类与类的关系(7)
1.4 组件对象模型(9)
1.4.1 软件开发历史(9)
1.4.2 组件对象模型(10)
1.5 使用控件构建独立应用程序(11)
1.5.1 程序功能描述(11)
1.5.2 程序控件设计(11)
1.5.3 代码编写(14)
第2章 使用ArcGIS Engine控件编程(21)
2.1 MapControl控件(21)
2.1.1 主要接口(21)
2.1.2 用MapControl控件加载地理数据(23)
2.1.3 鼠标与控件的交互(32)
2.1.4 实现鹰眼功能(36)
2.2 PageLayoutControl控件(40)
2.2.1 用PageLayoutControl操作Mxd文件(40)
2.2.2 PageLayout与MapControl联动(41)
2.3 TOCControl控件(43)
2.3.1 TOCControl控件概述(43)
2.3.2 TOCControl控件应用开发实例(43)
2.4 ToolbarControl及相关对象(52)
2.4.1 概述(52)
2.4.2 ToolbarControl控件(52)
2.4.3 ToolbarItem(54)
2.4.4 ToobarMenu组件类(54)
2.5 ControlCommands(55)
2.5.1 通过ToolbarControl控件使用ControlCommands(55)
2.5.2 不通过ToolbarControl控件使用ControlCommands(55)
2.6 应用开发实例(56)
2.6.1 概述(56)
2.6.2 自定义命令开发实例(58)
2.6.3 自定义开发工具(62)
2.6.4 自定义菜单开发实例(66)
2.6.5 生成上下文菜单(71)
第3章 插件式工具集的实现(73)
3.1 插件式设计简介(73)
3.2 插件式开发框架的工作机制(74)
3.2.1 插件式的体系结构(74)
3.2.2 插件的实现原理(74)
3.3 插件逻辑模型(75)
3.3.1 插件基类及接口的定义(75)
3.3.2 插件容器基类及接口的定义(76)
3.3.3 插件容器的设计(78)
3.3.4 工具项插件设计(79)
3.3.5 菜单项插件设计(85)
3.4 插件式平台建立(86)
3.4.1 插件功能类的获取(86)
3.4.2 主程序窗体定义(89)
3.4.3 插件功能的界面配置(91)
3.4.4 刷新插件功能状态(94)
3.4.5 插件功能类的制作(95)
第4章 几何形体对象Geometry(98)
4.1 Geometry模型(98)
4.2 Point和MultiPoint对象(100)
4.2.1 Point对象(101)
4.2.2 MultiPoint对象(103)
4.3 Envelope包络线对象(104)
4.4 Curve曲线对象(107)
4.4.1 Segment对象(107)
4.4.2 路径对象(122)
4.4.3 环对象(123)
4.4.4 PolyCurve对象(124)
4.5 Geometry集合接口(129)
4.5.1 IGeometryCollection接口(129)
4.5.2 ISegmentCollection接口(131)
4.5.3 IPointCollection接口(132)
4.6 空间参考(132)
4.6.1 空间参考含意(132)
4.6.2 两种坐标系统(132)
4.6.3 设置空间参考(134)
第5章 地图组成(143)
5.1 Map对象(143)
5.1.1 IMap接口(143)
5.1.2 IGraphicsContainer接口(144)
5.1.3 IActiveView接口(146)
5.1.4 IActiveViewEvents接口(147)
5.1.5 IMapBookmarks接口(148)
5.1.6 ITableCollection接口(148)
5.2 图层对象(148)
5.2.1 ILayer接口(148)
5.2.2 要素图层(149)
5.2.3 往地图中加入CAD文件(154)
5.2.4 TIN图层(156)
5.2.5 GraphicsLayer对象(158)
5.3 ScreenDisplay对象(158)
5.4 地图排版(159)
5.4.1 PageLayout对象(160)
5.4.2 Page对象(160)
5.4.3 SnapGrid对象(161)
5.4.4 SnapGuides对象(161)
5.4.5 RulerSettings对象(162)
5.5 元素对象(163)
5.5.1 图形元素(163)
5.5.2 框架元素(170)
5.5.3 元素的选择跟踪对象(172)
5.6 地图格网对象(173)
5.6.1 MapGrid对象(173)
5.6.2 MapGridBorder对象(174)
5.6.3 MapGridLabel对象(175)
5.7 MapSurround对象(177)
5.7.1 图例对象(177)
5.7.2 指北针对象(180)
5.7.3 比例尺对象(180)
5.7.4 比例尺文本对象(182)
5.8 使用样式对象(182)
5.8.1 StyleGallery对象(183)
5.8.2 StyleGalleryItem对象(184)
第6章 空间数据符号化(186)
6.1 概述(186)
6.2 使用颜色对象(186)
6.2.1 颜色模型(186)
6.2.2 Color对象(188)
6.2.3 颜色可视化选择(189)
6.2.4 ColorRamp对象(190)
6.3 使用Symbol符号对象(193)
6.3.1 MarkerSymbol对象(194)
6.3.2 LineSymbol对象(197)
6.3.3 FillSymbol对象(199)
6.3.4 TextSymbol对象(201)
6.3.53 DChartSymbol对象(204)
6.4 专题着色渲染(204)
6.4.1 SimpleRenderer简单着色(206)
6.4.2 ClassBreakRenderer分级着色(208)
6.4.3 UniqueValueRenderer**值着色(211)
6.4.4 ProportionalSymbolRenderer依比例符号着色(215)
6.4.5 DotDensityRenderer密度点渲染着色(218)
6.4.6 ChartRenderer图表渲染着色(221)
6.5 地图标注(230)
6.5.1 TextElement标注(230)
6.5.2 自动标注(233)
6.6 开发实例(235)
第7章 空间数据管理(242)
7.1 概述(242)
7.2 地理数据库基础知识(242)
7.3 Workspace及相关对象(244)
7.3.1 打开工作空间(245)
7.3.2 工作空间(247)
7.3.3 PropertySet(250)
7.3.4 名称对象(251)
7.4 Dataset对象(252)
7.4.1 GeoDataset类(252)
7.4.2 FeatureDataset对象(253)
7.5 表、对象类和要素类(255)
7.5.1 Table对象(255)
7.5.2 ObjectClass对象(258)
7.5.3 FeatureClass对象(260)
7.5.4 字段集与字段(261)
7.5.5 与字段相关的对象(264)
7.6 行、对象和要素(268)
7.6.1 RowBuffer和Row对象(269)
7.6.2 Object和Feature对象(269)
7.6.3 更新要素(273)
7.7 关系与关系类(274)
第8章 空间分析(276)
8.1 概述(276)
8.2 空间查询(276)
8.2.1 Cursor与Featurecursor对象(276)
8.2.2 QueryFilter对象(277)
8.2.3 SpatialFilter对象(279)
8.2.4 要素选择集(281)
8.3 空间拓扑运算(282)
8.4 空间关系运算(290)
8.5 IProximityOperator接口(293)
8.6 叠加分析(298)
8.6.1 矢量图层的叠加分析(298)
8.6.2 IBasicGeoProcessor接口(299)
8.6.3 栅格图层的叠加分析(299)
8.6.4 RasterMathops组件类(299)
8.7 网络分析(300)
8.7.1 网络分析概述(300)
8.7.2 网络分析的实际应用(301)
8.7.3 网络数据集(301)
8.7.4 网络分析的相关类说明(302)
8.7.5 相关接口说明(302)
8.7.6 *短路径分析的代码实现(303)
8.8 开发实例(309)
8.8.1 线、面要素分割工具实例(309)
8.8.2 矢量图层叠加运算实例(315)
第9章 空间数据编辑(319)
9.1 IWorkspaceEdit2接口(319)
9.2 DisplayFeedback对象(321)
9.2.1 产生新Geometry的Feedback对象(321)
9.2.2 移动几何形体对象上的节点(331)
9.2.3 移动整个几何形体对象(339)
9.2.4 其他DisplayFeedback介绍(343)
9.3 EngineEditor对象(343)
9.3.1 I EngineEditor接口(344)
9.3.2 I EngineEditTask接口(345)
9.3.3 I EngineEditLayers接口(345)
9.3.4 I EngineEditProperties接口(345)
9.3.5 I EngineEditSketch接口(346)
9.4 Arc Engine编辑任务流(347)
9.4.1 开始编辑对象(347)
9.4.2 设置编辑图层(348)
9.4.3 设置编辑任务(348)
9.4.4 编辑操
第二版前言
**版前言
第1章 ArcGIS Engine基础(1)
1.1 ArcGIS Engine概述(1)
1.2 ArcGIS Engine组件库(1)
1.3 阅读对象模型图(6)
1.3.1 ArcGIS Engine中的类与对象(7)
1.3.2 类与类的关系(7)
1.4 组件对象模型(9)
1.4.1 软件开发历史(9)
1.4.2 组件对象模型(10)
1.5 使用控件构建独立应用程序(11)
1.5.1 程序功能描述(11)
1.5.2 程序控件设计(11)
1.5.3 代码编写(14)
第2章 使用ArcGIS Engine控件编程(21)
2.1 MapControl控件(21)
2.1.1 主要接口(21)
2.1.2 用MapControl控件加载地理数据(23)
2.1.3 鼠标与控件的交互(32)
2.1.4 实现鹰眼功能(36)
2.2 PageLayoutControl控件(40)
2.2.1 用PageLayoutControl操作Mxd文件(40)
2.2.2 PageLayout与MapControl联动(41)
2.3 TOCControl控件(43)
2.3.1 TOCControl控件概述(43)
2.3.2 TOCControl控件应用开发实例(43)
2.4 ToolbarControl及相关对象(52)
2.4.1 概述(52)
2.4.2 ToolbarControl控件(52)
2.4.3 ToolbarItem(54)
2.4.4 ToobarMenu组件类(54)
2.5 ControlCommands(55)
2.5.1 通过ToolbarControl控件使用ControlCommands(55)
2.5.2 不通过ToolbarControl控件使用ControlCommands(55)
2.6 应用开发实例(56)
2.6.1 概述(56)
2.6.2 自定义命令开发实例(58)
2.6.3 自定义开发工具(62)
2.6.4 自定义菜单开发实例(66)
2.6.5 生成上下文菜单(71)
第3章 插件式工具集的实现(73)
3.1 插件式设计简介(73)
3.2 插件式开发框架的工作机制(74)
3.2.1 插件式的体系结构(74)
3.2.2 插件的实现原理(74)
3.3 插件逻辑模型(75)
3.3.1 插件基类及接口的定义(75)
3.3.2 插件容器基类及接口的定义(76)
3.3.3 插件容器的设计(78)
3.3.4 工具项插件设计(79)
3.3.5 菜单项插件设计(85)
3.4 插件式平台建立(86)
3.4.1 插件功能类的获取(86)
3.4.2 主程序窗体定义(89)
3.4.3 插件功能的界面配置(91)
3.4.4 刷新插件功能状态(94)
3.4.5 插件功能类的制作(95)
第4章 几何形体对象Geometry(98)
4.1 Geometry模型(98)
4.2 Point和MultiPoint对象(100)
4.2.1 Point对象(101)
4.2.2 MultiPoint对象(103)
4.3 Envelope包络线对象(104)
4.4 Curve曲线对象(107)
4.4.1 Segment对象(107)
4.4.2 路径对象(122)
4.4.3 环对象(123)
4.4.4 PolyCurve对象(124)
4.5 Geometry集合接口(129)
4.5.1 IGeometryCollection接口(129)
4.5.2 ISegmentCollection接口(131)
4.5.3 IPointCollection接口(132)
4.6 空间参考(132)
4.6.1 空间参考含意(132)
4.6.2 两种坐标系统(132)
4.6.3 设置空间参考(134)
第5章 地图组成(143)
5.1 Map对象(143)
5.1.1 IMap接口(143)
5.1.2 IGraphicsContainer接口(144)
5.1.3 IActiveView接口(146)
5.1.4 IActiveViewEvents接口(147)
5.1.5 IMapBookmarks接口(148)
5.1.6 ITableCollection接口(148)
5.2 图层对象(148)
5.2.1 ILayer接口(148)
5.2.2 要素图层(149)
5.2.3 往地图中加入CAD文件(154)
5.2.4 TIN图层(156)
5.2.5 GraphicsLayer对象(158)
5.3 ScreenDisplay对象(158)
5.4 地图排版(159)
5.4.1 PageLayout对象(160)
5.4.2 Page对象(160)
5.4.3 SnapGrid对象(161)
5.4.4 SnapGuides对象(161)
5.4.5 RulerSettings对象(162)
5.5 元素对象(163)
5.5.1 图形元素(163)
5.5.2 框架元素(170)
5.5.3 元素的选择跟踪对象(172)
5.6 地图格网对象(173)
5.6.1 MapGrid对象(173)
5.6.2 MapGridBorder对象(174)
5.6.3 MapGridLabel对象(175)
5.7 MapSurround对象(177)
5.7.1 图例对象(177)
5.7.2 指北针对象(180)
5.7.3 比例尺对象(180)
5.7.4 比例尺文本对象(182)
5.8 使用样式对象(182)
5.8.1 StyleGallery对象(183)
5.8.2 StyleGalleryItem对象(184)
第6章 空间数据符号化(186)
6.1 概述(186)
6.2 使用颜色对象(186)
6.2.1 颜色模型(186)
6.2.2 Color对象(188)
6.2.3 颜色可视化选择(189)
6.2.4 ColorRamp对象(190)
6.3 使用Symbol符号对象(193)
6.3.1 MarkerSymbol对象(194)
6.3.2 LineSymbol对象(197)
6.3.3 FillSymbol对象(199)
6.3.4 TextSymbol对象(201)
6.3.53 DChartSymbol对象(204)
6.4 专题着色渲染(204)
6.4.1 SimpleRenderer简单着色(206)
6.4.2 ClassBreakRenderer分级着色(208)
6.4.3 UniqueValueRenderer**值着色(211)
6.4.4 ProportionalSymbolRenderer依比例符号着色(215)
6.4.5 DotDensityRenderer密度点渲染着色(218)
6.4.6 ChartRenderer图表渲染着色(221)
6.5 地图标注(230)
6.5.1 TextElement标注(230)
6.5.2 自动标注(233)
6.6 开发实例(235)
第7章 空间数据管理(242)
7.1 概述(242)
7.2 地理数据库基础知识(242)
7.3 Workspace及相关对象(244)
7.3.1 打开工作空间(245)
7.3.2 工作空间(247)
7.3.3 PropertySet(250)
7.3.4 名称对象(251)
7.4 Dataset对象(252)
7.4.1 GeoDataset类(252)
7.4.2 FeatureDataset对象(253)
7.5 表、对象类和要素类(255)
7.5.1 Table对象(255)
7.5.2 ObjectClass对象(258)
7.5.3 FeatureClass对象(260)
7.5.4 字段集与字段(261)
7.5.5 与字段相关的对象(264)
7.6 行、对象和要素(268)
7.6.1 RowBuffer和Row对象(269)
7.6.2 Object和Feature对象(269)
7.6.3 更新要素(273)
7.7 关系与关系类(274)
第8章 空间分析(276)
8.1 概述(276)
8.2 空间查询(276)
8.2.1 Cursor与Featurecursor对象(276)
8.2.2 QueryFilter对象(277)
8.2.3 SpatialFilter对象(279)
8.2.4 要素选择集(281)
8.3 空间拓扑运算(282)
8.4 空间关系运算(290)
8.5 IProximityOperator接口(293)
8.6 叠加分析(298)
8.6.1 矢量图层的叠加分析(298)
8.6.2 IBasicGeoProcessor接口(299)
8.6.3 栅格图层的叠加分析(299)
8.6.4 RasterMathops组件类(299)
8.7 网络分析(300)
8.7.1 网络分析概述(300)
8.7.2 网络分析的实际应用(301)
8.7.3 网络数据集(301)
8.7.4 网络分析的相关类说明(302)
8.7.5 相关接口说明(302)
8.7.6 *短路径分析的代码实现(303)
8.8 开发实例(309)
8.8.1 线、面要素分割工具实例(309)
8.8.2 矢量图层叠加运算实例(315)
第9章 空间数据编辑(319)
9.1 IWorkspaceEdit2接口(319)
9.2 DisplayFeedback对象(321)
9.2.1 产生新Geometry的Feedback对象(321)
9.2.2 移动几何形体对象上的节点(331)
9.2.3 移动整个几何形体对象(339)
9.2.4 其他DisplayFeedback介绍(343)
9.3 EngineEditor对象(343)
9.3.1 I EngineEditor接口(344)
9.3.2 I EngineEditTask接口(345)
9.3.3 I EngineEditLayers接口(345)
9.3.4 I EngineEditProperties接口(345)
9.3.5 I EngineEditSketch接口(346)
9.4 Arc Engine编辑任务流(347)
9.4.1 开始编辑对象(347)
9.4.2 设置编辑图层(348)
9.4.3 设置编辑任务(348)
9.4.4 编辑操
评论
还没有评论。