注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計PostGIS實戰(zhàn)(第3版)

PostGIS實戰(zhàn)(第3版)

PostGIS實戰(zhàn)(第3版)

定 價:¥159.00

作 者: [美] 里賈納·奧伯(Regina Obe),利歐·許(Leo Hsu)著,王亮 杜朋 但波 譯
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302632863 出版時間: 2023-06-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  PostGIS是PostgreSQL的空間數(shù)據(jù)庫擴(kuò)展。它可以為要處理的幾乎任何地理數(shù)據(jù)任務(wù)提供特性和支持。通過使用PostGIS,用戶只需要編寫幾行SQL代碼就能夠創(chuàng)建位置感知查詢,并輕松構(gòu)建制圖、柵格分析或路由應(yīng)用程序的后端。 《PostGIS實戰(zhàn)(第3版)》展示了如何解決現(xiàn)實世界的地理數(shù)據(jù)問題。你將**基本的制圖,探索應(yīng)用程序的自定義函數(shù)。這個**版本引入了新的PostGIS特性,如PostGIS窗口函數(shù)、并行查詢,以及使用JSON和矢量切片函數(shù)為應(yīng)用程序輸出數(shù)據(jù)。 ●針對PostGIS 3.1和PostgreSQL 13進(jìn)行了修訂 ●優(yōu)化查詢以獲得**速度 ●簡化幾何圖形以提高效率 ●將PostGIS擴(kuò)展到網(wǎng)絡(luò)和桌面應(yīng)用程序

作者簡介

  Regina Obe和Leo Hsu是數(shù)據(jù)庫顧問和作者。Regina是PostGIS核心開發(fā)團(tuán)隊和項目指導(dǎo)委員會的成員。

圖書目錄

