內 容 簡介本書針對初學者的需求,全面、詳細地講解SuperMap iClient for Flex軟件的常用功能實現方法與開發技巧,項目實施過程中系統優化的注意事項與Flex移動平臺開發方法。本書圖文并茂,重視開發思路與技巧的傳授,對各種重點功能均配有對應的示例源代碼,具有很強的實用性和可操作性,適合各個層次的開發人員學習參考。全書分為15章,內容包括SuperMap iClient for Flex軟件概述、Apache Flex開發基礎、地圖顯示與操作的開發與技巧、客戶端動態數據展示的方法、各種查詢應用的開發與技巧、多種專題圖制作的方法與技巧、柵格分析開發方法、交通網絡分析的開發與技巧、交通換乘分析的實現、動態分段的開發、第三方地圖服務的擴展開發方法、對接天地圖服務的操作、Flex項目系統優化方法、使用開發框架快速構建應用和移動項目開發。本書主要面向地理信息系統相關專業的師生,可作為地理信息系統專業高年級學生或者研究生的實習教材,也可作為二次開發商及其開發人員的參考資料,幫助他們快速解決學習和工作中遇到的問題。前 言
GIS(Geography Information System,地理信息系統)作為地理空間信息的管理科學和技術系統,借助豐富的可視化手段直觀、多樣地呈現地理空間信息,使人們可以更真切地感知和認識身邊的世界,也為專家和管理者在計量、統計、分析、統籌和規劃與人類生活息息相關的自然地理、社會經濟、人文科學等方面的政策與工程時提供更好的輔助分析工具。
在經歷了互聯網從Web 1.0到Web 2.0的變革后,云計算已走到時代的前沿。而RIA(Rich Internet Application,富互聯網應用)作為一種富客戶端技術的應用模式,也已經完全融入GIS的Web端可視化技術體系中。包括Ajax、Flash、Silverlight、HTML 5等眾多富客戶端可視化技術已在政府、企業和個人的應用中得到了廣泛的應用,并受到了廣泛的認可和歡迎。在云GIS時代強調 “強云富端”的特征背景下,掌握和應用富客戶端技術也更加重要。SuperMap iClient for Flex基于Apache Flex框架開發,融合了當今最前沿的Web端技術。我們希望通過本書的講解,讓更多的人能夠學習和掌握富客戶端GIS的開發實踐并應用到日常生活中。
本書是軟件研發人員對Flex和Web端技術多年深入研究的經驗總結,涵蓋SuperMap iClient for Flex常用功能與應用技巧。在此基礎之上,本書還提供了應用于實際項目開發的系統優化原則、快速定制的開發框架介紹及移動端應用開發的解決方案,以滿足不同層次開發者不同深度的學習需求。閱讀本書,需要有一定的編程基礎,了解網絡開發的基本原理與Flex編程語言ActionScript和MXML的基本語法。
全書共15章,各章內容簡介如下:
* 第1章利用一個簡單的SuperMap iClient for Flex地圖應用介紹Flex開發的基本流程。同時介紹SuperMap iClient for Flex的類庫結構和主要功能。
* 第2章深入介紹Apache Flex 4.6及以上版本的特性與開發基礎知識,為后續章節的學習打下基礎。
* 第3章至第10章介紹使用SuperMap iClient for Flex開發常用GIS功能的方法與技巧,包括地圖與動態數據的展示、查詢、專題圖、柵格分析、網絡分析、交通換乘分析、動態分段等功能。其中,第3章和第4章分別介紹SuperMap iClient for Flex中最常用的地圖控件和客戶端數據展示相關知識。建議讀者先閱讀這兩章的內容再進行后續章節的學習,以獲得更好的學習效果。
* 第11章至第12章介紹通過擴展SuperMap iClient for Flex圖層和服務基類實現第三方地圖服務和數據服務的對接,可滿足實際項目中對接第三方服務的需求。
* 第13章和第14章講解項目開發實戰知識。第13章介紹實際項目開發過程中的系統設計與優化原則。利用第14章介紹的UI開發框架SuperMap Flex Bev可通過配置快速完成項目功能模塊與界面的搭建。
* 第15章介紹SuperMap iClient for Flex的擴展軟件SuperMap Flex Mobile在移動項目開發中的解決方案。
本書的范例編寫環境如下:操作系統為Windows 7,開發環境為Adobe Flash Builder 4.6,Flex開發工具包為Apache Flex 4.6 SDK,瀏覽器需安裝Adobe Flash Player 10或以上版本,SuperMap iServer Java、SuperMap iClient for Flex、SuperMap Deskpro .NET均使用6R(2012),V6.1.3版本。所有范例程序和軟件安裝包均可在本書配套光盤中找到。
本書作者均為長期從事GIS平臺研發與應用系統開發的資深技術人員,參加本書編寫的成員有陳金麗、董永艷、韓少杰、惠彩霞、金建波、苗倩倩、袁林道、曾明、張婧、張偉、張穎娜(以姓氏字母為序)等。在本書的創作和編寫過程中,辛宇給予了大量的編寫意見,另外還得到了清華大學出版社的大力支持,在此表示衷心的感謝!由于作者水平有限,書中難免存在不足和疏漏之處,懇請讀者批評指正。
SuperMap圖書編委會目 錄
第1篇 進入iClient for Flex世界
第1章 SuperMap iClient for Flex介紹 3
1.1 “Hello,SuperMap iClient for Flex” 3
1.1.1 服務準備 3
1.1.2 開發環境準備 9
1.1.3 創建第一個地圖應用 9
1.2 SuperMap iClient for Flex的定位 12
1.3 SuperMap iClient for Flex的組成與
開發包結構 13
1.3.1 軟件包組成 13
1.3.2 開發包結構及其主要功能 14
1.4 快速參考 16
1.5 本章小結 16
第2章 Apache Flex開發技術 17
2.1 RIA技術簡介 17
2.2 Flex及Flash新特性 17
2.2.1 ANE 19
2.2.2 Stage 3D 20
2.2.3 多線程 20
2.2.4 新技術應用 21
2.3 Apache Flex編程基礎 21
2.3.1 Flex程序的開發工具 21
2.3.2 Flex程序的組成元素 25
2.3.3 Flex程序的工作原理 25
2.3.4 Flex程序的界面設計 26
2.3.5 Flex程序的安全策略 29
2.4 快速參考 30
2.5 本章小結 30第2篇 GIS常用功能開發
第3章 地圖顯示與操作 33
3.1 地圖 33
3.1.1 地圖顯示原理 33
3.1.2 Map的功能參數 34
3.2 圖層 43
3.2.1 圖層分類 44
3.2.2 圖層疊加 52
3.3 地圖交互 53
3.3.1 Action交互 53
3.3.2 地圖輔助控件 58
3.4 輔助功能 62
3.4.1 Utils工具 62
3.4.2 地圖打印 63
3.5 應用技巧 67
3.5.1 地圖顯示范圍控制 67
3.5.2 合理利用分辨率與比例尺 69
3.5.3 有效設置坐標系CRS 69
3.6 快速參考 70
3.7 本章小結 71
第4章 客戶端動態數據展示 72
4.1 概述 72
4.1.1 動態數據類型 72
4.1.2 動態數據展示載體 74
4.2 動態數據展示的實現方法 76
4.2.1 動態數據展示的開發流程 76
4.2.2 要素數據渲染 79
4.2.3 元素數據渲染 96
4.3 數據展示優化方案 99
4.3.1 分級加載顯示 99
4.3.2 范圍裁剪 100
4.3.3 聚散顯示 100
4.3.4 高性能渲染圖層 104
4.4 快速參考 106
4.5 本章小結 106
第5章 查詢 107
5.1 概述 107
5.1.1 查詢的分類 107
5.1.2 開發思路 109
5.2 SQL查詢 111
5.2.1 接口說明 111
5.2.2 示例程序 113
5.3 幾何查詢 114
5.3.1 接口說明 114
5.3.2 示例程序 115
5.4 業務表關聯查詢 118
5.4.1 連接查詢與關聯查詢的
原理 118
5.4.2 接口介紹及使用 120
5.4.3 注意事項 122
5.5 數據查詢 122
5.5.1 數據集SQL查詢 122
5.5.2 緩沖查詢 124
5.6 應用技巧 125
5.6.1 查詢結果的展示 125
5.6.2 多圖層的查詢 126
5.6.3 文本圖層的查詢 126
5.7 快速參考 127
5.8 本章小結 127
第6章 專題圖 128
6.1 概述 128
6.1.1 專題圖的分類 128
6.1.2 專題圖的實現原理 129
6.2 單值專題圖 131
6.2.1 接口說明 131
6.2.2 示例程序 131
6.3 矩陣標簽專題圖 134
6.3.1 接口說明 134
6.3.2 示例程序 135
6.4 專題圖使用技巧 138
6.4.1 內存數據制作專題圖 138
6.4.2 客戶端專題圖 142
6.5 快速參考 150
6.6 本章小結 151
第7章 柵格分析 152
7.1 概述 152
7.1.1 柵格數據集 152
7.1.2 柵格數據的空間表達 153
7.1.3 柵格分析類型 154
7.2 表面分析 155
7.2.1 提取等值線 155
7.2.2 提取等值面 158
7.3 插值分析 158
7.3.1 點密度插值 159
7.3.2 反距離加權插值 160
7.3.3 克呂金(Kriging)插值 161
7.3.4 樣條插值 164
7.3.5 插值分析結果的展示 166
7.4 快速參考 169
7.5 本章小結 170
第8章 交通網絡分析 171
8.1 概述 171
8.1.1 網絡數據集 171
8.1.2 網絡分析的類型 173
8.2 最佳路徑分析 174
8.2.1 接口說明 175
8.2.2 示例程序 176
8.3 最近設施分析 179
8.3.1 接口說明 179
8.3.2 示例程序 180
8.4 多旅行商分析 184
8.4.1 接口說明 184
8.4.2 示例程序 185
8.5 應用技巧 188
8.5.1 網絡分析結果展示 188
8.5.2 有效設置障礙點或障礙邊 189
8.6 快速參考 189
8.7 本章小結 190
第9章 交通換乘分析 191
9.1 概述 191
9.2 交通換乘分析的功能實現 191
9.2.1 數據準備 191
9.2.2 接口說明 196
9.2.3 示例程序 198
9.3 快速參考 203
9.4 本章小結 203
第10章 動態分段 204
10.1 概述 204
10.1.1 動態分段定義 205
10.1.2 基本概念 206
10.2 示例說明 207
10.2.1 數據準備 207
10.2.2 接口說明 210
10.2.3 示例程序 211
10.3 快速參考 214
10.4 本章小結 214第3篇 擴 展 開 發
第11章 地圖擴展 217
11.1 地圖擴展原理 217
11.2 對接公眾地圖服務 219
11.2.1 天地圖 219
11.2.2 OpenStreetMap 222
11.3 快速參考 225
11.4 本章小結 225
第12章 第三方GIS服務擴展 226
12.1 概述 226
12.1.1 Flex網絡通信簡介 226
12.1.2 ServiceBase的主要接口及
擴展方法 227
12.2 擴展示例 229
12.2.1 自定義服務接口 229
12.2.2 調用自定義接口實現
功能 235
12.3 快速參考 238
12.4 本章小結 238第4篇 項目實戰入門
第13章 系統優化 241
13.1 系統模塊設計思路 241
13.1.1 組件化設計 241
13.1.2 配置化設計 247
13.2 系統性能優化原則 248
13.2.1 內存優化 249
13.2.2 模塊及運行時共享庫 252
13.3 異構系統設計的注意事項 254
13.3.1 保持客戶端和服務端
數據的一致性 254
13.3.2 異步調用后數據模型
不一致和重復誤操作 259
13.4 其他實用技巧 259
13.4.1 運行時動態修改項目程序 259
13.4.2 客戶端Session 261
13.5 快速參考 262
13.6 本章小結 262
第14章 使用開發框架快速
構建應用 263
14.1 開發框架SuperMap Flex Bev
簡介 263
14.2 快速入門 264
14.3 應用功能配置 270
14.3.1 插件框架 270
14.3.2 地圖插件配置 271
14.3.3 面板插件配置 272
14.3.4 布局配置 276
14.4 應用示例 276
14.4.1 了解微博接口 276
14.4.2 功能開發 277
14.5 快速參考 284
14.6 本章小結 284第5篇 移動端應用解決方案
第15章 移動項目開發 287
15.1 Apache Flex Mobile 簡介 287
15.2 SuperMap Flex Mobile簡介 287
15.3 快速構建Mobile GIS應用 288
15.3.1 環境需求 288
15.3.2 應用開發 289
15.4 離線地圖功能開發 294
15.5 快速參考 296
15.6 本章小結 297