李毅
(山西省數(shù)字水利中心,太原 030002)
山西省水利電子沙盤系統(tǒng)的建設(shè)目的是使用計(jì)算機(jī)三維GIS地球建模技術(shù),建立全省數(shù)字三維地球模擬系統(tǒng),直觀地展示地形地貌的連續(xù)性分布與變化情況,以及重點(diǎn)水利工程周邊地理環(huán)境情況與重要水工建筑物的三維模型,宏觀上為展示我省水利工程分布提供技術(shù)平臺(tái),微觀上通過空間查詢分析為水利工程初設(shè)、施工選線、選址等相關(guān)決策提供決策依據(jù)。其特點(diǎn)在于:
1)可以動(dòng)態(tài)建立三維地形模擬場景,實(shí)現(xiàn)全省范圍內(nèi)的任意區(qū)域內(nèi)地形分析。
2)擺脫傳統(tǒng)物理沙盤一旦建成就無法便捷的增刪改變展示信息的不足。
3)可以作為一個(gè)綜合信息展示平臺(tái),結(jié)合三維空間信息、多媒體資料信息等,進(jìn)行全方位的信息展示。
山西省水利電子沙盤系統(tǒng)由航天科工仿真技術(shù)有限責(zé)任公司建設(shè)開發(fā),目前已經(jīng)完成開發(fā),運(yùn)行情況良好。
1.2.1 數(shù)據(jù)基礎(chǔ)
該系統(tǒng)以山西省測繪局1:10000比例尺基礎(chǔ)測繪成果DEM、DOM數(shù)據(jù)為基礎(chǔ)。數(shù)字高程模型(Digital Elevation Model,縮寫 DEM)是平面坐標(biāo)(X,Y)及其高程(Z)的數(shù)據(jù)集,主要是描述區(qū)域地貌形態(tài)的空間分布。DOM數(shù)字正射影像(Digital Orthophoto Map,縮寫DOM)是對(duì)航空(或航天)像片進(jìn)行數(shù)字微分糾正和鑲嵌,按一定圖幅范圍裁剪生成的數(shù)字正射影像集,主要是描述地表地貌特征。
山西省測繪局基礎(chǔ)測繪成果DEM以USGS ASCII DEM文件格式提供。USGS ASCII DEM文件格式是由負(fù)責(zé)管理美國全國的數(shù)字地圖數(shù)據(jù)的采集與分發(fā)的美國地質(zhì)調(diào)查局(U.S.Geological Survey)所制訂的一種數(shù)字高程模型數(shù)據(jù)交換格式。文件以ASCII明碼形式存儲(chǔ),主要由文件頭、柵格數(shù)據(jù)組成。文件頭包含空間坐標(biāo)系信息、格網(wǎng)左上角起始坐標(biāo)(x,y)信息、每個(gè)柵格像素的大小(PixWidth×PixHeight)信息等。柵格數(shù)據(jù)由一個(gè)m行×n列,以逗號(hào)為分隔符的字符塊組成,每個(gè)單元格的值為該單元格所對(duì)應(yīng)實(shí)際地形的高程值z(mì)。詳見圖1。通過一個(gè)USGS ASCII DEM文件可以獲得一個(gè)左上角坐標(biāo)為(x,y),長為 PixWidth×m,寬為 PixHeight×n 的矩形空間區(qū)域內(nèi)的地表高程的空間分部信息。
DOM數(shù)據(jù)格式存儲(chǔ)方式與DEM方式相似,所不同的是DOM每個(gè)柵格值代表的不是高程而是該像素點(diǎn)的灰度值,這里不再贅述。
按照1:10000比例尺國家標(biāo)準(zhǔn),山西省測繪局1:10000比例尺基礎(chǔ)測繪成果DEM、DOM數(shù)據(jù)分別為6000多個(gè)ASCII明碼文件。每個(gè)ASCII明碼文件的文件名即為其對(duì)應(yīng)的圖幅編號(hào)。
1.2.2 軟件平臺(tái)
電子沙盤系統(tǒng)使用ArcGlobe9.2三維地球虛擬軟件平臺(tái)。ArcGlobe是美國環(huán)境系統(tǒng)研究所(Environmental Systems Research Institute,縮寫為ESRl)ArcGIS產(chǎn)品中的空間三維平臺(tái)模塊,是一個(gè)易用的3D可視化程序,它可以顯示全球的影像和地形數(shù)據(jù),而且用戶可以進(jìn)行交互操作。
圖1 USGS ASCII DEM文件格式說明
1.2.3DEM與DOM影像加載方式
系統(tǒng)先通過平面二維地圖進(jìn)行瀏覽和查找地物目標(biāo),通過二維地圖獲取XY經(jīng)緯度坐標(biāo),然后根據(jù)XY坐標(biāo)計(jì)算所對(duì)應(yīng)的DEM數(shù)據(jù)文件的圖幅編號(hào),同時(shí)計(jì)算出該XY坐標(biāo)所對(duì)應(yīng)圖幅周圍鄰接的圖幅編號(hào),合計(jì)9個(gè)USGS ASCII DEM文件,最后ArcGlobe加載這9個(gè)數(shù)據(jù)文件,建立三維場景。DOM數(shù)據(jù)加載方式與上述相同,不再贅述。
1.3.1 無法實(shí)現(xiàn)全省范圍無縫漫游
全省范圍DEM與DOM總的數(shù)據(jù)存儲(chǔ)量為330G,無法一次全部加載至ArcGlobe程序中,所以只能通過一次加載9塊地圖的方式進(jìn)行顯示。這種加載方式存在的最大問題是無法進(jìn)行全省范圍的無縫飛行漫游,只能是要看哪里加載哪里。如果我們需要瀏覽一個(gè)覆蓋面積大于9塊地圖的范圍,則需要進(jìn)行多次數(shù)據(jù)的加載過程,速度較慢,無法實(shí)現(xiàn)連貫的操作交互,給系統(tǒng)演示和分析帶來極大的不便。
1.3.2 加載速度緩慢、內(nèi)存溢出
一幅DEM影像的大小約為30M,每個(gè)影像都以文件的方式存儲(chǔ)在介質(zhì)上。按照加載9幅影像的方式,每加載一次要加載270M的數(shù)據(jù),加載的時(shí)間每次需要30s以上,速度較慢,且加載過程中程序不響應(yīng)任何操作,用戶體驗(yàn)較差。
同時(shí)由于主流32位操作系統(tǒng)只支持最大4G內(nèi)存,且單進(jìn)程最大支持內(nèi)存2G。也就是說以目前一次加載9幅影像的方式,加載8次以后,進(jìn)程內(nèi)存就會(huì)增加至270M×8=2160M,超出單進(jìn)程支持內(nèi)存的最大上限,導(dǎo)致內(nèi)存溢出程序崩潰。所以當(dāng)加載一定次數(shù)以后必須重啟程序。
鑒于上述原因,針對(duì)海量DEM、DOM數(shù)據(jù)的特性,決定使用空間數(shù)據(jù)庫技術(shù)、影像金字塔、柵格數(shù)據(jù)拼接與瓦片技術(shù)優(yōu)化數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)與查詢方式。
2.1.1 空間數(shù)據(jù)庫技術(shù)
空間數(shù)據(jù)庫技術(shù)指的是地理信息系統(tǒng)在計(jì)算機(jī)物理存儲(chǔ)介質(zhì)上存儲(chǔ)的與應(yīng)用相關(guān)的地理空間數(shù)據(jù)的總和。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在空間數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)、管理與檢索上存在不足,無法滿足空間檢索與海量數(shù)據(jù)檢索。空間數(shù)據(jù)庫在關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(Relational Database Management System,簡稱RDBMS)基礎(chǔ)上,通過定義空間拓?fù)潢P(guān)系結(jié)構(gòu),優(yōu)化空間查詢算法,實(shí)現(xiàn)管理數(shù)據(jù)量大、檢索效率要求高、數(shù)據(jù)模型復(fù)雜的空間數(shù)據(jù)類型。
ArcSDE是ArcGIS軟件平臺(tái)中的空間數(shù)據(jù)庫模塊。ArcSDE空間數(shù)據(jù)庫以傳統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(Database Management System,簡稱DBMS)為物理載體,提供管理各種空間數(shù)據(jù)與非空間數(shù)據(jù)的開發(fā)接口,允許ArcGIS平臺(tái)軟件以服務(wù)器--中間件--客戶端三級(jí)分層的方式操作空間數(shù)據(jù)。
2.1.2 影像金字塔技術(shù)
影像金字塔技術(shù)是一種柵格數(shù)據(jù)或影像數(shù)據(jù)的有損壓縮方式,指在同一的空間參照下,根據(jù)用戶需要以不同分辨率進(jìn)行存儲(chǔ)與顯示,形成分辨率由粗到細(xì)、數(shù)據(jù)量由小到大的金字塔結(jié)構(gòu)。適合于DEM、DOM等柵格數(shù)據(jù)、影像數(shù)據(jù)的多分辨率存儲(chǔ)與組織。
具體實(shí)現(xiàn)方式為:按照設(shè)定的多級(jí)比例尺,生成影像的快照,每一級(jí)對(duì)應(yīng)一份快照,數(shù)據(jù)瀏覽時(shí),選擇與顯示比例尺最接近的比例尺下的快照,提高數(shù)據(jù)瀏覽速度。例如圖2,根據(jù)1:10000比例尺的數(shù)據(jù),分別生成1:50000與1:250000比例尺快照,顯示時(shí)按需瀏覽。
圖2 影像金字塔示意圖
使用影像金子塔雖然可以提高瀏覽和檢索的效率,但是生成的多級(jí)比例尺快照會(huì)造成數(shù)據(jù)膨脹效應(yīng)。因此選擇生成幾級(jí)的影像金字塔是需要結(jié)合具體數(shù)據(jù)質(zhì)量情況權(quán)衡效率與存儲(chǔ)之間的平衡點(diǎn)。
2.1.3 影像鑲嵌(Mosaic)技術(shù)與瓦片(Pile)技術(shù)
影像鑲嵌拼接技術(shù)是指將多個(gè)柵格數(shù)據(jù)集,根據(jù)其元數(shù)據(jù)描述的柵格起始坐標(biāo)、單元格像素范圍,通過柵格疊加運(yùn)算,合并成一個(gè)柵格數(shù)據(jù)集。
瓦片技術(shù)也叫切片技術(shù),是指對(duì)于每個(gè)比例尺提前將地圖分成若干小單元,客戶端訪問時(shí)直接獲取需要的小單元拼接成地圖,而不是由服務(wù)器動(dòng)態(tài)創(chuàng)建一幅大的圖形送到客戶端,極大程度提高反映速度。
由于空間數(shù)據(jù)庫是服務(wù)器——中間件——客戶端三級(jí)分層的架構(gòu),所以數(shù)據(jù)請(qǐng)求與發(fā)送都需要以網(wǎng)絡(luò)數(shù)據(jù)包通訊的方式傳送。例如,一幅地圖大小為9×5大小的柵格(見圖3),現(xiàn)在客戶端發(fā)送數(shù)據(jù)請(qǐng)求,請(qǐng)求范圍為紅色方框所圈定的區(qū)域。如果不采用瓦片技術(shù),服務(wù)器端會(huì)將整張地圖(9×5)范圍封裝網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給客戶端,客戶端只有等待接收完整個(gè)數(shù)據(jù)包后才能顯示請(qǐng)求的視圖,這樣地圖顯示的效率就會(huì)受限于數(shù)據(jù)包的大小和網(wǎng)絡(luò)傳輸?shù)乃俣?,造成用戶體驗(yàn)的降低。
而通過瓦片技術(shù),將地圖分割成9×5方塊,客戶端發(fā)送數(shù)據(jù)請(qǐng)求時(shí),通過空間分析算法,計(jì)算出客戶端請(qǐng)求地圖視圖的覆蓋范圍為(D1,D2,D3,D4…H1,H2,H3,H4),將這 20 個(gè)瓦片切塊分別封裝網(wǎng)絡(luò)數(shù)據(jù)包,發(fā)送至客戶端,其余未在覆蓋范圍內(nèi)的瓦片則不需要發(fā)送,減小了網(wǎng)絡(luò)數(shù)據(jù)包的大小,且客戶端無需等待至所有瓦片傳輸完畢后才顯示地圖,每收到一個(gè)瓦片數(shù)據(jù)包即可顯示瓦片覆蓋區(qū)域的數(shù)據(jù),提高了用戶體驗(yàn)。
圖3 瓦片切圖說明
通過對(duì)DEM、DOM數(shù)據(jù)的鑲嵌拼接和瓦片切圖,將山西省測繪局提供的6 000多幅地圖數(shù)據(jù)拼接成全省范圍的一副地圖,再將這幅大比例尺的全省地圖切成適當(dāng)?shù)耐咂瑔卧瑥亩鴮?shí)現(xiàn)全省三維無縫漫游的功能,并且大大提升其瀏覽與檢索的速度。
2.2.1 平臺(tái)搭建
山西省水利電子沙盤系統(tǒng)使用SQLServer2008數(shù)據(jù)庫與ArcGIS SDE空間數(shù)據(jù)庫組件與ArcGlobe三維地球桌面軟件。具體的軟件平臺(tái)安裝過程可參考軟件幫助文檔,這里不再贅述。
2.2.2 建立ArcSDE空間數(shù)據(jù)庫RasterDataset柵格數(shù)據(jù)集
ArcSDE空間數(shù)據(jù)庫中有兩種柵格數(shù)據(jù)存儲(chǔ)結(jié)構(gòu):柵格數(shù)據(jù)集(Raster dataset)與柵格目錄(Raster catalog)。
柵格數(shù)據(jù)集(Raster dataset):由多個(gè)格式相同的柵格數(shù)據(jù)無縫拼接鑲嵌而成的單一的影像數(shù)據(jù)集,坐標(biāo)系統(tǒng)和數(shù)據(jù)格式都是唯一的;整個(gè)柵格數(shù)據(jù)集上構(gòu)建一個(gè)影像金字塔,沒有冗余數(shù)據(jù),對(duì)于高質(zhì)量的柵格數(shù)據(jù)來說具有更快的顯示效果;進(jìn)行數(shù)據(jù)更新時(shí),需要對(duì)整個(gè)文件進(jìn)行重寫,所以更適合存儲(chǔ)更新周期較長的數(shù)據(jù)。
柵格目錄(Raster catalog)可看作是管理多個(gè)柵格數(shù)據(jù)集的目錄結(jié)構(gòu),可以有不同的坐標(biāo)系統(tǒng)和數(shù)據(jù)格式類型;柵格目錄中的每個(gè)數(shù)據(jù)集都建立一個(gè)影像金字塔,允許存在冗余數(shù)據(jù),可以顯示指定的一個(gè)或多個(gè)柵格數(shù)據(jù)集,顯示大型的柵格數(shù)據(jù)會(huì)有時(shí)間上的延遲,速度較慢;當(dāng)需要保留數(shù)據(jù)集之間相重疊的部分,管理時(shí)間系列數(shù)據(jù),以及當(dāng)禁止鑲嵌的鄰接圖像之間可以存在差異時(shí),可以使用柵格目錄用來建立巨型的柵格倉庫。
根據(jù)山西省測繪成果影像格式、數(shù)據(jù)類型統(tǒng)一、需要全省無縫漫游、更新周期較長、無需保留圖片之間相重疊的部分等特點(diǎn),最終選擇柵格數(shù)據(jù)格式進(jìn)行數(shù)據(jù)集組織。
可以通過ArcCatalog空間數(shù)據(jù)庫管理模塊進(jìn)行數(shù)據(jù)集的建立,這里不再贅述,具體方式可參考ArcGIS軟件的官方幫助文檔。
2.2.3 影像金字塔分級(jí)
根據(jù)影像金字塔的技術(shù)原理與數(shù)據(jù)膨脹的特點(diǎn),需要結(jié)合柵格數(shù)據(jù)的具體情況進(jìn)行合適金字塔級(jí)數(shù)的選擇。一幅影像圖,每分一級(jí)就會(huì)被壓縮至原來的n分之一(n為級(jí)數(shù)),加載速度就會(huì)縮減至原來的n分之一。隨著級(jí)數(shù)n的增加,加載速度就會(huì)提高。但當(dāng)級(jí)數(shù)n增加到一定程度,加載速度的提高會(huì)越來越不明顯,且數(shù)據(jù)膨脹會(huì)無限制地增加下去,再增加級(jí)數(shù)就沒有太大的意義,空間換取時(shí)間的代價(jià)會(huì)越來越小。一般情況下,影像金字塔分為6~10級(jí)就足夠了,具體還要視影像的分辨率、網(wǎng)絡(luò)傳輸速度和機(jī)器硬件配置等情況而定。
對(duì)柵格數(shù)據(jù)集建立影像金子塔可以使用ArcToolBox工具進(jìn)行創(chuàng)建,具體方式可參考ArcGIS文檔。2.2.4 三維地球模擬
通過影像的鑲嵌拼接、瓦片切圖和創(chuàng)建影像金字塔,全省的DEM與DOM影像數(shù)據(jù)庫即建立完畢。通過ArcGlobe三維地球虛擬軟件加載影像數(shù)據(jù),可以進(jìn)行全省范圍無縫三維漫游,且軟件會(huì)智能、快速地加載影像金字塔數(shù)據(jù),不會(huì)出現(xiàn)內(nèi)存溢出等異常情況。
通過對(duì)原始DEM、DOM數(shù)據(jù)的分析和現(xiàn)有問題的總結(jié),并結(jié)合GIS的相關(guān)技術(shù),重新整理了數(shù)據(jù)結(jié)構(gòu)并進(jìn)行數(shù)據(jù)加載的優(yōu)化,實(shí)現(xiàn)了全省三維地形無縫漫游和解決了內(nèi)存溢出的問題。
全省數(shù)字高程模型的應(yīng)用不僅僅限于三維模擬與漫游,還可以結(jié)合三維空間分析功能,進(jìn)行數(shù)據(jù)挖掘,這是目前應(yīng)用不足的部分,還需要在下一步的工作中進(jìn)行摸索和研究。