GIS服務已經逐步成為政府部門、企事業單位在信息化系統中引入GIS功能的*建設模式。
全書分為兩篇,通過兩個企業GIS平臺的構建案例,詳細介紹如何利用Java、C#語言與ArcGIS Server開發企業GIS的重點內容以及核心技術。第一篇以房屋全生命周期信息平臺案例介紹了如何在GIS環境中圍繞地理空間數據庫來實現商業智能,包括用戶需求分析、總體設計以及數據庫設計等。第二篇以數據航母案例的實現突出了企業Web 2.0以及一些新技術在GIS中的應用,包括地圖環境下的情景分析、在線交流以及WebGL等。
本書既適合政府、企業相關部門的GIS研究與開發人員以及高等院校地理學、地理信息系統、房地產、環境科學、資源與城鄉規劃管理、區域經濟學等專業的學生參考,也適合作為各種GIS培訓學員的學習教材與參考書。
GIS服務已經逐步成為政府部門、企事業單位在信息化系統中引入GIS功能的*建設模式。全書分為兩篇,通過兩個企業GIS平臺的構建案例,詳細介紹如何利用Java、C#語言與ArcGIS Server開發企業GIS的重點內容以及核心技術。*篇以房屋全生命周期信息平臺案例介紹了如何在GIS環境中圍繞地理空間數據庫來實現商業智能,包括用戶需求分析、總體設計以及數據庫設計等。第二篇以數據航母案例的實現突出了企業Web 2.0以及一些新技術在GIS中的應用,包括地圖環境下的情景分析、在線交流以及WebGL等。本書既適合政府、企業相關部門的GIS研究與開發人員以及高等院校地理學、地理信息系統、房地產、環境科學、資源與城鄉規劃管理、區域經濟學等專業的學生參考,也適合作為各種GIS培訓學員的學習教材與參考書。
前 言隨著IT系統SOA架構技術的成熟,以及企業IT系統中GIS應用的大規模普及,GIS服務已經逐步成為政府部門、企事業單位IT系統建設中的基礎設施。建立企業級GIS共享服務平臺,以標準化服務訪問接口方式為全單位各類應用系統提供GIS服務功能,成為各政府部門、企事業單位在信息化系統中引入GIS功能的首選建設模式。然而當前還沒有任何一本專門介紹如何搭建與開發企業GIS平臺的書籍,本書的出版將填補該方面的空白。本書分為兩篇,按照軟件工程技術的要求,以北京市房屋全生命周期管理平臺與北京市數據航母為例,介紹如何利用Java、C#語言與ArcGIS Server開發企業GIS應用,包括系統的需求分析、總體設計、數據庫設計與編碼實現等幾部分內容。第1篇介紹了北京市住房與城鄉建設委員會房屋全生命周期管理平臺的建設,包括本書的前6章。第1章介紹了國內外房屋GIS現狀,以及北京市房屋全生命周期管理平臺建設的背景及其目標與意義。第2章從數據中心、功能、數據共享與非功能4個方面詳細介紹了房屋全生命周期管理平臺的建設需求。第3章結合當前主流的系統及Web GIS開發技術,主要介紹了房屋全生命周期平臺的總體設計,包括設計的原則與思路、標準體系設計、系統總體架構和系統所采用的關鍵技術等。第4章主要介紹數據中心的總體設計與邏輯設計,以及應用支撐數據庫的設計,特別介紹了在數據中心建設過程中空間數據的組織與管理、數據的更新設計等。第5章主要介紹北京市房屋全生命周期平臺系統功能中的主要業務功能、數據共享功能和GIS空間分析等功能及其實現。第6章主要介紹房屋全生命周期平臺在市、區兩級住建委之間如何共享數據,并以海淀區應用為例介紹區縣業務系統應用。第2篇介紹北京市測繪設計研究院數據航母平臺的建設,包括本書的后6章。第7章在介紹數據航母平臺建設單位軟硬件環境、用戶和空間數據現狀的基礎上,充分分析了單位業務和單位內、外用戶對平臺的需求。第8章主要介紹平臺的設計思路、分層邏輯架構、系統開發架構以及部署架構,還詳細介紹了數據資源與平臺的建設方案。第9章介紹了如何基于WCF和REST,利用C#語言實現面向服務架構的Web GIS系統。第10章在簡單介紹NoSQL之后,詳細介紹了如何利用MongoDB實現個人數據在線交流。利用該方式,突破了原來普通Web GIS中只能利用已有Web服務,而不能動態發布服務的限制。第11章通過讀取客戶端數據、勘察選點與成果檢查,以及專題圖在線生成等功能的實現,介紹了如何實現情境應用功能。第12章介紹了企業混搭、空間ETL以及WebGL等新技術在數據航母中的應用。本書除了封面署名作者之外,參與編寫的人員還有劉增良、韓光瞬、曾敬文、曾慶豐、唐大仕、劉小東、賀小飛、李珍貴與陳艷玲等。由于編者水平、經驗有限,書中難免存在一些疏漏,希望能夠得到廣大的專家和讀者的批評指正。編 者2016年10月
劉光,北京大學GIS專業博士,德國波恩大學波恩-亞琛信息技術國際中心訪問學者,現任職于北京市測繪設計研究院。近期出版了《ArcGIS Server JavaScript API開發GeoWeb 2.0應用》、《Web GIS開發:ArcGIS Server與.NET》、《Visual C .NET應用教程》、《地理信息系統實習教程》、《地理信息系統二次開發教程組件篇》與《地理信息系統二次開發教程語言篇》等。主持的工程有北京市房屋全生命周期管理平臺、北京市交通專用地理信息系統、北京市勘察設計與測繪管理信息系統等。
目 錄
第1篇 北京市房屋全生命周期管理信息平臺
第1章 房屋平臺建設背景 2
1.1 國內外房屋GIS現狀分析 2
1.1.1
青島房屋GIS建設現狀 3
1.1.2
上海房屋GIS建設現狀 4
1.2 北京市房屋GIS建設相關現狀 5
1.2.1
北京市房屋普查 5
1.2.2
北京市房屋GIS平臺現狀 6
1.3 北京市房屋平臺建設目標與意義 6
1.3.1
建設目標 6
1.3.2
建設意義 8
第2章 房屋平臺需求分析 10
2.1 數據中心需求 10
2.1.1
數據庫建庫需求 10
2.1.2
房屋空間數據需求 12
2.1.3
房屋屬性數據需求 14
2.2 系統應用功能需求 23
2.2.1
業務追蹤 23
2.2.2
GIS空間分析 24
2.2.3
統計報表 27
2.2.4
監測分析與預警 31
2.3 數據共享需求 32
2.3.1
數據交換共享服務中心 32
2.3.2
共享內容 33
2.4 非功能性需求 33
2.4.1
存儲需求 34
2.4.2
處理需求 34
2.4.3
質量需求 34
2.4.4
性能需求 35
2.4.5
其他需求 35
第3章 總體設計 36
3.1 設計原則與思路 37
3.1.1
設計原則 37
3.1.2
設計思路 38
3.2 標準體系設計 39
3.2.1
標準體系建設思路 40
3.2.2
標準體系建設原則 41
3.2.3
標準體系內容 41
3.3 總體架構 45
3.3.1
總體邏輯架構 46
3.3.2
總體分層架構 47
3.3.3
系統開發架構 49
3.3.4
部署架構 50
3.4 關鍵技術 50
3.4.1
GeoWeb 2.0與ArcGIS API for JavaScript 50
3.4.2
ETL技術 51
3.4.3
Web服務 55
3.4.4
數據倉庫技術 57
3.4.5
商業智能 59
第4章 數據中心設計與實現 61
4.1 數據中心總體設計 61
4.1.1
數據中心設計思路 62
4.1.2
數據中心設計原則 62
4.2 數據中心邏輯設計 63
4.2.1
房屋基礎業務數據庫設計 65
4.2.2
房屋基礎空間數據庫設計 68
4.2.3
決策支持數據倉庫 74
4.2.4
共享數據庫設計 74
4.3 應用支撐數據庫設計 76
4.3.1
元數據庫設計 76
4.3.2
指標庫模型設計 77
4.4 空間數據組織與管理 81
4.4.1
ArcSDE空間數據庫管理機制 81
4.4.2
數據管理方案 83
4.4.3
房屋現狀一張圖 84
4.4.4
空間數據庫設計 86
4.5 數據交換服務設計 90
4.5.1
數據交換基本功能組件 91
4.5.2
數據連接設計 92
4.5.3
數據交換任務設計 93
4.5.4
數據交換流程設計 96
4.6 數據更新設計 96
4.6.1
數據處理與轉換 98
4.6.2
屬性數據更新流程 99
4.6.3
空間數據更新流程 101
4.7 數據安全設計 103
4.7.1
角色與權限 103
4.7.2
數據加密 104
4.7.3
數據庫安全管理 104
4.7.4
數據保護 104
第5章 系統功能及其實現 106
5.1 數據中心實現 106
5.1.1
數據ETL實現 106
5.1.2
數據倉庫建設 109
5.1.3
房屋一張圖實現 113
5.2 主要業務功能及其實現
116
5.2.1
業務應用 116
5.2.2
房屋總量分析 121
5.2.3
監測分析 127
5.3 數據共享功能實現 130
5.3.1
服務設計與實現 130
5.3.2
單位內部共享 132
5.3.3
政府部門共享 136
5.3.4
公眾共享 136
5.4
GIS空間分析功能與實現 137
5.4.1
二維GIS展示與查詢 137
5.4.2
二維空間分析功能 142
5.4.3
三維GIS展示與查詢 143
5.4.4
三維空間分析 146
5.4.5
二三維聯動與一體化 149
5.5 房屋交易多維分析案例
150
5.5.1
分析內容 150
5.5.2
分析方法 150
第6章 區縣推廣 152
6.1 市區兩級數據共享模式
152
6.1.1
區縣直接訪問 152
6.1.2
業務數據落地 153
6.1.3
數據全部落地 154
6.2 區縣應用 154
6.2.1
區縣房屋平臺應用 155
6.2.2
區縣業務系統應用 158
第2篇 北京市數據航母
第7章 數據航母需求分析
164
7.1 使用單位簡介 164
7.1.1
單位概況及軟硬件環境 164
7.1.2
單位業務及用戶分析 166
7.2 空間數據現狀分析 168
7.2.1
空間數據建設現狀 168
7.2.2
空間數據使用與分發現狀 170
7.3 數據資源建設需求 170
7.3.1
數據資源統一規劃需求 171
7.3.2
數據庫建設需求 171
7.4 平臺建設需求 173
7.4.1
數據管理需求 173
7.4.2
數據分發需求 174
7.4.3
數據展示需求 174
第8章 總體設計 175
8.1 設計思路 175
8.1.1
設計要求 175
8.1.2
設計原則 176
8.1.3
設計思路 177
8.2 總體架構 179
8.2.1
分層邏輯架構 179
8.2.2
系統開發架構 181
8.2.3
部署架構 182
8.3 數據資源建設方案 183
8.3.1
數據資源統一規劃 183
8.3.2
數據庫設計 185
8.3.3
數據加工方案 187
8.3.4
數據資源服務設計 189
8.4 平臺建設方案 190
8.4.1
數據資源管理及更新 190
8.4.2
數據應用及分發的流程化 193
8.4.3
數據綜合展示及分析 195
第9章 面向服務架構的實現 198
9.1 使用WCF面向服務編程 198
9.1.1
WCF簡介 198
9.1.2
WCF實現示例 201
9.2 基于REST架構的 GIS服務 207
9.2.1
REST架構簡介 207
9.2.2
基于REST架構的GIS服務介紹 207
9.2.3
GIS服務實現及開發示例 209
第10章 NoSQL的應用 215
10.1
數據庫技術發展歷史 215
10.1.1
層次和網狀數據庫系統 215
10.1.2
關系數據庫系統 216
10.2
NoSQL簡介 217
10.2.1
NoSQL的優勢 218
10.2.2
NoSQL數據庫分類及流行產品 218
10.3
MongoDB實現個人數據在線交流 219
10.3.1
MongoDB簡介 220
10.3.2
MongoDB安裝與配置 221
10.3.3
MongoDB使用 222
10.3.4
MongoDB可視化工具 223
10.4
MongoDB實現個人數據在線交流 225
10.4.1
MongoDB開發環境配置 225
10.4.2
個人數據管理與共享 227
第11章 情景應用功能的實現 232
11.1
讀取客戶端數據 232
11.1.1
獲取客戶端文件 232
11.1.2
客戶端數據解析 234
11.1.3
客戶端數據共享 245
11.2
探勘選點與成果檢查 245
11.2.1
探勘選點與成果檢查情景應用分析 245
11.2.2
探勘選點與成果檢查功能實現 246
11.3
專題圖在線生成 253
11.3.1
讀取需要統計的數據 254
11.3.2
ArcGIS API for JavaScript提供的專題圖功能實現 256
11.3.3
柱狀、餅狀專題圖實現 257
第12章 其他新技術的應用 262
12.1
Web 2.0 262
12.1.1
Web 2.0應用 263
12.1.2
企業Web 2.0 263
12.2
企業混搭架構 264
12.2.1
企業混搭架構簡介 264
12.2.2
企業混搭架構的應用 265
12.3
基于空間ETL的智能聯動更新 266
12.3.1
空間ETL介紹 267
12.3.2
空間ETL應用 267
12.4
WebGL 268
12.4.1
WebGL簡介 268
12.4.2
Three.js 272
12.4.3
街景功能實現 277
12.5
二維地圖顯示立體效果 280