Python 地理空間分析指南, 2/e (Learning Geospatial Analysis with Python, 2/e) Python地理空间分析指南(第2版)

萊哈德 (Joel Lawhead)

買這商品的人也買了...

商品描述

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章P ython的地理空間分析工具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查詢優化16 1 
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