●第一篇理論篇
第1章GIS設計與開發基礎2
1.1GIS的概念、產生和發展趨勢2
1.1.1GIS的定義及組成2
1.1.2GIS的產生4
1.1.3GIS的發展趨勢6
1.2GIS的空間數據模型10
1.2.1矢量數據及其拓撲關繫模型11
1.2.2柵格數據模型12
1.2.3屬性數據及其表示13
1.2.4空間地理位置14
1.2.5空間數據與屬性數據的連接18
1.2.6數據模型與GIS功能之間的聯繫19
1.3GIS的分類19
1.3.1應用型GIS20
1.3.2工具型GIS21
1.3.3應用型GIS開發的三種實現方式22
1.4GIS開發的組件技術23
1.4.1軟件開發的組件技術23
1.4.2COM與DCOM24
1.4.3組件式GIS的特點25
1.4.4組件式GIS開發平臺的結構27
1.4.5組件技術與GIS的發展28
1.4.6ActiveX與ActiveX控件29
1.5其他GIS開發技術簡介30
1.5.1網格GIS30
1.5.2共相GIS31
1.5.3雲GIS31
第2章GIS設計與開發的基本方法33
2.1GIS設計概述33
2.1.1GIS設計的特點33
2.1.2GIS設計的原則34
2.1.3GIS設計的內容35
2.1.4GIS設計的步驟35
2.2GIS設計的方法36
2.2.1結構化生命周期法36
2.2.2原型化方法38
2.2.3面向對像方法41
2.3需求分析44
2.3.1需求分析的內容44
2.3.2可行性研究45
2.3.3可行性分析報告47
2.3.4需求分析和可行性研究的一般原則47
2.3.5本節實例47
2.4繫統總體設計52
2.4.1繫統總體設計的內容52
2.4.2繫統總體設計的步驟54
2.4.3繫統總體設計的基本要求55
2.4.4繫統總體設計的基本原則56
2.4.5本節實例56
2.5繫統詳細設計61
2.5.1GIS功能設計要點61
2.5.2GIS功能設計的原則62
2.5.3地理數據庫設計63
2.5.4應用模型與方法設計64
2.5.5本節實例66
2.6GIS軟件設計67
2.6.1應用型GIS軟件設計的基本特點68
2.6.2信息描述68
2.6.3軟件設計方法71
2.7用戶界面設計73
2.7.1用戶界面的作用73
2.7.2用戶界面的設計原則74
2.7.3用戶界面的主要類型及主要界面組件75
2.7.4GIS中常用的其他界面技術77
2.8GIS軟件開發的工程化78
2.8.1GIS開發工程化的方法79
2.8.2GIS工程設計的基本原則80
2.8.3GIS工程設計的規範81
2.8.4GIS工程項目的管理82
2.8.5GIS工程建設中的文檔82
第3章數據庫設計基礎與空間數據庫設計83
3.1數據庫概述83
3.1.1數據庫的基本概念83
3.1.2數據管理技術的發展85
3.1.3數據庫的數據模型86
3.1.4數據庫設計94
3.2需求分析97
3.2.1應用領域的調查98
3.2.2定義數據庫支持的信息與應用98
3.2.3定義數據庫操作任務99
3.2.4定義數據項100
3.3概念設計100
3.3.1概念設計的基本方法100
3.3.2視圖設計的基本策略101
3.3.3視圖綜合設計法102
3.4邏輯設計104
3.5物理設計104
3.5.1影響物理設計的因素105
3.5.2選擇存取方法105
3.5.3設計存儲結構107
3.6數據庫的實施、運行和維護108
3.6.1數據庫的實施108
3.6.2數據庫的運行和維護109
3.7空間數據庫概述110
3.7.1空間數據庫特點110
3.7.2空間數據庫的管理方法111
3.7.3空間數據庫引擎113
3.8空間數據庫的設計117
3.8.1空間數據庫的設計原則117
3.8.2空間數據庫的設計過程118
3.8.3空間數據庫的需求分析和數據模型設計119
3.8.4空間數據庫的概念設計120
3.8.5空間數據庫的詳細設計124
3.9基於ArcGIS的廈門空間地理基礎信息數據庫建設實例126
第4章GIS開發架構132
4.1基於C/S模式的網絡GIS132
4.1.1C/S模式簡介132
4.1.2C/S網絡組件平臺及商用解決方案133
4.2基於B/S模式的網絡GIS134
4.3GIS標準化135
4.3.1促進空間數據的使用及交換136
4.3.2促進地理信息共享138
4.4GIS標準體繫139
4.4.1制定標準體繫的目的和意義139
4.4.2GIS標準體繫的編制原則和方法140
4.4.3GIS標準的主要內容141
4.5國外GIS標準化組織141
4.5.1ISO/TC211143
4.5.2OGC145
4.5.3CEN/TC287147
4.5.4FGDC148
4.5.5ANSI152
4.6國內GIS標準化153
4.6.1國內GIS標準化現狀153
4.6.2國內GIS標準化體繫154
第二篇技術篇
第5章ArcGISEngine基礎160
5.1ArcGISEngine概述160
5.2ArcGISEngine組件庫161
5.3閱讀對像模型圖167
5.3.1ArcGISEngine中的類與對像167
5.3.2類與類的關繫168
5.4ArcGISEngine組成部分169
5.5ArcGISEngine繫統基本功能的設計開發170
5.5.1圖層的加載170
5.5.2鷹眼功能的實現172
5.5.3放大與縮小功能的實現175
5.5.4工具條的功能設計176
5.5.5彈出式菜單的設計176
5.5.6地圖文檔的保存179
第6章Web開發基礎181
6.1HTML基礎181
6.1.1萬維網的基本概念181
6.1.2HTML的基礎概念182
6.1.3HTML的基本標簽186
6.2Web服務器簡介194
6.2.1IIS194
6.2.2Apache195
第7章基於天地圖WebAPI的WebGIS開發198
7.1天地圖WebAPI簡介198
7.1.1天地圖198
7.1.2天地圖WebAPI198
7.2搭建天地圖WebAPI開發環境199
7.3天地圖WebAPI中的“HelloWorld”199
7.3.1將應用聲明為HTML5200
7.3.2引入天地圖的地圖JavaScriptAPI文件201
7.3.3地圖素201
7.3.4創建地圖實例201
7.3.5確定經緯度坐標202
7.3.6地圖初始化202
7.4天地圖WebAPI中的常用概念202
7.4.1控件202
7.4.2疊加層203
7.4.3圖層204
7.4.4庫204
7.5天地圖WebAPI中的事件類204
7.6常用代碼實例206
7.6.1地圖基本操作206
7.6.2添加標記206
7.6.3控件選項206
第8章基於百度地圖API的WebGIS開發(JavaScript)208
8.1百度地圖API簡介208
8.1.1概述208
8.1.2早期發展歷程208
8.1.3產品介紹209
8.2百度地圖API的基礎知識210
8.3百度地圖控件213
8.3.1地圖控件概述213
8.3.2向地圖添加控件213
8.3.3控制控件位置214
8.3.4修改控件配置214
8.3.5自定義控件215
8.3.6定義構造函數並繼承Control215
8.3.7初始化自定義控件216
8.3.8添加自定義控件216
8.4百度地圖覆蓋物217
8.4.1地圖覆蓋物概述217
8.4.2標注217
8.4.3內存釋放219
8.4.4信息窗口220
8.4.5折線220
8.4.6自定義覆蓋物221
8.4.7自定義其他方法223
8.5事件224
8.5.1地圖事件概述224
8.5.2事件監聽225
8.5.3事件參數和this225
8.5.4移除事件監聽226
8.6圖層226
8.7地圖工具228
8.7.1地圖工具概述228
8.7.2向地圖添加工具229
8.8服務230
8.8.1地圖服務概述230
8.8.2公交導航234
8.8.3駕車導航236
8.8.4地理編碼237
第三篇實踐篇
第9章ArcGISEngine組件式開發240
9.1桌面GIS應用程序框架的建立240
9.1.1實踐目的240
9.1.2實踐環境240
9.1.3實踐內容240
9.2鷹眼的實現246
9.2.1實踐目的246
9.2.2實踐環境246
9.2.3實踐內容247
9.2.4實例代碼247
9.3菜單的添加與實現251
9.3.1實踐目的251
9.3.2實踐環境251
9.3.3實踐內容251
9.3.4主要代碼253
9.4狀態欄信息的添加與實現256
9.4.1實踐目的256
9.4.2實踐環境256
9.4.3實踐內容256
9.4.4實例代碼256
9.4.5實例結果257
9.5專題地圖257
9.5.1實踐目的257
9.5.2實踐環境257
9.5.3實踐內容257
9.5.4實例代碼260
9.6通過要素屬性查詢272
9.6.1實踐目的272
9.6.2實踐環境273
9.6.3實踐內容273
9.6.4實例代碼274
9.7右擊菜單添加與文本查詢275
9.7.1實踐目的275
9.7.2實踐環境275
9.7.3實踐內容275
9.7.4實例代碼276
9.7.5實例結果279
9.8安裝與部署280
9.8.1實踐目的280
9.8.2實踐環境280
9.8.3實踐內容280
9.8.4實踐結果289
第10章百度地圖API的WebGIS開發實例290
10.1加載與顯示地圖290
10.1.1實踐目的290
10.1.2實踐環境290
10.1.3實踐內容291
10.1.4實例代碼291
10.2添加點狀疊加層292
10.2.1實踐目的292
10.2.2實踐環境292
10.2.3實踐內容292
10.2.4實例代碼292
10.3添加線狀疊加層294
10.3.1實踐目的294
10.3.2實踐環境294
10.3.3實踐內容294
10.3.4實例代碼294
10.4添加信息窗、事件監聽、閉包295
10.4.1實踐目的295
10.4.2實踐環境296
10.4.3實踐內容296
10.4.4實例代碼296
10.5添加路況疊加層298
10.5.1實踐目的298
10.5.2實踐環境298
10.5.3實踐內容298
10.5.4實例代碼299
10.6添加文字標注300
10.6.1實踐目的300
10.6.2實踐環境300
10.6.3實踐內容300
10.6.4實例代碼300
本書圍繞應用型地理信息繫統(GIS)設計與開發,從理論篇、技術篇和實踐篇3個部分進行內容組織。理論篇講述了GIS設計與開發的理論技術基礎,主要包含主流的應用型GIS繫統開發技術、應用型GIS設計方法、應用型GIS開發軟件工程理論技術、空間數據庫設計、數據標準與共享等;技術篇主要介紹了兩種組件式開發,即MapX和ArcGIS Engine兩種組件分別在VB和C#前端開發工具下的應用,在簡單介紹了HTML+Web IIS架構下的網絡開發環境後,講述了天地圖和百度地圖國產在線地圖API的開發應用;實踐篇提供了MapX+VB、ArcGIS Engine+C#和基於百度在線地圖API的Web地圖應用開發實例,以幫助學生進行上機實踐。本書為教師和學生提供了多種授課內容組合的選擇方式,可以較好地滿足不同區域和不同教學環境下地理信息繫統專業及相關專業本科生和研究生教學實踐的需要。