Python 與開源GIS ——數據處理、空間分析與地圖製圖

Python 與開源GIS ——數據處理、空間分析與地圖製圖

《Python 與開源GIS ——數據處理、空間分析與地圖製圖》是2019年科學出版社出版的圖書,作者是卜坤 。

基本介紹

  • 書名:Python 與開源GIS ——數據處理、空間分析與地圖製圖
  • 作者:卜坤
  • 出版社:科學出版社
  • ISBN:9787030629272
內容簡介,圖書目錄,

內容簡介

《Python 與開源GIS ——數據處理、空間分析與地圖製圖》從套用開發角度,根據作者多年的工作經驗,介紹Python語言在開源GIS中的套用。希望能夠藉此機會,使得開源GIS得到套用,並進一步推廣開源GIS的理念與技術。《Python 與開源GIS ——數據處理、空間分析與地圖製圖》主要以空間數據的處理、分析以及地圖製圖為主線。在選擇內容時,《Python 與開源GIS ——數據處理、空間分析與地圖製圖》以目前較為經典、常用的類庫為主,目的是給初學者系統地講解基本的概念。《Python 與開源GIS ——數據處理、空間分析與地圖製圖》用到一些數據,並有代碼,這些資源都可以從網站上下載,並且網站上的內容也會有相應的更新。《Python 與開源GIS ——數據處理、空間分析與地圖製圖》代碼經過了測試,可以在Linux作業系統中運行,大部分也可以在Windows作業系統中運行。

圖書目錄

