以數(shù)據(jù)為中心的應用模式是未來地理信息科學發(fā)展的重要趨勢。具備空間數(shù)據(jù)庫建設與應用的實踐技能,勢必成為地理科學、測繪工程及相關專業(yè)學生日后開展空間數(shù)據(jù)庫相關工作的基本技能。
作為《空間數(shù)據(jù)庫管理系統(tǒng)概論(第二版)》的配套實驗教程,本書以“單機一C/S—B/S—云”的升級為主線,結合地層孢粉樣本、藍湖地區(qū)地圖、黃河流域典型要素、北京市規(guī)劃小區(qū)與出租車時空軌跡等各類數(shù)據(jù),設計了系列跨領域、多尺度、具有地理特色的實驗案例,通過實踐,由淺入深地幫助讀者掌握空間數(shù)據(jù)庫的理論和難點、掌握GSQL的編寫、掌握空間大數(shù)據(jù)的分布式存儲與計算等技能。
更多科學出版社服務,請掃碼獲取。
1997.09-2001.07 中國農業(yè)大學 土壤學 農學博士
1993.09-1997.07 北京理工大學 計算機軟件 工學學士
目錄
序
前言
第1章 PostgreSQL的安裝與使用 1
1.1 PGSQL簡介與體系結構 1
1.2 PGSQL的下載與安裝 2
1.2.1 PGSQL安裝程序的下載 2
1.2.2 PGSQL的安裝 2
1.3 尋找PGSQL的四個模塊 4
1.4 用SQL Shell登錄數(shù)據(jù)庫管理系統(tǒng) 5
1.5 pgAdmin訪問數(shù)據(jù)庫 6
1.5.1 用pgAdmin登錄數(shù)據(jù)庫管理系統(tǒng) 6
1.5.2 采用GUI的方式操作數(shù)據(jù)庫中的表 9
1.5.3 在 pgAdmin 中執(zhí)行SQL 10
1.5.4 在pgAdmin設置用戶、角色與訪問控制 11
1.6 常見問題與解決方案 19
第2章 關系型孢粉數(shù)據(jù)庫的構建與SQL 20
2.1 實驗數(shù)據(jù)介紹 20
2.2 孢粉數(shù)據(jù)的關系規(guī)范化 20
2.3 Excel:從基表到視圖的關系運算過程 24
2.4 PGSQL:孢粉數(shù)據(jù)庫的SQL實現(xiàn) 27
2.5 常見問題與解決方案 32
2.6 作業(yè) 32
第3章 PostGIS與QGIS的安裝與使用 33
3.1 PostGIS的下載與安裝 33
3.1.1 通過Stackbuilder 安裝 33
3.1.2 通過OSGeo 安裝 35
3.1.3 尋找PostGIS安裝的模塊與建立的空間數(shù)據(jù)庫 35
3.2 QGIS的下載與安裝 36
3.3 矢量數(shù)據(jù)的導入導出 37
3.3.1 用PostGIS的工具導入導出 37
3.3.2 用 QGIS 的 DB Manager 導入導出 39
3.4 柵格數(shù)據(jù)的導入 41
3.5 導入數(shù)據(jù)的查看 43
3.5.1 在pgAdmin4中查看與查詢 43
3.5.2 在QGIS中查看 44
3.6 常見問題與解決方案 46
3.6.1 安裝過程中可能遇到的問題 46
3.6.2使用過程中可能遇到的問題 48
3.7 作業(yè) 50
第4章 藍湖地區(qū)地圖數(shù)據(jù)庫的構建與查詢 51
4.1 實驗案例介紹 51
4.2 概念設計 52
4.2.1 空間擴展E-R圖 52
4.2.2 應用實例的擴展E-R圖 53
4.3 邏輯設計 54
4.4 物理實現(xiàn) 56
4.4.1 建表前的準備工作 57
4.4.2 建表的GSQL語句 57
4.4.3 建表后的系統(tǒng)表信息 58
4.4.4 空間數(shù)據(jù)的插入 59
4.4.5 藍湖數(shù)據(jù)的查看 60
4.5 空間查詢 61
4.5.1 單表空間查詢 61
4.5.2 多表空間查詢 63
4.6 作業(yè) 63
第5章 黃河流域數(shù)據(jù)庫的空間查詢與遠程訪問 64
5.1黃河流域數(shù)據(jù)庫與GSQL 64
5.1.1 實驗數(shù)據(jù)的介紹 64
5.1.2 SQL查詢分析案例 65
5.1.3 GSQL查詢分析案例:矢量 66
5.1.4 GSQL查詢分析案例:柵格 67
5.1.5 GSQL查詢分析案例:柵格與矢量混合 69
5.2 黃河流域數(shù)據(jù)庫局域網(wǎng)環(huán)境的遠程訪問 69
5.2.1 搭建S機和C機的局域網(wǎng)絡環(huán)境 70
5.2.2 S機服務器的設置與相關參數(shù)的獲取 71
5.2.3 在C機上遠程訪問S機的黃河數(shù)據(jù)庫 74
5.3 可能會遇到的問題 77
5.3.1 SQL執(zhí)行過程遇到的問題 77
5.3.2 局域網(wǎng)遠程訪問遇到的問題 78
5.4 作業(yè) 78
第6章 黃河流域數(shù)據(jù)庫Web共享與發(fā)布 79
6.1 實驗框架介紹 79
6.2服務層的安裝與配置 80
6.2.1 Open JDK下載與安裝 80
6.2.2 Tomcat下載、安裝與登錄 82
6.3 GeoServer地圖服務器與數(shù)據(jù)共享 85
6.3.1 GeoServer下載與安裝 85
6.3.2 GeoServer登錄 86
6.3.3 GeoServer連接 PGSQL 88
6.4 基于Mapbender的地圖應用發(fā)布 100
6.4.1 Mapbender下載 100
6.4.2 Mapbender安裝 101
6.4.3 Mapbender連接 GeoServer服務 106
6.4.4 Mapbender創(chuàng)建新應用 108
6.4.5 Mapbender添加應用控件 109
6.4.6 Mapbender遠程訪問 116
6.5 可能會遇到的問題 117
6.6 作業(yè) 117
第7章 矢量數(shù)據(jù)類型的高階處理與分析 118
7.1 實驗數(shù)據(jù)的介紹與導入 118
7.2 空間聚合函數(shù) 119
7.2.1 將多個Polygon聚合為一個MultiPolygon 119
7.2.2 將多個Point聚合為LineString 120
7.3 空間裁剪、分割、網(wǎng)格剖分函數(shù) 121
7.3.1 裁剪(Clip) 121
7.3.2 切割(Split) 123
7.3.3 網(wǎng)格剖分(Tessellate) 123
7.4 將LineString分割成更小段 129
7.4.1 分割LineString 129
7.4.2 將多點的LineString分割為若干僅有兩點的LineString 130
7.4.3 根據(jù)指定的點截斷LineString 132
7.5 平移、縮放和旋轉幾何圖形 134
7.5.1 平移 134
7.5.2 縮放 135
7.5.3 旋轉 136
7.6 Geography對象如何使用Geometry的函數(shù) 137
7.6.1 可以安全使用轉換的函數(shù) 137
7.6.2 推薦使用ST_Transform的函數(shù) 138
7.7 小結 139
第8章 高程和氣候等柵格數(shù)據(jù)的高階處理與分析 140
8.1 實驗數(shù)據(jù)介紹 140
8.2 實驗數(shù)據(jù)的導入 140
8.3 使用空間聚合函數(shù)創(chuàng)建大型柵格數(shù)據(jù) 142
8.3.1 基于柵格瓦片的完整柵格數(shù)據(jù)重建 142
8.3.2 使用裁剪和合并函數(shù)提取興趣區(qū) 142
8.3.3 ST_Union的聚合運算 143
8.4 柵格波段操作 143
8.4.1 使用ST_AddBand函數(shù)構建多波段柵格數(shù)據(jù) 143
8.4.2 使用ST_Band函數(shù)提取單波段數(shù)據(jù) 144
8.5 調整柵格瓦片大小 144
8.6 柵格與矢量數(shù)據(jù)的相交運算 146
8.6.1 像素統(tǒng)計 147
8.6.2 使用ST_Value和ST_SetZ為二維線段添加Z坐標 147
8.6.3 將二維多邊形轉換為三維多邊形 149
8.7 柵格統(tǒng)計 150
8.7.1 像素值操作 150
8.7.2 柵格統(tǒng)計函數(shù) 152
8.8 地圖代數(shù) 153
8.8.1 表達式與回調函數(shù)的選擇 154
8.8.2 單波段的地圖代數(shù)表達式 154
8.8.3 單波段的地圖代數(shù)回調函數(shù) 155
8.8.4 地圖代數(shù)中的鄰域計算 156
8.9 小結 157
第9章 出租車訂單的時空軌跡大數(shù)據(jù)處理與分析 158
9.1 實驗數(shù)據(jù)與實驗環(huán)境介紹 158
9.2 導入實驗數(shù)據(jù) 159
9.2.1 出租車GPS打點數(shù)據(jù)的導入 159
9.2.2 交通小區(qū)數(shù)據(jù)導入 161
9.3 基于出租車打點數(shù)據(jù)的OD交通量的處理與查詢 162
9.3.1 時間與空間字段的解譯與生成 162
9.3.2 系統(tǒng)最大內存限制的修改及空間索引的創(chuàng)建 163
9.3.3 生成某出租車訂單和空駛狀態(tài)的OD流 163
9.3.4 所有出租車訂單OD流的生成 166
9.3.5 交通小區(qū)間OD流列表的生成 168
9.3.6 交通小區(qū)間OD矩陣的生成 169
9.4 基于出租車打點數(shù)據(jù)的時空軌跡處理與查詢 170
9.4.1 將打點數(shù)據(jù)表轉換為軌跡表 170
9.4.2 檢查生成的軌跡類型是否正確 172
9.4.3 查詢軌跡基本信息 172
9.4.4 軌跡還原為點數(shù)據(jù) 172
9.4.5 計算行駛中的最近距離 173
9.4.6 計算行駛中達到最近距離時對應的時間 173
9.4.7 判斷行駛中的最近距離是否小于指定閾值 174
9.5 作業(yè) 175
第10章 海量出租車訂單OD流的分布式存儲與計算 176
10.1 實驗數(shù)據(jù)與實驗環(huán)境介紹 177
10.2 分布式Docker集群的部署 177
10.2.1 集群規(guī)劃 177
10.2.2 Docker虛擬機環(huán)境配置 178
10.3 分布式PGXL的安裝與部署 183
10.3.1 PGXL的安裝 183
10.3.2 PGXL環(huán)境配置 184
10.4 分布式PostGIS版本的安裝 189
10.4.1 安裝包下載 189
10.4.2 編譯安裝 189
10.5 出租車訂單OD流的分布式存儲與查詢實驗 192
10.5.1 數(shù)據(jù)庫導入 192
10.5.2數(shù)據(jù)存儲分布查詢 193
10.5.3 數(shù)據(jù)查詢效率比較 194
主要參考文獻 197
參考標準 197
附錄GeoServer與PostGIS中柵格數(shù)據(jù)表的連接 198