時間: 分類:推薦論文 次數(shù):
摘要:本文在對海量空間數(shù)據(jù)進(jìn)行了一定的分析基礎(chǔ)上,探討了當(dāng)前針對海量數(shù)據(jù)組織管理的金字塔結(jié)構(gòu)存儲方法和線性四叉樹的空間索引結(jié)構(gòu)。并通過示例程序開發(fā)驗證其有效性。
關(guān)鍵詞:高級工程師評職稱,空間數(shù)據(jù)庫,海量數(shù)據(jù),四叉樹,金字塔
1 引言
自90年代以來,高空間分辨率遙感衛(wèi)星開始向大眾敞開大門,作為GIS的重要數(shù)據(jù)來源——遙感數(shù)據(jù)量快速增長。衛(wèi)星遙感影像是一種以柵格數(shù)據(jù)模型存儲的數(shù)據(jù),其最明顯的特點是數(shù)據(jù)量大、數(shù)據(jù)結(jié)構(gòu)單一。同時遙感數(shù)據(jù)是一種大面積的、動態(tài)的、近實時的數(shù)據(jù)源,是GIS數(shù)據(jù)更新的重要手段。遙感數(shù)據(jù)可用于提取線劃數(shù)據(jù)和生成數(shù)字正射影像數(shù)據(jù)、DEM數(shù)據(jù)[1]。我國的領(lǐng)土面積為960.1216萬平方公里,如果全國的遙感影像用QuickBird 0.61m分辨率的影像來記錄據(jù)估算需要72092.15GB[2]。為了使這些海量空間數(shù)據(jù)得到更好的應(yīng)用,必須考慮采用更為有效的組織管理手段對海量空間數(shù)據(jù)進(jìn)行組織管理。
解決此問題,在GIS中對大范圍空間數(shù)據(jù)的統(tǒng)一有效的組織管理有很大幫助。早在90年代,美國ESRI公司推出空間數(shù)據(jù)引擎(SDE)對該問題提供了一種解決方案,依托于關(guān)系數(shù)據(jù)庫環(huán)境,采用高效空間目標(biāo)模型(Efficient Spatial Object Model)對空間實體進(jìn)行完整組織。此舉一方面避免了大數(shù)據(jù)量傳統(tǒng)拓?fù)淠P徒M織數(shù)據(jù)時需要的大量的硬盤訪問操作;另一方面,空間信息作為關(guān)系庫中的成員,屬性信息與圖形信息形成一體化,避免了通過標(biāo)識碼連接屬性,大大提高了信息檢索的效率[3]。同時,在ArcGIS9.0以上版本的ArcCatalog中又新增了柵格目錄(Raster Catalog)的數(shù)據(jù)組織方式,很好的滿足了目前流行的以圖幅為單位進(jìn)行空間數(shù)據(jù)采集并更新的需求。
從當(dāng)前空間數(shù)據(jù)的生產(chǎn)及數(shù)字化過程看,以圖幅為單位進(jìn)行管理的局面一時難以改變[4]。故本文將討論以圖幅為基本存儲單位,在此基礎(chǔ)上對其用多金字塔結(jié)構(gòu)進(jìn)行空間數(shù)據(jù)組織并利用四叉樹作為海量柵格數(shù)據(jù)的空間索引的海量數(shù)據(jù)組織存儲方法。
2 海量數(shù)據(jù)分析
在研究海量數(shù)據(jù)的組織管理方法前,首先要研究如下問題:由于我國的國土面積較大,正射影像產(chǎn)品空間參考大都是以高斯投影后的平面坐標(biāo)為基礎(chǔ),對于一個省級或國家級的大型影像數(shù)據(jù)庫而言,由于投影分帶的原因,正射影像產(chǎn)品的空間參考的起算原點并不相同[5]。尤其內(nèi)蒙古自治區(qū)這類跨地域很長的省份按照高斯投影后的坐標(biāo)不會是一個3°高斯投影帶,每個帶的坐標(biāo)都是以本帶的坐標(biāo)原點為參考點,空間基準(zhǔn)不統(tǒng)一,而且相鄰兩帶帶邊的圖幅變形很大。這樣,在多個坐標(biāo)原點和帶邊數(shù)據(jù)存在幾何變形的情況下,給省級或國家級這樣的大型影像數(shù)據(jù)庫的無縫數(shù)據(jù)組織帶來了問題。所以首先要解決的是大型遙感影像數(shù)據(jù)庫的空間無縫瀏覽的技術(shù),相關(guān)的技術(shù)已經(jīng)在其他文獻(xiàn)中多次被提到,本文就不再贅述。
3 海量數(shù)據(jù)組織管理方法
為了提供高速數(shù)據(jù)查詢、顯示、刷新以及網(wǎng)絡(luò)傳輸?shù)龋诮M織和管理海量數(shù)據(jù)時應(yīng)使用高效的存儲形式和快速高效的索引機制。
3.1海量數(shù)據(jù)存儲技術(shù)
當(dāng)前GIS柵格數(shù)據(jù)庫模型分為傳統(tǒng)的關(guān)系數(shù)據(jù)庫系統(tǒng)(RDBMS)、對象數(shù)據(jù)庫系統(tǒng)(ODBMS)和對象關(guān)系數(shù)據(jù)庫系統(tǒng)(ORDBMS)。
下面簡要介紹一下GIS柵格數(shù)據(jù)在Oracle中的存儲方式。柵格數(shù)據(jù)在存入數(shù)據(jù)庫時,需將實體對象之間的關(guān)系轉(zhuǎn)換為支持的數(shù)據(jù)結(jié)構(gòu)模型,根據(jù)對象類別在數(shù)據(jù)庫中對應(yīng)建表,空間對象屬性映射為關(guān)系數(shù)據(jù)庫中的列或字段,每個空間數(shù)據(jù)對象對應(yīng)一條數(shù)據(jù)記錄。柵格數(shù)據(jù)包含的三類數(shù)據(jù)中,與記錄空間數(shù)據(jù)對象幾何屬性的圖像數(shù)據(jù)相對應(yīng)的字段是一種復(fù)雜的數(shù)據(jù)類型,因此對于空間數(shù)據(jù)庫來說,關(guān)鍵問題是如何利用獨立于關(guān)系數(shù)據(jù)庫系統(tǒng)的統(tǒng)一數(shù)據(jù)模型處理反映空間數(shù)據(jù)對象的幾何屬性。一般利用Oracle9i存儲柵格數(shù)據(jù)幾何信息的方式為ORDSYS.ORDImage和BLOB。其中ORDSYS.ORDImage是一種用于存儲如BMP、PCX、TIFF、GIF等多種格式的二位靜態(tài)柵格數(shù)據(jù)對象關(guān)系數(shù)據(jù)類型,它還支持JPEG、LZW等壓縮格式。BLOB屬于LOB(Large Object)的一種,它是數(shù)據(jù)庫為解決存儲不規(guī)則結(jié)構(gòu)數(shù)據(jù)而創(chuàng)建的。在早期的數(shù)據(jù)庫中,被存儲在數(shù)據(jù)庫外部的操作系統(tǒng)文件中。存儲在表中的是列名和該列中每個指向相關(guān)的外部文件的指針。在這種情況下,表被規(guī)范化了,因為指針具有相同的數(shù)據(jù)類型[7]。
柵格圖像由像素點組成,每個像素點都用二進(jìn)制表示,雖然數(shù)據(jù)結(jié)構(gòu)較之矢量簡單,但通常數(shù)據(jù)量較大,如存入數(shù)據(jù)庫前不作任何處理,將因磁盤讀取和網(wǎng)絡(luò)傳輸效率,而難以滿足實時調(diào)度、快速瀏覽和檢索的要求,故需先將柵格圖像數(shù)據(jù)分塊和建立影像金字塔分級,后存入數(shù)據(jù)庫。
3.2海量數(shù)據(jù)分塊技術(shù)
柵格數(shù)據(jù)分塊是把整幅圖像按照一定的大小分成若干個大小相等而互不重疊的塊,而任意尺寸分塊不利于建立影像金字塔和索引,因此比較理想的塊尺寸是2的整數(shù)冪,如512*512作為一個子塊。具體分塊操作時還應(yīng)考慮圖像局部的相關(guān)程度、壓縮算法、網(wǎng)絡(luò)的傳輸單元等情況。如可將整個圖像分為30(5*6)塊,每一塊都有一個序號,每一個塊作為單獨的一幅圖像,數(shù)據(jù)存入表中,并為序號列建立索引,一個序號對應(yīng)一個數(shù)據(jù)塊。當(dāng)前臺程序?qū)?shù)據(jù)庫中圖像作漫游時,根據(jù)視點、焦點以及方位角之間的關(guān)系計算出哪些塊在可見區(qū)內(nèi),通過索引記錄塊的指針,索引到指針,直接指向并調(diào)用視圖中可見的部分對應(yīng)的數(shù)據(jù)塊,而不是每次從數(shù)據(jù)庫中把全部的數(shù)據(jù)都取出,這樣處理可以縮減顯示的數(shù)據(jù)量,從而提高顯示速度。
3.3海量數(shù)據(jù)的金字塔技術(shù)
為了提高圖像的實時縮放顯示速度,快速獲取不同分辨率的圖像信息,需要對原始的圖像生成圖像金字塔,根據(jù)不同的顯示要求調(diào)用不同分辨率的圖像,達(dá)到快速顯示漫游的目的。圖像金字塔就是由原始圖像開始,建立一系列圖像,各幅圖像反映不同的詳盡程度。利用圖像文件金字塔結(jié)構(gòu)的不同層具有不同分辨率的特點,在對圖像數(shù)據(jù)瀏覽時,就可以根據(jù)當(dāng)前顯示的分辨率取相應(yīng)金字塔層的數(shù)據(jù),以實現(xiàn)圖像數(shù)據(jù)的快速瀏覽。
金字塔影像的生成方法如下:
1、首先把原始圖像數(shù)據(jù)作為金字塔的底層,即第0層,并對其進(jìn)行分塊,形成第0層數(shù)據(jù)塊矩陣。
2、在第0層的基礎(chǔ)上,按每個數(shù)據(jù)塊合成為一個數(shù)據(jù)塊的方法生成第1層,并對其進(jìn)行分塊,形成第1層數(shù)據(jù)塊矩陣。
3、再在第1層的基礎(chǔ)上采用同樣的方法生成第2層數(shù)據(jù)塊矩陣,
如此下去,構(gòu)成整個數(shù)據(jù)塊金字塔,如圖1所示顯示出了分塊后的圖像金字塔,每層金字塔圖像的分塊都采用相同大小。假設(shè)按128*128個像素大小對原始數(shù)據(jù)進(jìn)行分塊,則當(dāng)?shù)趇層的像素矩陣大小小于或等于128*128時,金字塔構(gòu)建完畢。
圖 1分塊后的金字塔圖像
3.4海量數(shù)據(jù)的索引機制
為了提高檢索可見區(qū)域內(nèi)數(shù)據(jù)塊的速度,需要創(chuàng)建數(shù)據(jù)塊索引,四叉樹索引則是一個不錯的選擇。四叉樹是一種每個非葉子節(jié)點最多只有四個分支的樹型結(jié)構(gòu),也是一種層次數(shù)據(jù)結(jié)構(gòu),其特性是能夠?qū)崿F(xiàn)空間遞歸分解[6]。
構(gòu)建四叉樹索引結(jié)構(gòu)是在分塊后的金字塔影像數(shù)據(jù)基礎(chǔ)之上的。構(gòu)建索引需要分三步:邏輯分塊、節(jié)點編碼和物理分塊[7]。
1、邏輯分塊
與構(gòu)建瓦片金字塔對應(yīng),規(guī)定塊劃分從地形數(shù)據(jù)左下角開始,從左至右,從下到上依次進(jìn)行。同時規(guī)定四叉樹的層編碼與金字塔的層編碼保持一致,即四叉樹的底層對應(yīng)金字塔的底層。
2、節(jié)點編碼
假定用一維數(shù)組來存儲瓦片索引,瓦片排序從底層開始,按從左至右,從下到上的順序依次進(jìn)行,瓦片在數(shù)組中的偏移量即為節(jié)點編碼。
3、物理分塊
在邏輯分塊的基礎(chǔ)上對地形數(shù)據(jù)進(jìn)行物理分塊,生成地形數(shù)據(jù)子塊。對上邊界和右邊界瓦片中的多余部分用無效像素值填充。物理分塊完畢,按分塊編號順序存儲。
至此,配合有效的海量數(shù)據(jù)可視化技術(shù)就可以對海量數(shù)據(jù)較為充分的利用起來。
4 應(yīng)用實例
本文中介紹的研究成果已成功應(yīng)用于多個地區(qū)的海量地形數(shù)據(jù)實時可視化。以某地區(qū)地形三維可視化信息管理系統(tǒng)為例,該地區(qū)所采用的規(guī)則格網(wǎng)數(shù)字高程模型共有23872個點,利用ArcCatalog工具制成Terrain地形數(shù)據(jù),并對其構(gòu)建5層的金字塔結(jié)構(gòu)和相關(guān)索引文件。彩色紋理影像單塊大小為9845X9328,一共7塊,分辨率為2.5米。數(shù)字高程模型數(shù)據(jù)為840M,紋理影像數(shù)據(jù)為3002.59MB。對紋理影像數(shù)據(jù)構(gòu)建5層金字塔結(jié)構(gòu)并構(gòu)建索引文件,瓦片的大小在ArcGlobe中設(shè)置為128X128。最終形成3.44G的紋理影像金字塔數(shù)據(jù)。數(shù)據(jù)被用在利用ArcGIS Engine 9.3+VS2005+Windows Vista Ultimate開發(fā)環(huán)境下部署在Intel Core2 Duo T6600 2.20GHz,2G內(nèi)存,GeForce G 105M 512M 64位顯卡計算機中,計算機的操作系統(tǒng)同樣為Vista Ultimate SP2,圖形標(biāo)準(zhǔn)為directX。顯示效果如圖2,圖形瀏覽操作流暢。
圖 2系統(tǒng)截圖
5 結(jié)論
經(jīng)過程序驗證,本文中所談到的金字塔模型和現(xiàn)行四叉樹索引的的數(shù)據(jù)組織管理模式,能夠滿足海量數(shù)據(jù)的可視化的需要,實現(xiàn)了海量數(shù)據(jù)的快速瀏覽查詢。
參考文獻(xiàn)
[1] 李建松.地理信息系統(tǒng)原理[M].武漢:武漢大學(xué)出版社,2006.
[2] 王恩泉.中國版Google Earth的空間數(shù)據(jù)組織與管理研究[D].中國測繪科學(xué)研究院碩士學(xué)位論文,2007.
[3] Spatial Database Engine (SDE). An ESRI White Paper.
[4] 劉紀(jì)平.海量空間數(shù)據(jù)組織與管理初探[J].中國圖象圖形學(xué)報,1998,3(6):500~503.
[5] 王密,龔健雅,李德仁.大型遙感影像數(shù)據(jù)庫的空間無縫數(shù)據(jù)組織[J].武漢大學(xué)學(xué)報(信息科學(xué)版).2001,26(5):419~424
[6] 戴晨光,張永生,鄧雪清.一種用于實時可視化的海量地形數(shù)據(jù)組織與管理方法[J].系統(tǒng)仿真學(xué)報 .2005,17(2):406~413
[7] 黃河等.Oracle 9i 數(shù)據(jù)庫系統(tǒng)培訓(xùn)教程[M].清華大學(xué)出版社.2002
[8] 肖禾斌等.線性四叉樹和線性八叉樹領(lǐng)域?qū)ふ业囊环N新算法[J].測繪學(xué)報.1998.03
級別:CSSCI南大期刊,北大期刊,統(tǒng)計源期刊
ISSN:1003-1707
刊期:進(jìn)入查看
格式:咨詢顧問
級別:CSSCI南大期刊,北大期刊,統(tǒng)計源期刊
ISSN:0577-9154
刊期:進(jìn)入查看
格式:咨詢顧問
級別:CSSCI南大期刊,北大期刊,統(tǒng)計源期刊
ISSN:1001-4233
刊期:進(jìn)入查看
格式:咨詢顧問
級別:北大期刊,CSSCI南大期刊
ISSN:1671-7465
刊期:進(jìn)入查看
格式:咨詢顧問
級別:CSSCI南大期刊,北大期刊,統(tǒng)計源期刊
ISSN:1005-9245
刊期:進(jìn)入查看
格式:咨詢顧問
級別:CSSCI南大期刊,北大期刊,統(tǒng)計源期刊
ISSN:1002-896X
刊期:進(jìn)入查看
格式:咨詢顧問
級別:北大期刊,CSCD期刊,統(tǒng)計源期刊
ISSN:0254-1769
刊期:進(jìn)入查看
格式:咨詢顧問
級別:CSSCI南大期刊,北大期刊,統(tǒng)計源期刊
ISSN:1002-4921
刊期:進(jìn)入查看
格式:咨詢顧問
級別:CSSCI南大期刊,北大期刊,統(tǒng)計源期刊
ISSN:1002-5936
刊期:進(jìn)入查看
格式:咨詢顧問
級別:CSSCI南大期刊,北大期刊,統(tǒng)計源期刊
ISSN:1001-8867
刊期:進(jìn)入查看
格式:咨詢顧問
級別:北大期刊,統(tǒng)計源期刊,CSSCI南大期刊
ISSN:1000-5560
刊期:進(jìn)入查看
格式:咨詢顧問
數(shù)據(jù)庫:SCI
ISSN:2045-2322
刊期:進(jìn)入查看
格式:咨詢顧問
數(shù)據(jù)庫:SCI
ISSN:0284-1851
刊期:進(jìn)入查看
格式:咨詢顧問
數(shù)據(jù)庫:SCI
ISSN:2352-4928
刊期:進(jìn)入查看
格式:咨詢顧問
數(shù)據(jù)庫:SCI
ISSN:0169-4332
刊期:進(jìn)入查看
格式:咨詢顧問
數(shù)據(jù)庫:SCI
ISSN:0960-7412
刊期:進(jìn)入查看
格式:咨詢顧問
數(shù)據(jù)庫:SCI
ISSN:0048-9697
刊期:進(jìn)入查看
格式:咨詢顧問
數(shù)據(jù)庫:SCI
ISSN:0191-2917
刊期:進(jìn)入查看
格式:咨詢顧問
數(shù)據(jù)庫:SCI
ISSN:1741-7007
刊期:進(jìn)入查看
格式:咨詢顧問
數(shù)據(jù)庫:SCI
ISSN:2238-7854
刊期:進(jìn)入查看
格式:咨詢顧問
數(shù)據(jù)庫:SCI
ISSN:2214-7144
刊期:進(jìn)入查看
格式:咨詢顧問