空間索引 網格索引

2021-08-19 05:02:45 字數 1362 閱讀 2996

第一篇講到了傳統的索引如b樹不能很好的支援空間資料,比如點(poi等)、線(道路、河流等)、面(行政邊界、住宅區等)。本篇將對空間索引進行簡單分類,然後介紹網格索引。(深入淺出空間索引1:

一、空間索引有哪幾種?

傳統索引使用雜湊和樹這兩類最基本的資料結構。空間索引雖然更為複雜,但仍然發展於這兩種資料結構。因此可以將空間索引劃分為兩大類:1)基於雜湊思想,如網格索引等;2)基於樹思想,有四叉樹、r樹等。

二、網格索引

雜湊是通過乙個雜湊函式將關鍵字對映到記憶體或外存的資料結構,如何擴充套件到空間資料呢?

2.1. 網格索引原理

擴充套件方法:對地理空間進行網格劃分,劃分成大小相同的網格,每個網格對應著一塊儲存空間,索引項登記上落入該網格的空間物件。

舉個例子,我們將地理空間進行網格劃分,並進行編號。該空間範圍內有三個空間物件,分別是id=5的街道,23的河流和11的商圈。這時候我們可以按照雜湊的資料結構儲存,每個網格對應著乙個儲存桶,而桶裡放著空間物件,比如對2號網格,裡面儲存著id=5的空間物件,對35號網格,桶裡放著id=5和id=23的空間物件。

假如我們要查詢某一空間範圍內有哪些空間物件,比如下面的紅框就表示空間範圍,我們可以很快根據紅框的空間範圍算出它與35號和36號網格相交,然後分別到35號和36號網格中查詢空間物件,最終找出id=5和id=23的空間物件。

2.2. 網格索引缺點

1)索引資料冗餘

網格與物件之間多對多關係在空間物件數量多、大小不均時造成索引資料冗餘。比如11號商圈這個空間物件在68,69,100,101這4個網格都有儲存,浪費了大量空間。

2)網格的大小難以確定

網格的劃分大小難以確定。網格劃分得越密,需要的儲存空間越多,網格劃分的越粗,查詢效率可能會降低。對於圖a,這個查詢需要查詢4個網格,由於4個網格覆蓋了整個空間,因此這個查詢其實是將空間範圍內所有的點資料都遍歷一遍,失去了索引的意義。

3)很多網格沒有資料

空間資料具有明顯的聚集性,比如poi只在幾個熱點商貿區聚集,在郊區等地方很稀疏,這將導致很多網格內沒有任何空間資料。

GIS空間索引

轉 gis空間索引 有了思路 還不是手到擒來 在介紹空間索引之前,先談談什麼叫 索引 對乙個資料集做 索引 是為了提高對這個資料集檢索的效率。書的 目錄 就是這本書內容的 索引 當我們拿到一本新書,想檢視感興趣內容的時候,我們會先檢視目錄,確定感興趣的內容會在哪些頁裡,直接翻到那些頁,就ok了,而不...

建立空間索引

發布地圖服務的時候,分析的結果是有部分資料來源沒有空間索引。高階警告。空間索引可以加快繪圖速度。索引嘛,不必多言。那怎麼建立空間索引呢?在谷歌上尋尋覓覓,看arcgis的幫助,如墜五雲中。其正確廢話的程度,直逼msdn。好在在末尾處沒有追問你一句 您覺得以上內容對你是否有幫助?有博文介紹了在orac...

空間索引筆記

因為多維座標的索引與一維資料索引存在差別,所以一般對於多維資料會採取以下的幾種方法建立索引 1 網格索引 對於二維座標集合,使用網格將其劃分成不同的細分區域並建立索引,這樣對興趣點的搜尋從所有點的集合減少到某乙個範圍內點的集合的搜尋。2 四叉樹索引 類似於網格索引通過建立細分區域減少搜尋次數。不過四...