內容簡介
《精通ArcGIS Server應用與開發》分為5篇,共21章,全麵講述瞭ArcGIS Server的使用和開發。理論基礎與管理篇全麵詳細講述ArcGIS 10的全新界麵、地圖包、時態數據顯示、電子地圖製作、ArcGIS Server的服務與接口、安全管理、性能優化等方麵內容;開發篇涵蓋瞭.NET ADF開發、基於Web 2.0技術的開發,以及移動iOS的開發等內容,其中,基於Web 2.0技術的開發主要包括基於Silverlight、Flex和JavaScript API等3種當今主流的開發模式。《精通ArcGIS Server應用與開發》從理論基礎、使用、開發、部署、性能優化等ArcGIS Server應用的生命周期的各個環節層層遞進進行講述,並以某市數字城市框架開發為綜閤實例加以應用說明。
《精通ArcGIS Server應用與開發》通過清晰、完備的示例幫助讀者迅速入門ArcGIS Server、使用與管理ArcGIS Server,並進行相關應用的開發。本書所有的示例都經過實際應用程序測試,可為讀者正在構建的應用程序提供解決方案。
《精通ArcGIS Server應用與開發》內容覆蓋麵廣、深入淺齣、通俗易懂、可操作性強,可作為政府、企業相關部門的GIS研究與開發人員的參考用書,也可作為高等院校地理學、地理信息係統、房地産、環境科學、資源與城鄉規劃管理、區域經濟學等專業學生和各種GIS培訓班的學習教材。
作者簡介
何正國,武漢大學遙感信息工程學院,測繪高級工程師、係統分析師,基於J2EE的WebGIS平颱軟件Geosurf獲得測繪科技一等奬,主要從事地理信息係統的設計與開發工作,齣版專著兩部,發錶論文多篇
內頁插圖
目錄
第一篇 ArcGIS Server基礎篇
第1章 ArcGIS 10簡介
1.1 ArcGIS 10體係結構
1.1.1 桌麵地理信息係統
1.1.2 服務器地理信息係統
1.1.3 移動地理信息係統
1.1.4 瀏覽器地理信息係統
1.1.5 數據
1.2 ArcGIS 10 Desktop新特性
1.2.1 全新的界麵
1.2.2 ArcMap集成ArcCatalog
1.2.3 方便快捷的搜索
1.2.4 地圖底圖圖層(BASEMAP)
1.2.5 柵格數據瀏覽
1.2.6 地圖包
1.3 ArcGIS 10 Mobile新特性
1.3.1 ArcGIS API for iOS
1.3.2 ArcGIS API for Android
1.4 ArcGIS 10地圖緩存新特性
1.4.1 新的緩存結構
1.4.2 新的緩存格式
1.4.3 新的緩存模式
1.4.4 離綫緩存
1.5 ArcGIS 10時態
1.5.1 時間屬性
1.5.2 時態數據顯示
1.6 小結
第2章 ArcGIS Server概述
2.1 ArcGIS Server簡介
2.2 ArcGIS Server架構
2.3 ArcGIS Server的功能
2.4 ArcGIS Server的安裝與配置
2.4.1 安裝環境
2.4.2 安裝
2.4.3 配置
2.5 小結
第3章 空間數據管理
3.1 空間數據庫模型Geodatabase
3.1.1 Geodatabase概念
3.1.2 Geodatabase模型
3.2 訪問空間數據庫
3.2.1 打開數據庫工作空間
3.2.2 通過NAME對象方式
3.2.3 獲得工作空間實際元素
3.3 矢量數據
3.3.1 文件數據導入Geodatabase
3.3.2 從Geodatabase復製特徵數據集到個人數據庫
3.3.3 編輯Geodatabase中的數據
3.3.4 空間數據拓撲檢查
3.4 柵格數據
3.4.1 打開柵格工作空間
3.4.2 獲得柵格數據集
3.4.3 獲得柵格目錄
3.4.4 柵格數據上載
3.4.5 柵格數據拼接
3.5 小結
第二篇 應用管理篇
第4章 ArcGIS地圖製圖
4.1 地圖學理論
4.1.1 理論地圖學
4.1.2 地圖製圖學
4.1.3 應用地圖學
4.2 電子地圖及設計製作
4.2.1 電子地圖
4.2.2 電子地圖製作步驟
4.3 ArcGIS中的符號設計
4.3.1 利用ArcMap製作符號庫
4.3.2 基於圖片製作符號庫
4.3.3 基於TrueType製作符號庫
4.3.4 多種方式組閤製作符號庫
4.4 Maplex實用方法
4.4.1 設置標注的位置
4.4.2 分行顯示
4.4.3 字體縮減
4.4.4 衝突處理
4.4.5 Maplex應用示例——點抽稀
4.5 ArcGIS製圖錶達
4.5.1 製圖錶達概述
4.5.2 製圖錶達的使用
4.5.3 製圖錶達應用示例
4.6 小結
第5章 ArcGIS Server服務接口
5.1 服務接口簡介
5.2 ArcGIS Server服務接口類型
5.2.1 地圖服務(Map Service)
5.2.2 地理編碼服務(Geocode Service)
5.2.3 地理數據服務(Geodata Service)
5.2.4 幾何服務(Geometry Service)
5.2.5 地理處理服務(Geoprocessing Service)
5.2.6 Globe服務(Globe Service)
5.2.7 影像服務(Image Service)
5.2.8 搜索服務(Search Service)
5.2.9 要素服務(Feature Service)
5.3 ArcGIS Server服務訪問方式
5.3.1 SOAP接口
5.3.2 REST接口
5.3.3 ArcGIS Server SOAP/REST比較
5.4 ArcGIS Server服務發布
5.4.1 在ArcMap中發布地圖服務
5.4.2 在ArcCatalog中發布地圖服務
5.4.3 在ArcGIS Server Manager中發布地圖服務
5.5 ArcGIS Server服務管理
5.5.1 管理具體的服務
5.5.2 管理日誌文件
5.5.3 管理服務器對象容器(SOC)
5.5.4 管理服務器目錄
5.5.5 管理ArcGIS Image Server和JPIP
5.6 小結
第6章 ArcGIS Server的地圖緩存
6.1 地圖緩存概述
6.2 ArcGIS Server的緩存原理
6.3 ArcGIS Server的緩存流程
6.4 ArcGIS Server的緩存創建原則
6.5 ArcGIS Server的緩存創建實例
6.5.1 數據範圍確定
6.5.2 創建地圖資源
6.5.3 發布地圖服務
6.5.4 創建地圖緩存
6.5.5 驗證地圖服務
6.6 小結
第7章 ArcGIS Server的安全管理
7.1 安全概述
7.2 用戶管理
7.2.1 操作係統賬戶
7.2.2 ArcGIS Server用戶組
7.2.3 Web用戶和角色
7.3 連接管理
7.3.1 局域網連接管理
7.3.2 Internet連接管理
7.4 Web服務其他安全管理
7.4.1 緩存目錄管理
7.4.2 SSL管理
7.4.3 令牌服務管理
7.5 小結
第8章 ArcGIS Server的部署與性能優化
8.1 ArcGIS Server部署概述
8.2 ArcGIS Server的部署方式
8.2.1 ArcGIS Server單機部署
8.2.2 ArcGIS Server多機部署
8.2.3 集群部署方案
8.3 監控性能
8.3.1 監控服務的性能
8.3.2 監控網站的性能
8.4 數據優化
8.4.1 數據量
8.4.2 數據組織
8.4.3 數據渲染
8.4.4 數據顯示
8.4.5 數據存儲方式
8.5 服務優化
8.5.1 地圖文檔優化
8.5.2 服務組織
8.5.3 服務設置
8.6 小結
第三篇 .NET ADF開發篇
第9章 ArcGIS Server開發基礎——ASP.NET
9.1 ASP.NET簡介
9.1.1 Web開發技術
9.1.2 ASP.NET特點
9.1.3 ASP.NET 2.0
9.1.4 ASP.NET 3.5
9.1.5 ASP.NET 4.0
9.1.6 Visual Studio 2010與ArcGIS Server集成開發環境
9.2 JavaScript和Ajax技術
9.2.1 JavaScript本質
9.2.2 JavaScript基本函數
9.2.3 Ajax
9.2.4 在客戶端迴調中使用Ajax
9.3 ASP.NET Ajax
9.3.1 介紹ASP.NET Ajax
9.3.2 服務器迴調
9.3.3 ASP.NET Ajax服務器控件
9.3.4 深入客戶端庫
9.3.5 控件擴展器
9.4 ArcGIS Server .NET ADF中的Ajax
9.4.1 ADF中Ajax的調用過程
9.4.2 ADF中調用的示例詳解
9.5 小結
第10章 .NET ADF控件介紹
10.1 資源管理控件
10.1.1 MapResourceManager詳解
10.1.2 GeoprocessingResource Manager詳解
10.1.3 GeocodeResourceManager詳解
10.2 地圖顯示及其相關控件
10.2.1 Map詳解
10.2.2 MapTips詳解
10.2.3 Magnifier詳解
10.2.4 OverviewMap詳解
10.2.5 Toolbar詳解
10.2.6 Toc詳解
10.2.7 ScaleBar詳解
10.2.8 Navigation詳解
10.2.9 ZoomLevel詳解
10.2.10 ZoomToScale詳解
10.2.11 GoToLocation詳解
10.2.12 MapCopyrightText詳解
10.3 TaskManger控件與Task控件
10.3.1 TaskManager詳解
10.3.2 EditorTask詳解
10.3.3 SearchAttributesTask詳解
10.3.4 QueryAttributesTask詳解
10.3.5 GeoprocessingTask詳解
10.3.6 FindAddressTask詳解
10.3.7 PrintTask詳解
10.3.8 UserControlTask詳解
10.4 TaskResults結果顯示控件
10.5 其他
10.5.1 FloatingPanel詳解
10.5.2 ContextMenu詳解
10.5.3 DocExtender詳解
10.5.4 HoverExpandExtender詳解
10.5.5 ColorPicker詳解
10.5.6 PageLayout詳解
10.6 小結
第11章 ArcGIS Server基於模闆開發
11.1 配置開發模闆中的地圖資源
11.2 圖形選擇
11.2.1 單擊點選擇
11.2.2 矩形選擇
11.2.3 畫綫選擇
11.2.4 多邊形選擇
11.2.5 畫圓選擇
11.2.6 緩衝選擇
11.3 查詢定位
11.3.1 根據坐標定位
11.3.2 根據屬性值定位
11.4 圖層控製
11.4.1 父子圖層狀態聯動
11.4.2 圖層順序控製
11.4.3 動態添加圖層
11.5 自定義Tool
11.6 自定義Task
11.6.1 Task的工作流程
11.6.2 自定義Task的實現
11.7 自定義Command
11.8 地圖導齣
11.9 小結
第12章 ArcGIS Server專題圖與符號庫開發
12.1 普通專題圖
12.1.1 柱狀圖
12.1.2 餅狀圖
12.2 分級專題圖
12.2.1 Graduated colors
12.2.2 Graduated sysmbols
12.2.3 Dot desity
12.3 分類專題圖
12.3.1 根據某個字段的唯一值
12.3.2 根據多個字段的值
12.4 自定義專題圖
12.5 Styles符號庫文件符號化
12.6 TrueType符號化
12.7 自畫符號
12.7.1 MarkerSymbol
12.7.2 FillSymbol
12.7.3 LineType
12.7.4 圖片符號
12.8 GraphicsLayer
12.9 小結
第13章 ArcGIS Server ADF for .NET高級功能
13.1 服務器對象擴展(SOE)
13.2 數據編輯
13.3 Geodata的簽入簽齣
13.4 空間查詢
13.5 Geoprocessing緩衝
13.6 最短路徑分析
13.7 小結
第四篇 REST API開發篇
第14章 ArcGIS Silverlight控件簡介
14.1 地圖控件
14.1.1 Map詳解
14.1.2 OverviewMap詳解
14.1.3 ScaleLine詳解
14.2 導航條(Navigation)詳解
14.3 書簽(Bookmark)詳解
14.4 MapTip詳解
14.5 MapProgressBar詳解
14.6 圖層圖例(Lenged)詳解
14.7 編輯控件
14.7.1 EditorWidget詳解
14.7.2 TemplatePicker詳解
14.7.3 AttachmentEditor詳解
14.8 TimeSlider詳解
14.9 空間對象列錶控件
14.9.1 FeatureDataGrid詳解
14.9.2 FeatrueDataForm詳解
14.10 MagnifyingGlass詳解
14.11 InfoWindow詳解
14.12 Attribution詳解
14.13 小結
第15章 基於Silverlight API開發
15.1 開發環境搭建
15.1.1 配置Silverlight開發環境
15.1.2 安裝ArcGIS Silverlight API
15.2 地圖顯示與基本操作
15.3 地圖圖層
15.4 行為動作
15.4.1 Behaviors行為
15.4.2 Action動作
15.5 圖形繪製
15.6 符號
15.7 專題圖渲染
15.8 查詢任務
15.8.1 QueryTask
15.8.2 FindTask
15.8.3 IdentifyTask
15.9 小結
第16章 基於Silverlight高級開發
16.1 地圖幾何操作
16.2 地理處理任務
16.3 SOE調用
16.4 打印輸齣
16.5 熱點分析
16.6 小結
第17章 ArcGIS API For Flex
17.1 開發環境搭建
17.2 地圖顯示與基本操作
17.3 渲染符號化
17.4 查詢
17.4.1 QueryTask
17.4.2 FindTask
17.4.3 IdentifyTask
17.5 地理處理
17.6 幾何操作&SOE;
17.7 地圖打印
17.8 小結
第18章 開源軟件Flex Viewer介紹
18.1 Flex Viewer介紹
18.2 Flex Viewer源代碼結構組織
18.3 Flex Viewer架構
18.3.1 總體架構
18.3.2 事件總綫(Event Bus)
18.3.3 依賴注入(Dependency Injection)
18.3.4 國際化
18.4 Widget應用
18.4.1 Widget配置文件
18.4.2 WidgetTemplate
18.4.3 Widget的交互
18.4.4 Widget開發示例
18.5 小結
第19章 ArcGIS API For JavaScipt
19.1 開發環境搭建
19.1.1 Aptana Studio
19.1.2 ArcGIS API支持瀏覽器的版本
19.2 地圖顯示與基本操作
19.3 渲染符號化
19.4 查詢
19.4.1 QueryTask
19.4.2 FindTask
19.4.3 IdentifyTask
19.5 地理處理
19.6 SOE
19.7 幾何操作
19.8 小結
第20章 ArcGIS API For IOS
20.1 開發環境搭建
20.2 Objective-C基礎
20.2.1 類(Class)
20.2.2 方法(Methods)
20.2.3 屬性(Property)
20.2.4 協議和委托(Protocols and Delegates)
20.3 XCode介紹
20.3.1 Xcode IDE
20.3.2 Interface Builder
20.3.3 移動設備模擬器
20.4 地圖顯示與基本操作
20.5 渲染符號化
20.6 查詢與檢索
20.7 圖層控製
20.8 GPS定位
20.9 小結
第五篇 綜閤案例篇
第21章 某市共享平颱
21.1 需求概述
21.1.1 用戶需求
21.1.2 平颱建設的關鍵技術
21.2 麵嚮服務的空間信息共享平颱
21.3 係統總體框架
21.3.1 基於SOA的GIS服務技術路綫
21.3.2 平颱的總體框架
21.4 係統建設方案
21.4.1 數據建庫標準規範及共享交換製度
21.4.2 數據和服務平颱建設
21.4.3 統一門戶建設
21.5 綜閤實現
21.6 難點及解決方法
……
前言/序言
精通ArcGIS Server應用與開發 在海量地理空間數據和日益增長的Web應用需求驅動下,ArcGIS Server已成為構建高性能、可擴展地理信息係統的基石。本書旨在深入剖析ArcGIS Server的核心理念、架構設計及其在實際應用開發中的落地實踐。通過本書的學習,您將係統掌握ArcGIS Server的服務發布、管理、安全配置以及基於其進行二次開發的技術,從而能夠獨立設計、實現和維護功能強大的地理信息Web服務,滿足企業級GIS應用的需求。 本書內容概覽: 第一部分:ArcGIS Server 核心概念與架構解析 地理信息係統(GIS)基礎迴顧: 快速迴顧GIS的基本概念、空間數據模型、地圖投影等,為理解ArcGIS Server的底層邏輯奠定基礎。 ArcGIS Server 核心組件剖析: 深入解讀ArcGIS Server的核心組件,包括ArcGIS Server Object Manager (SOM)、ArcGIS Server Object Container (SOC)、ArcGIS Server REST API、SOAP API等,理解它們各自的功能和協作方式。 服務類型詳解: 詳細介紹ArcGIS Server支持的各種服務類型,如地圖服務(Map Service)、要素服務(Feature Service)、地理處理服務(Geoprocessing Service)、影像服務(Image Service)、網絡分析服務(Network Analyst Service)、坐標係服務(Geometry Service)等,並闡述其應用場景。 Server 架構模式: 探討ArcGIS Server在不同架構模式下的部署和應用,包括單機部署、集群部署、高可用性(HA)部署、負載均衡(LB)配置等,幫助讀者構建穩定可靠的GIS服務平颱。 企業級GIS集成: 分析ArcGIS Server如何與其他企業級係統(如數據庫、Web服務器、移動應用平颱)進行集成,實現數據的互聯互通和業務流程的自動化。 第二部分:ArcGIS Server 服務發布與管理實戰 ArcGIS Server 安裝與配置: 提供詳細的ArcGIS Server安裝步驟和環境配置指南,包括操作係統要求、端口配置、安全設置等,確保順利部署。 服務發布流程詳解: 從ArcGIS Pro到ArcGIS Server,手把手指導用戶完成地圖文檔、地理處理模型、地理數據庫等資源的發布過程。重點講解服務定義文件(.sd)的創建、服務站點(Service Site)的配置以及服務屬性的優化。 服務管理與監控: 掌握ArcGIS Server Manager的應用,包括服務的啓停、配置修改、權限管理、日誌查看、性能監控等。學習如何利用性能監視器和日誌文件診斷和解決服務運行中的問題。 數據管理與更新策略: 探討ArcGIS Server與後端地理數據庫(如SQL Server, Oracle, PostgreSQL with PostGIS)的集成,包括數據同步、版本管理、數據加載與更新的最佳實踐,確保服務數據的時效性和準確性。 緩存策略與優化: 深入研究ArcGIS Server地圖服務的緩存機製,包括緩存的創建、管理、更新和優化。講解如何根據應用需求選擇閤適的緩存策略,提升地圖加載速度和用戶體驗。 切片瓦片服務(Tiled Map Service)的發布與管理: 詳細介紹切片瓦片服務的概念、發布方法、格式(如PNG, JPEG)以及不同比例尺下的瓦片生成策略。 第三部分:ArcGIS Server 應用開發與二次開發 ArcGIS REST API 深度探索: 全麵解析ArcGIS REST API的設計理念、請求與響應格式、常用資源(如MapServer, FeatureServer, GPServer)的訪問方式。通過大量實例,演示如何使用REST API查詢、編輯、分析空間數據,以及調用地理處理模型。 JavaScript API 應用開發: 重點介紹ArcGIS API for JavaScript,這是構建交互式Web GIS應用的核心。從基礎的地圖顯示、圖層添加、要素查詢、空間分析,到復雜的用戶交互、信息展示、定製化開發,本書將提供詳盡的代碼示例和講解。 Python 腳本與自動化: 演示如何利用Python腳本(如ArcPy)與ArcGIS Server進行交互,實現服務的自動化發布、管理、數據處理和分析任務。學習Python API調用REST API執行地理處理任務,以及在ArcGIS Server上部署和運行Python腳本。 .NET SDK 開發: 介紹ArcGIS Server .NET SDK,為開發者提供在.NET環境下構建ArcGIS Server應用的能力。講解如何使用.NET SDK發布定製化服務、創建強大的後颱處理任務以及與其他.NET應用集成。 移動端GIS應用開發概述: 簡要介紹ArcGIS Runtime SDK for Android/iOS,為開發者提供在原生移動平颱構建GIS應用的基礎知識,並說明ArcGIS Server如何為移動應用提供數據和分析服務。 Web GIS應用架構設計: 討論構建可擴展、高性能Web GIS應用的架構模式,包括前後端分離、微服務架構、消息隊列的應用,以及如何利用ArcGIS Server作為核心後端服務。 第四部分:ArcGIS Server 安全與性能優化 ArcGIS Server 安全機製: 深入講解ArcGIS Server的安全模型,包括身份驗證、授權、SSL/TLS加密、防火牆配置、IP地址限製等,幫助讀者構建安全可靠的GIS服務。 服務權限管理: 詳細介紹如何針對不同的用戶、用戶組或角色配置服務訪問權限,實現精細化的權限控製。 性能瓶頸分析與調優: 識彆ArcGIS Server常見的性能瓶頸,如數據庫訪問、服務請求響應、緩存策略不當、硬件資源不足等。提供係統性的性能調優方法,包括代碼優化、服務配置調整、硬件升級建議等。 高可用與災難恢復: 探討ArcGIS Server高可用性(HA)和災難恢復(DR)的策略和實現方法,確保GIS服務的連續可用性。 光盤內容: 附贈的CD光盤包含瞭本書配套的軟件資源、示例代碼、數據集、工具腳本等,旨在幫助讀者更直觀、更便捷地進行實踐操作和學習。光盤內容包括但不限於: ArcGIS Server 試用版/開發版軟件資源 ArcGIS Pro 試用版/開發版軟件資源 書中詳細案例的代碼示例(JavaScript, Python, .NET) 部分公共地理空間數據集,用於實際應用演示 常用的ArcGIS Server管理和開發輔助腳本 相關的技術文檔和參考鏈接 適用人群: GIS從業人員: 希望深入理解ArcGIS Server工作原理,提升GIS服務發布與管理能力的GIS技術人員。 軟件開發工程師: 希望在Web、移動端開發中集成地理空間能力,構建GIS應用的開發者。 係統架構師: 需要為企業級應用設計和部署可擴展、高性能地理信息係統的架構師。 項目經理: 需要瞭解ArcGIS Server技術能力,以便更好地規劃和管理GIS相關項目的管理者。 高等院校GIS、計算機科學相關專業師生。 本書特點: 理論與實踐相結閤: 既有深入的理論講解,又有豐富的實戰案例,幫助讀者融會貫通。 循序漸進: 從基礎概念到高級開發,逐步深入,適閤不同層次的學習者。 全麵覆蓋: 涵蓋ArcGIS Server應用、開發、管理、安全、性能等各個方麵。 代碼驅動: 提供大量可運行的示例代碼,方便讀者直接上手實踐。 麵嚮實際應用: 貼閤企業級GIS應用開發中的實際需求和常見問題。 掌握ArcGIS Server,就是掌握瞭構建現代地理信息係統的核心競爭力。本書將成為您在ArcGIS Server應用與開發領域最可靠的助手和最權威的參考。