第1章 引言 1
1.1 為什麼使用Python和開源工具 2
1.2 空間數據的類型 3
1.3 地理數據處理 6
1.4 探究數據 8
1.5 小結 12
第2章 Python基礎 13
2.1 編寫和執行代碼 14
2.2 一個腳本的基本結構 15
2.3 變量 16
2.4 數據類型 17
2.4.1 布爾型 18
2.4.2 數值型 18
2.4.3 字符串 19
2.4.4 列錶和元組 21
2.4.5 集閤 23
2.4.6 字典 24
2.5 控製流 24
2.5.1 if語句 25
2.5.2 while語句 26
2.5.3 for語句 26
2.5.4 break、continue和else 27
2.6 函數 29
2.7 類 30
2.8 小結 31
第3章 讀寫矢量數據 32
3.1 矢量數據介紹 32
3.2 OGR介紹 38
3.3 讀取矢量數據 41
3.3.1 訪問特定要素 44
3.3.2 查看數據 46
3.4 獲取數據的元數據 48
3.5 矢量數據寫入 51
3.5.1 創建新的數據源 55
3.5.2 新建屬性字段 57
3.6 更新現有數據 58
3.6.1 改變圖層定義 59
3.6.2 要素添加、更新和刪除 60
3.7 小結 61
第4章 處理不同的矢量文件 63
4.1 矢量文件格式 63
4.1.1 基於文件的格式如shapefiles和GeoJSON 64
4.1.2 多用戶數據庫格式如PostGIS 66
4.2 處理更多的數據格式 67
4.2.1 SpatiaLite 67
4.2.2 PostGIS 69
4.2.3 文件夾作為數據源(shapefiles和CSV) 69
4.2.4 Esri文件地理數據庫 70
4.2.5 網絡要素服務 71
4.3 測試格式能力 79
4.4 小結 81
第5章 使用OGR過濾數據 83
5.1 屬性過濾條件 84
5.2 空間過濾條件 87
5.3 使用SQL創建臨時圖層 91
5.4 充分利用過濾條件 95
5.5 小結 96
第6章 利用OGR處理幾何要素 97
6.1 幾何對象介紹 98
6.2 處理點集 99
6.2.1 創建和編輯單點 99
6.2.2 創建和編輯多點:多點作為一個幾何類型 101
6.3 處理綫要素 103
6.3.1 創建和編輯單條綫 105
6.3.2 創建和編輯多綫:多綫作為一個幾何類型 109
6.4 處理多邊形 112
6.4.1 創建和編輯單多邊形 113
6.4.2 創建和編輯multipolygons:復閤多邊形成為一個幾何類型 115
6.4.3 編輯和創建帶洞的多邊形:甜甜圈 117
6.5 小結 120
第7章 使用GR進行矢量分析 121
7.1 疊加分析工具:什麼在什麼上麵 122
7.2 鄰近分析工具:要素之間有多遠 128
7.3 實例:風力發電場選址 132
7.4 實例:動物跟蹤數據 136
7.5 小結 144
第8章 使用空間參照係統參考係統 145
8.1 空間參考介紹 145
8.2 使用OSR空間參考 150
8.2.1 空間參考對象 150
8.2.2 創建控件參考對象 153
8.2.3 為數據分配SRS 155
8.2.4 幾何對象重投影 155
8.2.5 重投影整個圖層 159
8.3 使用pyproj空間參考 159
8.3.1 在不同空間參考係統中轉換坐標 160
8.3.2 計算大圓距離 162
8.4 小結 163
第9章 讀寫柵格數據 164
9.1 柵格數據介紹 165
9.2 GDAL介紹 170
9.3 讀取部分數據集 176
9.3.1 使用現實世界的坐標 181
9.3.2 數據重采樣 185
9.4 字節序列 188
9.5 子數據集 191
9.6 網絡地圖服務 192
9.7 小結 195
第10章 處理柵格數據 196
10.1 地麵控製點 197
10.2 將像素坐標轉換為另一圖像 200
10.3 顔色錶 203
10.4 直方圖 205
10.5 屬性錶 208
10.6 虛擬柵格格式 210
10.6.1 影像裁剪 212
10.6.2 創建問題格式 214
10.6.3 影像重投影 215
10.7 迴調函數 216
10.8 異常和錯誤處理程序 219
10.9 小結 222
第11章 使用NumPy和SciPy做地圖運算 223
11.1 NumPy介紹 224
11.2 地圖代數 227
11.2.1 局部分析 228
11.2.2 焦點分析 232
11.2.3 區域分析 243
11.2.4 全局分析 247
11.3 數據重采樣 252
11.4 小結 259
第12章 地圖分類 260
12.1 非監督分類 261
12.2 監督分類 263
12.3 小結 269
第13章 數據可視化 270
13.1 Matplotlib 270
13.1.1 繪製矢量數據 271
13.1.2 繪製柵格數據 282
13.1.3 繪製三維數據 287
13.2 Mapnik 289
13.2.1 繪製矢量數據 290
13.2.2 使用XML存儲信息 295
13.2.3 繪製柵格數據 297
13.3 小結 300
附錄A 安裝 301
附錄B 參考文獻 308
· · · · · · (
收起)