Python作為一種高級程序設(shè)計(jì)語言,憑借其簡潔、易讀及可擴(kuò)展性日漸成為程序設(shè)計(jì)領(lǐng)域備受推崇的語言。使用Python作為ArcGIS的腳本語言將大大提升ArcGIS數(shù)據(jù)處理的效率,更好地實(shí)現(xiàn)ArcGIS內(nèi)部的任務(wù)自動(dòng)化。
《面向ArcGIS的Python腳本編程》是一本專門針對ArcGIS編程的Python參考書,以基礎(chǔ)理論結(jié)合GIS開發(fā)實(shí)例的方式,詳細(xì)介紹了Python在ArcGIS開發(fā)中的基本應(yīng)用和相關(guān)技巧,全書分為4個(gè)部分。第一部分主要介紹ArcGIS for Desktop中地理處理的基本原理以及Python語言的基礎(chǔ)知識;第二部分主要介紹如何編寫一個(gè)處理空間數(shù)據(jù)的腳本;第三部分主要介紹一系列具體的操作,例如編寫制圖腳本、調(diào)試和錯(cuò)誤處理以及創(chuàng)建Python類和函數(shù);第四部分主要介紹如何將腳本創(chuàng)建成一個(gè)工具并與其他人共享。每一章都附帶相應(yīng)的練習(xí)內(nèi)容,幫助讀者在學(xué)習(xí)和練習(xí)之間得到更多的實(shí)踐。
《面向ArcGIS的Python腳本編程》內(nèi)容結(jié)構(gòu)清晰,示例完整,不僅適合于從事GIS開發(fā)的專業(yè)人士,而且適合那些有興趣接觸或從事Python編程的讀者。
《面向ArcGIS的Python腳本編程》是一本指導(dǎo)ArcGIS for Desktop專業(yè)用戶進(jìn)行Python開發(fā)的指南。該書將教會(huì)您如何通過編寫Python代碼處理空間數(shù)據(jù)并在ArcGIS中自動(dòng)化實(shí)現(xiàn)地理處理任務(wù)。讀者在學(xué)習(xí)完本書后,可以根據(jù)需要?jiǎng)?chuàng)建自定義的地理處理工具。本書共包括14章,在隨書的DVD光盤中,還附有相應(yīng)的練習(xí)和數(shù)據(jù)。您可以在線下載ArcGIS 10.1 for Desktop的試用版,其試用期為180天。
Palu A. Zandbergen,美國新墨西哥大學(xué)地理系副教授。主要講授GIS和空間分析方面的課程。研究方向包括地理信息科學(xué),空間統(tǒng)計(jì)分析,空間數(shù)據(jù)不確定性,GIS在犯罪、經(jīng)濟(jì)、衛(wèi)生、空間生態(tài)學(xué)等領(lǐng)域的應(yīng)用,地形分析與建模以及基于GPS和GIS的社區(qū)參與式制圖等。
目 錄
第一部分 Python和地理處理的相關(guān)概念
第1章 Python簡介 2
1.1 引言 2
1.2 Python的特點(diǎn) 2
1.3 腳本語言和程序語言 3 目 錄
第一部分 Python和地理處理的相關(guān)概念
第1章 Python簡介 2
1.1 引言 2
1.2 Python的特點(diǎn) 2
1.3 腳本語言和程序語言 3
1.4 ArcGIS的腳本語言 3
1.5 Python的歷史和版本 4
1.6 關(guān)于本書 5
1.7 Python腳本實(shí)例 7
1.8 Python腳本編輯器 10
本章要點(diǎn) 16
第2章 ArcGIS中的地理處理 17
2.1 引言 17
2.2 地理處理 17
2.3 ArcObjects 18
2.4 工具箱和工具 19
2.5 工具的類型 21
2.6 工具對話框 21
2.7 環(huán)境設(shè)置 25
2.8 批處理 27
2.9 模型和ModelBuilder 30
2.10 運(yùn)行腳本 34
2.11 運(yùn)行腳本工具 37
2.12 模型轉(zhuǎn)為腳本 38
2.13 定時(shí)運(yùn)行腳本 40
本章要點(diǎn) 41
第3章 Python窗口 43
3.1 引言 43
3.2 Python窗口簡介 43
3.3 編寫并運(yùn)行腳本代碼 44
3.4 獲取幫助 46
3.5 Python窗口選項(xiàng) 48
3.6 保存腳本 49
3.7 在Python窗口中加載代碼 50
本章要點(diǎn) 51
第4章 Python基礎(chǔ) 52
4.1 引言 52
4.2 Python文檔和資源 52
4.3 數(shù)據(jù)類型與數(shù)據(jù)結(jié)構(gòu) 53
4.4 數(shù)字 53
4.5 變量及其命名規(guī)則 54
4.6 語句和表達(dá)式 56
4.7 字符串 57
4.8 列表 58
4.9 Python對象 59
4.10 函數(shù) 60
4.11 方法 62
4.12 處理字符串 62
4.13 處理列表 66
4.14 處理路徑 70
4.15 模塊 71
4.16 條件控制語句 73
4.17 循環(huán)語句 75
4.18 用戶輸入 77
4.19 注釋 78
4.20 PythonWin編輯器 79
4.21 編碼規(guī)范 81
本章要點(diǎn) 82
第二部分 編寫地理處理腳本
第5章 使用Python進(jìn)行地理處理 86
5.1 引言 86
5.2 ArcPy站點(diǎn)包 86
5.3 導(dǎo)入ArcPy 86
5.4 使用舊版ArcGIS 88
5.5 使用地理處理工具 89
5.6 使用地理處理工具箱 94
5.7 ArcPy函數(shù) 96
5.8 ArcPy類 98
5.9 環(huán)境設(shè)置 100
5.10 工具消息 101
5.11 查詢許可 105
5.12 獲取幫助 108
本章要點(diǎn) 110
第6章 訪問空間數(shù)據(jù) 112
6.1 引言 112
6.2 檢查數(shù)據(jù)的存在性 112
6.3 描述數(shù)據(jù) 113
6.4 列出數(shù)據(jù) 116
6.5 對列表使用for循環(huán) 119
6.6 操作列表 119
6.7 元組 120
6.8 字典 121
本章要點(diǎn) 124
第7章 處理空間數(shù)據(jù) 126
7.1 引言 126
7.2 使用游標(biāo)訪問數(shù)據(jù) 126
7.3 在Python中使用SQL 131
7.4 處理表和字段名 132
7.5 解析屬性表和字段名 134
7.6 處理文本文件 135
本章要點(diǎn) 142
第8章 處理幾何圖形 143
8.1 引言 143
8.2 處理幾何對象 143
8.3 讀取幾何 144
8.4 處理多部分要素 147
8.5 處理有孔洞的多邊形 150
8.6 寫入幾何 152
8.7 使用游標(biāo)設(shè)置空間參考 154
8.8 使用地理處理工具處理幾何對象 156
本章要點(diǎn) 157
第9章 使用柵格數(shù)據(jù) 158
9.1 引言 158
9.2 列出柵格數(shù)據(jù) 158
9.3 描述柵格屬性 159
9.4 處理柵格對象 162
9.5 Spatial Analyst模塊 163
9.6 地圖代數(shù) 164
9.7 ApplyEnvironment函數(shù) 167
9.8 arcpy.as模塊中的類 168
9.9 NumPy數(shù)組 171
本章要點(diǎn) 172
第三部分 執(zhí)行地理處理任務(wù)
第10章 制圖腳本 174
10.1 引言 174
10.2 ArcPy的制圖模塊 174
10.3 地圖文檔 175
10.4 地圖文檔的屬性和方法 176
10.5 數(shù)據(jù)框 177
10.6 圖層 179
10.7 修復(fù)數(shù)據(jù)鏈接 183
10.8 頁面布局元素 188
10.9 輸出地圖 191
10.10 打印地圖 192
10.11 處理PDF文檔 192
10.12 新建地圖冊 193
10.13 制圖腳本樣例 196
本章要點(diǎn) 198
第11章 程序調(diào)試與錯(cuò)誤處理 199
11.1 引言 199
11.2 識別語法錯(cuò)誤 199
11.3 識別異!201
11.4 程序調(diào)試 202
11.5 程序調(diào)試技巧 208
11.6 異常的處理 208
11.7 觸發(fā)異!209
11.8 處理異!211
11.9 處理地理異常 213
11.10 其他錯(cuò)誤處理方法 215
11.11 常見錯(cuò)誤 216
本章要點(diǎn) 217
第12章 創(chuàng)建Python類和函數(shù) 218
12.1 引言 218
12.2 創(chuàng)建函數(shù) 218
12.3 調(diào)用函數(shù) 221
12.4 添加代碼到模塊中 224
12.5 使用類 226
12.6 地理處理包 229
本章要點(diǎn) 231
第四部分 創(chuàng)建并使用腳本工具
第13章 創(chuàng)建自定義工具 234
13.1 引言 234
13.2 為什么要?jiǎng)?chuàng)建自定義工具 234
13.3 創(chuàng)建自定義工具的步驟 235
13.4 編輯腳本代碼 240
13.5 工具參數(shù) 241
13.6 設(shè)置工具參數(shù) 246
13.7 腳本工具示例 251
13.8 自定義工具行為 253
13.9 處理消息 254
13.10 處理獨(dú)立腳本和工具的消息 256
13.11 自定義進(jìn)度對話框 256
13.12 在進(jìn)程中運(yùn)行腳本 259
本章要點(diǎn) 260
第14章 共享腳本工具 261
14.1 引言 261
14.2 工具共享的方法 261
14.3 軟件許可 262
14.4 共享工具的文件夾結(jié)構(gòu) 262
14.5 處理路徑 263
14.6 查找數(shù)據(jù)和工作空間 266
14.7 創(chuàng)建地理處理包 268
14.8 內(nèi)嵌腳本并設(shè)置工具密碼 269
14.9 編寫工具文檔 270
14.10 示例工具:市場分析 274
本章要點(diǎn) 278