1、引言
地理信息系統(tǒng)(GeographicInformationSystem,簡稱GIS)是在地理學(xué)、地圖學(xué)、測量學(xué)和計(jì)算機(jī)科學(xué)等學(xué)科基礎(chǔ)上發(fā)展起來的一門學(xué)科,在最近的30多年內(nèi)取得了驚人的發(fā)展,廣泛應(yīng)用于資源調(diào)查、環(huán)境評估、災(zāi)害預(yù)測、國土管理、城市規(guī)劃、郵電通訊、交通運(yùn)輸、軍事公安、水利電力、公共設(shè)施管理、農(nóng)林牧業(yè)、統(tǒng)計(jì)、商業(yè)金融等幾乎所有領(lǐng)域。
隨著GIS應(yīng)用越來越普及,所處理的地理數(shù)據(jù)覆蓋范圍越來越廣,精細(xì)度也越來越高,單個(gè)PC機(jī)的顯示設(shè)備在顯示如此廣而細(xì)的數(shù)據(jù)時(shí)越來越吃力,地圖內(nèi)容的廣度和細(xì)度不能同時(shí)顯示的矛盾愈加明顯。因此,GIS應(yīng)用中超高分辨率顯示的研究就很有現(xiàn)實(shí)意義。
基于PC集群系統(tǒng)的并行協(xié)同顯示是解決上述矛盾的一個(gè)十分經(jīng)濟(jì)而有效的途徑。采用多個(gè)顯示設(shè)備拼接來顯示地圖使得顯示區(qū)域增大為相應(yīng)的倍數(shù),而顯示比例尺不變;各個(gè)顯示設(shè)備由單獨(dú)的計(jì)算機(jī)進(jìn)行驅(qū)動(dòng),計(jì)算任務(wù)的分擔(dān)使得顯示速度也大大提高。與傳統(tǒng)的大型圖形工作站相比,PC集群機(jī)有如下優(yōu)勢:
(1)高性價(jià)比:價(jià)格是同等處理能力專業(yè)圖形工作站的十分之一;
(2)擴(kuò)展性好:理論上,顯示分辨率隨集群節(jié)點(diǎn)數(shù)增加而線性增加,增刪節(jié)點(diǎn)方便;
(3)升級方便:可隨時(shí)采用當(dāng)前最先進(jìn)的PC配件進(jìn)行升級。
2、系統(tǒng)體系結(jié)構(gòu)及原理
2.1 系統(tǒng)體系結(jié)構(gòu)
系統(tǒng)采用主/從模式設(shè)計(jì),由一個(gè)GIS平臺自帶的綜合應(yīng)用程序作為全景操作控制端,確定地圖顯示的實(shí)際范圍,另外由多個(gè)GIS應(yīng)用集群機(jī)組成顯示輸出端,各顯示輸出端的外接顯示設(shè)備拼接成超分辨率顯示矩陣,將全景操作控制端的地圖范圍以更多的細(xì)節(jié)顯示出來。網(wǎng)絡(luò)架構(gòu)如圖1。
全景操作控制端與分布式集群顯示輸出端通過局域網(wǎng)進(jìn)行連接,全景處理端的GIS程序在操作過程中,將當(dāng)前屏幕的信息(地理位置、顯示范圍)按塊劃分后,同時(shí)分發(fā)給顯示矩陣中對應(yīng)的各個(gè)從機(jī),各從機(jī)將得到的位置、范圍信息與自身的顯示分辨率相比較,計(jì)算出相應(yīng)的比例尺關(guān)系,根據(jù)比例尺關(guān)系按照最合適的縮放級別重新進(jìn)行顯示。
2.2 系統(tǒng)原理
從系統(tǒng)的網(wǎng)絡(luò)體系結(jié)構(gòu)可以看出,物理的超分辨率顯示矩陣雖然搭建好,硬件的超分辨率不一定能被充分利用,從而顯示更多的細(xì)節(jié)信息。如何達(dá)到與物理顯示矩陣的分辨率一致的細(xì)節(jié)顯示率、實(shí)現(xiàn)真正的超分辨率顯示,就要通過軟件系統(tǒng)來控制。軟件系統(tǒng)結(jié)構(gòu)如圖2。
系統(tǒng)包括主節(jié)點(diǎn)和從節(jié)點(diǎn)兩個(gè)部分,并且它們之間采用TCP或UDP協(xié)議進(jìn)行消息的傳遞。
通過GIS平臺提供的開發(fā)接口創(chuàng)建一個(gè)超分辨率顯示組件,將帶有該組件的GIS綜合應(yīng)用程序作為全景操作控制端,即主節(jié)點(diǎn)。主節(jié)點(diǎn)的超分辨率顯示組件包括兩個(gè)模塊:主節(jié)點(diǎn)控制模塊、系統(tǒng)通信模塊?;贕IS平臺提供的開發(fā)接口,創(chuàng)建一個(gè)完全基于網(wǎng)絡(luò)消息驅(qū)動(dòng)的顯示程序,該程序不提供任何直接與用戶交互的功能,作為顯示輸出端,即從節(jié)點(diǎn)。從節(jié)點(diǎn)與主節(jié)點(diǎn)對應(yīng),包括:從節(jié)點(diǎn)控制模塊,系統(tǒng)通信模塊。用戶交互界面是指主節(jié)點(diǎn)GIS綜合應(yīng)用程序的用戶界面。
那么整個(gè)大視景系統(tǒng)是如何工作的呢?
圖3例舉了一個(gè)由四個(gè)從節(jié)點(diǎn)顯示終端所組成的超分辨率顯示系統(tǒng)。主節(jié)點(diǎn)控制模塊是控制核心,第一步,按照行優(yōu)先,從左到右的順序,為每個(gè)從節(jié)點(diǎn)賦予了一個(gè)唯一的編號。
由這個(gè)唯一的編號可以查找到對應(yīng)的從節(jié)點(diǎn)的地址、端口、可用狀態(tài)等,為通信模塊做好通信準(zhǔn)備。第二步,要計(jì)算出每個(gè)從節(jié)點(diǎn)所需顯示的區(qū)域的地理范圍。由圖我們可以看出,整個(gè)大視景顯示區(qū)域由若干局部區(qū)域拼接而成,各從節(jié)點(diǎn)的編號決定了它們所要顯示的局部區(qū)域。具體實(shí)現(xiàn)是,將主節(jié)點(diǎn)的顯示屏幕分割成與從節(jié)點(diǎn)顯示矩陣成相似形的若干區(qū)塊,每個(gè)屏幕區(qū)塊和一個(gè)從節(jié)點(diǎn)對應(yīng)。GIS平臺提供了將屏幕坐標(biāo)轉(zhuǎn)化為地理坐標(biāo)的接口,因此每個(gè)屏幕區(qū)塊的地理坐標(biāo)都可以計(jì)算出來。地理坐標(biāo)計(jì)算出來之后,由編號值查找對應(yīng)從節(jié)點(diǎn)的地址和端口,并將地理坐標(biāo)信息傳送給該從節(jié)點(diǎn)。到這里,主節(jié)點(diǎn)控制模塊將從節(jié)點(diǎn)的編號和它所要顯示的內(nèi)容緊密地結(jié)合在了一起。圖3右側(cè)是系統(tǒng)顯示的戰(zhàn)場推演圖。
系統(tǒng)通信模塊基于ICE平臺而開發(fā),支持分布式對象通信,主節(jié)點(diǎn)端系統(tǒng)通信模塊主要負(fù)責(zé):
一、向各個(gè)從節(jié)點(diǎn)發(fā)送消息或者數(shù)據(jù),包括命令消息、地理坐標(biāo)信息、圖層數(shù)據(jù)等,
二、接受從節(jié)點(diǎn)返回的確認(rèn)信息,包括從節(jié)點(diǎn)的可用狀態(tài)、同步狀態(tài)等。
從節(jié)點(diǎn)一側(cè),同樣包括通信模塊、控制模塊。從節(jié)點(diǎn)通信模塊負(fù)責(zé)接收主節(jié)點(diǎn)發(fā)送來的消息及數(shù)據(jù),以及向主節(jié)點(diǎn)反饋響應(yīng)結(jié)果。從節(jié)點(diǎn)控制模塊響應(yīng)接受到的命令消息,執(zhí)行相應(yīng)操作,訪問地理信息數(shù)據(jù)庫,讀取相應(yīng)的數(shù)據(jù)進(jìn)行繪制并顯示。
3、系統(tǒng)同步技術(shù)
作為一個(gè)分布式協(xié)同顯示系統(tǒng),為了能給用戶呈現(xiàn)邏輯上唯一的、完整的、正確的大視景,各從節(jié)點(diǎn)之間的顯示同步顯得尤為重要,因此在實(shí)現(xiàn)過程中,必須對同步實(shí)施嚴(yán)格精準(zhǔn)的控制,具體的指令流同步控制邏輯如圖4所示。
由圖可以看出,系統(tǒng)需要同步的操作主要分為三大類:繪圖、視圖變更、系統(tǒng)命令。繪圖命令包括繪制和顯示;視圖變更操作包括改變地圖投影類型和改變圖層顯示控制;系統(tǒng)命令指少量操作系統(tǒng)消息。這些同步的實(shí)現(xiàn)根據(jù)所涉及的層次由低到高劃分為:幀緩存交換同步,數(shù)據(jù)同步,消息同步。
(1)幀緩存交換同步
圖形顯示卡由兩組幀緩存的支持以達(dá)到幀與幀之間平滑的過渡。其中一組緩存用于畫面的顯示,而畫面的繪制則是在另一組緩存上進(jìn)行,當(dāng)一幅畫面繪制完成后這兩組幀緩存進(jìn)行交換,新完成繪制的畫面將被顯示,而下一幅畫面將被繪制。這么做的目的在于避免發(fā)生在相同的幀緩存上進(jìn)行顯示和繪制的工作所造成的畫面失真感。
幀緩存交換同步指的是各從節(jié)點(diǎn)圖形顯示卡的前后緩沖區(qū)交換動(dòng)作的同步性:在二維GIS動(dòng)態(tài)推演和三維GIS中,各從節(jié)點(diǎn)的幀繪制時(shí)間互有長短,若我們沒有有效的手段控制各幀繪制完成后幀緩沖交換動(dòng)作的同步進(jìn)行,那么繪制較快的從節(jié)點(diǎn)將提前進(jìn)入下一幀的顯示,這就造成了各從節(jié)點(diǎn)顯示內(nèi)容的不一致性。例如,顯示移動(dòng)目標(biāo)時(shí),如果其中一個(gè)從節(jié)點(diǎn)先進(jìn)行幀緩沖交換而提前進(jìn)入下一幀的顯示,那么大視景顯示矩陣的接縫處就會(huì)產(chǎn)生撕裂感。我們是用軟件實(shí)現(xiàn)幀緩存交換同步的,通過網(wǎng)絡(luò)進(jìn)行消息傳遞,控制圖形API的SwapBuffers指令同步執(zhí)行:具體來說是使用網(wǎng)絡(luò)柵障(networkbarrier)功能,各從節(jié)點(diǎn)SwapBuffers命令的同步執(zhí)行由主節(jié)點(diǎn)控制,從節(jié)點(diǎn)在完成繪制并能夠進(jìn)行幀緩存交換時(shí)將到達(dá)同步點(diǎn),此時(shí)從節(jié)點(diǎn)將通知主節(jié)點(diǎn)并進(jìn)入等待狀態(tài);繪制較快的從節(jié)點(diǎn)進(jìn)程將被阻塞,直到最后的節(jié)點(diǎn)也完成繪制抵達(dá)同步點(diǎn)后,主節(jié)點(diǎn)向所有從節(jié)點(diǎn)發(fā)送繼續(xù)執(zhí)行的命令,各節(jié)點(diǎn)才同時(shí)執(zhí)行SwapBuffers指令,從而達(dá)到同時(shí)交換幀緩存的效果。由于同步的手段是通過網(wǎng)絡(luò)以軟件方式實(shí)現(xiàn)的,幀緩存交換同步在效果上可能會(huì)受到網(wǎng)絡(luò)延時(shí)影響。
(2)數(shù)據(jù)同步
數(shù)據(jù)同步指的是,主節(jié)點(diǎn)作為全景操作控制端,導(dǎo)入新的地圖圖層或者添加新的標(biāo)繪圖形,從節(jié)點(diǎn)必須同步導(dǎo)入相同的地圖圖層或者同步畫上相同的標(biāo)繪圖形。系統(tǒng)的數(shù)據(jù)同步是以主節(jié)點(diǎn)“推”的方式實(shí)現(xiàn)的,即主節(jié)點(diǎn)有新的數(shù)據(jù)輸入時(shí),主動(dòng)向所有從節(jié)點(diǎn)廣播數(shù)據(jù)同步消息,如果是主節(jié)點(diǎn)導(dǎo)入外部數(shù)據(jù),主節(jié)點(diǎn)就將外部數(shù)據(jù)源地址發(fā)送給所有從節(jié)點(diǎn),各從節(jié)點(diǎn)自行從該數(shù)據(jù)源中取相應(yīng)數(shù)據(jù);如果是主節(jié)點(diǎn)自行添加標(biāo)繪數(shù)據(jù),主節(jié)點(diǎn)就向所有從節(jié)點(diǎn)發(fā)送一份該標(biāo)繪層的數(shù)據(jù)。
(3)消息同步
此處的消息包括GIS平臺定義的消息以及少量操作系統(tǒng)消息。比如,地圖投影坐標(biāo)系的改變、圖層顯示控制的改變、窗口大小的改變等等。主節(jié)點(diǎn)一旦截獲這些來自平臺或者操作系統(tǒng)的消息,就立即通知所有從節(jié)點(diǎn),從節(jié)點(diǎn)根據(jù)收到的消息作同步響應(yīng)動(dòng)作。
4、結(jié)語
目前該系統(tǒng)已經(jīng)應(yīng)用于某軍區(qū)的GIS作戰(zhàn)綜合應(yīng)用系統(tǒng),獲得良好的表現(xiàn)。超高分辨率大視景顯示系統(tǒng)為GIS應(yīng)用提供一種多通道并行協(xié)同圖形輸出,實(shí)現(xiàn)超高分辨率顯示的方法,適用于軍事指揮調(diào)度、交通路況分析、搶險(xiǎn)救災(zāi)分析、電網(wǎng)鋪設(shè)分析、國土資源調(diào)查等大型GIS應(yīng)用場景。
責(zé)任編輯:gt
-
PC
+關(guān)注
關(guān)注
9文章
2096瀏覽量
154395 -
分辨率
+關(guān)注
關(guān)注
2文章
1068瀏覽量
41970 -
局域網(wǎng)
+關(guān)注
關(guān)注
5文章
760瀏覽量
46325
發(fā)布評論請先 登錄
相關(guān)推薦
評論