目錄
前言
第1章 引言 1
1.1 GIS與開源GIS的基本概念 1
1.1.1 GIS的概念 1
1.1.2 位置、距離、度量與比例尺 4
1.1.3 地圖投影 7
1.1.4 空間分析的基本概念 11
1.1.5 開源GIS的概念 13
1.1.6 開源空間信息軟體體系與技術概述 16
1.2 GIS中的數據結構與數據類型 17
1.2.1 空間數據模型與數據格式 17
1.2.2 GeoTIFF檔案格式與顏色空間 19
1.2.3 常用矢量數據格式與檔案格式介紹 20
1.3 軟體安裝與環境配置 22
1.3.1 本書介紹的開源GIS 23
1.3.2 Debian Linux的安裝與配置 23
1.3.3 虛擬機的使用 25
1.3.4 編輯器與IDE 26
1.4 Python語言基本用法 27
1.4.1 Python基礎用法 28
1.4.2 Python的基本語句代碼結構與數據類型 30
1.4.3 流程控制 33
1.4.4 Python中的列表、元組與字典數據結構 36
1.5 本書的約定與注意事項 40
第2章 使用GDAL操作柵格數據 42
2.1 GDAL簡介 42
2.1.1 GDAL庫簡介 43
2.1.2 GDAL數據模型 44
2.2 使用GDAL獲取柵格數據集信息 48
2.2.1 開始使用GDAL 49
2.2.2 讀取遙感影像的信息 51
2.2.3 使用GDAL獲取柵格數據波段信息 54
2.3 訪問柵格數據中的像元 55
2.3.1 GDAL中的柵格數據類型 55
2.3.2 訪問數據集的數據 56
2.3.3 讀取波段中的數據 58
2.4 創建與保存柵格數據集 59
2.4.1 使用CreateCopy方法創建影像 60
2.4.2 使用Create方法創建影像 61
2.4.3 創建多波段影像 62
2.4.4 GDAL寫操作時的空間投影處理 63
2.4.5 建立影像金字塔 64
2.5 GDAL的其他問題 64
2.5.1 GDAL和Pillow的互操作 64
2.5.2 GDAL工具集介紹 67
2.5.3 訪問索引圖像中的數據 73
2.5.4 地圖代計算 77
2.5.5 GDAL中使用仿射地理變換進行空間定位 78
第3章 使用OGR庫操作矢量數據 81
3.1 OGR簡介 81
3.1.1 OGR的命令行工具 82
3.1.2 在Python中的OGR基本類 83
3.2 使用OGR獲取Shapefile信息 83
3.2.1 導入OGR庫 83
3.2.2 讀取矢量數據 84
3.2.3 獲取圖層信息 85
3.2.4 獲取要素信息 87
3.2.5 矢量數據的空間參考 90
3.3 使用OGR創建矢量數據 91
3.3.1 使用OGR創建Shapefile 91
3.3.2 使用OGR創建要素幾何形狀 92
3.3.3 使用WKT創建數據集的幾何形狀 96
3.3.4 使用OGR複製方法創建新的Shapefile 99
3.3.5 OGR屬性欄位的定義與使用 100
3.3.6 OGR中投影的處理方法 102
3.4 根據條件選擇數據 104
3.4.1 根據屬性條件選擇與生成要素 104
3.4.2 空間擇舍器 106
3.4.3 在OGR中使用SQL語句進行查詢 108
3.5 使用Fiona進行矢量數據讀寫與處理 109
3.5.1 Fiona簡介 110
3.5.2 讀取矢量數據 111
3.5.3 Fiona的數據模型 114
第4章 空間參考與坐標轉換 118
4.1 空間參考與坐標轉換原理 118
4.1.1 大地水準面、地球橢球體與基準面 118
4.1.2 PROJ.4、osgeo.osr模組及投影表示方法簡介 120
4.1.3 在PROJ.4 中了解橢球體與基準面 121
4.2 PROJ.4 命令行工具的使用 124
4.2.1 proj命令的用法 124
4.2.2 地圖投影設定 127
4.2.3 cs2cs程式的用法 130
4.2.4 geod程式的用法 131
4.3 在Python中使用PROJ.4的功能 133
4.3.1 Proj類 134
4.3.2 投影變換 136
4.3.3 Geod類的使用 137
4.4 osgeo.osr的使用方法 139
4.4.1 osr簡介 139
4.4.2 定義空間參考系統 139
4.4.3 空間參考對象的使用 142
4.4.4 從檔案中獲取投影信息 143
4.4.5 不同坐標系統之間轉換坐標 145
第5章 矢量數據的空間分析:使用Shapely 147
5.1 Shapely介紹 147
5.1.1 JTS、GEOS與Shapely 148
5.1.2 Shapely中的空間數據模型 148
5.1.3 Shapely的基本使用方法 150
5.2 Shapely中的幾何對象 151
5.2.1 通用屬性與方法 151
5.2.2 Shapely中的幾何要素 152
5.2.3 Shapely中的幾何集合 156
5.3 Shapely中謂詞與關係 160
5.3.1 一元謂詞 160
5.3.2 二元謂詞 162
5.3.3 DE九交模型關係 164
5.4 使用Shapely空間分析方法構建新對象 165
5.4.1 基於集合論方法構建新的幾何對象 166
5.4.2 構建新對象的方法 168
5.5 Shapely中其他操作 173
5.5.1 合併線狀要素 173
5.5.2 級聯合併 175
5.5.3 製備幾何操作 175
5.6 Shapely互操作的接口與使用 176
5.6.1 WKT格式 176
5.6.2 NumPy與Python列表 177
5.6.3 geo-interface接口與Shapely中的實現 178
第6章 使用SpatiaLite空間資料庫 181
6.1 開源空間資料庫的概念 182
6.1.1 SQLite與SpatiaLite介紹 182
6.1.2 安裝與基本使用 184
6.2 在命令行中使用SpatiaLiteShell 185
6.2.1 開始運行SpatiaLite命令行 185
6.2.2 SpatiaLite中的基本SQL資料庫查詢用法 188
6.2.3 導出GIS數據 190
6.2.4 創建SpatiaLite資料庫 191
6.2.5 SpatiaLite中管理空間表 193
6.3 空間索引的概念與使用 196
6.3.1 空間索引的概念 196
6.3.2 空間索引:在SQLite中使用R-Tree 197
6.3.3 空間索引:使用MbrCache 201
6.4 在Python中使用SpatiaLite進行數據管理 203
6.4.1 在Python中使用SpatiaLite 203
6.4.2 導入Shapefile 206
6.4.3 在表中進行空間查詢查找 207
6.5 SpatiaLite幾何類型的定義與使用 208
6.5.1 熟悉Geometry 208
6.5.2 幾何要素 210
6.5.3 最小外包矩形(MBR)214
6.5.4 創建與更新數據表 214
6.5.5 Python中SQLite的事務操作 217
6.5.6 管理坐標參考與坐標轉換 218
6.6 使用虛擬表連結其他格式數據執行SQL語句 221
6.6.1 在CSV與帶分隔設定的TXT檔案上進行SQL查詢 221
6.6.2 在Shapefile上執行SQL查詢 223
6.7 SpatiaLite中空間關係比較與空間運算 225
6.7.1 評價MBR關係 226
6.7.2 評價幾何對象之間的關係 228
6.7.3 幾何對象之間空間運算 231
第7章 GIS製圖:使用Mapnik進行地圖製圖 232
7.1 Mapnik地圖製圖基本概念與技術框架 233
7.1.1 Mapnik簡介 233
7.1.2 地圖製圖的背景知識 233
7.1.3 Mapnik製圖的工作流程 235
7.1.4 使用XML渲染地圖 239
7.2 Mapnik製圖的技術細節 240
7.2.1 地圖和圖層 240
7.2.2 地圖及圖層對象的屬性和方法 242
7.2.3 地圖暈渲與保存 244
7.2.4 渲染結果輸出 246
7.2.5 Mapnik製圖中的地圖投影 247
7.3 數據的讀取與設定 248
7.3.1 數據源 248
7.3.2 常用數據格式的讀取 248
7.3.3 使用GDAL/OGR包進行數據的讀取 249
7.3.4 使用文本數據源 250
7.4 繪製不同的要素 251
7.4.1 繪製柵格影像 251
7.4.2 繪製線 252
7.4.3 繪製多邊形 257
7.4.4 繪製標註 259
7.4.5 繪製點狀要素 264
7.5 數據顯示的規則 267
7.5.1 數據顯示的規則 267
7.5.2 按比例尺顯示要素 270
第8章 使用Basemap進行地圖可視化 272
8.1 Basemap簡介與基本使用方法 272
8.1.1 簡介 272
8.1.2 Basemap使用簡介 273
8.1.3 設定地圖投影 275
8.1.4 繪製地圖背景 279
8.1.5 控制製圖中的數據細節 282
8.2 在Basemap中添加Matplotlib繪製功能 284
8.2.1 使用annotate方法繪製標註 284
8.2.2 使用plot函式繪圖 286
8.2.3 使用text方法繪製文本 288
8.2.4 混合使用plot方法與text方法 289
8.3 在Basemap中使用GIS數據 291
8.3.1 使用Shapefile 291
8.3.2 在Basemap中繪製DEM數據等高線 292
8.3.3 在Basemap中使用顏色對渲染DEM數據 294
8.4 USGS地震數據可視化實例 297
8.4.1 全球地震數據集讀取 297
8.4.2 繪製地震數據集 298
第9章 Python下面其他開源GIS庫使用 302
9.1 使用PyShp讀寫Shapefile 302
9.1.1 PyShp的介紹與安裝 302
9.1.2 讀取Shapefile 303
9.1.3 創建Shapefile 309
9.2 使用geojson庫處理GeoJSON數據 313
9.2.1 geojson模組的安裝 313
9.2.2 geojson中的幾何對象

相關詞條

熱門詞條

聯絡我們