GIS軟件開發——基於Python編程語言

吳健平

  • 出版商: 科學出版
  • 出版日期: 2026-08-01
  • 售價: $528
  • 語言: 簡體中文
  • 頁數: 339
  • ISBN: 7030840992
  • ISBN-13: 9787030840998
  • 相關分類: 地理資訊系統 Gis
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

Python是目前使用最多的編程語言之一,有大量的第三方開發包,包括地理信息系統相關的開發包,其被廣泛應用於空間數據處理、地圖可視化、空間分析等方面的軟件開發。本教材介紹如何利用Python編程語言進行GIS軟件開發。全書分三篇,第一篇是GIS開發基礎,介紹GIS軟件類型及開發方法、GIS數據、GIS Web服務以及網頁數據采集;第二篇圍繞坐標參照系統、矢量數據操作、地理表格數據操作、柵格數據操作、Web地圖創建、圖形用戶界面應用開發等介紹相關Python開發包的使用;第三篇結合實際應用,介紹綜合開發實例,包括百度地圖Web服務應用、出租車軌跡數據處理分析、夜間燈光數據處理與分析、照片信息獲取與地圖可視化等。

目錄大綱

前言
第一篇 GIS開發基礎
第1章 GIS軟件類型及開發方法 3
1.1 GIS軟件類型 3
1.2 桌面GIS軟件開發 3
1.2.1 基於已有GIS平臺的二次開發 3
1.2.2 獨立的GIS工具開發 6
1.2.3 獨立的GIS應用系統開發 7
1.3 WebGIS軟件開發 7
1.3.1 WebGIS架構 7
1.3.2 靜態網頁開發 8
1.3.3 基於Leaflet的WebGIS開發 12
1.4 移動GIS軟件開發 17
1.4.1 APP形式的移動GIS軟件開發 17
1.4.2 Web形式的移動GIS軟件開發 18
1.4.3 微信小程序形式的GIS軟件開發 18
練習題 19
第2章 GIS數據 21
2.1 csv和Excel數據 21
2.2 JSON和GeoJSON數據 21
2.2.1 JSON數據 21
2.2.2 GeoJSON數據 23
2.3 XML和KML數據 28
2.3.1 XML數據 28
2.3.2 KML數據 29
2.4 shapefile數據 31
2.4.1 shp文件 31
2.4.2 shx文件 34
2.4.3 dbf文件 37
2.5 TIFF和Geo TIFF數據 39
2.5.1 柵格數據的特點 39
2.5.2 TIFF數據 40
2.5.3 Geo TIFF數據 44
練習題 47
第3章 GIS Web服務 48
3.1 概述 48
3.1.1 Web服務概述 48
3.1.2 GIS Web服務概述 50
3.2 Web地圖服務 50
3.3 Web地圖切片服務 54
3.4 Web要素服務 59
3.5 Web覆蓋服務 61
3.6 Web地理處理服務 62
練習題 63
第4章 網頁數據采集 64
4.1 網頁分析 64
4.2 網頁抓取 66
4.2.1 靜態網頁抓取 66
4.2.2 動態網頁抓取 70
4.3 網頁解析 72
4.3.1 利用BeautifulSoup的網頁解析 72
4.3.2 利用Selenium的網頁解析 76
4.3.3 利用pandas的read_html讀取網頁中的表格數據 80
練習題 81
第二篇 GIS開發中常用的Python包使用
第5章 坐標參照系統 85
5.1 坐標參照系統概念 85
5.1.1 地理坐標系統 85
5.1.2 投影坐標系統 86
5.2 坐標參照系統信息及表示 89
5.2.1 坐標參照系統信息 89
5.2.2 WKT CRS文本 89
5.2.3 proj4字符串和proj4字典 92
5.2.4 編碼值 94
5.3 使用pyproj進行坐標參照系統操作 95
5.3.1 坐標參照系統信息的相互轉換 95
5.3.2 坐標轉換 98
練習題 102
第6章 矢量數據操作 103
6.1 利用fiona包讀寫矢量數據 103
6.1.1 fiona基本情況 103
6.1.2 利用fiona讀矢量數據 104
6.1.3 利用fiona寫矢量數據 107
6.2 利用shapely包操作幾何對象 111
6.2.1 創建幾何對象 111
6.2.2 幾何對象的屬性 114
6.2.3 幾何對象的方法 115
6.2.4 幾何對象其他操作 118
6.3 fiona和shapely包綜合操作示例 119
練習題 122
第7章 地理表格數據操作 123
7.1 GeoPandas基本情況 123
7.2 GeoSeries和GeoDataFrame數據對象 123
7.2.1 GeoSeries數據對象 123
7.2.2 GeoDataFrame數據對象 125
7.3 利用GeoPandas讀寫矢量數據 127
7.3.1 利用GeoPandas讀矢量數據 127
7.3.2 利用GeoPandas寫矢量數據 130
7.4 GeoDataFrame數據對象幾何操作 131
7.4.1 坐標轉換 131
7.4.2 計算距離 132
7.4.3 緩沖分析 133
7.4.4 空間拓撲分析 135
7.4.5 疊置操作 136
練習題 137
第8章 空間柵格數據操作 138
8.1 概述 138
8.2 讀柵格數據 138
8.2.1 獲取柵格數據基本信息 138
8.2.2 返回波段數據對象 140
8.2.3 返回柵格值數組 141
8.2.4 行列坐標與空間坐標相互轉換 142
8.2.5 柵格數據顯示 146
8.3 創建柵格數據 148
8.3.1 創建空白柵格數據文件 148
8.3.2 柵格數據賦值 150
8.3.3 矢量數據轉柵格數據 151
8.3.4 設置柵格數據輔助信息 152
8.4 柵格數據處理 155
8.4.1 空間數據插值 155
8.4.2 提取柵格數據的子區 157
8.4.3 柵格數據坐標轉換 160
8.4.4 柵格數據掩膜處理 165
8.4.5 空間濾波 167
8.4.6 柵格數據分類 169
練習題 171
第9章 基於folium的Web地圖創建 172
9.1 地圖控件 172
9.1.1 Map控件 172
9.1.2 MiniMap控件 174
9.1.3 DualMap控件 175
9.2 矢量要素符號 176
9.2.1 基本的矢量要素符號 176
9.2.2 擴展的矢量要素符號 178
9.2.3 Marker符號設置 180
9.2.4 圖形符號設置 183
9.2.5 矢量要素符號的Tooltip和Popup 184
9.3 圖層對象 186
9.3.1 矢量要素符號圖層 186
9.3.2 GeoJSON圖層 188
9.3.3 Choropleth圖層 197
9.3.4 Tile圖層 198
9.3.5 WMS圖層 199
9.3.6 ImageOverlay圖層 201
9.3.7 VideoOverlay圖層 202
9.3.8 HeatMap圖層 204
9.4 其他控件 205
9.4.1 MousePosition控件 205
9.4.2 MeasureControl控件 206
9.4.3 Draw控件 207
9.4.4 LocateControl控件 208
9.4.5 Search控件 209
9.4.6 Geocoder控件 211
練習題 211
第10章 利用PyQt開發GUI應用 213
10.1 基本情況 213
10.1.1 Qt和PyQt 213
10.1.2 創建應用 213
10.1.3 GUI應用程序打包 214
10.2 常用控件 214
10.2.1 控件基本特性 215
10.2.2 窗體 215
10.2.3 QLabel控件 216
10.2.4 文本框類控件 217
10.2.5 按鈕類控件 219
10.2.6 QComboBox控件 221
10.2.7 QTableWidget控件 222
10.2.8 QTreeWidget控件 224
10.2.9 對話框類控件 226
10.2.10 菜單欄、工具欄和狀態欄 230
10.3 事件處理 231
10.3.1 重寫事件處理函數 232
10.3.2 利用信號與槽機制 236
10.4 圖形和圖像 239
10.4.1 圖形對象 239
10.4.2 圖像對象 240
10.5 Graphics View框架 242
10.5.1 Graphics View框架的對象 242
10.5.2 Graphics View框架的坐標 246
10.5.3 圖元操作 249
10.6 Qt Designer使用 256
10.6.1 Qt Designer界面 256
10.6.2 構建窗體的步驟 256
10.6.3 ui文件的編譯與調用 260
10.7 利用PyQt開發桌面GIS軟件 261
練習題 273
第三篇 綜合開發實例
第11章 百度地圖Web服務應用 279
11.1 概述 279
11.2 坐標轉換服務 279
11.3 靜態地圖調用服務 283
11.4 地理編碼 285
11.4.1 地理編碼概念 285
11.4.2 正向地理編碼 286
11.4.3 逆向地理編碼 291
11.5 POI檢索服務 294
11.6 輕量級路線規劃服務 299
練習題 303
第12章 出租車軌跡數據處理分析 304
12.1 數據情況 304
12.2 數據讀取與地圖可視化 304
12.3 出租車上下客信息提取 307
12.4 停留檢測 310
12.5 出租車上下客點DBSCAN聚類分析 314
練習題 317
第13章 夜間燈光數據處理與分析 318
13.1 夜間燈光數據介紹 318
13.2 子區提取、坐標轉換與掩膜處理 319
13.3 非燈光柵格的檢測與處理 321
13.4 夜間燈光總值分區統計與GDP的回歸分析 327
練習題 330
第14章 照片信息獲取與地圖可視化 331
14.1 獲取照片元數據 331
14.2 獲取照片的地址信息 333
14.3 照片空間可視化 336
練習題 339
主要參考文獻 340