摘 要:本文在介紹了Oracle的Spatial組件的基礎(chǔ)上,探討了基于Oracle數(shù)據(jù)庫實現(xiàn)海量空間影像數(shù)據(jù)的管理技術(shù)。通過采用數(shù)據(jù)分塊結(jié)合索引檢索的方式實現(xiàn)了快速管理管理海量空間影像數(shù)據(jù)。
關(guān)鍵詞:空間影像數(shù)據(jù) 分塊技術(shù) 索引 Spatial組件 元數(shù)據(jù)
中圖分類號:P23文獻(xiàn)標(biāo)識碼:A文章編號:1674-098X(2012)04(a)-0210-01
1 前言
隨著衛(wèi)星遙感觀測、地理信息系統(tǒng)、航空攝影等技術(shù)的快速發(fā)展,采集高分辨率的空間影像數(shù)據(jù)不是什么難事。但是影像數(shù)據(jù)的分辨率越高意味著數(shù)據(jù)量越大,比如采集相同地段的遙感影像數(shù)據(jù)時,分辨率越高,需要存儲、管理的影象數(shù)據(jù)量相應(yīng)越大,它們之間是非線性增長的量化關(guān)系。
任何空間影像數(shù)據(jù)管理系統(tǒng)都將涉及到影像數(shù)據(jù)的存儲、訪問、顯示、管理等等問題,尤其對于顯示模塊來說,由于影像數(shù)據(jù)量巨大,加之計算機系統(tǒng)有限的內(nèi)存等諸多瓶頸,使得計算機面臨著內(nèi)存供需和影像數(shù)據(jù)量增長之間的矛盾。因此為了能夠?qū)崿F(xiàn)海量影像數(shù)據(jù)高效管理,必須在考慮現(xiàn)有計算機軟硬件配置的基礎(chǔ)上,研發(fā)可行的影像數(shù)據(jù)處理解決方案。一種常規(guī)的做法是在軟件算法層面探索可行的處理方法,比如中間圖像處理技術(shù)就是其中的一種。這種中間圖像實質(zhì)是通過和原始圖像和最終圖像進行交換實現(xiàn)提升計算機圖像顯示速度的方式來實現(xiàn)的。
事實上,分塊技術(shù)類似于中間圖像技術(shù),分片處理可以將海量的影像數(shù)據(jù)拆分成很多個數(shù)據(jù)量相對較小的數(shù)據(jù)塊,通過對這些數(shù)據(jù)塊編號并建立索引的方式,通過檢索編號、索引的方式快速檢索到各個數(shù)據(jù)塊從而提高訪問和管理海量空間影像數(shù)據(jù)的效率。本文正是在這個基礎(chǔ)上探討了基于Oracle提供的Spatial組件技術(shù)實現(xiàn)管理海量空間影像數(shù)據(jù)的管理。
2 影像數(shù)據(jù)管理
2.1 Spatial 組件
Oracle公司推出了一種空間數(shù)據(jù)庫組Spatial,是一種用來實現(xiàn)存儲、管理空間數(shù)據(jù)的組件技術(shù)。自O(shè)racle9i后,Oracle開始對三維空間影像數(shù)據(jù)的處理提供了強有力的支持接口。Spatial組件內(nèi)部包含了元數(shù)據(jù)表、空間數(shù)據(jù)字段(簡稱:SDO_GEOMETRY)和空間索引,為實現(xiàn)空間影像數(shù)據(jù)和Oracle數(shù)據(jù)庫表的映射奠定基礎(chǔ),Oracle Spatial組件還開放了一系列空間影像數(shù)據(jù)查詢、分析的API接口,這些接口使得用戶具備開發(fā)三維影像管理系統(tǒng)的能力,比如GIS地理信息系統(tǒng)。Spatial組件的空間數(shù)據(jù)字段SD_GEOMETRY可以用來存儲空間數(shù)據(jù),而元數(shù)據(jù)表則管理包含SDO_GEOMETRY字段的空間數(shù)據(jù)表;如果有必要,Oracle完全可以采用索引技術(shù)(R樹索引,四叉樹索引)來提高檢索速度。Oracle Spatial組件主要可以解決兩類問題:一類是滿足需要提高Oracle數(shù)據(jù)庫數(shù)據(jù)檢索查詢速度的客戶;另一種需求是為了提供高效地存儲、訪問、管理海量空間影像數(shù)據(jù)庫數(shù)據(jù)的用戶。
2.2 空間影像數(shù)據(jù)庫建模
在Oracle數(shù)據(jù)庫中,數(shù)據(jù)以記錄(records)的方式的存儲,一條記錄對應(yīng)一個對象實例,比如一幅影像。記錄包括基本元素影像數(shù)據(jù),當(dāng)然還有其它的元素:坐標(biāo)標(biāo)尺、寬、高。假設(shè)我們直接如果將影像數(shù)據(jù)文件全部存到插數(shù)據(jù)庫表中,這個操作是很簡單的,可是傳輸效率很低,同時很難發(fā)揮Oracle提供的多線程并發(fā)訪問能力??紤]到這些因素,本文采用按照一定的規(guī)則對影像進行分塊,同時話可以建立數(shù)據(jù)快的索引,從而為實現(xiàn)并發(fā)訪問、管理海量影像數(shù)據(jù)奠定了基礎(chǔ)。
2.2.1 數(shù)據(jù)分塊
計算機系統(tǒng)讀取圖象數(shù)據(jù)是順序行的讀取。一般情況下,計算機會在順序讀取圖像數(shù)據(jù)并與所需檢索的數(shù)據(jù)進行比較,如果找到所需的數(shù)據(jù)就停止或到了文件末尾沒有找到??梢钥紤]另外的方法,比如我們編寫程序算法,將影像數(shù)據(jù)文件按照一定的拆分比例分塊,程序讀取一定長度的數(shù)據(jù)并存儲到緩沖區(qū),以下我們簡稱中間圖像,這時中間圖像直接送入處理系統(tǒng),處理系統(tǒng)將處理完成的信息送到顯示系統(tǒng)顯示。然后程序繼續(xù)讀取數(shù)據(jù),當(dāng)再一次到達(dá)設(shè)定長度的一段數(shù)據(jù)時,再存放到剛才的文件里,這樣中間圖像里面包含很多數(shù)據(jù)塊,如此反復(fù),就可以按照預(yù)定的比例將圖象分塊了。后面,我們將為這些數(shù)據(jù)庫編號,方便檢索。
2.2.2 數(shù)據(jù)分塊
通常分塊是有原則的,考慮到計算機的性能問題,比如磁盤讀寫速度和網(wǎng)絡(luò)傳輸延遲,分塊過小或過大都會增加數(shù)據(jù)管理操作(磁盤讀寫、內(nèi)存拷貝、網(wǎng)絡(luò)傳輸)的時間。其次是對于多分辨率的層次模型, 不規(guī)范的分塊方式不利于建立影像數(shù)據(jù)金字塔和索引,一般建議塊尺寸取128*128或256*256像素。
2.2.3 影像空間數(shù)據(jù)文件索引的建立與檢索
空間影像數(shù)據(jù)的數(shù)據(jù)量日益增長,為了提高空間影像管理系統(tǒng)的性能和速度,通常將整幅圖像劃分為較小的數(shù)據(jù)塊,每個塊在整個圖像中有位置標(biāo)示,將每個小塊的數(shù)據(jù)和位置標(biāo)識存儲起來,這樣就建立了數(shù)據(jù)塊的空間索引數(shù)據(jù)庫了,方便快速定位圖像數(shù)據(jù)。
2.3 數(shù)據(jù)庫建模
2.3.1 影像數(shù)據(jù)建模
為了能使用Oracle數(shù)據(jù)庫存儲和管理空間影像數(shù)據(jù),需要
用到Spatial組件內(nèi)部的元數(shù)據(jù)表,主要用來實現(xiàn)空間影像數(shù)據(jù)到數(shù)據(jù)庫表的映射??臻g影像數(shù)據(jù)包括圖象屬性信息描述信息(圖象的大小、色彩值)以及圖元灰度值(圖象數(shù)據(jù))。通過對空間影像數(shù)據(jù)進行數(shù)據(jù)庫建模分析,了解到影像數(shù)據(jù)主要包括以下元素:影像標(biāo)識,通常是唯一的,主要用來標(biāo)識引用影像數(shù)據(jù)對象;影像類型標(biāo)識,包含IMG、DEM兩種;影像編碼,標(biāo)識影像數(shù)據(jù)信息;影像數(shù)據(jù)包括某分辨率下的像素的行數(shù)和列數(shù)。
2.3.2 數(shù)據(jù)分塊建模
通過分析我們知道影像數(shù)據(jù)塊主要包括以下元素:影像塊的數(shù)量,表示所分塊的數(shù)目;影像塊標(biāo)記,用來區(qū)分影像塊;影像塊所在影像的行號;影像塊所在影像的列號;影像塊的數(shù)據(jù)。Spatial組件提供了將空間影像數(shù)據(jù)映射到幾何圖形元的能力,我們稱之為元數(shù)據(jù),這種與影像數(shù)據(jù)相關(guān)的幾何圖形元包括維數(shù)、邊界等。
2.4 影像空間數(shù)據(jù)的訪問和管理
一方面,通過使用數(shù)據(jù)分塊的策略并結(jié)合Oracle數(shù)據(jù)庫Spatial組件現(xiàn)有的內(nèi)置的元數(shù)據(jù)庫表對影像空間數(shù)據(jù)和影像空間數(shù)據(jù)塊進行數(shù)據(jù)庫建模,這樣可以在Oracle數(shù)據(jù)庫中存儲空間影像數(shù)據(jù);另一方面,通過使用對影像空間數(shù)據(jù)塊建立索引的方式大大提高Oracle數(shù)據(jù)庫管理影像空間數(shù)據(jù)的效率。
3 結(jié)語
通過上文的論述,證明了分塊技術(shù)和索引技術(shù)可以提高Oracle數(shù)據(jù)庫存儲、管理影像空間數(shù)據(jù)的效率,同時也進一步發(fā)掘了Oracle對于海量空間影像數(shù)據(jù)管理的能力。
參考文獻(xiàn)
[1] 錢慎一,張素智.Oracle 11g從入門到精通.中國水利水電出版社.
[2] 劉南,劉仁義.地理信息系統(tǒng).高等教育出版社.
[3] 湯國安.ARCGIS地理信息系統(tǒng)空間分析實驗教程.科學(xué)出版社.
[4] 鄔倫,劉瑜,張晶,等.地理信息系統(tǒng)-原理、方法和應(yīng)用[M].北京:科學(xué)出版社,2001.