本書全面、系統(tǒng)地收集和整理了當前地理信息系統(tǒng)算法領域的相關資料,以地理信息系統(tǒng)設計與實現為線索,內容涉及地理空間數據的描述、檢索、存儲和管理,以及地理空間信息分析基本方法的設計和實現。
更多科學出版社服務,請掃碼獲取。
目錄
序
前言
第1章 算法設計和分析 (1)
1.1 概述 (1)
1.2 算法設計原則 (1)
1.3 算法復雜性的度量 (2)
1.3.1 時間復雜性 (2)
1.3.2 空間復雜性 (8)
1.4 最優(yōu)算法 (8)
1.5 算法的評價 (9)
1.5.1 如何估計算法運行時間 (9)
1.5.2 最壞情況和平均情況的分析 (11)
1.5.3 平攤分析 (13)
1.5.4 輸人大小和問題實例 (13)
思考題 (14)
第2章 GIS算法的計算幾何基礎 (15)
2.1 維數擴展的9交集模型 (15)
2.1.1 概述 (15)
2.1.2 模型介紹 (15)
2.1.3 空間關系的判定 (17)
2.2 矢量的概念 (21)
2.2.1 矢量加減法 (21)
2.2.2 矢量叉積 (22)
2.3 折線段的拐向判斷 (22)
2.4 判斷點是否在線段上 (23)
2.5 判斷兩線段是否相交 (23)
2.6 判斷矩形是否包含點 (25)
2.7 判斷線段、折線、多邊形是否在矩形中 (25)
2.8 判斷矩形是否在矩形中 (25)
2.9 判斷圓是否在矩形中 (25)
2.10 判斷點是否在多邊形內 (25)
2.10.1 射線法 (26)
2.10.2 轉角法 (28)
2.11 判斷線段是否在多邊形內 (30)
2.12 判斷折線是否在多邊形內 (32)
2.13 判斷多邊形是否在多邊形內 (32)
2.14 判斷矩形是否在多邊形內 (33)
2.15 判斷圓是否在多邊形內 (33)
2.16 判斷點是否在圓內 (33)
2.17 判斷線段、折線、矩形、多邊形是否在圓內 (33)
2.18 判斷圓是否在圓內 (33)
2.19 計算兩條共線的線段的交點 (33)
2.20 計算線段或直線與線段的交點 (34)
2.21 求線段或直線與圓的交點 (35)
2.22 中心點的計算 (36)
2.23 過點作垂線 (37)
2.24 作平行線 (37)
2.25 過點作平行線 (38)
2.26 線段延長 (38)
2.27 三點畫圓 (39)
2.28 線段打斷 (39)
2.29 前方交會 (40)
2.30 距離交會 (41)
2.31 極坐標作點 (43)
思考題 (44)
第3章 空間數據的變換算法 (45)
3.1 平面坐標變換 (45)
3.1.1 平面直角坐標系的建立 (45)
3.1.2 平面坐標變換矩陣 (45)
3.1.3 平移變換 (46)
3.1.4 比例變換 (47)
3.1.5 對稱變換 (47)
3.1.6 旋轉變換 (47)
3.1.7 錯切變換 (48)
3.1.8 復合變換 (48)
3.1.9 棚對(xf,yf)點的比例變換 (49)
3.1.10 相對(zf,yf)點的旋轉變換 (49)
3.1.11 幾點說明 (50)
3.2 球面坐標變換 (50)
3.2.1 球面坐標系的建立 (50)
3.2.2 確定新極Q地理坐標中*、λ0 (51)
3.3 仿射變換 (54)
3.4 地圖投影變換 (55)
3.4.1 概述 (55)
3.4.2 地球橢球體的相關公式 (57)
3.4.3 蘭勃特投影 (62)
3.4.4 墨卡托投影 (64)
3.4.5 高斯克呂格投影 (65)
3.4.6 通用橫軸墨卡托投影 (68)
思考題 (69)
第4章 空間數據轉換算法 (70)
4.1 矢量數據向柵格數據轉換 (70)
4.1.1 矢量點的柵格化 (70)
4.1.2 矢量線的柵格化 (71)
4.1.3 矢量面的柵格化 (73)
4.2 柵格數據向矢量數據轉換 (77)
4.2.1 柵格點坐標與矢量點坐標的關系 (77)
4.2.2 柵格數據矢量化的基本步驟 (78)
4.2.3 線狀柵格數據的細化 (78)
4.2.4 多邊形柵格轉矢量的雙邊界搜索算法 (84)
4.2.5 多邊形柵格轉矢量的單邊界搜索算法 (86)
思考題 (89)
第5章 空間數據組織算法 (90)
5.1 矢量數據的壓縮 (90)
5.1.1 間隔取點法 (90)
5.1.2 垂距法和偏角法 (90)
5.1.3 道格拉斯-普克法 (91)
5.1.4 光欄法 (93)
5.1.5 曲線壓縮算法的比較 (95)
5.1.6 面域的數據壓縮算法 (96)
5.2 柵格數據的壓縮 (98)
5.2.1 鏈式編碼 (98)
5.2.2 游程長度編碼 (99)
5.2.3 塊式編碼 (101)
5.2.4 差分映射法 (101)
5.2.5 四叉樹編碼 (102)
5.3 拓撲關系的生成 (102)
5.3.1 基本數據結構 (103)
5.3.2 弧段的預處理 (106)
5.3.3 結點匹配算法 (112)
5.3.4 建立拓撲火系 (114)
思考題 (117)
第6章 空間度量算法 (118)
6.1 直線和距離 (118)
6.1.1 直線 (118)
6.1.2 直線方程 (119)
6.1.3 點到直線的距離 (120)
6.2 角度量算 (125)
6.3 多邊形面積的量算 (125)
6.3.1 三角形面積量算 (125)
6.3.2 四邊形面積量算 (127)
6.3.3 任意二維平面多邊形面積量算 (129)
6.3.4 任意三維平面多邊形面積量算 (131)
思考題 (134)
第7章 空間數據索引算法 (135)
7.1 B樹與B+樹 (135)
7.1.1 B樹索引結構 (136)
7.1.2 B+樹索引結構 (140)
7.2 R樹結構 (141)
7.2.1 R樹定義 (141)
7.2.2 R樹索引的主要操作算法 (142)
7.2.3 R*樹算法 (146)
7.3 四叉樹結構 (147)
7.3.1 常規(guī)四叉樹 (147)
7.3.2 線性四叉樹 (149)
7.3.3 線性四叉樹的編碼 (149)
7.3.4 Z曲線和Hibert曲線算法 (155)
思考題 (158)
第8章 空間數據內插算法 (159)
8.1 概述 (159)
8.1.1 幾何方法 (159)
8.1.2 統(tǒng)計方法 (159)
8.1.3 空間統(tǒng)計方法 (160)
8.1.4 函數方法 (160)
8.1.5 隨機模擬方法 (160)
8.1.6 確定性模擬 (161)
8.1.7 綜合方法 (161)
8.2 分段圓弧法 (161)
8.3 分段j次多項式插值法 (162)
8.3.1 三點法 (162)
8.3.2 五點法 (162)
8.4 趨勢面插值算法 (163)
8.5 反距離權重插值算法 (166)
8.6 雙線性插值算法 (166)
8.7 薄板樣條函數法 (167)
8.7.1 薄板樣條函數法 (167)
8.7.2 規(guī)則樣條函數 (168)
8.7.3 薄板張力樣條法 (168)
8.8 克里金法 (169)
8.8.1 普通克里金法 (169)
8.8.2 通用克里金法 (171)
思考題 (171)
第9章 Delaunay三角網與Voronoi圖算法 (172)
9.1 概述 (172)
9.2 Voronoi圖 (173)
9.3 Delaunay三角形 (174)
9.4 Voronoi圖生成算法 (174)
9.4.1 半平面的交 (174)
9.4.2 增量構造方法 (175)
9.4.3 分治算法 (178)
9.4.4 減量算法 (180)
9.4.5 平面掃描算法 (182)
思考題 (184)
第10章 緩沖區(qū)分析算法 (185)
10.1 概述 (185)
10.2 緩沖區(qū)邊界生成算法基礎 (185)
10.3 點緩沖區(qū)邊界生成算法 (187)
10.4 線緩沖區(qū)邊界生成算法 (188)
10.5 面緩沖區(qū)邊界生成算法 (195)
10.6 多目標緩沖區(qū)合并算法 (195)
思考題 (200)
第11章 網絡分析算法 (201)
11.1 概述 (201)
11.2 網絡數據模型 (201)
11.3 路徑分析算法 (203)
11.3.1 單源點的最短路徑 (204)
11.3.2 單目標最短路徑問題 (208)
11.3.3 單結點對間最短路徑問題 (208)
11.3.4 多結點對間最短路徑問題 (209)
11.3.5 次短路徑求解算法 (209)
11.4 最佳路徑算法 (210)
11.4.1 最大可靠路徑 (210)
11.4.2 最大容量路徑 (211)
11.5 連通性分析算法 (212)
11.5.1 Prim算法 (212)
11.5.2 Kruskal算法 (214)
11.6 資源分配算法 (216)
思考題 (218)
第12章 地形分析算法 (219)
12.1 數字地面模型的生成算法 (219)
12.1.1 基于離散點的DEM規(guī)則網格的生成 (219)
12.1.2 基于不規(guī)則三角網的DEM生成 (221)
12.1.3 DEM數據結構的相互轉換 (221)
12.2 基本地形因子分析算法 (235)
12.2.1 坡面因子提取的算法基礎 (235)
12.2.2 坡度、坡向 (239)
12.2.3 坡形 (241)
12.3 地形特征提取算法 (244)
12.3.1 地形特征點的提取 (245)
12.3.2 基于規(guī)則格網DEM數據提取山脊與山谷線的典型算法 (246)
12.4 通視分析算法 (248)
12.4.1 判斷兩點之間的可視性的算法 (248)
12.4.2 計算可視域的算法 (248)
思考題 (249)
第13章 空間數據挖掘算法 (250)
13.1 概述 (250)
13.2 分類算法 (250)
13.2.1 數據分類的基本過程 (250)
13.2.2 決策樹分類概述 (251)
13.2.3 決策樹的特點 (251)
13.2.4 二叉決策樹算法與分類規(guī)則的生成 (252)
13.2.5 決策樹分類算法 (253)
13.2.6 決策樹屬性的選取 (254)
13.2.7 改進決策樹性能的方法 (255)
13.3 泛化規(guī)則算法 (256)
13.3.1 概念層次 (256)
13.3.2 面向屬性泛化的策略與特點 (258)
13.3.3 基于規(guī)則的面向屬性泛化方法 (260)
13.4 相關分析 (263)
13.4.1 兩要素間的相關分析 (263)
13.4.2 多要素之間的相關分析 (265)
13.4.3 關聯規(guī)則算法 (267)
13.5 回歸分析 (274)
13.5.1 一元線性回歸模型 (274)
13.5.2 多元線性回歸模型 (277)
13.5.3 非線性回歸模型 (281)
13.5.4 回歸分析與相關分析 (282)
13.6 系統(tǒng)聚類分析 (283)
13.6.1 概述 (283)
13.6.2 聚類要素預處理 (283)
13.6.3 分類統(tǒng)計量 (284)
13.6.4 系統(tǒng)聚類法 (286)
13.6.5 其他聚類方法概述 (292)
13.7 判別分析 (293)
13.7.1 距離判別 (294)
13.7.2 費歇判別法 (297)
13.7.3 貝葉斯判別法 (300)
13.7.4 判別分析應注意的問題 (302)
13.8 主成分分析 (303)
13.8.1 主成分分析的基本原理 (303)
13.8.2 主成分分析的方法 (304)
思考題 (306)
第14章 數據輸出算法 (308)
14.1 概述 (308)
14.1.1 地圖符號構成元素組成 (308)
14.1.2 地圖符號幾何特征 (309)
14.1.3 基于SVG的地圖符號描述模型 (310)
14.2 點狀地圖符號的繪制 (312)
14.2.1 網的繪制 (312)
14.2.2 橢圓的繪制 (314)
14.2.3 多邊形的繪制 (314)
14.2.4 五角星的繪制 (316)
14.3 線狀地圖符號的繪制 (318)
14.3.1 平行線繪制 (319)
14.3.2 虛線繪制 (321)
14.3.3 短齒線的繪制 (322)
14.3.4 鐵路線的繪制 (324)
14.3.5 境界線的繪制 (326)
14.4 面狀地圖符號的繪制 (328)
思考題 (333)
主要參考文獻 (334)