ArcGIS Engine組件式開發(fā)及應用(第二版)
本書以ArcGISEngine9.3或10.0為基礎,在簡要介紹ArcGISEngine組件庫、類與對象、類和類之間關系的基礎上,采用分析和實例相結合的方式,詳細介紹了ArcGISEngine控件編程、幾何形體對象、地圖組成、空間數(shù)據符號化、空間數(shù)據管理、空間數(shù)據分析、空間數(shù)據編輯和地圖輸出、ArcGISServer網絡編程和三維分析等內容,最后結合森林資源區(qū)劃與管理GIS系統(tǒng)研發(fā)和應用成果,進行綜合應用分析。
更多科學出版社服務,請掃碼獲取。
目錄
第二版前言
第一版前言
第1章 ArcGISEngine基礎(1)
1.1 ArcGISEngine概述(1)
1.2 ArcGISEngine組件庫(1)
1.3 閱讀對象模型圖(6)
1.3.1 ArcGISEngine中的類與對象(7)
1.3.2 類與類的關系(7)
1.4 組件對象模型(9)
1.4.1 軟件開發(fā)歷史(9)
1.4.2 組件對象模型(10)
1.5 使用控件構建獨立應用程序(11)
1.5.1 程序功能描述(11)
1.5.2 程序控件設計(11)
1.5.3 代碼編寫(14)
第2章 使用ArcGISEngine控件編程(21)
2.1 MapControl控件(21)
2.1.1 主要接口(21)
2.1.2 用MapControl控件加載地理數(shù)據(23)
2.1.3 鼠標與控件的交互(32)
2.1.4 實現(xiàn)鷹眼功能(36)
2.2 PageLayoutControl控件(40)
2.2.1 用PageLayoutControl操作Mxd文件(40)
2.2.2 PageLayout與MapControl聯(lián)動(41)
2.3 TOCControl控件(43)
2.3.1 TOCControl控件概述(43)
2.3.2 TOCControl控件應用開發(fā)實例(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 應用開發(fā)實例(56)
2.6.1 概述(56)
2.6.2 自定義命令開發(fā)實例(58)
2.6.3 自定義開發(fā)工具(62)
2.6.4 自定義菜單開發(fā)實例(66)
2.6.5 生成上下文菜單(71)
第3章 插件式工具集的實現(xiàn)(73)
3.1 插件式設計簡介(73)
3.2 插件式開發(fā)框架的工作機制(74)
3.2.1 插件式的體系結構(74)
3.2.2 插件的實現(xiàn)原理(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 刷新插件功能狀態(tài)(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 環(huán)對象(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 兩種坐標系統(tǒng)(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章 空間數(shù)據符號化(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 開發(fā)實例(235)
第7章 空間數(shù)據管理(242)
7.1 概述(242)
7.2 地理數(shù)據庫基礎知識(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 網絡數(shù)據集(301)
8.7.4 網絡分析的相關類說明(302)
8.7.5 相關接口說明(302)
8.7.6 最短路徑分析的代碼實現(xiàn)(303)
8.8 開發(fā)實例(309)
8.8.1 線、面要素分割工具實例(309)
8.8.2 矢量圖層疊加運算實例(315)
第9章 空間數(shù)據編輯(319)
9.1 IWorkspaceEdit2接口(319)
9.2 DisplayFeedback對象(321)
9.2.1 產生新Geometry的Feedback對象(321)
9.2.2 移動幾何形體對象上的節(jié)點(331)
9.2.3 移動整個幾何形體對象(339)
9.2.4 其他DisplayFeedback介紹(343)
9.3 EngineEditor對象(343)
9.3.1 IEngineEditor接口(344)
9.3.2 IEngineEditTask接口(345)
9.3.3 IEngineEditLayers接口(345)
9.3.4 IEngineEditProperties接口(345)
9.3.5 IEngineEditSketch接口(346)
9.4 ArcEngine編輯任務流(347)
9.4.1 開始編輯對象(347)
9.4.2 設置編輯圖層(348)
9.4.3 設置編輯任務(348)
9.4.4 編輯操作(349)
9.4.5 保存編輯對象(352)
9.4.6 停止編輯(352)
9.5 編輯命令和工具(353)
9.5.1 常用編輯命令介紹(353)
9.5.2 常用編輯命令實例(354)
第10章 地圖輸出(360)
10.1 概述(360)
10.2 地圖打印輸出(360)
10.2.1 頁面設置(360)
10.2.2 打印預覽(364)
10.2.3 打印(366)
10.2.4 Printer類(367)
10.2.5 Paper對象(367)
10.2.6 PageLayoutControl控件打印出圖(367)
10.3 地圖的轉換輸出(368)
10.3.1 基于影像格式的輸出(369)
10.3.2 基于矢量格式的輸出(370)
第11章 三維可視化及三維分析(374)
11.1 概述(374)
11.2 數(shù)據的三維顯示(374)
11.2.1 DEM數(shù)據加載(374)
11.2.2 TIN數(shù)據加載(375)
11.2.3 分層設色(376)
11.3 三維分析(379)
11.3.1 插值分析(379)
11.3.2 坡度、坡向和通視分析(382)
11.4 三維分析開發(fā)實例(386)
11.4.1 插值分析實例(386)
11.4.2 生成等值線實例(393)
第12章 基于ArcGISServer的WebGIS開發(fā)(395)
12.1 ArcGISServer概述(395)
12.1.1 ArcGISServer系統(tǒng)組成部分(396)
12.1.2 ArcGISServer的主要功能(397)
12.1.3 ArcGISServer包含的主要技術(398)
12.1.4 ArcGISServer10.1安裝(398)
12.2 ArcGISServer管理與服務發(fā)布(401)
12.2.1 使用Manager管理和發(fā)布服務(401)
12.2.2 使用ArcCatalog管理和發(fā)布服務(403)
12.3 創(chuàng)建WebGIS應用的幾種方法(404)
12.3.1 使用Manager工具創(chuàng)建(404)
12.3.2 使用VisualStudio模板創(chuàng)建(405)
12.3.3 使用Web控件創(chuàng)建(408)
12.4 簡單Web應用開發(fā)實例(409)
12.4.1 添加自定義工具(409)
12.4.2 點查詢工具實現(xiàn)(410)
12.4.3 矩形框查詢工具實現(xiàn)(417)
12.4.4 屬性查圖功能實現(xiàn)(419)
12.4.5 去除高亮狀態(tài)(423)
12.4.6 查詢結果保存(425)
12.4.7 Callback機制(426)
12.5 高級Web應用開發(fā)實例(426)
12.5.1 創(chuàng)建幾何對象(427)
12.5.2 緩沖區(qū)分析(435)
12.6 Web應用程序的部署(441)
12.6.1 發(fā)布網站(441)
12.6.2 復制網站(441)
主要參考文獻(443)