張小虎,鐘耳順,王少華,張 珣
(1.中國科學(xué)院地理科學(xué)與資源研究所,北京 100101;2.中國科學(xué)院大學(xué),北京 100049)
多尺度空間格網(wǎng)數(shù)據(jù)的索引編碼研究
張小虎1,2,鐘耳順1,王少華1,2,張 珣1,2
(1.中國科學(xué)院地理科學(xué)與資源研究所,北京 100101;2.中國科學(xué)院大學(xué),北京 100049)
針對多尺度格網(wǎng)數(shù)據(jù)訪問效率問題,設(shè)計了一種基于格網(wǎng)空間索引的多尺度格網(wǎng)數(shù)據(jù)索引編碼體系。該索引編碼有著較高的編碼和訪問效率,能較好地滿足多尺度格網(wǎng)數(shù)據(jù)分析時的效率需求。
多尺度;格網(wǎng)數(shù)據(jù);索引編碼
隨著地理信息系統(tǒng)應(yīng)用的日益深入,不同的應(yīng)用越來越需要不同尺度的格網(wǎng)數(shù)據(jù)[1-2]。研究表明,規(guī)則格網(wǎng)數(shù)據(jù)能夠較好地滿足多尺度地理數(shù)據(jù)空間表達的需求,并一定程度上解決可塑面積單元問題(MAUP)對原始數(shù)據(jù)的影響[3]。在實際應(yīng)用中,格網(wǎng)數(shù)據(jù)會根據(jù)具體的尺度規(guī)則,生成多個不同尺度數(shù)據(jù)集合L={l1,l2,…,ln},并將L存儲在空間文件或空間數(shù)據(jù)庫中。然而,不管以柵格數(shù)據(jù)格式還是矢量數(shù)據(jù)格式,L中各個子層{l1,l2,…,ln}概念上存在空間聯(lián)系,而存儲及索引上彼此獨立。這種傳統(tǒng)的“一庫多版本技術(shù)”并未將多尺度格網(wǎng)數(shù)據(jù)的空間拓撲關(guān)系、尺度關(guān)系表現(xiàn)出來[4],不但降低了多尺度格網(wǎng)數(shù)據(jù)集的邏輯一致性,而且對后續(xù)的多尺度分析帶來巨大的時間消耗。多尺度格網(wǎng)數(shù)據(jù)之間的運算操作涉及大規(guī)模的地理查詢操作,直接依靠已有的空間查詢和拓撲操作,且每次查詢將直接影響數(shù)據(jù)運算效率。因此,必須建立一套有效的數(shù)據(jù)索引體系,減少格網(wǎng)數(shù)據(jù)的查詢和拓撲操作,使得多尺度格網(wǎng)數(shù)據(jù)的多尺度分析得以實現(xiàn)。本文的研究目的就是為多尺度格網(wǎng)數(shù)據(jù)集L建立一種有效的索引方式,使得各子層之間的空間關(guān)系得以明確,并采用合理的編碼將這種關(guān)系固定存儲起來,使得多尺度格網(wǎng)的空間運算高效實施,各個尺度的格網(wǎng)數(shù)據(jù)可以高效訪問其他尺度的相關(guān)格網(wǎng)數(shù)據(jù)。
空間數(shù)據(jù)索引技術(shù)并不是一個新興的研究問題,其在空間數(shù)據(jù)庫技術(shù)中得到了廣泛的研究,并形成3類空間索引方法,即基于點區(qū)域劃分的索引、基于面區(qū)域劃分的索引和基于體區(qū)域劃分的索引[5-6]??臻g索引是采用一定的順序在不同的空間劃分區(qū)域內(nèi)搜索查找地理實體,從而加快空間查詢[7]。面區(qū)域劃分的索引方法主要有3種,即格網(wǎng)索引、區(qū)域四叉樹索引和R樹索引。根據(jù)多尺度格網(wǎng)數(shù)據(jù)的空間特征,傳統(tǒng)的格網(wǎng)索引比較合適用多尺度格網(wǎng)數(shù)據(jù)建立索引。
格網(wǎng)索引是一種基于空間填充曲線(space-filling curve)的索引方式[8]。其基本方法是將二維正方形平面劃分成m×n的格網(wǎng),并利用一種空間填充曲線建立起這些格網(wǎng)的一維索引(如圖1所示)。典型的空間填充曲線有Z-curve和Hilbert-curve,其對應(yīng)的一維索引編碼為 Morton碼和 Hilbert碼[9]。其中Hibert編碼可以使得原二維的平面形狀不必限制為正方形,以拓展格網(wǎng)索引的使用范圍[10]。
圖1 基于Z-curve的二級格網(wǎng)索引
格網(wǎng)索引的性能依賴于格網(wǎng)和對象的大小,以及對象密度之間的關(guān)系[11]。對于空間密度變化大的數(shù)據(jù),通常需要建立多層的索引格網(wǎng),以保證性能
需要指出的是任何索引對查詢、訪問的操作時間的優(yōu)化都是相對的,不合適的索引不但不能加快查詢速度,反而會使操作更為復(fù)雜耗時。因此,建立索引必須針對數(shù)據(jù)本身特征。本文將根據(jù)多尺度格網(wǎng)統(tǒng)計數(shù)據(jù)自身特征,建立符合多尺度格網(wǎng)數(shù)據(jù)特征的索引編碼體系,滿足多尺度格網(wǎng)數(shù)據(jù)訪問的效率需求。
2.多尺度格網(wǎng)數(shù)據(jù)的兩種形式及索引編碼需求
多尺度格網(wǎng)數(shù)據(jù)是一種在統(tǒng)一的數(shù)據(jù)管理系統(tǒng)下存儲的不同尺度的空間數(shù)據(jù),該數(shù)據(jù)索引有其特殊的需求,即所構(gòu)建的索引能使格網(wǎng)數(shù)據(jù)實現(xiàn)不同尺度層數(shù)據(jù)的快速切換及各尺度對應(yīng)格網(wǎng)單元快速互訪問。這種索引不需要滿足優(yōu)化空間查詢等基本地圖操作需求,因為這些格網(wǎng)數(shù)據(jù)錄入到空間數(shù)據(jù)庫時,已有的空間數(shù)據(jù)庫索引技術(shù)已經(jīng)滿足了這些基本要求。然而,多尺度格網(wǎng)數(shù)據(jù)多尺度分析時需要反復(fù)查詢目標(biāo)格網(wǎng)對應(yīng)的其他尺度下的相應(yīng)格網(wǎng)及其鄰近格網(wǎng)。利用已有的空間索引技術(shù)需要反復(fù)采用空間查詢及空間拓撲操作,極大地降低了空間分析的效率,尤其當(dāng)格網(wǎng)數(shù)據(jù)的尺度規(guī)模和空間規(guī)模都非常大時,這種影響將更為明顯。因此,需要一種建立一種專門的索引及其編碼,滿足多尺度格網(wǎng)數(shù)據(jù)多尺度分析的效率需求。
根據(jù)不同的應(yīng)用需求,多尺度格網(wǎng)統(tǒng)計數(shù)據(jù)各層格網(wǎng)主要有兩種不同的拓撲關(guān)系,根據(jù)這兩種關(guān)系,多尺度格網(wǎng)統(tǒng)計數(shù)據(jù)主要表現(xiàn)成兩種形式(如圖2所示)。第1種形式為不同尺度的格網(wǎng)的尺度縮放因子成整數(shù)倍數(shù)關(guān)系,大尺度格網(wǎng)完整包含小尺度格網(wǎng),不同層的數(shù)據(jù)完整覆蓋,不交叉;第2種形式為不同尺度格網(wǎng)的尺度縮放因子不成整數(shù)倍數(shù)關(guān)系,大尺度的格網(wǎng)不能完整包含小尺度格網(wǎng),不同層的數(shù)據(jù)存在交叉。在后續(xù)的多尺度空間分析時,這兩種形式的數(shù)據(jù)相互訪問時存在明顯差異,主要表現(xiàn)在:
1)第1種格網(wǎng)小尺度格網(wǎng)僅僅對應(yīng)一個大尺度格網(wǎng)數(shù)據(jù),各尺度間數(shù)據(jù)可以按照樹結(jié)構(gòu)進行相互訪問,并可根據(jù)樹形結(jié)構(gòu)推測其鄰接格網(wǎng)單元。
黑米酒、小米酒等兩款不同風(fēng)味的米酒中的黃酮及多糖類化合物,主要來源于釀酒發(fā)酵原料及其在液體發(fā)酵過程中的浸出。絕大多數(shù)植物內(nèi)都含有黃酮及多糖類化合物,其在植物的生長、抗菌防病等方面起著重要的作用。由圖4可知,兩組樣品酒液中的黃酮含量差距不大,范圍都在45~50 mg/L之間。黑米酒、小米酒等兩款不同風(fēng)味的米酒中都含有黃酮,但含量都較少。黑米酒中的總多糖含量高于小米酒,表明發(fā)酵過程中可能黑米原料中的多糖化合物更容易浸出。黃酮及多糖類化合物均具有抗氧化、清除自由基等生物功效,風(fēng)味米酒中含有適量的黃酮及多糖類化合物,有利于提高酒體的營養(yǎng)價值,具有潛在的營養(yǎng)保健功效。
2)第2種格網(wǎng)小尺度對應(yīng)多個大尺度格網(wǎng)數(shù)據(jù),各尺度間數(shù)據(jù)不能按照簡單的空間關(guān)系建立樹形關(guān)系,各尺度直接的相互訪問比較復(fù)雜。
圖2 多尺度格網(wǎng)數(shù)據(jù)的兩種表現(xiàn)形式
在實際應(yīng)用中,根據(jù)不同的需求,格網(wǎng)尺度可能是人為指定的,但是往往是規(guī)則的(常用 1 km、500 m、250 m、100 m、50 m)。格網(wǎng)數(shù)據(jù)往往表現(xiàn)為上述第1種形式;或者是第2種形式中大部分數(shù)據(jù)呈現(xiàn)第1種數(shù)據(jù)形式,只有少數(shù)層縮放因子不符合整倍數(shù)關(guān)系(如1 km、500 m、250 m、100 m、50 m中只有100 m不符合第1種數(shù)據(jù)形式要求的整倍數(shù)關(guān)系)。
因此,多尺度格網(wǎng)索引及其編碼的基本策略是在建立第1種形式格網(wǎng)數(shù)據(jù)索引編碼的基礎(chǔ)上,解決第2種形式數(shù)據(jù)的特殊問題。
1.多尺度格網(wǎng)統(tǒng)計數(shù)據(jù)的多尺度編碼
本文提出一種基于樹形結(jié)構(gòu)和格網(wǎng)空間索引的多尺度格網(wǎng)索引編碼體系,解決了多尺度格網(wǎng)統(tǒng)計數(shù)據(jù)多尺度分析時的效率問題。這種索引編碼較好地實現(xiàn)了多尺度數(shù)據(jù)多尺度特征,其基本方法為(如圖3所示)。
圖3 多尺度格網(wǎng)統(tǒng)計數(shù)據(jù)的索引編碼示例
1)編碼規(guī)則:格網(wǎng)編碼分為3個部分,即尺度代碼,尺度因子代碼,格網(wǎng)位置代碼。如“99”“02”“00”“00”,其中第1個數(shù)值是上級格網(wǎng)尺度代碼,“99”表示無上一層尺度的格網(wǎng);第2個數(shù)值表示與上個尺度的縮放因子,“02”表示該尺度格網(wǎng)是上個尺度格網(wǎng)1∶2劃分而來;第3個數(shù)值是上個尺度對應(yīng)格網(wǎng)的順序編碼;第4個數(shù)值為該格網(wǎng)順序編碼。
2)按順序從大尺度分別建立下級格網(wǎng)編碼,編碼以十進制行列順序編碼。如level 1,根據(jù)其行列值對其采用二維十進制編碼,如第1行第1列賦值為“001001”,并記錄該格網(wǎng)的上級格網(wǎng)及其尺度因子、對應(yīng)格網(wǎng)編碼,最終表示為“0002”“00”“001001”。
3)如果尺度數(shù)據(jù)為第2種形式數(shù)據(jù)(如圖2數(shù)據(jù)中有l(wèi)evel x),先建立其他尺度格網(wǎng)的索引編碼。對level x數(shù)據(jù),根據(jù)其尺度因子選擇最臨近的滿足整倍數(shù)關(guān)系的上尺度(大尺度)格網(wǎng)(level 0),根據(jù)該數(shù)據(jù)建立其格網(wǎng)編碼。
4)當(dāng)加入新的尺度格網(wǎng)數(shù)據(jù)時,如果該尺度數(shù)據(jù)與原有數(shù)據(jù)的尺度縮放因子滿足整倍數(shù)關(guān)系,需要根據(jù)步驟1)—2)重新建立索引編碼;當(dāng)不滿足需求時,根據(jù)步驟3)加入編碼。
5)當(dāng)需要刪除某個尺度的格網(wǎng)數(shù)據(jù)時,如果該尺度數(shù)據(jù)與原有數(shù)據(jù)的尺度縮放因子滿足整倍數(shù)關(guān)系,刪除該數(shù)據(jù)同時需要按步驟1)—3)重建索引編碼;當(dāng)不滿足關(guān)系時,直接刪除該數(shù)據(jù)。
6)按照上述編碼,根據(jù)大尺度格網(wǎng)索引小尺度格網(wǎng)、編碼從小到大的順序?qū)懭胨饕募?,便于后續(xù)使用。
上述編碼規(guī)則適用于任何情況下的多尺度格網(wǎng)數(shù)據(jù)。然而實際應(yīng)用中,多尺度格網(wǎng)尺度規(guī)則的制定是有彈性的,可以根據(jù)需求建立等級尺度縮放的多尺度格網(wǎng),這不但不影響實際多尺度分析的效果,而且索引編碼的效率將大為增加。如采用等級為2的縮放因子,使得各尺度間滿足四叉樹的索引模式,進而提高后續(xù)分析的效率。
2.多尺度格網(wǎng)數(shù)據(jù)索引編碼應(yīng)用效率分析
本文中多尺度格網(wǎng)數(shù)據(jù)索引體系的設(shè)計實際上是利用大尺度格網(wǎng)作為小尺度格網(wǎng)建立空間索引的格網(wǎng)參考,從而使得多尺度格網(wǎng)數(shù)據(jù)不同尺度間相互聯(lián)系,并加快各尺度數(shù)據(jù)層之間的相互訪問。沒有這種索引機制的多尺度格網(wǎng)數(shù)據(jù)進行多尺度分析時需要額外的空間查詢操作。本文通過對比多尺度格網(wǎng)數(shù)據(jù)建立索引前后的多尺度分析操作的時間及多尺度格網(wǎng)索引編碼建立時間來分析多尺度格網(wǎng)統(tǒng)計數(shù)據(jù)索引編碼的應(yīng)用效率。
檢驗索引編碼的編碼效率的計算機環(huán)境為:CPU:Intel(R)Core(TM)2 Quad CPUQ9550@2.83 GHz;內(nèi)存:4.00 GB(1067 HZ)/3.37 GB可用;操作系統(tǒng):Microsoft Windows 7專業(yè)版 (32位);編程語言:python2.6;地理數(shù)據(jù)操作基本庫:arcpy;數(shù)據(jù)格式:Esri shapefile文件型空間數(shù)據(jù)格式。
試驗為4個不同研究范圍建立了4個不同尺度的格網(wǎng)。不同規(guī)模的格網(wǎng)統(tǒng)計數(shù)據(jù)索引編碼時間如表1、圖4所示。
表1 不同規(guī)模多尺度格網(wǎng)數(shù)據(jù)索引編碼時間 s
圖4 不同規(guī)模多尺度格網(wǎng)數(shù)據(jù)索引編碼時間
對于大規(guī)模的格網(wǎng)編碼索引編碼效率能夠滿足需求,格網(wǎng)統(tǒng)計數(shù)據(jù)的索引編碼效率與尺度、規(guī)模關(guān)系密切,同一規(guī)模下索引編碼時間與尺度因子成對數(shù)關(guān)系。
同時,為了評價本文提出的多尺度格網(wǎng)索引對多尺度格網(wǎng)統(tǒng)計數(shù)據(jù)分析效率的改善效果,設(shè)計了統(tǒng)一的多尺度數(shù)據(jù)互訪問操作,即通過相鄰尺度兩層格網(wǎng)的相互訪問,計算所有尺度格網(wǎng)某個屬性的總和。試驗分別對表1中10 km2的原始格網(wǎng)、具有一般格網(wǎng)索引的格網(wǎng)(Esri ArcGIS shapefile的空間索引)和具有本文設(shè)計的多尺度格網(wǎng)索引的格網(wǎng)進行了上述操作,其耗時見表2。原始格網(wǎng)的多尺度運算操作十分耗時,效率低下;具有一般格網(wǎng)空間索引有效地提高了多尺度數(shù)據(jù)互訪問的效率;本文所設(shè)計的多尺度格網(wǎng)索引也較好地提高了多尺度數(shù)據(jù)不同尺度間互訪問的效率,并且比一般格網(wǎng)空間索引好,效率提高了30%。
表2 多尺度格網(wǎng)數(shù)據(jù)實驗耗時 s
本文針對多尺度格網(wǎng)設(shè)計了一種基于格網(wǎng)索引的索引編碼體系。該方法有著較高的編碼效率和訪問效率,較好地解決了多尺度格網(wǎng)數(shù)據(jù)尺度間訪問的效率問題。同時需要指出的是:①任何索引對查詢、訪問的操作時間的優(yōu)化都是相對的,不合適的索引不但不能加快查詢速度,反而會使得操作更為復(fù)雜耗時。因此,建立索引必須針對數(shù)據(jù)本身特征,這也是本文設(shè)計的索引比一般格網(wǎng)索引效率更優(yōu)的根本原因和基礎(chǔ)。②索引對原始數(shù)據(jù)訪問的優(yōu)化,并不一定降低空間查詢、訪問及運算的時間。根據(jù)索引選擇合適的數(shù)據(jù)查詢方法、制定優(yōu)化的訪問策略、設(shè)計高效的運算算法對多尺度格網(wǎng)數(shù)據(jù)的分析效率都是至關(guān)重要的。
[1] 狄琳.建立新國家地理格網(wǎng)服務(wù)地理國情監(jiān)測初探[J].測繪通報,2011(11):1-2.
[2] 左偉,張桂蘭,萬必文,等.中尺度生態(tài)評價研究中格網(wǎng)空間尺度的選擇與確定[J].測繪學(xué)報,2003,32 (3):267-271.
[3] GEHLKE C K,BIEHL K.Certain Effects of Grouping upon the Size of the Correlation Coefficient in Census Tract Material[J].Journal of the American Statistical Association,1934(29):169-170.
[4] 王艷慧,李小娟,宮輝力.地理要素多尺度表達的基本問題[J].中國科學(xué)E輯:技術(shù)科學(xué),2006(36):38-44.
[5] 閻超德,趙學(xué)勝.GIS空間索引方法述評[J].地理與地理信息科學(xué),2004(4):23-28,39.
[6] 鄭坤,朱良峰,吳信才,等.3D GIS空間索引技術(shù)研究[J].地理與地理信息科學(xué),2006(4):35-39.
[7] 吳敏君.GIS空間索引技術(shù)的研究[D].鎮(zhèn)江:江蘇大學(xué),2006.
[8] PEANO G.Sur Une Courbe,Qui Remplit Toute Une Aire Plane[J].Mathematische Annalen,1890(36):157-160.
[9] HILBERT D.Ueber Die Stetige Abbildung Einer Line Auf Ein Fl?chenstück[J].Mathematische Annalen,1891 (38):459-460.
[10] HAMILTON C H,RAU-CHAPLIN A.Compact Hilbert Indices:Space-filling Curves for Domains with Unequal Side Lengths[J].Information Processing Letters,2008 (105):155-163.
[11] LONGLEY P.Geographic Information Systems and Science(2nd ed)[M].West Sussex:John Wiley&Sons Inc,2005:229-234.
[12] 楊族橋,郭慶勝,牛冀平,等.DEM多尺度表達與地形結(jié)構(gòu)線提取研究[J].測繪學(xué)報,2005,34(2):134-137.
Research on Index and Code for Multi-scale Grid Data
ZHANG Xiaohu,ZHONG Ershun,WANG Shaohua,ZHANG Xun
P208
B
0494-0911(2014)07-0035-04
2013-03-12
國家科技支撐計劃(2011BAH06B03)
張小虎(1986—),男,江蘇寶應(yīng)人,博士生,研究方向為格網(wǎng)空間數(shù)據(jù)多尺度分析。最優(yōu)。在格網(wǎng)索引中,當(dāng)用戶進行空間查詢時,首先計算被查對象所在的空間格網(wǎng),使用格網(wǎng)快速定位到所選的空間對象。格網(wǎng)索引方法是對空間對象最為直觀簡單的索引方法,其對應(yīng)的算法也比較簡單,可以實現(xiàn)對象的快速目標(biāo)查詢,并且這是一種典型的以空間換時間的索引方法,數(shù)據(jù)冗余大,但并不影響格網(wǎng)索引的高效而帶來的廣泛應(yīng)用。
張小虎,鐘耳順,王少華,等.多尺度空間格網(wǎng)數(shù)據(jù)的索引編碼研究[J].測繪通報,2014(7):35-38.
10.13474/j.cnki.11-2246. 2014.0220