地理資訊系統(Geography Information System,簡稱GIS)的主要任務之一是有效地檢索空間資料及快速響應不同使用者的線上查詢。
地理空間索引技術和方法是GIS的關鍵技術。是快速高效查詢、檢索和顯示地理空間資料的重要名額。
常用的空間索引技術介紹和比較:
網格空間索引、四叉樹空間索引和R樹系列空間索引最為常見。
目前國内外主要的空間資料庫也大都采用網格空間索引、四叉樹 與 R樹 這三類的空間索引結構。如著名的Oracle公司的資料庫則同時采用 四叉樹和R樹兩種索引結構。
1。 空間索引技術的發展和分類
以傳統的索引技術觀點來看,可以把空間索引技術大緻分為 四大類:基于B樹、基于Hashing、基于二叉樹和基于空間填充區。
就目前的空間索引研究成果而言,在建立索引時,按照劃分區域是否與空間對象的分布特征有關的标準,空間索引分為兩大類:
劃分區域與空間對象分布特征無關的; ---包括 網格索引、四叉樹;
劃分區域與空間對象的分布特征有關的索引方法; ---包括 BSP樹、R樹及其變種樹、Cell樹、KD樹等
1.1基于固定網格劃分的空間索引
基于固定網格劃分的空間索引技術 面向地圖對象的空間位置和分布。應該屬于 栅格索引,是一種高效、簡潔、易于實作的一種空間索引。
固定網格劃分的空間索引技術 顧名思義就是将一副地圖資料按照固定的網格劃分,如将一幅地圖分割成 M行、N列,可表示為M*N,
以落入每個網格内的地圖目标建立索引,這樣隻需檢索原來區域的1/(M*N),以達到 快速檢索的目的。
如下圖所示:

問題的關鍵在于 如何建立檢索,将落入每個網格的目标正确放入該網格,在檢索過程中,通過滑鼠 點選 準确的判斷出目标所在網格。
并運用相應算法精确的剔出所選的目标,以獲得其空間資料和對應的屬性資料。
1.2 四叉樹
四叉樹是基于空間劃分組織索引結構的索引機制,與規則網格劃分不同。
它将已知範圍的二維空間劃成4個相等的子空間。如果需要,可以将每個或其中幾個子空間 繼續劃分下去,這樣就形成了一個基于四叉樹的空間劃分。
如下圖所示:
四叉樹索引通過将 資料空間逐層細分來組織資料,結構和操作比較簡單,實作比較友善。
其中 滿四叉樹空間索引,還可用 順序存儲的線性表 來表示。記憶體需求小。
關鍵是 建立四叉樹空間索引,要預先知道空間對象分布的範圍。因而不能滿足 空間資料的動态要求;此外,一旦索引建立後,樹的層次即被
固定,無法根據 資料空間對象數目的變化來調整樹高,可調節性差。
1.3 R-樹
R-樹是空間索引結構中最重要的一種層次結構,其建構思想是以最小邊界矩形(簡稱MBR)遞歸的對資料集空間按照“面積”規則進行劃分。
R-樹中的非葉子節點代表一個劃分的空間區域,即一個矩形空間區域;
R-樹中的葉子節點包含的矩形區域對應空間對象的MBR。
構造矩形空間的原則是:
1) 矩形之間盡可能少重疊;
2) 矩形盡可能的包含更多的空間對象;
3) 矩形可以嵌套,即 矩形中可以包括更小的矩形;
R-樹的平面劃分與資料結構如圖所示:
關鍵是 進行空間檢索時,首先判斷哪些矩形區域與檢索視窗相交,再進一步判斷落在檢索視窗内的矩形區域中由哪些被檢索的對象。
優點:
R-樹具有很強的靈活性與可調節性,建樹過程中無需預知整個空間對象所在的空間範圍,同時他具有較高的執行效率。
被公認為是 較好的空間索引結構,已經得到廣泛應用。
缺點:
但是,R-樹也存在許多問題,可歸納為兩方面:
。由于空間對象千姿百态,其索引空間經常重疊,且其重疊的程度随着資料量後空間維數的增加而劇增。
索引空間的重疊必然造成樹的深度及存儲空間的增加,進而導緻周遊時間增加,查詢效率下降。
。在動态建構R-樹時,還會産生大量“死空間”(不包含空間目标的索引空間),造成存儲空間的浪費,産生無效的周遊。
1.4 BSP樹
BSP樹是一種二叉樹,它将 地理空間逐級進行一分為二的劃分,如圖所示:
BSP樹能很好地與地理對象的空間分布情況相适應,但對一般處理情況而言,BSP樹深度較大,對各種操作均有不利影響。
2。主要空間索引方法對比
在衆多空間索引中,不同的索引有不同的優勢和不足及使用範圍。在選取哪一種作為空間資料庫的空間索引時,要根據實際情況和需要來确定。
是以,目前很多GIS軟體中采用 多種索引機制并存、取長補短的政策。