□王 丹 □胡德祥 □田 偉 □馬志杰(黃河勘測規(guī)劃設(shè)計有限公司)
柵格數(shù)據(jù)是地理空間信息最直接的表現(xiàn)形式,柵格數(shù)據(jù)具有信息豐富、快速獲取、數(shù)據(jù)結(jié)構(gòu)簡單等優(yōu)點。隨著應(yīng)用的不斷深入,柵格數(shù)據(jù)在整個GIS領(lǐng)域的應(yīng)用越來越廣泛,很多GIS項目都要求實現(xiàn)對柵格數(shù)據(jù)安全、快速、多用戶訪問,因此,研究柵格數(shù)據(jù)管理技術(shù)很有必要。在張劍波、劉丹等的《GIS中柵格數(shù)據(jù)存儲管理的研究與實現(xiàn)》[1]和申勝利、李華等的《基于ArcSDE的柵格數(shù)據(jù)存儲與處理》[2]兩篇文章中已經(jīng)探討了Raster Dataset和Raster Catalog兩種柵格數(shù)據(jù)管理方式,并對這兩種柵格數(shù)據(jù)管理方式的應(yīng)用進行了簡單的分析和介紹,本文將討論一種新的柵格數(shù)據(jù)管理方式Mosaic Dataset。
本文探討了以ArcGISEngine、ArcSDE和Oracle11g數(shù)據(jù)庫管理系統(tǒng)平臺為支撐,采用一種最新的、先進的柵格數(shù)據(jù)模型-MosaicDataset對各種類型、各種比例尺的柵格數(shù)據(jù)實施集中、統(tǒng)一、高效管理技術(shù)的實現(xiàn),并應(yīng)用于南水北調(diào)工程建設(shè)與管理基礎(chǔ)信息建設(shè)與應(yīng)用(一期)項目。
ArcGISEngine是美國ESRI公司開發(fā)研制的一組可嵌入的GIS組件,它并非面向最終用戶,而是一個面向開發(fā)者的產(chǎn)品,開發(fā)者可以用來開發(fā)定制自己的應(yīng)用程序。對于繁冗的GIS開發(fā)工作而言,理想的解決方案是一個基于組件的實用的開發(fā)框架,且該框架允許解決方案提供商或機構(gòu)內(nèi)部開發(fā)人員快速構(gòu)建行業(yè)專用GIS應(yīng)用軟件,ArcGISEngine正是這樣一個產(chǎn)品。ArcGISEngine由兩個產(chǎn)品組成:一個軟件開發(fā)包和一個可分發(fā)的運行庫。ArcGISEngine提供的功能完全能夠滿足各種層次的開發(fā)需要,并且保持了開放性和擴展性[3]。
在ArcGISEngine10發(fā)布以前,絕大多數(shù)GIS項目都是采用柵格目錄來管理柵格數(shù)據(jù)。ArcGISEngine10的出現(xiàn),給柵格數(shù)據(jù)管理提供了一種新的解決方案,即采用鑲嵌數(shù)據(jù)集來管理柵格數(shù)據(jù),所有類型的地理數(shù)據(jù)庫(個人、文件和ArcSDE)均支持鑲嵌數(shù)據(jù)集。
ArcSDE是ArcGIS與關(guān)系數(shù)據(jù)庫之間的GIS通道[4]。它允許用戶在多種數(shù)據(jù)管理系統(tǒng)中管理地理信息,并使所有的ArcGIS應(yīng)用程序都能夠使用這些數(shù)據(jù)。在ArcSDE中,柵格數(shù)據(jù)存儲為一系列業(yè)務(wù)表和元數(shù)據(jù)表,在存儲柵格數(shù)據(jù)的數(shù)據(jù)庫表中,每一行都對應(yīng)著一個完整的柵格數(shù)據(jù)。ArcSDE10通過柵格數(shù)據(jù)集(RasterDataset)、柵格目錄(RasterCatalog)和鑲嵌數(shù)據(jù)集(Mosaic-Dataset)3種方式來存儲和管理柵格數(shù)據(jù),表1列出了這3種柵格數(shù)據(jù)模型各自的特點、優(yōu)缺點以及用途等[5]。
從表1可以看出,鑲嵌數(shù)據(jù)集兼具了柵格數(shù)據(jù)集和柵格目錄兩種存儲方式的優(yōu)點,是用于存儲和管理數(shù)據(jù)的理想數(shù)據(jù)模型。由于鑲嵌數(shù)據(jù)集并不實際的存儲影像,這使得在將柵格數(shù)據(jù)導(dǎo)入鑲嵌數(shù)據(jù)集中時,大大提高了入庫效率,同時也不會丟失像素數(shù)據(jù)或元數(shù)據(jù),當(dāng)訪問鑲嵌數(shù)據(jù)集時,將動態(tài)地執(zhí)行鑲嵌,重疊數(shù)據(jù)也不會丟失。此外,使用鑲嵌數(shù)據(jù)集管理柵格數(shù)據(jù),可以對單幅影像數(shù)據(jù)分別進行預(yù)覽和下載,很具靈活性。鑒于鑲嵌數(shù)據(jù)集的上述特點,并結(jié)合項目的實際需求,在南水北調(diào)工程建設(shè)與管理基礎(chǔ)信息建設(shè)與應(yīng)用(一期)項目中使用鑲嵌數(shù)據(jù)集來管理柵格數(shù)據(jù),取得了良好效果。
表1 3種柵格數(shù)據(jù)模型對比表
南水北調(diào)工程建設(shè)與管理基礎(chǔ)信息建設(shè)與應(yīng)用(一期)項目中的數(shù)據(jù)管理與維護系統(tǒng)主要實現(xiàn)空間數(shù)據(jù)和屬性數(shù)據(jù)的管理和維護功能。其中,柵格數(shù)據(jù)管理部分采用的是ArcSDEGeodatabase中的MosaicDataset柵格數(shù)據(jù)模型,主要包括對DEM、DOM、遙感衛(wèi)星影像三類數(shù)據(jù)的管理。系統(tǒng)基于ArcGISEngine10、ArcSDE和Oracle11g數(shù)據(jù)庫管理系統(tǒng)平臺,采用Visual-Studio2010開發(fā)實現(xiàn)。系統(tǒng)實現(xiàn)采用典型的三層實現(xiàn)方式,分別由數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和數(shù)據(jù)表示層組成,其框架組成如圖1所示。
圖1 數(shù)據(jù)管理與維護系統(tǒng)框架圖
系統(tǒng)實現(xiàn)了對遙感衛(wèi)星影像、數(shù)字高程模型(DEM)、數(shù)字正射影像圖(DOM)三大類柵格數(shù)據(jù)的管理。主要包括柵格數(shù)據(jù)的入庫、更新、預(yù)覽以及數(shù)據(jù)格式的轉(zhuǎn)換等功能。支持TIFF、Grid、PersonalGeodatabase和 FileGeodatabase等格式。
3.2.1 柵格數(shù)據(jù)入庫
系統(tǒng)采用Arc GIS Engine技術(shù)結(jié)合空間ETL模型來實現(xiàn)批量入庫功能,采用MosaicDataset柵格數(shù)據(jù)模型來管理和存儲柵格數(shù)據(jù)。系統(tǒng)實現(xiàn)了在導(dǎo)入柵格數(shù)據(jù)的同時,顯示進度信息,同時提示數(shù)據(jù)入庫的進度以及狀態(tài)信息等。通常一幅柵格圖像大小在幾十兆甚至幾百兆左右,若采用Raster Catalog來管理,在導(dǎo)入ArcSDE時,通常一幅柵格圖像需要花費1-10 min左右的時間來完成數(shù)據(jù)入庫(具體時間跟機器性能和數(shù)據(jù)大小有關(guān)),將DOM數(shù)據(jù)批量導(dǎo)入Raster Catalog運行結(jié)果如圖2所示,而采用Mosaic Dataset來管理柵格數(shù)據(jù),則在數(shù)據(jù)入庫時大大縮減了等待時間,完成一幅柵格數(shù)據(jù)入庫僅僅需要幾秒鐘,速度提高了近十倍,將DOM數(shù)據(jù)批量導(dǎo)入Mosaic Dataset運行結(jié)果如圖3所示。
圖2 批量導(dǎo)入D O M到柵格目錄圖
圖3 批量導(dǎo)入D O M到鑲嵌數(shù)據(jù)集圖
從上面兩幅圖可以看出,柵格數(shù)據(jù)批量入庫時,采用MosaicDataset來管理柵格數(shù)據(jù)比采用RasterCatalog來管理柵格數(shù)據(jù)的入庫效率要高很多,當(dāng)入庫的數(shù)據(jù)量越大時,優(yōu)勢越明顯。具體見表2所示。
表2 柵格數(shù)據(jù)入庫效率比較表
3.2.2 柵格數(shù)據(jù)預(yù)覽
Mosaic Dataset數(shù)據(jù)表中的一條記錄對應(yīng)著一幅柵格圖像,在ArcGISEngine開發(fā)中,可以靈活的控制鑲嵌數(shù)據(jù)集的顯示方式,既可以實現(xiàn)整個鑲嵌數(shù)據(jù)集的預(yù)覽,也可以分別預(yù)覽單個柵格數(shù)據(jù)集。若要實現(xiàn)對單幅柵格數(shù)據(jù)集的預(yù)覽,或者對單幅柵格數(shù)據(jù)集進行分析,則首先需要調(diào)用IMosaic Workspace Extension接口[6]打開Mosaic Dataset,獲取它的柵格目錄表,然后根據(jù)需要預(yù)覽的柵格數(shù)據(jù)集在目錄表中的編號來創(chuàng)建相應(yīng)的柵格數(shù)據(jù)集對象,最后將其加入Mapcontrol進行預(yù)覽和分析。
大多數(shù)的GIS項目一般都會涉及到柵格數(shù)據(jù)管理的問題,采用哪一種柵格數(shù)據(jù)模型關(guān)系到整個GIS系統(tǒng)的安全性、訪問效率以及數(shù)據(jù)使用的靈活性等方面。本文介紹的3種柵格數(shù)據(jù)模型各有長短,可結(jié)合實際需要采用合適的柵格數(shù)據(jù)模型,但是就訪問效率和操作靈活性來講,ArcGIS10新推出的Mosaic-Dataset柵格數(shù)據(jù)模型更為突出,它更適合管理大批量的柵格數(shù)據(jù),在柵格數(shù)據(jù)入庫和訪問方面的優(yōu)勢尤為明顯,并為海量柵格數(shù)據(jù)管理提供了一種新的解決方案,具有很好的發(fā)展前景。
[1]張劍波,劉丹,吳信才.G IS中柵格數(shù)據(jù)存儲管理的研究與實現(xiàn)[J].桂林工學(xué)院學(xué)報,2006(1):54-58.
[2]申勝利,李華,劉聚海.基于A rcSD E的柵格數(shù)據(jù)存儲與處理[J].測繪通報,2007(9):47-49.
[3]楊平,駱俊.基于A rcG ISEngi ne的地理信息數(shù)據(jù)庫管理系統(tǒng)設(shè)計與實現(xiàn)[J].信息技術(shù)-國土資源化,2006(5):23-26.
[4]閆俊霞,張軍海.基于A rcSD E城市基礎(chǔ)地理信息系統(tǒng)研究[J].河北農(nóng)業(yè)科學(xué),2009,13(12):138-139.
[5]ESRI公司.A rcG IS D eskt op H el p-A rcG IS D eskt op10 H el p.
[6]ESRI公司.D evel operH el p-A rcO bj ect s H el p For.N ET(V S2010).