産品特色
編輯推薦
用非常流行的Python語言做地理空間分析;
學習高效、易學的地理空間分析指南;
書中含有典型且非常實用的開發案例,幫助讀者快速掌握相關技能;
圖文結閤,將學習效率大大提高。
內容簡介
Python作為一種高級程序設計語言,憑藉其簡潔、易讀及可擴展性日漸成為程序設計領域備受推崇的語言之一。
本書以地理空間分析為背景,介紹瞭Python在地理信息處理方麵的應用技巧。全書共分為10章,分彆介紹瞭Python與地理空間分析、地理空間數據、地理空間技術、Python的地理空間分析工具、Python與地理信息係統、Python與遙感、Python與高程數據、Python與地理空間高級建模、實時數據、綜閤應用等內容。
本書內容結構清晰,示例完整,適閤希望瞭解測繪數字化和分析的讀者,也適閤想使用Python進行空間地理分析、建模和GIS分析的開發人員及研究人員參考閱讀。
作者簡介
Joel Lawhead 目前是NVision公司的CIO,該公司是業內屢獲殊榮的地理信息集成和傳感工程服務提供商。他還獲得瞭管理專業人員資格認證(Project Management Professional,PMP),地理信息專業資格認證(certified GIS Professional ,GISP)。
Joel於1997年開始使用Python,從2000年開始使用它進行地理空間軟件的開發,也是Learning Geospatial Analysis with Python(第1版)和QGIS Python Programming Cookbook的作者,並且這兩本書都是Packt齣版的。他撰寫的Python Cookbook係列圖書由O'Reilly Media齣版,其不同版本更是各具特色。除此之外,他還是廣受贊譽的開源軟件PyShp(Python Shapefile Library)的主要開發人員。他的技術博客是http://geospatialpython.com/,Twitter昵稱是@SpatialPython,通過上述方式,用戶可以和他討論地理空間分析中與Python編程相關的話題。
2011年,Joel通過逆嚮工程處理瞭Shapefile文件的空間索引格式,幫助地理空間Python工程師Marc Pfister實現瞭上述索引算法,這一做法有利於世界各地的開發者開發齣更易於集成、更健壯的地理空間應用。
Joel作為架構師、項目經理和地理空間應用閤作開發者,多次為美國政府機構提供服務,其中包括NASA、FEMA、NOAA、美國海軍,以及其他商業和非營利性機構。2002年,由於其領導開發的實時應急響應協作工具(the Real-Time Emergency Action Coordination Tool,REACT)錶現傑齣,他獲得瞭Esri公司頒發的國際GIS特彆成就奬。該軟件的主要用途是使用地理空間分析技術進行應急管理。
目錄
第1章 Python與地理空間分析 1
1.1 地理空間分析與我們的生活 1
1.2 地理空間分析的曆史 3
1.3 地理信息係統 6
1.4 遙感 7
1.5 高程數據 12
1.6 計算機輔助製圖 13
1.7 地理空間分析和計算機編程 14
1.8 地理空間分析的重要性 15
1.9 地理信息係統基本概念 16
1.9.1 專題地圖 16
1.9.2 空間數據庫 17
1.9.3 空間索引 17
1.9.4 元數據 17
1.9.5 地圖投影 18
1.9.6 渲染 19
1.9.7 影像數據 20
1.9.8 遙感和顔色 20
1.10 GIS中矢量數據的基本概念 21
1.10.1 數據結構 21
1.10.2 緩衝區 22
1.10.3 融閤 22
1.10.4 簡化 23
1.10.5 疊置 24
1.10.6 閤並 24
1.10.7 點包容性 25
1.10.8 聯閤 25
1.10.9 連接 26
1.10.10 地理空間中的多邊形
規則 26
1.11 柵格數據的基本概念 27
1.11.1 波段運算 27
1.11.2 變化監測 27
1.11.3 柱狀圖 28
1.11.4 特徵提取 28
1.11.5 監督分類 29
1.11.6 非監督分類 29
1.12 牛刀小試 29
1.12.1 Python簡介 30
1.12.2 構建SimpleGIS 31
1.13 小結 38
第2章 地理空間數據 39
2.1 數據格式概覽 39
2.2 數據結構 41
2.3 空間索引 42
2.3.1 索引算法 43
2.3.2 網格 44
2.4 概要化 45
2.5 元數據 46
2.6 文件結構 46
2.7 矢量數據 48
2.7.1 Shapefile文件 48
2.7.2 CAD文件 51
2.7.3 標簽和標記格式 51
2.7.4 GeoJSON 53
2.8 影像數據 54
2.8.1 TIFF文件 55
2.8.2 JPEG、GIF、BMP和
PNG文件 56
2.8.3 壓縮格式 56
2.8.4 ASCII網格 56
2.8.5 全球文件 57
2.9 點雲數據 59
2.10 Web服務 61
2.11 小結 62
第3章 地理空間技術概覽 63
3.1 數據訪問 65
3.1.1 GDAL 65
3.1.2 OGR 67
3.2 計算幾何 68
3.2.1 PROJ.4投影庫 68
3.2.2 CGAL 69
3.2.3 JTS 71
3.2.4 GEOS 72
3.2.5 PostGIS 73
3.2.6 其他支持空間分析的
數據庫 76
3.2.7 SpatiaLite 80
3.2.8 路徑分析 80
3.3 桌麵工具(包括可視化) 82
3.3.1 Quantum GIS 82
3.3.2 OpenEV 83
3.3.3 GRASS GIS 84
3.3.4 uDig 85
3.3.5 gvSIG 86
3.3.6 OpenJUMP 87
3.3.7 榖歌地球 87
3.3.8 NASA World Wind 89
3.3.9 ArcGIS 91
3.4 元數據管理 92
3.4.1 GeoNetwork 92
3.4.2 CatMDEdit 92
3.5 小結 93
第4章 Python的地理空間分析工具 95
4.1 安裝Python的第三方模塊 96
4.2 Python的網絡庫 100
4.2.1 Python的urllib模塊 101
4.2.2 FTP 103
4.2.3 ZIP和TAR文件 104
4.3 Python的標記、標簽解析器 107
4.3.1 minidom模塊 107
4.3.2 元素樹 109
4.3.3 WKT文本 115
4.4 Python的JSON庫 117
4.4.1 json模塊 118
4.4.2 geojson模塊 119
4.5 OGR 119
4.6 PyShp 120
4.7 dbfpy3 121
4.8 Shapely 122
4.9 Fiona 123
4.10 GDAL 125
4.11 NumPy 125
4.12 PIL 127
4.13 PNGCanvas 129
4.14 GeoPandas 130
4.15 PyMySQL 132
4.16 PyFPDF 133
4.17 Spectral Python 134
4.18 小結 134
第5章 Python與地理信息係統 135
5.1 距離測量 135
5.1.1 勾股定理 138
5.1.2 半正矢公式 140
5.1.3 Vincenty公式 141
5.2 方位計算 144
5.3 坐標轉換 144
5.4 重投影 146
5.5 Shapefile文件編輯 148
5.5.1 Shapefile文件訪問 150
5.5.2 Shapefile文件屬性讀取 151
5.5.3 Shapefile文件幾何
圖形讀取 154
5.5.4 Shapefile文件修改 155
5.5.5 Shapefile文件閤並 157
5.5.6 Shapefile文件分割 160
5.6 查詢優化 161
5.6.1 點包容性公式 161
5.6.2 邊框查詢 163
5.7 空間信息可視化 166
5.7.1 點密度計算 166
5.7.2 等值區域圖 169
5.8 使用電子錶格 171
5.9 使用GPS數據 173
5.10 地理化編碼 174
5.11 小結 176
第6章 Python與遙感 177
6.1 圖像波段變換 178
6.2 創建直方圖 180
6.3 圖像剪裁 187
6.4 圖像分類 191
6.5 圖像特徵提取 195
6.6 變化監測 200
6.7 小結 205
第7章 Python與高程數據 206
7.1 ASCII網格文件 206
7.1.1 讀取grids 207
7.1.2 寫入grids 208
7.2 創建地形陰影 210
7.3 創建等高綫 215
7.4 使用LIDAR 219
7.4.1 使用LIDAR創建網格 220
7.4.2 使用PIL讓LIDAR支
持可視化 226
7.4.3 創建不規則三角
網絡(TIN) 230
7.5 小結 234
第8章 Python與地理空間高級建模 235
8.1 歸一化植被指數(NDVI)應用 235
8.1.1 建立框架 237
8.1.2 載入數據 239
8.1.3 柵格化Shapefile文件 239
8.1.4 波段剪裁 241
8.1.5 使用NDVI公式 241
8.1.6 NDVI分類 243
8.2 創建洪水淹沒模型 246
8.2.1 洪水填充功能 248
8.2.2 創建洪水 250
8.3 創建彩色暈渲地形 253
8.4 最佳路徑分析 255
8.4.1 建立測試網格 256
8.4.2 A*算法簡介 257
8.4.3 生成測試路徑 258
8.4.4 查看測試結果 259
8.4.5 實際應用 260
8.5 街道路網規劃 267
8.6 照片地理定位 271
8.7 小結 273
第9章 實時數據 274
9.1 實時路況監測 275
9.1.1 NextBus代理列錶 276
9.1.2 NextBus路徑列錶 277
9.1.3 NextBus設備地址 277
9.1.4 NextBus地址映射 279
9.2 氣象跟蹤 283
9.3 區域報告 291
9.4 小結 292
第10章 綜閤應用 294
10.1 GPS報告示例 294
10.2 使用GPX-Reporter.py 295
10.3 程序概要 296
10.4 初始化 297
10.5 功能函數調用 298
10.6 解析GPX 302
10.7 獲取邊框 303
10.8 下載地圖和高程影像 304
10.9 創建地形 306
10.10 創建地圖 307
10.11 高程測量 310
10.12 距離測量 311
10.13 獲取氣象數據 313
10.14 小結 317
Python地理空間分析指南(第2版) 下載 mobi epub pdf txt 電子書 格式