Web GIS從基礎到開發實踐(基於ArcGIS API for JavaScript)

Web GIS從基礎到開發實踐(基於ArcGIS API for JavaScript)

作者: 劉光 曾敬文 曾慶豐
出版社: 清華大學
出版在: 2015-03-01
ISBN-13: 9787302388968
ISBN-10: 7302388962





內容描述


ArcGIS API for JavaScript是ESRI推出的地圖API,它可以幫助用戶運用ArcGIS Server提供的服務去搭建輕量級的高性能客戶端地理信息系統(GIS)應用程序,將一幅交互式的地圖或一個地理處理任務(例如查詢空間數據)嵌入Web應用程序中。本書以循序漸進的方式,通過大量的實例介紹如何使用ArcGIS API for JavaScript,訪問ArcGIS Server提供的地圖與空間分析服務,開發具有較為復雜功能的Web GIS 2.0應用程序,並通過擴展已有類、訪問底層API、混搭其他網絡API以及充分利用HTML 5新特性等多種方式,開發形式多樣、功能獨特的富互聯網應用的Web GIS。書中穿插介紹了20多個輔助開發工具的使用,例如Firebug、IE Developer Toolbar、Fiddler、JSON Viewer、JSLint、D3.js與Three.js等。此外,本書提供了幾個開發框架,讀者可在此基礎上加入專業的應用,從而實現Web GIS應用的快速開發。
  本書適合政府、企業相關部門的GIS研究與開發人員,以及高等院校地理學、地理信息系統、房地產、環境科學、資源與城鄉規劃管理、區域經濟學等專業的學生參考,也適合作為各種GIS培訓學員的學習教材與參考書。


目錄大綱


