【摘要】針對(duì)海量基于菱形塊的全球離散格網(wǎng)數(shù)據(jù)的組織管理問(wèn)題,提出了一種基于文件數(shù)據(jù)庫(kù)的瓦片金字塔數(shù)據(jù)模型,詳細(xì)介紹了其分層分塊的結(jié)構(gòu)以及數(shù)據(jù)塊的編碼方式和數(shù)據(jù)索引方法,為基于菱形塊的全球離散格網(wǎng)的數(shù)據(jù)集成提出了新的解決方案。
【關(guān)鍵詞】菱形格網(wǎng)瓦片金子塔模型數(shù)據(jù)塊編碼數(shù)據(jù)索引
隨著需求的不斷擴(kuò)大,大范圍遙感數(shù)據(jù)和其他空間信息的需求越來(lái)越迫切。怎樣有效地組織、管理和利用全球海量空間數(shù)據(jù)已成為國(guó)內(nèi)外關(guān)注的科學(xué)研究領(lǐng)域。經(jīng)緯網(wǎng)因兩極變形大不適合全球尺度分析,因此我們尋求這樣一種格網(wǎng):更適合處理全尺度的問(wèn)題;有利于數(shù)據(jù)統(tǒng)一建模、按需重組;在結(jié)構(gòu)上支持多尺度數(shù)據(jù)表達(dá)。全球離散格網(wǎng)模型能夠滿足空間數(shù)據(jù)表達(dá)和管理的需求,彌補(bǔ)當(dāng)前空間數(shù)據(jù)共享和應(yīng)用中的不足。
一、菱形格網(wǎng)
現(xiàn)如今全球離散格網(wǎng)主要有三角形格網(wǎng),菱形格網(wǎng),六邊形格網(wǎng)等。菱形網(wǎng)格具有幾何結(jié)構(gòu)簡(jiǎn)單、方向一致、空間對(duì)稱易搜索的優(yōu)點(diǎn),它類似于正方形網(wǎng)格,具備嵌套的特性,支持有限元和有限差分,支持大規(guī)模全球尺度的模擬。格網(wǎng)是采用每個(gè)單元的地址編碼代替地理坐標(biāo)在球面上進(jìn)行各種操作。對(duì)于菱形單元位置信息的存儲(chǔ),采用Morton碼,使用Morton碼便于快速定位到菱形塊的位置。先將地球等經(jīng)度線分成四份,用0、1、2、3分別代表四個(gè)區(qū)域,對(duì)于每個(gè)子區(qū)域,左下上右分別取0、1、2、3進(jìn)行編碼,每個(gè)菱形單元的Morton碼就是以這幾個(gè)數(shù)字排列組成的字符串。
二、海量菱形格網(wǎng)數(shù)據(jù)的組織
采用文件系統(tǒng)管理數(shù)據(jù)庫(kù)能將整個(gè)數(shù)據(jù)庫(kù)的內(nèi)容保存在單個(gè)索引文件中,便于數(shù)據(jù)的查詢和定位。棱形格網(wǎng)數(shù)據(jù)并不需要用到關(guān)系數(shù)據(jù)庫(kù)的并發(fā)操作等功能,并且對(duì)于海量的數(shù)據(jù),文件數(shù)據(jù)庫(kù)的搜索和更新速度比其他數(shù)據(jù)庫(kù)要快。
2.1瓦片金子塔數(shù)據(jù)模型
海量菱形格網(wǎng)數(shù)據(jù)的組織,參考Google Earth所用的影像金字塔塔模型,它是將參考橢球面按一定原則遞歸剖分成多層次、多分辨率的格網(wǎng)單元,同時(shí)采用每個(gè)單元對(duì)應(yīng)的地址碼代替地理坐標(biāo)在球面上進(jìn)行各種操作,這和菱形格網(wǎng)對(duì)Morton碼的操作所實(shí)現(xiàn)的功能是一樣的。
Google Earth中所有的影像數(shù)據(jù)都是256X256像素的瓦片數(shù)據(jù),并且它按照了四叉樹的方式對(duì)每一層的每一個(gè)瓦片的索引字段信息進(jìn)行了編碼。菱形格網(wǎng)雖然不是正方形格網(wǎng),但它是類似于正方形的格網(wǎng),菱形格網(wǎng)具有可嵌套性,因此可以套用正方形格網(wǎng)的存儲(chǔ)和索引方法。瓦片金子塔模型是一種多分辨率層次模型。把原始的數(shù)據(jù)放在金字塔的最底層,在這一層進(jìn)行分塊處理,每次分塊都是分成上下左右四塊菱形塊,組成一個(gè)傾斜的似正方形矩陣,以一分為四的原則劃分到最細(xì)最為金字塔的最底層。在此基礎(chǔ)上,倒數(shù)第二層按照最底層劃分出來(lái)的基菱形進(jìn)行合并的操作,也就是將相鄰的上下左右四個(gè)菱形合并成一個(gè)基菱形作為最小的存儲(chǔ)單元。以此類推,根據(jù)數(shù)據(jù)精度的需求劃分若干層,相鄰兩層的數(shù)據(jù)塊是4的倍數(shù)。
2.2瓦片數(shù)據(jù)的大小和索引
瓦片數(shù)據(jù)塊的大小和數(shù)據(jù)庫(kù)的訪問(wèn)次數(shù)和檢索次數(shù)是密切相關(guān)的。如果數(shù)據(jù)分塊太小,數(shù)據(jù)庫(kù)的訪問(wèn)次數(shù)就多,相反則每次數(shù)據(jù)庫(kù)的寫入和輸出的數(shù)據(jù)量就很大,因此要權(quán)衡數(shù)據(jù)塊大小的利弊。鄧雪清對(duì)數(shù)據(jù)塊大小的選取做了相關(guān)的實(shí)驗(yàn),實(shí)驗(yàn)主要是針對(duì)數(shù)據(jù)塊大小對(duì)磁盤讀性能、網(wǎng)格傳輸性能及對(duì)磁盤讀和網(wǎng)格傳輸綜合性能的影像做了分析。最終結(jié)果是:數(shù)據(jù)塊大小最優(yōu)值大概是在32KB左右,對(duì)應(yīng)的數(shù)據(jù)量大小的菱形格網(wǎng)的數(shù)量為256X256或者是128X128,由于現(xiàn)階段菱形格網(wǎng)所包含的屬性數(shù)據(jù)比較少,采用256X256作為一個(gè)瓦片單元。金字塔模型會(huì)增加大約1/3的數(shù)據(jù)存儲(chǔ)空間,但是對(duì)于海量數(shù)據(jù)量,數(shù)據(jù)的讀取效率會(huì)有顯著的提高。
數(shù)據(jù)塊的索引按照數(shù)據(jù)在文件數(shù)據(jù)庫(kù)中的存儲(chǔ)路徑來(lái)命名,金子塔數(shù)據(jù)模型中每一層的數(shù)據(jù)分別存儲(chǔ)在一個(gè)文件夾中。對(duì)于該層數(shù)據(jù)的子塊再進(jìn)行分類存儲(chǔ),分類的方法是:將所有菱形塊按相鄰關(guān)系分成16個(gè)相等的塊,然后對(duì)這16等塊按相同的方法繼續(xù)劃分,由于文件的分塊方法也是按照類似于Morton編碼的方式進(jìn)行的,因此通過(guò)其中任意一個(gè)子文件夾的文件名可以得到父文件夾的文件名,他們的關(guān)系是:該父文件的文件名是其中任意一個(gè)子文件夾文件名的上2級(jí)的Morton碼。由于菱形網(wǎng)格剖分的最大層次是26,因此文件路徑的深度最多是8,通過(guò)路徑名稱很快就能找到需要的數(shù)據(jù)塊。
三、結(jié)論與展望
就基于菱形塊的全球離散格網(wǎng)的數(shù)據(jù)組織管理策略進(jìn)行了初步的探索,概述了菱形格網(wǎng)的結(jié)構(gòu)特點(diǎn),借鑒Google Earth的瓦片技術(shù),提出了適于處理海量菱形格網(wǎng)的瓦片金子塔模型,根據(jù)數(shù)據(jù)塊的編碼,探討了數(shù)據(jù)的索引方法。海量數(shù)據(jù)的壓縮能很大程度上提高數(shù)據(jù)操作的效率,因此對(duì)菱形格網(wǎng)編碼的壓縮也將是未來(lái)研究的方向。