Python作為一種高級(jí)程序設(shè)計(jì)語(yǔ)言,憑借其簡(jiǎn)潔、易讀及可擴(kuò)展性日漸成為程序設(shè)計(jì)領(lǐng)域備受推崇的語(yǔ)言。使用Python作為ArcGIS的腳本語(yǔ)言將大大提升ArcGIS數(shù)據(jù)處理的效率,更好地實(shí)現(xiàn)ArcGIS內(nèi)部的任務(wù)自動(dòng)化。
《面向ArcGIS的Python腳本編程》是一本專(zhuān)門(mén)針對(duì)ArcGIS編程的Python參考書(shū),以基礎(chǔ)理論結(jié)合GIS開(kāi)發(fā)實(shí)例的方式,詳細(xì)介紹了Python在ArcGIS開(kāi)發(fā)中的基本應(yīng)用和相關(guān)技巧,全書(shū)分為4個(gè)部分。第一部分主要介紹ArcGIS for Desktop中地理處理的基本原理以及Python語(yǔ)言的基礎(chǔ)知識(shí);第二部分主要介紹如何編寫(xiě)一個(gè)處理空間數(shù)據(jù)的腳本;第三部分主要介紹一系列具體的操作,例如編寫(xiě)制圖腳本、調(diào)試和錯(cuò)誤處理以及創(chuàng)建Python類(lèi)和函數(shù);第四部分主要介紹如何將腳本創(chuàng)建成一個(gè)工具并與其他人共享。每一章都附帶相應(yīng)的練習(xí)內(nèi)容,幫助讀者在學(xué)習(xí)和練習(xí)之間得到更多的實(shí)踐。
《面向ArcGIS的Python腳本編程》內(nèi)容結(jié)構(gòu)清晰,示例完整,不僅適合于從事GIS開(kāi)發(fā)的專(zhuān)業(yè)人士,而且適合那些有興趣接觸或從事Python編程的讀者。
《面向ArcGIS的Python腳本編程》是一本指導(dǎo)ArcGIS for Desktop專(zhuān)業(yè)用戶(hù)進(jìn)行Python開(kāi)發(fā)的指南。該書(shū)將教會(huì)您如何通過(guò)編寫(xiě)Python代碼處理空間數(shù)據(jù)并在ArcGIS中自動(dòng)化實(shí)現(xiàn)地理處理任務(wù)。讀者在學(xué)習(xí)完本書(shū)后,可以根據(jù)需要?jiǎng)?chuàng)建自定義的地理處理工具。本書(shū)共包括14章,在隨書(shū)的DVD光盤(pán)中,還附有相應(yīng)的練習(xí)和數(shù)據(jù)。您可以在線下載ArcGIS 10.1 for Desktop的試用版,其試用期為180天。
Palu A. Zandbergen,美國(guó)新墨西哥大學(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簡(jiǎn)介 2
1.1 引言 2
1.2 Python的特點(diǎn) 2
1.3 腳本語(yǔ)言和程序語(yǔ)言 3 目 錄
第一部分 Python和地理處理的相關(guān)概念
第1章 Python簡(jiǎn)介 2
1.1 引言 2
1.2 Python的特點(diǎn) 2
1.3 腳本語(yǔ)言和程序語(yǔ)言 3
1.4 ArcGIS的腳本語(yǔ)言 3
1.5 Python的歷史和版本 4
1.6 關(guān)于本書(shū) 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 工具的類(lèi)型 21
2.6 工具對(duì)話框 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窗口簡(jiǎn)介 43
3.3 編寫(xiě)并運(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ù)類(lèi)型與數(shù)據(jù)結(jié)構(gòu) 53
4.4 數(shù)字 53
4.5 變量及其命名規(guī)則 54
4.6 語(yǔ)句和表達(dá)式 56
4.7 字符串 57
4.8 列表 58
4.9 Python對(duì)象 59
4.10 函數(shù) 60
4.11 方法 62
4.12 處理字符串 62
4.13 處理列表 66
4.14 處理路徑 70
4.15 模塊 71
4.16 條件控制語(yǔ)句 73
4.17 循環(huán)語(yǔ)句 75
4.18 用戶(hù)輸入 77
4.19 注釋 78
4.20 PythonWin編輯器 79
4.21 編碼規(guī)范 81
本章要點(diǎn) 82
第二部分 編寫(xiě)地理處理腳本
第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類(lèi) 98
5.9 環(huán)境設(shè)置 100
5.10 工具消息 101
5.11 查詢(xún)?cè)S可 105
5.12 獲取幫助 108
本章要點(diǎn) 110
第6章 訪問(wèn)空間數(shù)據(jù) 112
6.1 引言 112
6.2 檢查數(shù)據(jù)的存在性 112
6.3 描述數(shù)據(jù) 113
6.4 列出數(shù)據(jù) 116
6.5 對(duì)列表使用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)訪問(wèn)數(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 處理幾何對(duì)象 143
8.3 讀取幾何 144
8.4 處理多部分要素 147
8.5 處理有孔洞的多邊形 150
8.6 寫(xiě)入幾何 152
8.7 使用游標(biāo)設(shè)置空間參考 154
8.8 使用地理處理工具處理幾何對(duì)象 156
本章要點(diǎn) 157
第9章 使用柵格數(shù)據(jù) 158
9.1 引言 158
9.2 列出柵格數(shù)據(jù) 158
9.3 描述柵格屬性 159
9.4 處理柵格對(duì)象 162
9.5 Spatial Analyst模塊 163
9.6 地圖代數(shù) 164
9.7 ApplyEnvironment函數(shù) 167
9.8 arcpy.as模塊中的類(lèi) 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 頁(yè)面布局元素 188
10.9 輸出地圖 191
10.10 打印地圖 192
10.11 處理PDF文檔 192
10.12 新建地圖冊(cè) 193
10.13 制圖腳本樣例 196
本章要點(diǎn) 198
第11章 程序調(diào)試與錯(cuò)誤處理 199
11.1 引言 199
11.2 識(shí)別語(yǔ)法錯(cuò)誤 199
11.3 識(shí)別異!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 常見(jiàn)錯(cuò)誤 216
本章要點(diǎn) 217
第12章 創(chuàng)建Python類(lèi)和函數(shù) 218
12.1 引言 218
12.2 創(chuàng)建函數(shù) 218
12.3 調(diào)用函數(shù) 221
12.4 添加代碼到模塊中 224
12.5 使用類(lèi) 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)度對(duì)話框 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 編寫(xiě)工具文檔 270
14.10 示例工具:市場(chǎng)分析 274
本章要點(diǎn) 278