目    錄
第1章  Web GIS基礎 1
1.1  GIS及相關技術的發展 1
1.1.1  Web開發技術的發展 1
1.1.2  GIS的發展 2
1.1.3  Web服務的發展 4
1.1.4  Web GIS的發展 5
1.2  OGC的Web服務規範 6
1.2.1  OWS服務體系 7
1.2.2  空間信息Web服務的角色與功能 8
1.2.3  空間信息Web服務的系統框架 10
1.2.4  OWS中的常用服務 11
1.2.5  服務的請求與響應 15
1.3  REST及REST風格的Web服務 18
1.3.1  REST中的基礎知識 19
1.3.2  REST風格的Web服務 19
1.3.3  REST風格的Web服務實例 20
1.4  Web GIS的組成 24
1.5  ArcGIS Server REST風格的Web服務 25
1.5.1  ArcGIS Server站點的架構 26
1.5.2  ArcGIS Server發布的服務類型 29
1.5.3  服務發布 30
1.5.4  Web服務的URL及元數據 31
1.5.5  查看地圖 33
1.5.6  使用ArcGIS Server REST風格Web服務的過程 34
1.5.7  支持的輸出格式 35
第2章  ArcGIS API for JavaScript基礎 37
2.1  ArcGIS API for JavaScript版的Hello World 37
2.2  ArcGIS API for JavaScript與Dojo 41
2.2.1  ArcGIS API for JavaScript的構成 41
2.2.2  ArcGIS API for JavaScript與Dojo的關系 42
2.3  開發與調試工具 45
2.3.1  集成開發環境 45
2.3.2  調試工具 47
2.3.3  Firebug 50
2.3.4  其他工具軟件 61
2.4  Dojo基礎知識 67
2.4.1  JavaScript對象 67
2.4.2  函數也是對象 67
2.4.3  模擬類與繼承 69
2.4.4  使用模塊與包管理源代碼 77
第3章  頁面佈局設計 81
3.1  使用佈局小部件設計頁面框架 81
3.1.1  小部件與佈局小部件簡介 81
3.1.2  使用面板組織頁面元素 82
3.1.3  使用容器小部件設計頁面佈局 90
3.2  可移動的小部件微架構 94
3.2.1  自定義小部件的基礎知識 95
3.2.2  內容小部件的基類實現 105
3.2.3  可移動的框架小部件 116
3.2.4  測試 127
3.3  集中控制的小部件微架構 129
3.3.1  可集中控制的框架小部件 129
3.3.2  小部件容器 131
3.3.3  測試 140
3.3.4  訂閱/發布模式的事件處理機制 142
3.4  使用菜單組織功能 143
3.4.1  菜單容器小部件 143
3.4.2  菜單項小部件 145
3.4.3  菜單小部件 147
3.4.4  測試 152
第4章  地圖與圖層 155
4.1  圖層操作 155
4.1.1  圖層類及其之間的繼承關系 155
4.1.2  切片地圖圖層 156
4.1.3  動態地圖圖層 166
4.1.4  圖形圖層 171
4.1.5  帶地理參考的影像圖層 171
4.1.6  KML圖層 176
4.2  自定義圖層 178
4.2.1  自定義動態圖層——熱度圖圖層 179
4.2.2  自定義切片地圖圖層——百度地圖 184
4.2.3  自定義圖層——三維建築圖 187
4.3  地圖操作 196
4.3.1  地圖窗口操作 196
4.3.2  地圖屬性獲取 202
4.3.3  事件處理 209
4.4  地圖參數的基本配置 210
4.4.1  漫游與縮放動畫的參數配置 211
4.4.2  比例滾動條的參數配置 212
4.4.3  跨域訪問參數配置 213
4.5  圖層控制器 215
4.5.1  圖層控制器小部件模板 215
4.5.2  圖層控制器小部件類 216
4.5.3  圖層控制器小部件的使用 222
第5章  空間參考系統與幾何對象 226
5.1  空間參考系統 226
5.1.1  空間參考系統類 226
5.1.2  參考系統轉換 231
5.2  幾何對象 234
5.2.1  幾何對象類及其之間的繼承關系 234
5.2.2  幾何對象的繪制 235
5.2.3  幾何對象相關的功能模塊 247
第6章  符號與圖形 248
6.1  符號 248
6.1.1  標記符號 249
6.1.2  線符號 249
6.1.3  填充符號 250
6.1.4  文本符號 251
6.2  圖形 259
6.2.1  圖形對象的構成 259
6.2.2  InfoTemplate與InfoWindow 260
6.3  符號與圖形代碼優化 271
第7章  要素圖層與專題圖 273
7.1  要素圖層 273
7.1.1  要素圖層的創建 273
7.1.2  顯示模式的選擇 275
7.1.3  返回數據的限定 276
7.2  專題圖 277
7.2.1  獨立值專題圖 277
7.2.2  點密度專題圖 280
7.2.3  範圍專題圖 282
7.2.4  等級符號專題圖 284
7.2.5  時序專題圖 290
7.2.6  多比例尺專題圖 296
7.2.7  多變量專題圖 299
7.3  自定義專題圖 303
7.3.1  直方圖專題圖 303
7.3.2  餅圖專題圖 312
7.4  使用CSS對要素樣式化 315
7.4.1  瀏覽器矢量繪制方法 315
7.4.2  使用CSS對要素樣式化的步驟 316
7.4.3  使用D3.js增強要素的CSS樣式化 323
第8章  空間分析 333
8.1  圖形查詢屬性 333
8.1.1  利用IdentifyTask實現空間查詢 333
8.1.2  利用QueryTask類實現空間查詢 340
8.1.3  利用表格形式顯示查詢結果 345
8.1.4  利用圖形方式查詢結果 352
8.2  屬性查詢圖形 363
8.3  幾何服務 368
8.3.1  緩沖區分析 369
8.3.2  確定空間關系 373
8.4  地理處理服務 377
8.5  地理編碼 381
8.5.1  地址匹配 381
8.5.2  反地理編碼 384
8.6  網絡分析 387
8.6.1  最優路徑分析 387
8.6.2  最近設施點分析 392
8.6.3  服務區分析 396
8.7  數字高程模型分析 398
8.7.1  視域分析 398
8.7.2  剖面線繪制 401
8.8  服務器端渲染 405
8.8.1  獨立值渲染器 405
8.8.2  分類渲染器 408
8.9  影像分析 412
8.9.1  查詢影像服務 412
8.9.2  測量影像服務 415
第9章  小部件與工具條 420
9.1  服務器端地圖打印 420
9.1.1  使用打印小部件實現地圖打印 420
9.1.2  使用打印任務實現地圖打印 424
9.2  管理駕駛艙 425
9.2.1  儀表盤小部件 425
9.2.2  使用Dojo儀表小部件 428
9.3  時態處理 433
9.3.1  時間滑塊小部件 433
9.3.2  直方圖時間滑塊小部件 438
9.4  要素編輯 440
9.4.1  使用小部件實現要素編輯 441
9.4.2  使用編輯工具條實現要素編輯 445
第10章  混搭地圖應用實例 451
10.1  混搭維基百科 451
10.1.1  GeoNames 451
10.1.2  實例 452
10.2  混搭Flickr的相冊服務 460
10.2.1  Flickr的相冊服務 460
10.2.2  實例 461
10.3  混搭Yahoo!的天氣服務 466
10.3.1  YQL 467
10.3.2  實例 468
第11章  利用HTML 5提升應用 473
11.1  Geolocation API 473
11.1.1  Geolocation API介紹 473
11.1.2  用戶地理位置實例 474
11.2  WebSocket 477
11.2.1  WebSocket簡介 477
11.2.2  SignalR 479
11.2.3  多人協作編輯實例 481
11.3  WebGL 489
11.3.1  WebGL簡介 489
11.3.2  Three.js 493
11.3.3  街景地圖實例 497




相關書籍

有趣的 Flutter : 從 0到 1構建跨平臺App

作者 任宇傑 王志宇 魏國梁 臧成威

2015-03-01

大數據時代的致勝決策:2020年前最重要的6個關鍵策略(Data Crush: How the Information Tidal Wave is Driving New Business Opportunities)

作者 克里斯多夫.蘇達克(Christopher Surdak) 林奕伶 廖育琳 譯

2015-03-01

Build Your Own Teams of Robots with LEGO Mindstorms NXT and Bluetooth (Paperback)

作者 Cameron Hughes Tracey Hughes Trevor Watkins Bob Kramer

2015-03-01