PostGIS 實戰, 3/e Postgis in Action, 3/e
[美] 里賈納·奧伯(Regina Obe),利歐·許(Leo Hsu)著 王亮 杜朋 但波 譯
- 出版商: 清華大學
- 出版日期: 2023-06-01
- 定價: $954
- 售價: 8.5 折 $811 (限時優惠至 2024-12-31)
- 語言: 簡體中文
- 頁數: 473
- 裝訂: 平裝
- ISBN: 7302632863
- ISBN-13: 9787302632863
-
相關分類:
PostgreSQL、地理資訊系統 Gis
- 此書翻譯自: Postgis in Action, 3/e (Paperback)
立即出貨
買這商品的人也買了...
-
$980$774 -
$690$587 -
$680$537 -
$480$379 -
$680$537 -
$505深入解析 Android 虛擬機
-
$815深入 Linux 內核架構 (Professional Linux Kernel Architecture)
-
$790$616 -
$580$458 -
$354$336 -
$354$336 -
$534$507 -
$720$562 -
$580$458 -
$580$458 -
$400$316 -
$654$621 -
$560$437 -
$305Linux 環境下 C程序設計
-
$474$450 -
$1,585$1,506 -
$654$621 -
$1,015自動駕駛場景與 ASAM OpenX 標準應用
-
$588$559 -
$768$730
相關主題
商品描述
《PostGIS實戰(第3版)》是一本介紹如何使用PostGIS進行地理數據處理的書籍。它展示了如何使用PostGIS擴展解決現實世界的地理數據問題。本書提供了一些特性和支持,使用戶能夠輕鬆處理地理數據任務,並創建位置感知查詢、制圖、柵格分析和路由應用程序的後端。
《PostGIS實戰(第3版)》的主要內容包括:
- 學習基本的制圖技巧,以展示地理數據
- 探索如何使用自定義函數進一步擴展應用程序的功能
- 引入新的PostGIS特性,如PostGIS窗口函數、並行查詢和矢量切片函數
- 針對PostGIS 3.1和PostgreSQL 13進行修訂和優化
- 簡化幾何圖形以提高處理效率
- 將PostGIS應用擴展到網絡和桌面應用程序
這本書的目標是幫助讀者更好地理解和應用PostGIS,並通過優化查詢和提高效率來改善地理數據處理的速度。它適用於對地理數據處理感興趣的專業人士和開發人員。
目錄大綱
目 錄
第Ⅰ部分 PostGIS簡介
第1章 什麽是空間數據庫 3
1.1 空間思維 3
1.2 初步瞭解PostGIS 5
1.2.1 為什麽選擇PostGIS 6
1.2.2 適用標準 6
1.2.3 強大的PostGIS 7
1.2.4 建立在PostgreSQL之上 8
1.2.5 金錢上免費 8
1.2.6 使用上自由 8
1.2.7 PostGIS的替代選擇 9
1.3 安裝PostGIS 11
1.4 空間數據類型 13
1.4.1 幾何類型 14
1.4.2 地理類型 14
1.4.3 柵格類型 15
1.4.4 拓撲類型 15
1.5 你好,真實世界 16
1.5.1 理解問題 16
1.5.2 建模 17
1.5.3 加載數據 19
1.5.4 編寫查詢代碼 21
1.5.5 使用OpenJUMP查看空間數據 21
1.6 本章小結 23
第2章 空間數據類型 25
2.1 類型修飾符 26
2.1.1 子類型修飾符 26
2.1.2 空間參考標識符 27
2.2 幾何 27
2.2.1 點 28
2.2.2 線串 29
2.2.3 多邊形 30
2.2.4 幾何圖形集合 33
2.2.5 M坐標 37
2.2.6 Z坐標 38
2.2.7 多面體錶面和TIN 40
2.2.8 生成TIN 41
2.2.9 曲線幾何圖形 42
2.2.10 幾何圖形的空間目錄 46
2.3 地理 49
2.3.1 geography和geometry的區別 49
2.3.2 geography空間目錄 51
2.4 柵格 51
2.4.1 柵格的屬性 51
2.4.2 創建柵格 53
2.4.3 柵格空間目錄 54
2.5 本章小結 55
第3章 空間參考系統 57
3.1 空間參考系統是什麽 57
3.1.1 大地水準面 58
3.1.2 橢球體 59
3.1.3 基準 61
3.1.4 坐標參考系統 61
3.1.5 空間參考系統要素 62
3.1.6 投影 62
3.2 選擇存儲數據的空間參考系統 64
3.2.1 使用EPSG:4326的利弊 65
3.2.2 EPSG:4326地理數據類型 66
3.2.3 僅用於演示的地圖 66
3.2.4 在涉及距離時覆蓋全球 69
3.3 確定源數據的空間參考系統 72
3.3.1 推測空間參考系統 72
3.3.2 當spatial_ref_sys表中缺少SRS時 76
3.4 PostGIS中PROJ支持的歷史 76
3.4.1 PROJ 4 77
3.4.2 PROJ 5 77
3.4.3 PROJ 6 77
3.4.4 PROJ 7 78
3.4.5 PROJ 8和更高版本 78
3.5 本章小結 78
第4章 處理真實數據 81
4.1 PostgreSQL內置工具 82
4.1.1 psql 82
4.1.2 pgAdmin 4 83
4.1.3 pg_dump和pg_restore 84
4.2 下載文件 84
4.3 提取文件 85
4.4 導入和導出形狀文件 86
4.4.1 使用shp2pgsql導入 86
4.4.2 使用shp2pgsql-gui導入和導出 88
4.4.3 使用pgsql2shp導出 90
4.5 使用ogr2ogr導入和導出矢量數據 91
4.5.1 ogr2ogr的環境變量 92
4.5.2 ogrinfo 92
4.5.3 使用ogr2ogr導入 92
4.5.4 使用ogr2ogr導出 96
4.6 使用PostgreSQL外部數據封裝器查詢外部數據 99
4.6.1 file_fdw外部數據封裝器 100
4.6.2 ogr_fdw外部數據封裝器 102
4.6.3 將hstore標記轉換為jsonb 106
4.7 使用raster2pgsql導入柵格數據 107
4.7.1 raster2pgsql命令行開關 107
4.7.2 raster2pgsql支持的格式 108
4.7.3 使用raster2pgsql加載單個文件 109
4.7.4 在shell腳本中加載多個文件並進行切片 109
4.7.5 使用PostgreSQL函數輸出柵格數據 110
4.8 使用GDAL導出柵格數據 111
4.8.1 使用gdalinfo檢查柵格 112
4.8.2 gdal_translate和gdalwarp 113
4.9 本章小結 115
第5章 在桌面上使用PostGIS 117
5.1 桌面查看工具一瞥 117
5.1.1 OpenJUMP簡介 118
5.1.2 QGIS簡介 118
5.1.3 gvSIG簡介 119
5.1.4 Jupyter記事本和JupyterLab簡介 119
5.1.5 空間數據庫支持 120
5.1.6 格式支持 121
5.1.7 支持的Web服務 122
5.2 OpenJUMP 123
5.2.1 OpenJUMP特性總結 123
5.2.2 安裝OpenJUMP 123
5.2.3 易用性 124
5.2.4 OpenJUMP插件 124
5.2.5 OpenJUMP腳本 124
5.2.6 OpenJUMP格式支持 124
5.2.7 PostGIS支持 124
5.2.8 註冊數據源 125
5.2.9 渲染PostGIS幾何圖形 126
5.2.10 導出數據 128
5.3 QGIS 128
5.3.1 安裝QGIS 129
5.3.2 將QGIS與PostGIS結合起來使用 129
5.4 gvSIG 134
5.4.1 gvSIG與PostGIS搭配使用 135
5.4.2 導出數據 137
5.5 JupyterLab和Jupyter記事本 137
5.5.1 安裝Jupyter 138
5.5.2 啟動Jupyter記事本 139
5.5.3 啟動JupyterLab 139
5.5.4 創建Python記事本文件 140
5.5.5 魔術命令 140
5.5.6 使用Jupyter記事本執行原始查詢 141
5.5.7 使用GeoPandas、Shapely和Matplotlib處理空間數據 142
5.5.8 使用folium查看地圖上的數據 145
5.6 本章小結 147
第6章 幾何和地理函數 149
6.1 輸出函數 150
6.1.1 WKT和WKB 150
6.1.2 Keyhole標記語言 150
6.1.3 地理標記語言 151
6.1.4 幾何JavaScript對象表示法 151
6.1.5 可縮放矢量圖形 151
6.1.6 Mapbox矢量切片和協議緩沖區 152
6.1.7 Tiny WKB 153
6.1.8 可擴展3D圖形 153
6.1.9 輸出函數示例 153
6.1.10 Geohash 154
6.2 構造函數 155
6.2.1 使用文本和二進制格式創建幾何圖形 155
6.2.2 使用文本和二進制格式創建地理圖形 158
6.2.3 將文本或二進製表示用作函數參數 159
6.3 訪問器和設置器函數 159
6.3.1 空間參考標識符 160
6.3.2 將幾何圖形轉換為不同的空間參考 160
6.3.3 使用地理類型的轉換 161
6.3.4 幾何類型函數 162
6.3.5 幾何維度和坐標維度 163
6.3.6 檢索坐標 164
6.3.7 檢查幾何有效性 164
6.3.8 定義幾何圖形的點數 164
6.4 測量函數 166
6.4.1 幾何平面測量 166
6.4.2 大地測量 167
6.5 分解函數 168
6.5.1 幾何圖形的邊界框 168
6.5.2 生成邊界和將多邊形轉換為線串 170
6.5.3 形心、中間點和錶面上的點 171
6.5.4 返回定義幾何圖形的點 173
6.5.5 分解多個幾何圖形和幾何圖形集合 173
6.6 合成函數 175
6.6.1 合成點 175
6.6.2 合成多邊形 176
6.6.3 將單個幾何圖形提升為幾何圖形集合 177
6.7 簡化函數 178
6.7.1 柵格捕捉和坐標舍入 178
6.7.2 簡化函數 178
6.8 本章小結 180
第7章 柵格函數 181
7.1 柵格術語 182
7.2 柵格構造函數 183
7.2.1 使用ST_AsRaster將幾何圖形轉換為柵格 184
7.2.2 使用raster2pgsql加載柵格 186
7.2.3 從頭開始構建柵格:
ST_MakeEmptyRaster和
ST_AddBand 187
7.2.4 設置像素:ST_SetValue和ST_SetValues 187
7.2.5 利用其他柵格創建柵格 189
7.2.6 使用ST_FromGDALRaster轉換其他柵格格式 191
7.3 柵格輸出函數 191
7.3.1 ST_AsPNG、ST_AsJPEG和ST_AsTiff 191
7.3.2 使用ST_AsGDALRaster進行輸出 192
7.3.3 使用psql導出柵格 194
7.4 柵格訪問器和設置器 196
7.4.1 基本柵格元數據屬性 196
7.4.2 像素統計 197
7.4.3 像素值訪問器 198
7.4.4 波段元數據設置器 200
7.5 地理配準函數 200
7.5.1 元數據設置器 201
7.5.2 處理函數 202
7.6 重分類函數 204
7.7 多邊形化函數 205
7.7.1 ST_ConvexHull 205
7.7.2 ST_Envelope 205
7.7.3 ST_Polygon 205
7.7.4 ST_MinConvexHull 206
7.8 本章小結 206
第8章 空間關系 207
8.1 邊界框和幾何比較器 208
8.1.1 邊界框 208
8.1.2 邊界框比較器 209
8.2 兩個幾何圖形的關系 210
8.2.1 幾何圖形的內部、外部和邊界 210
8.2.2 相交 211
8.2.3 房屋平面圖模型 215
8.2.4 包含和內部 216
8.2.5 覆蓋和被覆蓋 218
8.2.6 完全包含 218
8.2.7 幾何圖形重疊 219
8.2.8 接觸幾何圖形 220
8.2.9 相等的不同方面:幾何 222
8.2.10 關系函數的基礎 224
8.3 本章小結 227
第Ⅱ部分 將PostGIS投入工作
第9章 鄰近度分析 231
9.1 最近鄰搜索 232
9.1.1 哪些位置在X距離之內 232
9.1.2 對N個最接近的結果使用ST_DWithin和ST_Distance函數 232
9.1.3 使用ST_DWithin函數和DISTINCT ON查找最近的位置 232
9.1.4 與公差相交 233
9.1.5 距離之間的條目 234
9.1.6 使用KNN距離運算符查找N個最近的位置 234
9.2 將KNN用於地理類型 237
9.3 地理標記 239
9.3.1 特定區域的標記數據 240
9.3.2 線性參照:線串的最近捕捉點 240
9.3.3 PostGIS聚類窗口函數 242
9.4 本章小結 244
第10章 PostGIS TIGER 地理編碼 245
10.1 安裝PostGIS TIGER地理編碼器 246
10.2 加載TIGER數據 246
10.2.1 配置表 247
10.2.2 加載國家/地區和州數據 248
10.3 標準化地址 250
10.3.1 使用normalize_address 250
10.3.2 使用PAGC地址標準化程序 252
10.4 地理編碼 254
10.4.1 使用地址文本進行地理編碼 254
10.4.2 使用標準化地址進行地理編碼 256
10.4.3 地理編碼交集 256
10.4.4 批處理地理編碼 257
10.5 反向地理編碼 259
10.6 本章小結 260
第11章 幾何與地理處理 261
11.1 利用空間聚合函數 261
11.1.1 利用多個多邊形集合記錄創建一個多邊形集合 261
11.1.2 將點連為線串 265
11.2 裁剪、拆分和嵌格 267
11.2.1 裁剪 267
11.2.2 拆分 268
11.2.3 嵌格 269
11.3 將線串分段 277
11.3.1 拆分線串 277
11.3.2 用多點線串創建兩點線串 278
11.3.3 在點連接處切斷線串 279
11.4 平移、縮放、旋轉幾何圖形 282
11.4.1 平移 282
11.4.2 縮放 283
11.4.3 旋轉 284
11.5 利用幾何函數操作和創建地理數據 285
11.5.1 cast-safe函數 286
11.5.2 transformation-recommended函數 286
11.6 本章小結 287
第12章 柵格處理 289
12.1 加載和準備柵格數據 289
12.2 利用空間聚合函數形成更大的柵格 291
12.2.1 重組切片文件 291
12.2.2 利用裁剪和合並分割出感興趣的區域 292
12.2.3 使用ST_Union的特定表達式類型 292
12.3 與波段有關的處理 293
12.3.1 利用ST_AddBand將單波段柵格合並成多波段柵格 293
12.3.2 利用ST_Band處理波段的子集 294
12.4 生成柵格切片 294
12.5 柵格和幾何圖形的交集 296
12.5.1 像素統計 298
12.5.2 利用ST_Value函數和ST_SetZ
函數向二維線串添加Z坐標 298
12.5.3 將二維多邊形轉化為三維多面體 300
12.6 柵格統計 301
12.6.1 提取像素值 302
12.6.2 柵格統計函數 304
12.7 地圖代數 306
12.7.1 在表達式和回調函數之間做選擇 306
12.7.2 使用一個單波段地圖代數表達式 307
12.7.3 使用一個單波段地圖代數函數 308
12.7.4 鄰域地圖代數 309
12.8 本章小結 311
第13章 構建和使用拓撲 313
13.1 什麽是拓撲 314
13.2 使用拓撲 314
13.2.1 安裝拓撲擴展 315
13.2.2 創建拓撲 315
13.2.3 拓撲幾何圖形類型 320
13.2.4 對拓撲用法的簡要回顧 323
13.3 維多利亞市的拓撲 323
13.3.1 創建維多利亞的拓撲 323
13.3.2 向拓撲中添加原語 324
13.3.3 創建拓撲幾何圖形 326
13.4 通過編輯拓撲原語來修復拓撲幾何問題 330
13.4.1 通過刪除邊來移除面 332
13.4.2 檢查共享面 333
13.4.3 編輯拓撲幾何 334
13.5 插入和編輯大型數據集 334
13.6 拓撲的簡化 337
13.7 拓撲驗證和匯總函數 338
13.8 本章小結 339
第14章 組織空間數據 341
14.1 空間存儲方法 341
14.1.1 異構列 342
14.1.2 同構列 343
14.1.3 typmod與約束對比 344
14.1.4 表繼承 345
14.1.5 表分區 348
14.2 建模真實的城市 352
14.2.1 使用異構幾何列建模 353
14.2.2 使用同構幾何列建模 356
14.2.3 使用分區建模 358
14.3 創建可自動更新的視圖 363
14.4 使用觸發器和規則 364
14.4.1 觸發器 364
14.4.2 使用INSTEAD OF觸發器 365
14.4.3 使用其他觸發器 366
14.5 本章小結 368
第15章 查詢性能調優 369
15.1 查詢規劃器 369
15.1.1 不同類型的空間查詢 370
15.1.2 公用表表達式及其對規劃的影響 372
15.2 規劃器策略 373
15.3 使用解釋來診斷問題 374
15.3.1 文本解釋與pgAdmin圖形化解釋 375
15.3.2 無索引的規劃 376
15.4 規劃器與索引 380
15.4.1 具有空間索引的規劃 381
15.4.2 索引 383
15.5 常見SQL模式及其對規劃的影響 386
15.5.1 SELECT中的子查詢 386
15.5.2 FROM子查詢與基本公用表表達式 393
15.5.3 窗口函數與自連接 394
15.5.4 橫向連接 396
15.6 系統和函數設置 398
15.6.1 影響規劃策略的關鍵系統變量 399
15.6.2 函數專用設置 401
15.6.3 鼓勵並行規劃 403
15.7 優化空間數據 403
15.7.1 修復無效的幾何圖形 404
15.7.2 通過簡化來減少頂點數量 404
15.7.3 通過拆分幾何圖形來減少頂點數量 404
15.7.4 集群 404
15.8 本章小結 407
第Ⅲ部分 搭配其他工具使用PostGIS
第16章 使用pgRouting和過程化語言擴展PostGIS 411
16.1 使用pgRouting解決網絡路由問題 412
16.2 使用PL擴展PostgreSQL 418
16.2.1 PL的基本安裝 418
16.2.2 你能用PL做什麽 418
16.3 PL/R 420
16.3.1 PL/R入門 420
16.3.2 你能用PL/R做什麽 421
16.3.3 在PL/R中使用R包 424
16.3.4 將幾何圖形轉換為R空間對象並繪制空間對象 426
16.3.5 將繪圖輸出為二進制文件 427
16.4 PL/Python 428
16.4.1 安裝PL/Python 428
16.4.2 編寫一個PL/Python函數 429
16.4.3 使用Python包 430
16.4.4 地理編碼示例 432
16.5 PL/V8:數據庫中的JavaScript 433
16.5.1 安裝PL/V8 433
16.5.2 在數據庫中啟用PL/V8 434
16.5.3 在PL/V8中使用其他JavaScript庫和函數 434
16.5.4 使用PL/V8編寫地圖代數函數 437
16.6 本章小結 440
第17章 在Web應用程序中使用PostGIS 441
17.1 傳統Web技術的局限性 442
17.2 地圖服務器 442
17.2.1 輕量級地圖服務器 443
17.2.2 完整地圖服務器 445
17.3 地圖客戶端 448
17.4 使用MapServer 450
17.4.1 安裝MapServer 450
17.4.2 安全性考慮 452
17.4.3 創建WMS和WFS服務 452
17.4.4 使用反向代理調用地圖服務 455
17.5 使用GeoServer 456
17.5.1 安裝GeoServer 456
17.5.2 設置PostGIS工作空間 456
17.5.3 通過GeoServer WMS/WFS訪問PostGIS圖層 458
17.6 OpenLayers和Leaflet基礎 459
17.6.1 OpenLayers入門 460
17.6.2 Leaflet入門 463
17.6.3 OpenLayers和Leaflet API總結 465
17.7 通過PostGIS查詢和Web腳本顯示數據 465
17.7.1 使用PostGIS和PostgreSQL幾何輸出函數 465
17.7.2 使用PostGIS的MVT輸出函數 470
17.8 本章小結 473
以下內容通過掃描封底二維碼獲取
附錄A 其他資源 475
附錄B 安裝、編譯和升級 479
附錄C SQL入門 489