薛 濤,刁明光,李建存,鄒森忠
(1.中國地質(zhì)大學(xué)(北京)信息工程學(xué)院,北京 100083;2.中國國土資源航空物探遙感中心,北京 100083)
為了解決全球環(huán)境變化亟待解決的問題,必須重視建立有效的地理信息系統(tǒng),集成源于野外工作、航空照片、衛(wèi)星影像和地圖的有關(guān)數(shù)據(jù)[1-2]。在GIS應(yīng)用服務(wù)中,往往會涉及到多尺度、海量空間數(shù)據(jù),尤其是在公眾WebGIS服務(wù)中,不僅數(shù)據(jù)量大,而且還擁有非常多的用戶[3]。隨著衛(wèi)星遙感技術(shù)的發(fā)展,信息存儲系統(tǒng)數(shù)據(jù)規(guī)模呈TB級迅速增長,如何有效存儲和管理這些數(shù)據(jù)已成為亟待解決的問題[4]。另外,能否在海量空間信息中實現(xiàn)數(shù)據(jù)的精確、方便、快速查詢,關(guān)系到能否真正實現(xiàn)對海量空間數(shù)據(jù)的高效管理[5]。在資源環(huán)境遙感的研究過程中,研究人員已陸續(xù)建立了涉及能源與礦產(chǎn)資源、地下水資源、減災(zāi)與地質(zhì)災(zāi)害預(yù)測和環(huán)境保護(hù)與環(huán)境優(yōu)化等領(lǐng)域的空間數(shù)據(jù)信息系統(tǒng),并積累了大規(guī)模數(shù)據(jù),這些空間數(shù)據(jù)的類型較多,數(shù)據(jù)量大,如何簡潔、有效管理數(shù)據(jù)是數(shù)據(jù)提供者面臨的主要問題。
當(dāng)前,國內(nèi)外利用空間信息提供服務(wù)的方式眾多,數(shù)據(jù)的組織也各不相同。如中國地質(zhì)調(diào)查信息網(wǎng)格利用互聯(lián)網(wǎng)把分散在不同地理位置的電腦組織成一臺“虛擬的超級計算機(jī)”,實現(xiàn)計算資源、存儲資源、數(shù)據(jù)資源、信息資源、軟件資源、存儲資源等的全面共享[6]。加拿大地理空間數(shù)據(jù)基礎(chǔ)設(shè)施(Canadian geospatial data infrastructure,CGDI)是一組數(shù)據(jù)、服務(wù)和應(yīng)用系統(tǒng),通過數(shù)據(jù)、服務(wù)和應(yīng)用得以共享、交換和使用分布式地理空間信息,可使人們很容易發(fā)現(xiàn)、分享和使用加拿大地理空間信息和服務(wù)。美國地質(zhì)調(diào)查局的Geospatial One-Stop為數(shù)據(jù)提供者提供發(fā)布的接口,數(shù)據(jù)使用者通過Geospatial One-Stop查詢界面實現(xiàn)一站式查詢,從而快速、準(zhǔn)確地獲取所需的數(shù)據(jù)。用戶可以使用該系統(tǒng)已發(fā)布的數(shù)據(jù)服務(wù)獲取所需信息。在海量空間數(shù)據(jù)的共享中,如何管理數(shù)據(jù)量龐大的空間數(shù)據(jù),且快速從數(shù)據(jù)的海洋中準(zhǔn)確發(fā)現(xiàn)并獲取數(shù)據(jù)是解決海量空間數(shù)據(jù)應(yīng)用的根本問題。
本文通過研究資源環(huán)境遙感海量空間數(shù)據(jù)的存儲、檢索和訪問方法,為海量空間數(shù)據(jù)尋找合適的存儲策略,設(shè)計快速獲取數(shù)據(jù)的檢索方法,提供高效的訪問接口,達(dá)到對數(shù)據(jù)的有效管理、快速檢索及應(yīng)用,從而解決海量空間數(shù)據(jù)應(yīng)用中的數(shù)據(jù)管理、數(shù)據(jù)共享的問題。
資源環(huán)境遙感海量空間數(shù)據(jù)的存儲是采用空間數(shù)據(jù)庫和分層分塊的文件目錄等方式的,并通過Mapping和Web Service等方式提供數(shù)據(jù)服務(wù)和空間服務(wù)。Mapping方式是通過直接訪問GIS服務(wù)器上的地圖文檔來操作地圖內(nèi)容的服務(wù);Web Service方式則是通過REST和基于OGC標(biāo)準(zhǔn)的WMS,WFS以及WCS等地圖服務(wù)來訪問空間數(shù)據(jù)。海量空間數(shù)據(jù)管理框架如圖1所示。
圖1 海量空間數(shù)據(jù)管理框架Fig.1 Framework of mass spatial data management
柵格空間數(shù)據(jù)格式主要包括 tiff,jpeg,bmp,pcx和gif等。常用矢量數(shù)據(jù)格式有 shape,coverage,e00,mrg,mif,dxf,dwg 和 dgn 等[7]。文中涉及到的數(shù)據(jù)類型主要是shape格式的矢量空間數(shù)據(jù)和tiff,jpeg,bmp等格式的柵格數(shù)據(jù)。海量空間數(shù)據(jù)可以通過ArcSDE或Oracle Spatial等空間數(shù)據(jù)引擎存儲于關(guān)系數(shù)據(jù)庫中[8]。對于數(shù)據(jù)容量較大,數(shù)量較多的數(shù)據(jù)集可以文件的形式存儲,采用分塊和分層的方式以文件目錄形式組織數(shù)據(jù)[9-10],并通過Mapping和Web Service來提供數(shù)據(jù)服務(wù)。
在對海量數(shù)據(jù)進(jìn)行分層分塊存儲時,主要的優(yōu)化方法是先將海量空間數(shù)據(jù)分塊和分層,然后以服務(wù)的方式發(fā)布數(shù)據(jù)。采用LOD(level of details)模型對空間數(shù)據(jù)進(jìn)行四叉樹劃分,從而形成分塊和分層的金字塔數(shù)據(jù)結(jié)構(gòu)。所謂LOD模型,是指根據(jù)不同的顯示需求對同一個對象采用不同精度的集合描述。物體的細(xì)節(jié)程度越高,則描述得越精細(xì),數(shù)據(jù)量越大;物體的細(xì)節(jié)程度越低,則描述得越簡單,數(shù)據(jù)量越?。?1]。以原始圖像數(shù)據(jù)為底層并自底向上按照不同的比例對原圖進(jìn)行抽樣形成的數(shù)據(jù)層,如此便構(gòu)成了對空間數(shù)據(jù)緩存的分層金字塔結(jié)構(gòu),如圖2(a)所示。
圖2 數(shù)據(jù)分層分塊結(jié)構(gòu)及索引示意圖Fig.2 Tile and hierarchy structure and index of data
在每一層金字塔中,再采取數(shù)據(jù)的分塊存儲策略,如圖2(b)所示。假設(shè)圖像的寬高分別為Width和Height,圖像數(shù)據(jù)分塊的大小為Tile Size×Tile Size,則對于某一指定的像素點(diǎn)(x,y),假設(shè)像素點(diǎn)都是從0開始的,水平方向與垂直方向的數(shù)據(jù)塊的塊號也都從0開始??梢詫?dǎo)出[12]
式中:Tx為水平方向塊號;Ty為垂直方向塊號。
水平方向的總塊數(shù)H為
垂直方向的總塊數(shù)V為
當(dāng)前層圖像數(shù)據(jù)的總分塊數(shù)為
根據(jù)以上公式,設(shè)地圖左上角為坐標(biāo)原點(diǎn)(Xorigin,Yorigin),地圖的整個范圍為Envelope(xmin,ymin,xmax,ymax)。對地圖進(jìn)行分層分塊切片時,塊的水平方向坐標(biāo)跨度為
塊的垂直方向坐標(biāo)跨度為
由式(1)—(7)可知,分塊的坐標(biāo)范圍為EnvelopeRC(Xorigin+Tx△x,Yorigin+Ty△y,Xorigin+(Tx+1)△x,Yorigin+(Ty+1)△y)。其中EnvelopeRC表示第R行、第C列分塊的范圍。分塊的索引編號如圖2(c)所示。
基于空間位置的海量空間數(shù)據(jù)檢索是建立在空間查詢二步算法基礎(chǔ)上的。該算法主要包括過濾和精煉[13]2大步驟。在基于空間位置的海量空間數(shù)據(jù)檢索過程中,過濾是利用最小外包矩形(minimum bounding rectangle,MBR)對海量空間數(shù)據(jù)進(jìn)行MBR交集運(yùn)算來獲取候選結(jié)果集;精煉是利用空間幾何交集對候選結(jié)果集進(jìn)行空間幾何交集實現(xiàn)篩選。其原理是利用索引底圖上的要素作為檢索條件,在海量空間數(shù)據(jù)中進(jìn)行地理位置交集運(yùn)算來實現(xiàn)檢索。處理過程如圖3所示。其中,MBR具有交集是指選取的底圖空間幾何對象的MBR與目標(biāo)空間數(shù)據(jù)幾何對象的MBR在地理范圍上相交。
圖3 基于空間位置的數(shù)據(jù)檢索方法流程Fig.3 Flow of data retrieve method based on spatial location
底圖空間幾何對象GEOMETRY1的最小外包矩形定為MBR1,其外包矩形的范圍分別用minX1,maxX1,minY1和maxY1來表示;同理,目標(biāo)空間數(shù)據(jù)幾何對象GEOMETRY2的最小外包矩形MBR2的范圍分別用minX2,maxX2,minY2和 maxY2來表示,如圖4 所示。
圖4 MBR及空間幾何對象交集示意圖Fig.4 Intersects of MBR and spatial geometry
2個MBR對原具有交集的情況可分為以下2種:①當(dāng)MBR2與MBR1在X軸上有交集時,maxX2≥minX1且 minX2≤maxX1;②當(dāng)MBR2與MBR1在Y軸上有交集時,maxY2≥minY1且 minY2≤maxY1。當(dāng)MBR具有交集則要滿足以上任一條件,此時MBR1和MBR2的范圍值必然滿足maxX2≥minX1且minX2≤ maxX1且 maxY2≥maxY1且 minY2≤minY1。
在精煉步驟中,針對不同的地圖服務(wù)進(jìn)行檢索時,具體處理方法略有差異。對于以Mapping提供的地圖服務(wù),系統(tǒng)通過利用用戶所選擇的空間數(shù)據(jù)幾何對象與所要比較的空間幾何對象在GIS服務(wù)器中做空間交集運(yùn)算完成;而對于以Web Service提供的地圖服務(wù),用戶所請求檢索的條件將作為URL的請求參數(shù)傳遞到GIS服務(wù)器,GIS服務(wù)器根據(jù)參數(shù)對所要檢索的數(shù)據(jù)進(jìn)行篩選來完成精煉操作。
例如,利用該檢索方法從海量空間數(shù)據(jù)庫中檢索出與北京市區(qū)域(在全國省界底圖中)相交的所有數(shù)據(jù)。由于該方法是基于空間位置關(guān)系進(jìn)行檢索的,所以首先選中索引圖幅,然后選中所要用于檢索的要素,以確定所要檢索的空間位置。在獲得這些查詢條件并確定后,用戶即可使用該要素作為檢索條件對系統(tǒng)中的空間數(shù)據(jù)進(jìn)行檢索。在索引圖幅中選中北京市這個要素為檢索條件。此要素的空間幾何形狀用紅色高亮顯示,其MBR用粉色矩形表示,如圖5(a)所示。
用戶如果使用所選擇的要素進(jìn)行非精確查詢,就用該要素的MBR與待檢索空間數(shù)據(jù)的MBR進(jìn)行比較,查詢結(jié)果返回MBR具有交集的空間數(shù)據(jù),如圖5(c)所示。用戶如果使用所選擇的要素進(jìn)行精確查詢,就用該要素的空間幾何對象與待精煉空間數(shù)據(jù)的幾何對象進(jìn)行空間交集分析,返回具有空間幾何交集的空間數(shù)據(jù)信息,如圖5(d)所示。圖5(b)所展示的是將圖5(c)的2029號數(shù)據(jù)和2031號數(shù)據(jù)(圖5(d)中的精煉結(jié)果之一)顯示在地圖中,從圖上可以發(fā)現(xiàn)檢索條件要素的MBR(北京市)與MBR檢索結(jié)果的2個示例數(shù)據(jù)的MBR具有交集;這一步驟完成了基于空間位置檢索的過濾操作。由于只與2031號數(shù)據(jù)的空間幾何對象有交集,所以在圖5(d)的結(jié)果集里剔除了圖5(c)中在沒有空間幾何交集的2029號數(shù)據(jù),完成了基于空間位置檢索的精煉操作。
圖5 基于空間位置的空間數(shù)據(jù)檢索及結(jié)果對比Fig.5 Retrieve based on spatial location and result comparison of spatial data
在檢索結(jié)果中,用戶可以利用檢索到的數(shù)據(jù)展現(xiàn)在地圖上,也可以對數(shù)據(jù)進(jìn)行相應(yīng)的GIS操作(如屬性查詢等),如圖6所示。
圖6 空間數(shù)據(jù)的訪問、展現(xiàn)及屬性查詢Fig.6 Access,display and attribute query of spatial data
要實現(xiàn)海量空間數(shù)據(jù)訪問,最需要解決的問題是海量空間數(shù)據(jù)的傳輸和顯示等。在加載空間數(shù)據(jù)時,如果直接讀取數(shù)據(jù)并進(jìn)行動態(tài)加載,則呈現(xiàn)給用戶的響應(yīng)時間隨著數(shù)據(jù)量的增大而變長。改進(jìn)的方法是對空間數(shù)據(jù)先進(jìn)行分層分塊處理,然后按照用戶的視窗進(jìn)行索引查找。呈現(xiàn)空間數(shù)據(jù)時,用戶可視區(qū)域的視窗總是有限的,可以利用空間數(shù)據(jù)的分層分塊存儲,根據(jù)請求按需加載呈現(xiàn)給用戶。用戶可視區(qū)域的視窗采用格網(wǎng)索引(可視區(qū)域格網(wǎng)索引),如圖2(c)所示;這種可視區(qū)域格網(wǎng)索引是每個數(shù)據(jù)塊對應(yīng)一定范圍的EnvelopeRC。當(dāng)用戶發(fā)出請求時,客戶端先確定當(dāng)前的比例尺度,從而確定所要請求數(shù)據(jù)所處的層,然后計算出當(dāng)前視窗對應(yīng)范圍的數(shù)據(jù)塊,從左上角開始按順時針螺旋式的方式將所要請求的數(shù)據(jù)塊范圍放入堆棧中;請求數(shù)據(jù)加載時,則取出堆棧的數(shù)據(jù)并請求數(shù)據(jù)服務(wù)器來獲取數(shù)據(jù),完成地圖的呈現(xiàn),如圖7所示。
圖7 數(shù)據(jù)塊的進(jìn)入堆棧及加載顯示順序示意圖Fig.7 In and out stack of the data block
利用Http Watch軟件來測試相關(guān)實驗數(shù)據(jù)(表1)在網(wǎng)頁中的加載性能。
表1 實驗所用空間數(shù)據(jù)Tab.1 Spatial data used in tests
在對空間數(shù)據(jù)加載的測試中,分別測試了直接加載方式、分層分塊的文件目錄按可視區(qū)域格網(wǎng)索引的方式和WMS方式,其測試結(jié)果對比如圖8所示。
圖8 空間數(shù)據(jù)加載性能對比Fig.8 Performance comparison of loading spatial data
在這些方式中,其數(shù)據(jù)源均為空間數(shù)據(jù)或空間數(shù)據(jù)文件所存儲的數(shù)據(jù)源,但是根據(jù)不同的方式做了不同的數(shù)據(jù)預(yù)處理。其中,直接加載方式是指直接從空間數(shù)據(jù)庫中獲取數(shù)據(jù)并進(jìn)行動態(tài)渲染,然后將渲染結(jié)果進(jìn)行呈現(xiàn);分層分塊的文件目錄按可視區(qū)域格網(wǎng)索引的方式是指從分層分塊的文件目錄中獲取已完成渲染的數(shù)據(jù),并按可視區(qū)域的格網(wǎng)索引要求進(jìn)行數(shù)據(jù)的加載呈現(xiàn);WMS方式則是以客戶端提交的參數(shù)請求GIS服務(wù)器中的WMS服務(wù),GIS服務(wù)器根據(jù)請求參數(shù)進(jìn)行數(shù)據(jù)的渲染并返回給用戶,客戶端最終呈現(xiàn)返回的數(shù)據(jù)。從加載性能中可知,數(shù)據(jù)的加載時間基本與數(shù)據(jù)的大小成正比,但是經(jīng)過分層分塊和可視區(qū)域格網(wǎng)索引處理后,數(shù)據(jù)加載性能得到了一定程度提升,特別是文件目錄方式的性能可觀,且趨于相對穩(wěn)定。
在海量數(shù)據(jù)共享中,數(shù)據(jù)的有效管理、精確檢索和快速呈現(xiàn)是使得數(shù)據(jù)有效應(yīng)用的關(guān)鍵問題。本文針對海量空間數(shù)據(jù)的存儲、檢索及訪問,設(shè)計了空間數(shù)據(jù)庫和分層分塊存儲的文件目錄方式等存儲方法,設(shè)計了基于空間位置的空間數(shù)據(jù)檢索方法,解決了用戶快速檢索空間數(shù)據(jù)的問題。上述方法還支持Web Service等方式的數(shù)據(jù)服務(wù)和空間查找及訪問服務(wù)。實現(xiàn)的數(shù)據(jù)訪問展現(xiàn)原型和相關(guān)測試驗證了方法的可行性。通過設(shè)計與實現(xiàn),驗證了資源環(huán)境遙感海量空間數(shù)據(jù)存儲、檢索和訪問方法能有效地解決數(shù)據(jù)管理、精確檢索及快速的訪問呈現(xiàn)?;谠摲椒ㄐ纬闪撕A繑?shù)據(jù)應(yīng)用基礎(chǔ)框架。后續(xù)研究可以在此基礎(chǔ)上構(gòu)建基于資源環(huán)境遙感海量空間數(shù)據(jù)的監(jiān)測和應(yīng)急等方面的應(yīng)用。
[1] Kondratyev K Y,Buznikov A A,Pokrovsky O M.Global change and remote sensing[J].New York:John Wiley and Sons,1996.
[2] 陳述彭,岳天祥.全球環(huán)境變化的系統(tǒng)研究方法淺議[J].自然資源學(xué)報,2001,16(1):3-8.Chen SP,Yue T X.Discussion on system method of studying global environmental change[J].Journal of Natural Resources,2001,16(1):3-8.
[3] 張冠軍,韓 剛,蔣 捷.MapXtreme環(huán)境中海量空間數(shù)據(jù)的動態(tài)搜索與調(diào)用方法[C]//陳述彭,魯學(xué)軍,周成虎.地理信息系統(tǒng)導(dǎo)論.中國地理信息系統(tǒng)協(xié)會、浙江省測繪局,2005:836-841.Zhang G J,Han G,Jiang J.The dynamic research and call method of massive spatial data in mapxtreme environment[C]//Chen SP,Lu X J,Zhou C H.Introduction to geographic information systems.China Association for Geographic Information System,Zhejiang Province Bureau of Surveying and Mapping,2005:836-841.
[4] 趙瑞峰,湯曉安,干 哲.基于集群技術(shù)的海量數(shù)據(jù)存儲技術(shù)研究[J].微計算機(jī)信息,2010(16):196-198.Zhao R F,Tang X A,Gan Z.Research of massive data storage in cluster technique based[J].Microcomputer Information,2010(16):196-198.
[5] 丁 華,廖學(xué)軍,汪榮峰.基于海量空間信息的索引技術(shù)研究[C]//2005年中國索引學(xué)會年會暨學(xué)術(shù)研討會論文集,2005.Ding H,Liao X J,Wang R F.Study of index technology based on mass space data[C]//The 2005 Proceeding of China Society of Indexers Annual Meeting and Symposium,2005.
[6] 李超嶺,李豐丹,羅顯剛,等.國家地質(zhì)空間信息網(wǎng)格結(jié)點(diǎn)計算池構(gòu)架及其實現(xiàn)[J].國土資源信息化,2006(5):1-8.Li C L,Li F D,Luo X G,et al.Framework and its realization of grid node compute pool of the national geological spatial information[J].Land and Resources Informatization,2006(5):1-8.
[7] 孫紅敏,李玉清,郝 爽.空間數(shù)據(jù)格式的種類和融合[J].農(nóng)機(jī)化研究,2004,(4):199-200.Sun H M,Li Y Q,Hao S.The types and fusion of spatial data format[J].Journal of Agricultural Mechanization Research,2004,(4):199-200.
[8] 黃 杰,劉仁義,劉 南,等.海量遙感影像管理與可視化系統(tǒng)的研究與實現(xiàn)[J].浙江大學(xué)學(xué)報:理學(xué)版,2008,35(6):701-706.Huang J,Liu R Y,Liu N,et al.An management and visualization system for massive remote sensing image:Research and implementation[J].Journal of Zhejiang University:Science Edition,2008,35(6):701-706.
[9] 方 濤,李德仁,龔健雅,等.GeoImageDB多分辨率無縫影像數(shù)據(jù)庫系統(tǒng)的開發(fā)與實現(xiàn)[J].武漢測繪科技大學(xué)學(xué)報,1999,24(3):189-193.Fang T,LiD R,Gong JY,etal.Develeopment and implementation of multire solution and seamless image database system GeoImageDB[J].Journal of Wuhan Technical University of Surveying and Mapping:Wtusm,1999,24(3):189-193.
[10] 王 密,龔健雅,李德仁.大型無縫影像數(shù)據(jù)庫管理系統(tǒng)的設(shè)計與實現(xiàn)[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2003,28(3):294-300.Wang M,Gong JY,Li D R.Design and implementation of largescale image database management system[J].Editorial Board of Geomatics and Information Science of Wuhan University,2003,28(3):294-300.
[11] 唐立文,廖學(xué)軍,汪榮峰,等.海量空間矢量數(shù)據(jù)綜合研究[C]//吳立新,史文中.地理信息系統(tǒng)原理與算法.裝備指揮技術(shù)學(xué)院學(xué)報,2009(5):97-101.Tang LW,Liao X J,Wang R F,etal.The research of map generalization on massive spatial vectors[C]//Wu LX,ShiW Z.The principle and algorithm of geographic information system.Journal of the Academy of Equipment Command and Technology,2009(5):97-101.
[12] 宋江洪,趙忠明.圖像分塊分層結(jié)構(gòu)在海量數(shù)據(jù)處理中的應(yīng)用[J].計算機(jī)工程與應(yīng)用,2004(33):31-33,72.Song JH,Zhao ZM.Application of tile and hierarchy structure in massive image processing[J].Computer Engineering and Applications,2004(33):31-33,72.
[13] Brinkhoff T,Kriegel H P.Efficient processing of spatial joins using R-Tree[C]//Proc,ACM SIGMOD Conf.Management of Data,1993,115-126.