一本基於Visual Basic 2008的面向高等院校資源與環境、地理信息系統、地理科學等專業的系統設計開發教程。
基本介紹
- 書名:基於Visual Basic 2008的地理信息系統設計開發案例教程
- 作者:荊平
- ISBN:9787302293019
- 定價:56元
- 裝幀:平裝
- 印刷日期:2012-9-12
圖書簡介,圖書前言,圖書目錄,
圖書簡介
全書在簡要介紹GIS組件開發基本方法的基礎上,以國外最流行的GIS組件(MapX、Map Objects、ArcGIS Engine)為對象,採用VB2008開發語言,以示例程式為核心,分別對GIS的瀏覽功能、檢索功能、專題地圖實現及高級功能進行示例演示。書中所有示例均為可執行的程式段,利於讀者學習參考,快速提高程式設計的技能,深入了解GIS程式設計的方法。
本書讀者對象主要是高等院校資源與環境、地理信息系統、地理科學等專業的本科生和研究生。
本書讀者對象主要是高等院校資源與環境、地理信息系統、地理科學等專業的本科生和研究生。
圖書前言
本書採用組件式地理信息系統(COMGIS)的設計開發方法, ArcGIS Engine為核心, 對地理信息系統套用軟體的瀏覽功能、信息查詢檢索功能、專題地圖渲染功能及三維分析等GIS高級功能進行設計開發。書中結合大量代碼和開發示例進行技術分析和開發講解,案例均為可運行的程式段,可在開發平台上直接運行,便於學習和借鑑。
圖書目錄
第1章 緒論1
1.1 地理信息系統發展概述1
1.1.1 地理信息系統的基本概念1
1.1.2 地理信息系統的分類3
1.1.3 地理信息系統的組成4
1.1.4 地理信息系統軟體的功能5
1.1.5 地理信息系統的發展6
1.1.6 地理信息系統的趨勢7
1.2 GIS 設計開發方式13
1.2.1 獨立開發13
1.2.2 單純二次開發13
1.2.3 集成二次開發13
1.2.4 三種開發方式的分析與比較14
1.3 組件式GIS14
1.3.1 軟體開發的組件技術14
1.3.2 COM與DCOM15
1.3.3 組件技術與GIS的發展16
1.3.4 組件式GIS系統的特點16
1.3.5 組件式GIS開發平台的結構18
1.4 GIS組件的載入18
1.4.1 MapX18
1.4.2 Map Objects20
1.4.3 ArcGIS Engine22
第2章 基於MapX的GIS基本功能的實現27
2.1 MapX組件27
2.1.1 MapInfo的數據組織28
2.1.2 MapX組件的模型結構29
2.1.3 MapX組件的空間數據結構31 2.2 圖層的添加與刪除32
2.2.1 圖層集的載入32
2.2.2 圖層的基本屬性34
2.2.3 圖層的載入41
2.2.4 圖層的刪除46
2.3 圖層的移動49
2.3.1 採用Move方法實現圖層位置的移動49
2.3.2 圖層的管理方法49
2.4 瀏覽功能的實現50
2.5 地圖輸出55
2.6 鷹眼功能的實現57
第3章 基於MapX信息檢索功能的設計開發61
3.1 屬性數據檢索61
3.1.1 Features集合和Selection集合61
3.1.2 Features集合的常用方法62
3.1.3 Selection集合的常用方法71
3.1.4 利用選擇工具實現屬性數據檢索75
3.2 空間數據檢索77
3.2.1 數據綁定77
3.2.2 Find和Search方法88
3.3 綜合檢索示例98
第4章 基於MapX的專題地圖設計開發104
4.1 專題地圖的基本類型簡介104
4.1.1 專題地圖的定義及類型104
4.1.2 利用MapX可以設計實現的專題地圖105
4.2 專題地圖的實現方法106
4.2.1 專題地圖的對象、方法及屬性106
4.2.2 通過數據綁定實現專題地圖110
4.2.3 各種專題地圖的實現示例118
4.2.4 動態生成專題地圖126
4.3 專題地圖的組合實現131
第5章 基於Map Objects的GIS基本功能的實現134
5.1 Map Objects組件134
5.1.1 Map地圖控制項134
5.1.2 圖層檔案的特徵136
5.1.3 符號對象138
5.1.4 顏色屬性144
5.2 圖層的添加與刪除145
5.2.1 圖層載入145
5.2.2 載入SDE層150
5.2.3 增加一個影像圖層151
5.2.4 圖層的刪除152
5.3 圖層的移動154
5.4 瀏覽功能的實現157
5.5 顏色及字型的修改163
5.5.1 顏色修改163
5.5.2 設定圖層為文本內容的字型165
5.6 動態跟蹤層的實現167
5.6.1 TrackingLayer 167
5.6.2 GeoEvent167
5.7 鷹眼功能的實現169
第6章 基於Map Objects信息檢索功能的設計開發173
6.1 查詢條件的創建173
6.1.1 條件查詢的方法173
6.1.2 創建查詢條件174
6.2 通過查詢條件搜尋元素176
6.2.1 欄位檢索177
6.2.2 所有記錄值的檢索180
6.2.3 記錄集對象瀏覽182
6.2.4 基於查詢條件搜尋元素184
6.3 通過距離來搜尋元素188
6.3.1 SearchByDistance方法188
6.3.2 示例程式189
6.4 通過幾何圖形搜尋元素193
6.4.1 SearchShape方法194
6.4.2 示例程式195
第7章 基於Map Objects的專題地圖設計開發199
7.1 專題地圖渲染方法199
7.2 專題地圖的實現方法203
7.2.1 常見專題地圖實現方法203
7.2.2 同步縮放ValueMapRenderer專題地圖215
7.2.3 動態設定點密度專題地圖218
7.2.4 Statistics對象的CalculateStatistics方法220
7.2.5 可選欄位生成專題地圖222
7.3 專題地圖的組合實現225
7.3.1 組合渲染對象GroupRenderer225
7.3.2 ChartRenderer和ClassBreaksRenderer組合專題地圖225
7.3.3 ChartRenderer和DotDensityRenderer組合專題地圖228
第8章 基於ArcGIS Engine的GIS基本功能的實現231
8.1 圖層的載入與刪除231
8.1.1 MapControl控制項231
8.1.2 PageLayoutControl控制項242
8.1.3 TOCControl控制項243
8.2 圖層的移動246
8.3 瀏覽功能的實現250
8.3.1 ToolbarControl控制項250
8.3.2 ToolbarControl功能的代碼載入255
8.3.3 放大縮小功能的代碼實現258
8.3.4 彈出式選單的設計262
8.4 圖層檔案的保存及另外儲存264
8.5 鷹眼功能的實現267
第9章 基於ArcGIS Engine的檢索功能的設計開發272
9.1 信息數據的檢索方式272
9.1.1 檢索類型272
9.1.2 數據管理對象274
9.1.3 主要查詢對象278
9.2 屬性數據檢索287
9.2.1 點信息查詢287
9.2.2 線信息查詢290
9.2.3 面對象信息查詢295
9.3 空間數據檢索304
9.4 綜合檢索示例310
第10章 基於ArcGIS Engine的專題地圖設計開發317
10.1 專題地圖的基本顏色317
10.1.1 Color 317
10.1.2 ColorRamp320
10.2 專題地圖的基本符號324
10.2.1 MarkerSymbol對象325
10.2.2 LineSymbol對象336
10.2.3 FillSymbol對象345
10.3 專題地圖的實現方法355
10.3.1 簡單渲染 355
10.3.2 獨立值渲染358
10.3.3 點密度/多欄位點密度362
10.3.4 數據分級繪製369
10.3.5 餅圖/柱狀圖375
10.3.6 比例符號渲染392
10.4 專題地圖的組合實現397
10.5 專題地圖的綜合實現示例402
10.5.1 符號的獲取403
10.5.2 載入圖層404
10.5.3 設定分級數406
10.5.4 計算各級數值大小並設定顏色407
10.5.5 實現分級渲染408
第11章 基於ArcGIS Engine的空間分析功能的設計開發409
11.1 緩衝功能設計開發409
11.2 空間拓撲運算的實現419
11.2.1 Boundary方法419
11.2.2 Clip方法420
11.2.3 Cut方法421
11.2.4 Difference方法和SymmetricDifference方法421
11.2.5 Intersect方法427
11.2.6 ConstructUnion方法和Union方法430
11.2.7 IsSimple屬性和Simplify方法434
11.3 網路分析功能的實現434
11.4 空間量算功能的實現437
第12章 基於ArcGIS Engine的三維GIS功能的設計開發439
12.1 三維瀏覽查詢439
12.1.1 檔案的載入439
12.1.2 瀏覽功能的實現443
12.2 等高線的設計實現447
12.2.1 Contour方法447
12.2.2 ContourList方法450
12.2.3 空間插值分析453
12.3 MultiPatch的創建460
12.3.1 創建MultiPatch的常用接口460
12.3.2 通過輸入點坐標創建MultiPatch462
12.3.3 通過拉伸平面創建MultiPatch468
12.3.4 外部三維模型的導入470
12.4 三維動畫的實現471
參考文獻473
1.1 地理信息系統發展概述1
1.1.1 地理信息系統的基本概念1
1.1.2 地理信息系統的分類3
1.1.3 地理信息系統的組成4
1.1.4 地理信息系統軟體的功能5
1.1.5 地理信息系統的發展6
1.1.6 地理信息系統的趨勢7
1.2 GIS 設計開發方式13
1.2.1 獨立開發13
1.2.2 單純二次開發13
1.2.3 集成二次開發13
1.2.4 三種開發方式的分析與比較14
1.3 組件式GIS14
1.3.1 軟體開發的組件技術14
1.3.2 COM與DCOM15
1.3.3 組件技術與GIS的發展16
1.3.4 組件式GIS系統的特點16
1.3.5 組件式GIS開發平台的結構18
1.4 GIS組件的載入18
1.4.1 MapX18
1.4.2 Map Objects20
1.4.3 ArcGIS Engine22
第2章 基於MapX的GIS基本功能的實現27
2.1 MapX組件27
2.1.1 MapInfo的數據組織28
2.1.2 MapX組件的模型結構29
2.1.3 MapX組件的空間數據結構31 2.2 圖層的添加與刪除32
2.2.1 圖層集的載入32
2.2.2 圖層的基本屬性34
2.2.3 圖層的載入41
2.2.4 圖層的刪除46
2.3 圖層的移動49
2.3.1 採用Move方法實現圖層位置的移動49
2.3.2 圖層的管理方法49
2.4 瀏覽功能的實現50
2.5 地圖輸出55
2.6 鷹眼功能的實現57
第3章 基於MapX信息檢索功能的設計開發61
3.1 屬性數據檢索61
3.1.1 Features集合和Selection集合61
3.1.2 Features集合的常用方法62
3.1.3 Selection集合的常用方法71
3.1.4 利用選擇工具實現屬性數據檢索75
3.2 空間數據檢索77
3.2.1 數據綁定77
3.2.2 Find和Search方法88
3.3 綜合檢索示例98
第4章 基於MapX的專題地圖設計開發104
4.1 專題地圖的基本類型簡介104
4.1.1 專題地圖的定義及類型104
4.1.2 利用MapX可以設計實現的專題地圖105
4.2 專題地圖的實現方法106
4.2.1 專題地圖的對象、方法及屬性106
4.2.2 通過數據綁定實現專題地圖110
4.2.3 各種專題地圖的實現示例118
4.2.4 動態生成專題地圖126
4.3 專題地圖的組合實現131
第5章 基於Map Objects的GIS基本功能的實現134
5.1 Map Objects組件134
5.1.1 Map地圖控制項134
5.1.2 圖層檔案的特徵136
5.1.3 符號對象138
5.1.4 顏色屬性144
5.2 圖層的添加與刪除145
5.2.1 圖層載入145
5.2.2 載入SDE層150
5.2.3 增加一個影像圖層151
5.2.4 圖層的刪除152
5.3 圖層的移動154
5.4 瀏覽功能的實現157
5.5 顏色及字型的修改163
5.5.1 顏色修改163
5.5.2 設定圖層為文本內容的字型165
5.6 動態跟蹤層的實現167
5.6.1 TrackingLayer 167
5.6.2 GeoEvent167
5.7 鷹眼功能的實現169
第6章 基於Map Objects信息檢索功能的設計開發173
6.1 查詢條件的創建173
6.1.1 條件查詢的方法173
6.1.2 創建查詢條件174
6.2 通過查詢條件搜尋元素176
6.2.1 欄位檢索177
6.2.2 所有記錄值的檢索180
6.2.3 記錄集對象瀏覽182
6.2.4 基於查詢條件搜尋元素184
6.3 通過距離來搜尋元素188
6.3.1 SearchByDistance方法188
6.3.2 示例程式189
6.4 通過幾何圖形搜尋元素193
6.4.1 SearchShape方法194
6.4.2 示例程式195
第7章 基於Map Objects的專題地圖設計開發199
7.1 專題地圖渲染方法199
7.2 專題地圖的實現方法203
7.2.1 常見專題地圖實現方法203
7.2.2 同步縮放ValueMapRenderer專題地圖215
7.2.3 動態設定點密度專題地圖218
7.2.4 Statistics對象的CalculateStatistics方法220
7.2.5 可選欄位生成專題地圖222
7.3 專題地圖的組合實現225
7.3.1 組合渲染對象GroupRenderer225
7.3.2 ChartRenderer和ClassBreaksRenderer組合專題地圖225
7.3.3 ChartRenderer和DotDensityRenderer組合專題地圖228
第8章 基於ArcGIS Engine的GIS基本功能的實現231
8.1 圖層的載入與刪除231
8.1.1 MapControl控制項231
8.1.2 PageLayoutControl控制項242
8.1.3 TOCControl控制項243
8.2 圖層的移動246
8.3 瀏覽功能的實現250
8.3.1 ToolbarControl控制項250
8.3.2 ToolbarControl功能的代碼載入255
8.3.3 放大縮小功能的代碼實現258
8.3.4 彈出式選單的設計262
8.4 圖層檔案的保存及另外儲存264
8.5 鷹眼功能的實現267
第9章 基於ArcGIS Engine的檢索功能的設計開發272
9.1 信息數據的檢索方式272
9.1.1 檢索類型272
9.1.2 數據管理對象274
9.1.3 主要查詢對象278
9.2 屬性數據檢索287
9.2.1 點信息查詢287
9.2.2 線信息查詢290
9.2.3 面對象信息查詢295
9.3 空間數據檢索304
9.4 綜合檢索示例310
第10章 基於ArcGIS Engine的專題地圖設計開發317
10.1 專題地圖的基本顏色317
10.1.1 Color 317
10.1.2 ColorRamp320
10.2 專題地圖的基本符號324
10.2.1 MarkerSymbol對象325
10.2.2 LineSymbol對象336
10.2.3 FillSymbol對象345
10.3 專題地圖的實現方法355
10.3.1 簡單渲染 355
10.3.2 獨立值渲染358
10.3.3 點密度/多欄位點密度362
10.3.4 數據分級繪製369
10.3.5 餅圖/柱狀圖375
10.3.6 比例符號渲染392
10.4 專題地圖的組合實現397
10.5 專題地圖的綜合實現示例402
10.5.1 符號的獲取403
10.5.2 載入圖層404
10.5.3 設定分級數406
10.5.4 計算各級數值大小並設定顏色407
10.5.5 實現分級渲染408
第11章 基於ArcGIS Engine的空間分析功能的設計開發409
11.1 緩衝功能設計開發409
11.2 空間拓撲運算的實現419
11.2.1 Boundary方法419
11.2.2 Clip方法420
11.2.3 Cut方法421
11.2.4 Difference方法和SymmetricDifference方法421
11.2.5 Intersect方法427
11.2.6 ConstructUnion方法和Union方法430
11.2.7 IsSimple屬性和Simplify方法434
11.3 網路分析功能的實現434
11.4 空間量算功能的實現437
第12章 基於ArcGIS Engine的三維GIS功能的設計開發439
12.1 三維瀏覽查詢439
12.1.1 檔案的載入439
12.1.2 瀏覽功能的實現443
12.2 等高線的設計實現447
12.2.1 Contour方法447
12.2.2 ContourList方法450
12.2.3 空間插值分析453
12.3 MultiPatch的創建460
12.3.1 創建MultiPatch的常用接口460
12.3.2 通過輸入點坐標創建MultiPatch462
12.3.3 通過拉伸平面創建MultiPatch468
12.3.4 外部三維模型的導入470
12.4 三維動畫的實現471
參考文獻473