産品特色
編輯推薦
《基於ArcGIS的Python編程秘笈(第2版)》作者是GIS開發方麵的知名作者,曾著有《JavaScript構建Web和ArcGIS Server應用實戰》(Building Web and Mobile ArcGIS Server Applications with JavaScript)一書。
本書內容易學易懂,幫助讀者成為GIS開發高手。
內容簡介
Python作為一種高級程序設計語言,憑藉其簡潔、易讀及可擴展性日漸成為程序設計領域備受推崇的語言。使用Python作為GIS開發的腳本語言,將大大提升ArcGIS數據處理的效率。
本書將介紹如何使用Python來創建桌麵ArcGIS環境下的地理處理腳本、管理地圖文檔和圖層、查找和修復丟失的數據鏈接、編輯要素類和錶中的數據等,以期能夠提高 GIS開發人員的工作效率。
本書內容結構清晰,示例完整,不僅適閤從事GIS開發的專業人士,而且適閤那些有興趣接觸或從事Python編程的讀者。
作者簡介
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方嚮)專業的碩士學位。
目錄
第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
基於ArcGIS的Python編程秘笈(第2版) 下載 mobi epub pdf txt 電子書