《基於arcgis的python編程秘笈(第2版)》是2017年人民郵電出版社出版的圖書,作者是(美)Eric Pimpler 派普勒。本書將介紹如何使用Python來創建桌面ArcGIS環境下的地理處理腳本、管理地圖文檔和圖層、查找和修復丟失的數據連結、編輯要素類和表中的數據等,以期能夠提高 GIS開發人員的工作效率。
基本介紹
- 中文名:基於arcgis的python編程秘笈(第2版)
- 作者:(美)Eric Pimpler 派普勒
- 出版時間:2017年
- 出版社:人民郵電出版社
- 頁數:316 頁
- ISBN:9787115438041
- 定價:69 元
- 開本:16 開
- 裝幀: 平裝
內容簡介,圖書目錄,作者簡介,
內容簡介
Python作為一種高級程式設計語言,憑藉其簡潔、易讀及可擴展性日漸成為程式設計領域備受推崇的語言。使用Python作為GIS開發的腳本語言,將大大提升ArcGIS數據處理的效率。 本書將介紹如何使用Python來創建桌面ArcGIS環境下的地理處理腳本、管理地圖文檔和圖層、查找和修復丟失的數據連結、編輯要素類和表中的數據等,以期能夠提高 GIS開發人員的工作效率。本書內容結構清晰,示例完整,不僅適合從事GIS開發的專業人士,而且適合那些有興趣接觸或從事Python編程的讀者。
圖書目錄
第1章 面向ArcGIS的Python語言基礎 1
1.1 使用IDLE進行Python腳本開發 2
1.1.1 Python Shell視窗 2
1.1.2 Python腳本視窗 3
1.1.3 編輯已有的Python腳本 3
1.1.4 在IDLE中運行腳本 5
1.2 ArcGIS Python視窗的使用 5
1.2.1 ArcGIS Python視窗 5
1.2.2 ArcGIS Python視窗的顯示 6
1.3 Python語言基礎 8
1.3.1 代碼注釋 8
1.3.2 模組導入 9
1.3.3 變數 10
1.3.4 內置數據類型 13
1.3.5 類和對象 19
1.3.6 語句 20
1.3.7 檔案I O(輸入 輸出) 25
1.4 總結 26
第2章 管理地圖文檔和圖層 27
2.1 引言 27
2.2 引用當前的地圖文檔 28
2.2.1 準備工作 28
2.2.2 操作方法 28
2.2.3 工作原理 29
2.3 引用磁碟上的地圖文檔 30
2.3.1 準備工作 30
2.3.2 操作方法 30
2.3.3 工作原理 31
2.4 獲取地圖文檔中的圖層列表 31
2.4.1 準備工作 31
2.4.2 操作方法 31
2.4.3 工作原理 32
2.4.4 拓展 32
2.5 限制圖層列表 33
2.5.1 準備工作 33
2.5.2 操作方法 33
2.5.3 工作原理 34
2.6 縮放至所選要素 35
2.6.1 準備工作 35
2.6.2 操作方法 35
2.6.3 工作原理 37
2.7 改變地圖範圍 37
2.7.1 準備工作 37
2.7.2 操作方法 38
2.7.3 工作原理 39
2.8 添加圖層到地圖文檔 39
2.8.1 準備工作 40
2.8.2 操作方法 40
2.8.3 工作原理 42
2.8.4 拓展 42
2.9 插入圖層到地圖文檔 42
2.9.1 準備工作 42
2.9.2 操作方法 43
2.9.3 工作原理 44
2.9.4 拓展 45
2.10 更新圖層的符號系統 45
2.10.1 準備工作 45
2.10.2 操作方法 46
2.10.3 工作原理 47
2.10.4 拓展 48
2.11 更新圖層屬性 48
2.11.1 準備工作 48
2.11.2 操作方法 48
2.12 運算元據框中啟用時間的圖層 53
2.12.1 準備工作 53
2.12.2 操作方法 54
2.12.3 工作原理 58
第3章 查找和修復丟失的數據連結 59
3.1 引言 59
3.2 查找地圖文檔和圖層檔案中丟失的數據源 59
3.2.1 準備工作 60
3.2.2 操作步驟 60
3.2.3 工作原理 62
3.2.4 拓展 62
3.3 使用MapDocument.findAndReplace WorkspacePaths()方法修復丟失的數據源 62
3.3.1 準備工作 62
3.3.2 操作步驟 63
3.3.3 工作原理 64
3.3.4 拓展 64
3.4 使用MapDocument.replaceWorkspaces()方法修復丟失的數據源 65
3.4.1 準備工作 65
3.4.2 操作步驟 65
3.4.3 工作原理 67
3.5 使用replaceDataSource() 方法修復單個圖層和表對象 68
3.5.1 準備工作 69
3.5.2 操作步驟 69
3.5.3 工作原理 72
3.5.4 拓展 72
3.6 查找資料夾中所有地圖文檔內丟失的數據源 72
3.6.1 準備工作 72
3.6.2 操作步驟 73
3.6.3 工作原理 74
第4章 自動化地圖製圖和列印 76
4.1 引言 76
4.2 創建布局元素的Python列表 77
4.2.1 準備工作 77
4.2.2 操作方法 78
4.2.3 工作原理 79
4.3 為布局元素指定的名稱 79
4.3.1 準備工作 79
4.3.2 操作方法 79
4.3.3 工作原理 82
4.3.4 拓展 82
4.4 使用ListLayoutElements() 函式限制返回的布局元素 83
4.4.1 準備工作 83
4.4.2 操作方法 83
4.4.3 工作原理 84
4.5 更新布局元素的屬性 84
4.5.1 準備工作 84
4.5.2 操作方法 85
4.5.3 工作原理 87
4.6 獲取可用的印表機的列表 87
4.6.1 準備工作 87
4.6.2 操作方法 87
4.6.3 工作原理 88
4.7 使用PrintMap() 函式列印地圖 88
4.7.1 準備工作 89
4.7.2 操作方法 89
4.7.3 工作原理 90
4.8 導出地圖為PDF檔案 90
4.8.1 準備工作 90
4.8.2 操作方法 90
4.8.3 工作原理 92
4.9 導出地圖為圖像檔案 92
4.9.1 準備工作 92
4.9.2 操作方法 92
4.9.3 工作原理 93
4.10 導出報表 93
4.10.1 準備工作 94
4.10.2 操作方法 94
4.10.3 工作原理 97
4.11 使用數據驅動頁面和ArcPy製圖模組構建地圖冊 98
4.11.1 準備工作 98
4.11.2 操作方法 98
4.11.3 工作原理 102
4.12 將地圖文檔發布為ArcGISServer服務 102
4.12.1 準備工作 103
4.12.2 操作方法 104
4.12.3 工作原理 109
第5章 使用腳本執行地理處理工具 110
5.1 引言 110
5.2 查找地理處理工具 110
5.2.1 準備工作 111
5.2.2 操作方法 111
5.2.3 工作原理 113
5.3 查看工具箱別名 114
5.3.1 準備工作 114
5.3.2 操作方法 115
5.3.3 工作原理 116
5.4 使用腳本執行地理處理工具 116
5.4.1 準備工作 117
5.4.2 操作方法 117
5.4.3 工作原理 118
5.4.4 拓展 119
5.5 將一個工具的輸出作為另一個工具的輸入 119
5.5.1 準備工作 119
5.5.2 操作方法 120
5.5.3 工作原理 122
第6章 創建自定義地理處理工具 123
6.1 引言 123
6.2 創建自定義地理處理工具 123
6.2.1 準備工作 123
6.2.2 操作方法 124
6.2.3 工作原理 138
6.2.4 拓展 139
6.3 創建Python工具箱 139
6.3.1 準備工作 139
6.3.2 操作方法 139
6.3.3 工作原理 148
第7章 查詢和選擇數據 149
7.1 引言 149
7.2 構造正確的屬性查詢語句 149
7.2.1 準備工作 150
7.2.2 操作方法 150
7.2.3 工作原理 153
7.3 創建要素圖層和表視圖 154
7.3.1 準備工作 154
7.3.2 操作方法 155
7.3.3 工作原理 157
7.3.4 拓展 157
7.4 使用Select Layer by Attribute工具選擇要素和行 158
7.4.1 準備工作 158
7.4.2 操作方法 159
7.4.3 工作原理 161
7.5 使用Select Layer by Location工具選擇要素 161
7.5.1 準備工作 161
7.5.2 操作方法 162
7.5.3 工作原理 165
7.6 結合空間查詢和屬性查詢選擇要素 165
7.6.1 準備工作 165
7.6.2 操作方法 166
7.6.3 工作原理 167
第8章 在要素類和表中使用ArcPy數據訪問模組 168
8.1 引言 168
8.2 使用SearchCursor檢索要素類中的要素 171
8.2.1 準備工作 171
8.2.2 操作方法 171
8.2.3 工作原理 173
8.3 使用where子句篩選記錄 173
8.3.1 準備工作 173
8.3.2 操作方法 173
8.3.3 工作原理 174
8.4 使用幾何令牌改進游標性能 174
8.4.1 準備工作 174
8.4.2 操作方法 175
8.4.3 工作原理 178
8.5 使用InsertCursor插入行 178
8.5.1 準備工作 178
8.5.2 操作方法 179
8.5.3 工作原理 183
8.6 使用UpdateCursor更新行 183
8.6.1 準備工作 183
8.6.2 操作方法 184
8.6.3 工作原理 187
8.7 使用UpdateCursor刪除行 187
8.7.1 準備工作 187
8.7.2 操作方法 187
8.7.3 工作原理 189
8.8 在編輯會話中插入和更新行 189
8.8.1 準備工作 189
8.8.2 操作方法 190
8.8.3 工作原理 192
8.9 讀取要素類中的幾何信息 193
8.9.1 準備工作 193
8.9.2 操作方法 193
8.9.3 工作原理 195
8.10 使用Walk() 遍歷目錄 195
8.10.1 準備工作 195
8.10.2 操作方法 195
8.10.3 工作原理 197
第9章 獲取GIS數據的列表和描述 198
9.1 引言 198
9.2 使用ArcPy列表函式 199
9.2.1 準備工作 199
9.2.2 操作方法 199
9.2.3 工作原理 201
9.2.4 拓展 201
9.3 獲取要素類或表中的欄位
列表 202
9.3.1 準備工作 202
9.3.2 操作方法 202
9.3.3 工作原理 204
9.4 使用Describe() 函式返回要素類的描述性信息 204
9.4.1 準備工作 204
9.4.2 操作方法 205
9.4.3 工作原理 207
9.5 使用Describe() 函式返回柵格圖像的描述性信息 208
9.5.1 準備工作 208
9.5.2 操作方法 208
9.5.3 工作原理 210
第10章 使用Add-in定製ArcGIS界面 211
10.1 引言 211
10.2 下載並安裝Python Add-in
Wizard 212
10.2.1 準備工作 212
10.2.2 操作方法 212
10.2.3 工作原理 214
10.3 創建按鈕載入項和使用Python載入項模組 214
10.3.1 準備工作 214
10.3.2 操作方法 215
10.3.3 工作原理 222
10.4 安裝和測試載入項 222
10.4.1 準備工作 223
10.4.2 操作方法 223
10.4.3 工作原理 227
10.5 創建工具載入項 228
10.5.1 準備工作 228
10.5.2 操作方法 229
10.5.3 工作原理 232
10.5.4 拓展 233
第11章 異常識別和錯誤處理 234
11.1 引言 234
11.2 默認的Python錯誤訊息 235
11.2.1 準備工作 235
11.2.2 操作方法 235
11.2.3 工作原理 236
11.3 添加Python異常處理結構(try except else) 236
11.3.1 準備工作 236
11.3.2 操作方法 237
11.3.3 工作原理 238
11.3.4 拓展 238
11.4 使用GetMessages() 函式獲取工具訊息 238
11.4.1 準備工作 238
11.4.2 操作方法 239
11.4.3 工作原理 239
11.5 根據嚴重性級別篩選工具訊息 239
11.5.1 準備工作 240
11.5.2 操作方法 240
11.5.3 工作原理 241
11.6 測試和回響特定的錯誤訊息 241
11.6.1 準備工作 241
11.6.2 操作方法 242
11.6.3 工作原理 243
第12章 使用Python實現ArcGIS的高級功能 244
12.1 引言 244
12.2 ArcGIS REST API入門 245
12.2.1 準備工作 245
12.2.2 操作方法 245
12.2.3 工作原理 250
12.3 使用Python構建HTTP請求並解析回響 250
12.3.1 準備工作 251
12.3.2 操作方法 251
12.3.3 工作原理 254
12.4 使用ArcGIS REST API和Python獲取圖層信息 254
12.4.1 準備工作 254
12.4.2 操作方法 254
12.4.3 工作原理 256
12.5 使用ArcGIS REST API和Python導出地圖 257
12.5.1 準備工作 257
12.5.2 操作方法 257
12.5.3 工作原理 259
12.6 使用ArcGIS REST API和Python查詢地圖服務 260
12.6.1 準備工作 260
12.6.2 操作方法 260
12.6.3 工作原理 264
12.7 使用Esri World GeocodingService進行地理編碼 264
12.7.1 準備工作 264
12.7.2 操作方法 264
12.7.3 工作原理 266
12.8 使用FieldMap和FieldMappings 266
12.8.1 準備工作 266
12.8.2 操作方法 267
12.8.3 工作原理 273
12.9 使用ValueTable將多值輸入到工具中 273
12.9.1 準備工作 274
12.9.2 操作方法 274
12.9.3 工作原理 275
第13章 在ArcGIS Pro中使用Python 276
13.1 引言 276
13.2 在ArcGIS Pro中使用新的Python視窗 277
13.3 桌面ArcGIS與ArcGIS Pro中Python的編碼差異 280
13.4 為獨立的ArcGIS Pro腳本安裝Python 280
13.5 將桌面ArcGIS中的Python代碼轉換到ArcGIS Pro中 281
附錄A 自動化Python腳本 282
A.1 引言 282
A.2 在命令行中運行Python腳本 283
A.2.1 準備工作 283
A.2.2 操作方法 283
A.2.3 工作原理 288
A.3 使用sys.argv[] 捕獲命令行的輸入 288
A.3.1 準備工作 288
A.3.2 操作方法 289
A.3.3 工作原理 290
A.4 添加Python腳本到批處理檔案 290
A.4.1 準備工作 290
A.4.2 操作方法 291
A.4.3 工作原理 291
A.4.4 拓展 291
A.5 在規定的時間運行批處理檔案 291
A.5.1 準備工作 292
A.5.2 操作方法 292
A.5.3 工作原理 296
附錄B GIS程式設計師不可不知的5個Python功能 297
B.1 引言 297
B.2 讀取帶分隔設定的文本檔案 297
B.2.1 準備工作 298
B.2.2 操作方法 298
B.2.3 工作原理 300
B.2.4 拓展 301
B.3 傳送電子郵件 301
B.3.1 準備工作 301
B.3.2 操作方法 302
B.3.3 工作原理 305
B.4 檢索FTP服務中的檔案 305
B.4.1 準備工作 306
B.4.2 操作方法 306
B.4.3 工作原理 309
B.4.4 拓展 309
B.5 創建ZIP檔案 309
B.5.1 準備工作 310
B.5.2 操作方法 310
B.5.3 工作原理 312
B.5.4 拓展 313
B.6 讀取XML檔案 313
B.6.1 準備工作 313
B.6.2 操作方法 314
B.6.3 工作原理 315
B.6.4 拓展 316
作者簡介
Eric Pimpler是GeoSpatial Training Services(http: geospatialtraining.com )的創始人和所有者,他使用Esri、Google Earth Maps和開源技術等進行GIS實踐和教學已有20多年的歷史。目前,Eric側重於使用Python編寫ArcGIS腳本,以及使用JavaScript開發web和移動ArcGIS Server應用程式。此外,Eric還編寫了《Programming ArcGIS with Python Cookbook》和《Building Web and Mobile ArcGIS Server Applications with JavaScript》(中文版名為《JavaScript構建Web和ArcGIS Server套用實戰》由人民郵電出版社出版)兩本書,這兩本書都已經由Packt出版社出版。 Eric獲得了美國德克薩斯A&M大學地理學專業的學士學位,以及美國德克薩斯州立大學套用地理學(GIS方向)專業的碩士學位。