GeoTools 地理信息系統(tǒng)開發(fā)
定 價:79.8 元
- 作者:王頊 劉鈞文 王新宇 孫運娟
- 出版時間:2022/11/1
- ISBN:9787115593870
- 出 版 社:人民郵電出版社
- 中圖法分類:P208.2
- 頁碼:173
- 紙張:
- 版次:01
- 開本:16開
GeoTools 是由開源社區(qū)維護的一套地理信息系統(tǒng)的開發(fā)組件和解決方案。GeoTools 的實現(xiàn)完整遵循了OGC 的各類規(guī)范,并在二十多年的迭代中,形成了活躍的開源社區(qū)生態(tài)。
本書從GeoTools 的基本信息、社區(qū)生態(tài)開始介紹,隨后以地理信息的基本概念為脈絡,詳細介紹GeoTools 是如何實現(xiàn)并管理坐標參考系統(tǒng)、如何管理矢量數(shù)據(jù)和柵格數(shù)據(jù),以及如何連接地理數(shù)據(jù)庫的。在本書的最后,通過實現(xiàn)一個空間數(shù)據(jù)管理系統(tǒng),將全書的知識體系串聯(lián)起來,幫助讀者形成開源地理信息解決方案,來解決地理信息系統(tǒng)中的數(shù)據(jù)解析、坐標計算、空間關系等常見問題。
本書適用于有志于從事地理信息系統(tǒng)開發(fā)工作的人員,也可以幫助從事傳統(tǒng)商業(yè)地理信息系統(tǒng)開發(fā)和管理工作的人員進一步了解開源地理信息系統(tǒng)。
(1)基于GeoTools,深入淺出地為地理信息系統(tǒng)相關學科的從業(yè)者梳理了學科脈絡、基礎開發(fā)知識,并通過實際解決方案進一步探討和明晰了工具的使用與實現(xiàn)方式。
(2)從實現(xiàn)并管理坐標參考系統(tǒng)、管理矢量數(shù)據(jù)和柵格數(shù)據(jù)、連接地理數(shù)據(jù)庫 ,以及實現(xiàn)一個空間數(shù)據(jù)管理系統(tǒng)等方面,幫助讀者形成開源地理信息解決方案。
(3)書中的代碼更多的是為地理信息行業(yè)相關開源規(guī)范做解釋的,讀者無需具有深厚的程序設計功底,僅需了解入門級的Java 程序設計知識,即可順利地閱讀書中的代碼。
(4)智慧城市、地理信息系統(tǒng)領域5位學者、實踐者謝國鈞、田康、王駿飛、嚴福強、牛一峰親筆推薦!
王頊
本碩均為地理信息系統(tǒng)專業(yè),曾任職于航天天繪科技有限公司、原中國移動雄安產(chǎn)業(yè)研究院,現(xiàn)任職于京東科技集團。一直從事地理信息系統(tǒng)軟件的研發(fā)工作,在智慧城市、智慧園區(qū)、國土空間規(guī)劃、應急預警、自然資源監(jiān)管等領域具有十多個成功項目的經(jīng)驗。
劉鈞文
哈爾濱工業(yè)大學碩士,中國計算機學會(CCF)會員。曾任京東科技算法研究員,現(xiàn)任職于紅山微電子技術有限公司。一直從事時空數(shù)據(jù)引擎的開發(fā)、時空數(shù)據(jù)產(chǎn)品的研發(fā)工作。
王新宇
本科就讀于華盛頓大學西雅圖校區(qū)地理信息系統(tǒng)專業(yè),F(xiàn)在讀于南加利福尼亞大學空間數(shù)據(jù)科學碩士,具有多年GeoTools使用經(jīng)驗,熟讀源碼。
孫運娟
香港理工大學地理信息學博士在讀,具有多年的時空大數(shù)據(jù)處理和分析經(jīng)驗。
第 1 章 GeoTools 基本知識 1
1.1 GeoTools 簡介 2
1.2 GeoTools 架構 2
1.3 GeoTools 特性 3
1.4 GeoTools 生態(tài) 4
1.4.1 兼容地理信息系統(tǒng)標準 4
1.4.2 內部生態(tài) 5
1.4.3 外部生態(tài) 8
1.5 本章小結 11
第 2 章 GeoTools 快速入門 12
2.1 Java 概述 12
2.1.1 Java 語言特性 12
2.1.2 JDK 與JRE 14
2.2 GeoTools 的構建 15
2.2.1 安裝構建工具 15
2.2.2 使用Maven 構建GeoTools 16
2.2.3 Java 8 與Java 11 18
2.3 GeoTools 的使用方式 18
2.3.1 引用GeoTools 依賴包 19
2.3.2 使用GeoTools 的接口 19
2.3.3 使用GeoTools 工具類 20
2.3.4 使用工廠模式 20
2.4 本章小結 21
第3 章 Java 拓撲庫 22
3.1 幾何對象模型概述 22
3.1.1 空間實體概述 22
3.1.2 如何描述空間實體 23
3.1.3 OpenGIS 幾何對象模型 24
3.2 幾何對象模型分類 24
3.2.1 幾何對象 25
3.2.2 簡單數(shù)據(jù)模型 26
3.2.3 集合數(shù)據(jù)模型 29
3.2.4 曲線和曲面數(shù)據(jù)模型 32
3.3 空間關系運算 33
3.3.1 九交模型概述 33
3.3.2 GeoTools 對空間關系運算的支持 37
3.4 空間索引 41
3.4.1 四叉樹 41
3.4.2 k 維樹 42
3.4.3 R 樹 43
3.5 本章小結 44
第4 章 空間坐標系 45
4.1 地球橢球體 45
4.2 地圖投影 46
4.2.1 地圖投影方法 46
4.2.2 常用地圖投影 48
4.3 坐標系的WKT 51
4.4 GeoTools 中的坐標系 52
4.4.1 系統(tǒng)架構 52
4.4.2 坐標參考系統(tǒng)基礎分類 53
4.4.3 不同坐標參考系統(tǒng)的關聯(lián)與約束 54
4.5 本章小結 57
第5 章 空間矢量數(shù)據(jù)管理 59
5.1 DataStore 數(shù)據(jù)管理框架 59
5.1.1 架構設計 59
5.1.2 DataStore 60
5.1.3 FeatureSource 61
5.1.4 FeatureStore 63
5.1.5 SimpleFeature 63
5.1.6 SimpleFeatureType 64
5.1.7 FeatureCollection 65
5.2 WKT 67
5.2.1 WKT 概述 67
5.2.2 WKT 對幾何對象的描述方法 67
5.2.3 GeoTools 對WKT 的解析工具 68
5.3 GeoJSON 69
5.3.1 GeoJSON 概述 69
5.3.2 GeoJSON 對空間幾何對象的描述方法 69
5.3.3 GeoTools 對GeoJSON 的解析工具 70
5.4 Shapefile 71
5.4.1 Shapefile 概述 71
5.4.2 Shapefile 結構 72
5.4.3 GeoTools 對Shapefile 的支持 72
5.5 GeoPackage 74
5.5.1 GeoPackage 介紹 74
5.5.2 GeoPackage 的內部結構 74
5.5.3 GeoTools 中的GeoPackage 79
5.6 實現(xiàn)一個自定義CSVDataStore 81
5.6.1 CSVDataStore 的實現(xiàn) 82
5.6.2 CSVFeatureSource 的實現(xiàn) 83
5.6.3 CSVFeatureReader 的實現(xiàn) 85
5.6.4 CSVDataStoreFactory 的實現(xiàn) 88
5.7 本章小結 91
第6 章 柵格數(shù)據(jù)模型 92
6.1 柵格數(shù)據(jù)概述 92
6.2 圖像金字塔 93
6.2.1 圖像金字塔概述 93
6.2.2 構建圖像金字塔 94
6.3 GeoTools 的柵格數(shù)據(jù)管理框架 94
6.3.1 架構設計 94
6.3.2 GridCoverage 簡介 95
6.3.3 GeoTools 中的柵格圖像處理 96
6.4 GeoTIFF 介紹 98
6.4.1 GeoTIFF 概述 98
6.4.2 GeoTools 讀取GeoTIFF 文件 99
6.5 本章小結 100
第7 章 地圖樣式與渲染 101
7.1 地圖樣式簡介 101
7.1.1 架構設計 101
7.1.2 符號樣式 103
7.1.3 標注樣式 104
7.1.4 使用SLD 104
7.2 GeoTools 中的地圖渲染 107
7.3 本章小結 109
第8 章 空間查詢與空間分析 110
8.1 空間查詢 110
8.1.1 上下文查詢語言 110
8.1.2 擴展上下文查詢語言 111
8.1.3 空間查詢過濾器 111
8.1.4 空間查詢對象 112
8.2 矢量空間分析 113
8.3 圖分析 115
8.3.1 圖概述 115
8.3.2 GeoTools 中圖對象的構建 116
8.3.3 最短路徑算法 117
8.3.4 GeoTools 中最短路徑算法的使用 117
8.4 柵格空間分析 118
8.4.1 柵格重投影 118
8.4.2 常用柵格空間分析實例 119
8.5 本章小結 124
第9 章 GeoTools 使用數(shù)據(jù)庫 125
9.1 數(shù)據(jù)庫系統(tǒng) 125
9.1.1 什么是數(shù)據(jù)庫 125
9.1.2 數(shù)據(jù)庫的分類 126
9.1.3 空間數(shù)據(jù)庫 127
9.2 GeoTools 對關系數(shù)據(jù)庫的支持 128
9.2.1 JDBC 簡介 128
9.2.2 GeoTools 對JDBC 的擴展 129
9.2.3 主要關系數(shù)據(jù)庫簡介 131
9.2.4 不同關系數(shù)據(jù)庫的使用方式 132
9.3 GeoTools 對非關系數(shù)據(jù)庫的支持 135
9.3.1 主要非關系數(shù)據(jù)庫簡介 135
9.3.2 不同非關系數(shù)據(jù)庫的使用方式 136
9.4 本章小結 138
第 10 章 GeoTools 地圖組件 139
10.1 地圖可視化概述 139
10.2 Java 對可視化的支持 139
10.3 gt-swing 模塊 141
10.3.1 JMapPane 141
10.3.2 JMapFrame 143
10.3.3 Dialog 類 144
10.3.4 Wizard 類 145
10.4 gt-swt 模塊 147
10.4.1 SWTMapFrame 147
10.4.2 Rich Client Platform 148
10.5 本章小結 150
第 11 章 空間數(shù)據(jù)管理系統(tǒng) 151
11.1 空間數(shù)據(jù)管理系統(tǒng)架構設計 151
11.2 空間數(shù)據(jù)管理系統(tǒng)實現(xiàn) 152
11.2.1 空間數(shù)據(jù)模擬生成模塊 153
11.2.2 坐標變換模塊 154
11.2.3 空間數(shù)據(jù)格式轉換模塊 154
11.2.4 空間數(shù)據(jù)質檢模塊 157
11.2.5 空間數(shù)據(jù)歸檔入庫模塊 160
11.3 本章小結 162
第 12 章 常見問題 163
12.1 如何獲取GeoTools 的開源許可證 163
12.2 GeoTools 的依賴下載問題 164
12.3 Shapefile 亂碼問題 165
12.4 針對要素的細節(jié)操作問題 167
12.4.1 reType 方法 167
12.4.2 first 方法 167
12.4.3 createType 方法 168
12.4.4 bounds 方法 168
12.5 更新schema 失敗問題 168
12.6 坐標軸順序問題 169
12.7 圓形問題 169
12.8 經(jīng)緯度距離計算問題 171
12.9 本章小結 172