第Ⅰ部分 PostGIS簡介
第1章 什么是空間數(shù)據(jù)庫 3
1.1  空間思維 3
1.2  初步了解PostGIS 5
1.2.1  為什么選擇PostGIS 6
1.2.2  適用標(biāo)準(zhǔn) 6
1.2.3  強(qiáng)大的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  空間數(shù)據(jù)類型 13
1.4.1  幾何類型 14
1.4.2  地理類型 14
1.4.3  柵格類型 15
1.4.4  拓?fù)漕愋?15
1.5  你好,真實世界 16
1.5.1  理解問題 16
1.5.2  建模 17
1.5.3  加載數(shù)據(jù) 19
1.5.4  編寫查詢代碼 21
1.5.5  使用OpenJUMP查看空間數(shù)據(jù) 21
1.6  本章小結(jié) 23
第2章  空間數(shù)據(jù)類型 25
2.1  類型修飾符 26
2.1.1  子類型修飾符 26
2.1.2  空間參考標(biāo)識符 27
2.2  幾何 27
2.2.1  點 28
2.2.2  線串 29
2.2.3  多邊形 30
2.2.4  幾何圖形集合 33
2.2.5  M坐標(biāo) 37
2.2.6  Z坐標(biāo) 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的區(qū)別 49
2.3.2  geography空間目錄 51
2.4  柵格 51
2.4.1  柵格的屬性 51
2.4.2  創(chuàng)建柵格 53
2.4.3  柵格空間目錄 54
2.5  本章小結(jié) 55
第3章  空間參考系統(tǒng) 57
3.1  空間參考系統(tǒng)是什么 57
3.1.1  大地水準(zhǔn)面 58
3.1.2  橢球體 59
3.1.3  基準(zhǔn) 61
3.1.4  坐標(biāo)參考系統(tǒng) 61
3.1.5  空間參考系統(tǒng)要素 62
3.1.6  投影 62
3.2  選擇存儲數(shù)據(jù)的空間參考系統(tǒng) 64
3.2.1  使用EPSG:4326的利弊 65
3.2.2  EPSG:4326地理數(shù)據(jù)類型 66
3.2.3  僅用于演示的地圖 66
3.2.4  在涉及距離時覆蓋全球 69
3.3  確定源數(shù)據(jù)的空間參考系統(tǒng) 72
3.3.1  推測空間參考系統(tǒng) 72
3.3.2  當(dāng)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  本章小結(jié) 78
第4章  處理真實數(shù)據(jù) 81
4.1  PostgreSQL內(nèi)置工具 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  導(dǎo)入和導(dǎo)出形狀文件 86
4.4.1  使用shp2pgsql導(dǎo)入 86
4.4.2  使用shp2pgsql-gui導(dǎo)入和導(dǎo)出 88
4.4.3  使用pgsql2shp導(dǎo)出 90
4.5  使用ogr2ogr導(dǎo)入和導(dǎo)出矢量數(shù)據(jù) 91
4.5.1  ogr2ogr的環(huán)境變量 92
4.5.2  ogrinfo 92
4.5.3  使用ogr2ogr導(dǎo)入 92
4.5.4  使用ogr2ogr導(dǎo)出 96
4.6  使用PostgreSQL外部數(shù)據(jù)封裝器查詢外部數(shù)據(jù) 99
4.6.1  file_fdw外部數(shù)據(jù)封裝器 100
4.6.2  ogr_fdw外部數(shù)據(jù)封裝器 102
4.6.3  將hstore標(biāo)記轉(zhuǎn)換為jsonb 106
4.7  使用raster2pgsql導(dǎo)入柵格數(shù)據(jù) 107
4.7.1  raster2pgsql命令行開關(guān) 107
4.7.2  raster2pgsql支持的格式 108
4.7.3  使用raster2pgsql加載單個文件 109
4.7.4  在shell腳本中加載多個文件并進(jìn)行切片 109
4.7.5  使用PostgreSQL函數(shù)輸出柵格數(shù)據(jù) 110
4.8  使用GDAL導(dǎo)出柵格數(shù)據(jù) 111
4.8.1  使用gdalinfo檢查柵格 112
4.8.2  gdal_translate和gdalwarp 113
4.9  本章小結(jié) 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  空間數(shù)據(jù)庫支持 120
5.1.6  格式支持 121
5.1.7  支持的Web服務(wù) 122
5.2  OpenJUMP 123
5.2.1  OpenJUMP特性總結(jié) 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  注冊數(shù)據(jù)源 125
5.2.9  渲染PostGIS幾何圖形 126
5.2.10  導(dǎo)出數(shù)據(jù) 128
5.3  QGIS 128
5.3.1  安裝QGIS 129
5.3.2  將QGIS與PostGIS結(jié)合起來使用 129
5.4  gvSIG 134
5.4.1  gvSIG與PostGIS搭配使用 135
5.4.2  導(dǎo)出數(shù)據(jù) 137
5.5  JupyterLab和Jupyter記事本 137
5.5.1  安裝Jupyter 138
5.5.2  啟動Jupyter記事本 139
5.5.3  啟動JupyterLab 139
5.5.4  創(chuàng)建Python記事本文件 140
5.5.5  魔術(shù)命令 140
5.5.6  使用Jupyter記事本執(zhí)行原始查詢 141
5.5.7  使用GeoPandas、Shapely和Matplotlib處理空間數(shù)據(jù) 142
5.5.8  使用folium查看地圖上的數(shù)據(jù) 145
5.6  本章小結(jié) 147
第6章  幾何和地理函數(shù) 149
6.1  輸出函數(shù) 150
6.1.1  WKT和WKB 150
6.1.2  Keyhole標(biāo)記語言 150
6.1.3  地理標(biāo)記語言 151
6.1.4  幾何JavaScript對象表示法 151
6.1.5  可縮放矢量圖形 151
6.1.6  Mapbox矢量切片和協(xié)議緩沖區(qū) 152
6.1.7  Tiny WKB 153
6.1.8  可擴(kuò)展3D圖形 153
6.1.9  輸出函數(shù)示例 153
6.1.10  Geohash 154
6.2  構(gòu)造函數(shù) 155
6.2.1  使用文本和二進(jìn)制格式創(chuàng)建幾何圖形 155
6.2.2  使用文本和二進(jìn)制格式創(chuàng)建地理圖形 158
6.2.3  將文本或二進(jìn)制表示用作函數(shù)參數(shù) 159
6.3  訪問器和設(shè)置器函數(shù) 159
6.3.1  空間參考標(biāo)識符 160
6.3.2  將幾何圖形轉(zhuǎn)換為不同的空間參考 160
6.3.3  使用地理類型的轉(zhuǎn)換 161
6.3.4  幾何類型函數(shù) 162
6.3.5  幾何維度和坐標(biāo)維度 163
6.3.6  檢索坐標(biāo) 164
6.3.7  檢查幾何有效性 164
6.3.8  定義幾何圖形的點數(shù) 164
6.4  測量函數(shù) 166
6.4.1  幾何平面測量 166
6.4.2  大地測量 167
6.5  分解函數(shù) 168
6.5.1  幾何圖形的邊界框 168
6.5.2  生成邊界和將多邊形轉(zhuǎn)換為線串 170
6.5.3  形心、中間點和表面上的點 171
6.5.4  返回定義幾何圖形的點 173
6.5.5  分解多個幾何圖形和幾何圖形集合 173
6.6  合成函數(shù) 175
6.6.1  合成點 175
6.6.2  合成多邊形 176
6.6.3  將單個幾何圖形提升為幾何圖形集合 177
6.7  簡化函數(shù) 178
6.7.1  柵格捕捉和坐標(biāo)舍入 178
6.7.2  簡化函數(shù) 178
6.8  本章小結(jié) 180
第7章  柵格函數(shù) 181
7.1  柵格術(shù)語 182
7.2  柵格構(gòu)造函數(shù) 183
7.2.1  使用ST_AsRaster將幾何圖形轉(zhuǎn)換為柵格 184
7.2.2  使用raster2pgsql加載柵格 186
7.2.3  從頭開始構(gòu)建柵格:
ST_MakeEmptyRaster和
ST_AddBand 187
7.2.4  設(shè)置像素:ST_SetValue和ST_SetValues 187
7.2.5  利用其他柵格創(chuàng)建柵格 189
7.2.6  使用ST_FromGDALRaster轉(zhuǎn)換其他柵格格式 191
7.3  柵格輸出函數(shù) 191
7.3.1  ST_AsPNG、ST_AsJPEG和ST_AsTiff 191
7.3.2  使用ST_AsGDALRaster進(jìn)行輸出 192
7.3.3  使用psql導(dǎo)出柵格 194
7.4  柵格訪問器和設(shè)置器 196
7.4.1  基本柵格元數(shù)據(jù)屬性 196
7.4.2  像素統(tǒng)計 197
7.4.3  像素值訪問器 198
7.4.4  波段元數(shù)據(jù)設(shè)置器 200
7.5  地理配準(zhǔn)函數(shù) 200
7.5.1  元數(shù)據(jù)設(shè)置器 201
7.5.2  處理函數(shù) 202
7.6  重分類函數(shù) 204
7.7  多邊形化函數(shù) 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  本章小結(jié) 206
第8章  空間關(guān)系 207
8.1  邊界框和幾何比較器 208
8.1.1  邊界框 208
8.1.2  邊界框比較器 209
8.2  兩個幾何圖形的關(guān)系 210
8.2.1  幾何圖形的內(nèi)部、外部和邊界 210
8.2.2  相交 211
8.2.3  房屋平面圖模型 215
8.2.4  包含和內(nèi)部 216
8.2.5  覆蓋和被覆蓋 218
8.2.6  完全包含 218
8.2.7  幾何圖形重疊 219
8.2.8  接觸幾何圖形 220
8.2.9  相等的不同方面:幾何 222
8.2.10  關(guān)系函數(shù)的基礎(chǔ) 224
8.3  本章小結(jié) 227
第Ⅱ部分  將PostGIS投入工作
第9章 鄰近度分析 231
9.1  最近鄰搜索 232
9.1.1  哪些位置在X距離之內(nèi) 232
9.1.2  對N個最接近的結(jié)果使用ST_DWithin和ST_Distance函數(shù) 232
9.1.3  使用ST_DWithin函數(shù)和DISTINCT ON查找最近的位置 232
9.1.4  與公差相交 233
9.1.5  距離之間的條目 234
9.1.6  使用KNN距離運算符查找N個最近的位置 234
9.2  將KNN用于地理類型 237
9.3  地理標(biāo)記 239
9.3.1  特定區(qū)域的標(biāo)記數(shù)據(jù) 240
9.3.2  線性參照:線串的最近捕捉點 240
9.3.3  PostGIS聚類窗口函數(shù) 242
9.4  本章小結(jié) 244
第10章  PostGIS TIGER 地理編碼 245
10.1  安裝PostGIS TIGER地理編碼器 246
10.2  加載TIGER數(shù)據(jù) 246
10.2.1  配置表 247
10.2.2  加載國家/地區(qū)和州數(shù)據(jù) 248
10.3  標(biāo)準(zhǔn)化地址 250
10.3.1  使用normalize_address 250
10.3.2  使用PAGC地址標(biāo)準(zhǔn)化程序 252
10.4  地理編碼 254
10.4.1  使用地址文本進(jìn)行地理編碼 254
10.4.2  使用標(biāo)準(zhǔn)化地址進(jìn)行地理編碼 256
10.4.3  地理編碼交集 256
10.4.4  批處理地理編碼 257
10.5  反向地理編碼 259
10.6  本章小結(jié) 260
第11章  幾何與地理處理 261
11.1  利用空間聚合函數(shù) 261
11.1.1  利用多個多邊形集合記錄創(chuàng)建一個多邊形集合 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  用多點線串創(chuàng)建兩點線串 278
11.3.3  在點連接處切斷線串 279
11.4  平移、縮放、旋轉(zhuǎn)幾何圖形 282
11.4.1  平移 282
11.4.2  縮放 283
11.4.3  旋轉(zhuǎn) 284
11.5  利用幾何函數(shù)操作和創(chuàng)建地理數(shù)據(jù) 285
11.5.1  cast-safe函數(shù) 286
11.5.2  transformation-recommended函數(shù) 286
11.6  本章小結(jié) 287
第12章  柵格處理 289
12.1  加載和準(zhǔn)備柵格數(shù)據(jù) 289
12.2  利用空間聚合函數(shù)形成更大的柵格 291
12.2.1  重組切片文件 291
12.2.2  利用裁剪和合并分割出感興趣的區(qū)域 292
12.2.3  使用ST_Union的特定表達(dá)式類型 292
12.3  與波段有關(guān)的處理 293
12.3.1  利用ST_AddBand將單波段柵格合并成多波段柵格 293
12.3.2  利用ST_Band處理波段的子集 294
12.4  生成柵格切片 294
12.5  柵格和幾何圖形的交集 296
12.5.1  像素統(tǒng)計 298
12.5.2  利用ST_Value函數(shù)和ST_SetZ
函數(shù)向二維線串添加Z坐標(biāo) 298
12.5.3  將二維多邊形轉(zhuǎn)化為三維多面體 300
12.6  柵格統(tǒng)計 301
12.6.1  提取像素值 302
12.6.2  柵格統(tǒng)計函數(shù) 304
12.7  地圖代數(shù) 306
12.7.1  在表達(dá)式和回調(diào)函數(shù)之間做選擇 306
12.7.2  使用一個單波段地圖代數(shù)表達(dá)式 307
12.7.3  使用一個單波段地圖代數(shù)函數(shù) 308
12.7.4  鄰域地圖代數(shù) 309
12.8  本章小結(jié) 311
第13章  構(gòu)建和使用拓?fù)?313
13.1  什么是拓?fù)?314
13.2  使用拓?fù)?314
13.2.1  安裝拓?fù)鋽U(kuò)展 315
13.2.2  創(chuàng)建拓?fù)?315
13.2.3  拓?fù)鋷缀螆D形類型 320
13.2.4  對拓?fù)溆梅ǖ暮喴仡?323
13.3  維多利亞市的拓?fù)?323
13.3.1  創(chuàng)建維多利亞的拓?fù)?323
13.3.2  向拓?fù)渲刑砑釉Z 324
13.3.3  創(chuàng)建拓?fù)鋷缀螆D形 326
13.4  通過編輯拓?fù)湓Z來修復(fù)拓?fù)鋷缀螁栴} 330
13.4.1  通過刪除邊來移除面 332
13.4.2  檢查共享面 333
13.4.3  編輯拓?fù)鋷缀?334
13.5  插入和編輯大型數(shù)據(jù)集 334
13.6  拓?fù)涞暮喕?337
13.7  拓?fù)潋炞C和匯總函數(shù) 338
13.8  本章小結(jié) 339
第14章  組織空間數(shù)據(jù) 341
14.1  空間存儲方法 341
14.1.1  異構(gòu)列 342
14.1.2  同構(gòu)列 343
14.1.3  typmod與約束對比 344
14.1.4  表繼承 345
14.1.5  表分區(qū) 348
14.2  建模真實的城市 352
14.2.1  使用異構(gòu)幾何列建模 353
14.2.2  使用同構(gòu)幾何列建模 356
14.2.3  使用分區(qū)建模 358
14.3  創(chuàng)建可自動更新的視圖 363
14.4  使用觸發(fā)器和規(guī)則 364
14.4.1  觸發(fā)器 364
14.4.2  使用INSTEAD OF觸發(fā)器 365
14.4.3  使用其他觸發(fā)器 366
14.5  本章小結(jié) 368
第15章  查詢性能調(diào)優(yōu) 369
15.1  查詢規(guī)劃器 369
15.1.1  不同類型的空間查詢 370
15.1.2  公用表表達(dá)式及其對規(guī)劃的影響 372
15.2  規(guī)劃器策略 373
15.3  使用解釋來診斷問題 374
15.3.1  文本解釋與pgAdmin圖形化解釋 375
15.3.2  無索引的規(guī)劃 376
15.4  規(guī)劃器與索引 380
15.4.1  具有空間索引的規(guī)劃 381
15.4.2  索引 383
15.5  常見SQL模式及其對規(guī)劃的影響 386
15.5.1  SELECT中的子查詢 386
15.5.2  FROM子查詢與基本公用表表達(dá)式 393
15.5.3  窗口函數(shù)與自連接 394
15.5.4  橫向連接 396
15.6  系統(tǒng)和函數(shù)設(shè)置 398
15.6.1  影響規(guī)劃策略的關(guān)鍵系統(tǒng)變量 399
15.6.2  函數(shù)專用設(shè)置 401
15.6.3  鼓勵并行規(guī)劃 403
15.7  優(yōu)化空間數(shù)據(jù) 403
15.7.1  修復(fù)無效的幾何圖形 404
15.7.2  通過簡化來減少頂點數(shù)量 404
15.7.3  通過拆分幾何圖形來減少頂點數(shù)量 404
15.7.4  集群 404
15.8  本章小結(jié) 407
第Ⅲ部分 搭配其他工具使用PostGIS
第16章  使用pgRouting和過程化語言擴(kuò)展PostGIS 411
16.1  使用pgRouting解決網(wǎng)絡(luò)路由問題 412
16.2  使用PL擴(kuò)展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  將幾何圖形轉(zhuǎn)換為R空間對象并繪制空間對象 426
16.3.5  將繪圖輸出為二進(jìn)制文件 427
16.4  PL/Python 428
16.4.1  安裝PL/Python 428
16.4.2  編寫一個PL/Python函數(shù) 429
16.4.3  使用Python包 430
16.4.4  地理編碼示例 432
16.5  PL/V8:數(shù)據(jù)庫中的JavaScript 433
16.5.1  安裝PL/V8 433
16.5.2  在數(shù)據(jù)庫中啟用PL/V8 434
16.5.3  在PL/V8中使用其他JavaScript庫和函數(shù) 434
16.5.4  使用PL/V8編寫地圖代數(shù)函數(shù) 437
16.6  本章小結(jié) 440
第17章 在Web應(yīng)用程序中使用PostGIS 441
17.1  傳統(tǒng)Web技術(shù)的局限性 442
17.2  地圖服務(wù)器 442
17.2.1  輕量級地圖服務(wù)器 443
17.2.2  完整地圖服務(wù)器 445
17.3  地圖客戶端 448
17.4  使用MapServer 450
17.4.1  安裝MapServer 450
17.4.2  安全性考慮 452
17.4.3  創(chuàng)建WMS和WFS服務(wù) 452
17.4.4  使用反向代理調(diào)用地圖服務(wù) 455
17.5  使用GeoServer 456
17.5.1  安裝GeoServer 456
17.5.2  設(shè)置PostGIS工作空間 456
17.5.3  通過GeoServer WMS/WFS訪問PostGIS圖層 458
17.6  OpenLayers和Leaflet基礎(chǔ) 459
17.6.1  OpenLayers入門 460
17.6.2  Leaflet入門 463
17.6.3  OpenLayers和Leaflet API總結(jié) 465
17.7  通過PostGIS查詢和Web腳本顯示數(shù)據(jù) 465
17.7.1  使用PostGIS和PostgreSQL幾何輸出函數(shù) 465
17.7.2  使用PostGIS的MVT輸出函數(shù) 470
17.8  本章小結(jié) 473
以下內(nèi)容通過掃描封底二維碼獲取
附錄A 其他資源 475
附錄B 安裝、編譯和升級 479
附錄C SQL入門 489
 
 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號