海量gis信息的超高分辨顯示方法
【專利摘要】本發(fā)明提供海量GIS信息的超高分辨顯示方法,以計(jì)算機(jī)集群并行處理為基礎(chǔ),通過集群地圖分塊、WMS服務(wù)并行獲取GIS地圖信息,經(jīng)過地圖投影變換分布處理數(shù)據(jù),由GPU并行紋理渲染顯示的拼接顯示方法。本發(fā)明通過計(jì)算機(jī)集群獲取、處理和顯示地圖信息,能夠有效地解決海量GIS地圖處理與顯示問題。其中,集群地圖分塊技術(shù)把高分辨地圖按集群節(jié)點(diǎn)機(jī)進(jìn)行分塊處理,使顯示地圖的分辨率可以通過增加節(jié)點(diǎn)機(jī)數(shù)量來擴(kuò)展顯示分辨率,不受單個(gè)顯示屏分辨率的限制,實(shí)現(xiàn)超高分辨GIS信息顯示。
【專利說明】海量GIS信息的超局分辨顯不方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及GIS (Geographic Information System 或 Geo — Informationsystem,地理信息系)地圖顯示技術(shù),具體涉及海量GIS信息的超高分辨顯示方法。
【背景技術(shù)】
[0002]近年來,我國(guó)的GIS信息化建設(shè)飛速發(fā)展,在交通運(yùn)輸、軍事公安、國(guó)土管理、城市管理、防災(zāi)減災(zāi)、資源調(diào)查、水利電力、農(nóng)林牧業(yè)、生命線工程管理等領(lǐng)域取得了廣泛應(yīng)用。隨著衛(wèi)星技術(shù)的快速發(fā)展,基于特定系統(tǒng)、特定環(huán)境的GIS系統(tǒng)開發(fā)已成為業(yè)界的研究熱點(diǎn)。GIS空間數(shù)據(jù)具有數(shù)據(jù)體量大、形式多樣、結(jié)構(gòu)復(fù)雜等特點(diǎn),為了更好地發(fā)揮GIS信息的空間可視化優(yōu)勢(shì),實(shí)現(xiàn)地圖超高分辨全域顯示,需要研究超高分辨海量GIS信息顯示技術(shù),以便從全局著眼,通過超高分辨空間思維分析相關(guān)地域空間信息關(guān)系、空間分布模式和空間發(fā)展趨勢(shì)等,完成科學(xué)決策。
[0003]現(xiàn)有的拼接顯示系統(tǒng)通過將GIS計(jì)算機(jī)顯示輸出的VGA/DVI電信號(hào)分配給圖像拼接處理器,實(shí)現(xiàn)GIS信息在拼接屏幕上的圖像像素放大顯示。這種地圖信息顯示方式的圖像分辨率受GIS計(jì)算機(jī)顯示輸出分辨率的限制,顯示地圖的范圍、分辨率有限,地圖放大時(shí)顯示清晰度下降,沒有發(fā)揮拼接屏幕顯示分辨率高等優(yōu)勢(shì),難以滿足海量GIS信息的超高分辨顯示的需求。此外,現(xiàn)有的這種地圖信息顯示方式基于非開放式平臺(tái),不能根據(jù)需求拓展增加系統(tǒng)的地圖顯示能力。
【發(fā)明內(nèi)容】
[0004]為了解決現(xiàn)有技術(shù)中地圖顯示分辨率受計(jì)算機(jī)顯卡限制的技術(shù)問題,提供海量GIS信息的超高分辨顯示方法;本發(fā)明技術(shù)方案以計(jì)算機(jī)集群并行計(jì)算為基礎(chǔ),主要采用集群并行顯示、WMS服務(wù)(Web Map Service,網(wǎng)絡(luò)地圖服務(wù))、GIS渲染顯示等技術(shù)手段,實(shí)現(xiàn)了地圖信息的超高分辨顯示。
[0005]本發(fā)明采用如下技術(shù)方案:海量GIS信息的超高分辨顯示方法,所述超高分辨顯示方法基于計(jì)算機(jī)集群平臺(tái),所述計(jì)算機(jī)集群平臺(tái)包括主節(jié)點(diǎn)控制器及多個(gè)子節(jié)點(diǎn)控制器,主節(jié)點(diǎn)控制器通過計(jì)算機(jī)網(wǎng)絡(luò)分別與多個(gè)子節(jié)點(diǎn)控制器相連接,每個(gè)子節(jié)點(diǎn)控制器還配置多個(gè)顯示單元;所述超高分辨顯示方法包括以下步驟:
[0006]S1、主節(jié)點(diǎn)控制器設(shè)置GIS服務(wù)器,把有效的GIS服務(wù)器的IP地址及端口通過計(jì)算機(jī)網(wǎng)絡(luò)發(fā)送給所有子節(jié)點(diǎn)控制器,各子節(jié)點(diǎn)控制器收到后保存GIS服務(wù)器的IP地址和端Π ;
[0007]S2、主節(jié)點(diǎn)控制器連接步驟I中設(shè)置的GIS服務(wù)器,通過麗S服務(wù)的地圖請(qǐng)求指令并行獲取GIS服務(wù)器上地圖的相關(guān)信息;
[0008]S3、主節(jié)點(diǎn)控制器從GIS服務(wù)器上地圖的相關(guān)信息中確定地圖的邊界信息,然后按子節(jié)點(diǎn)控制器連接的顯示單元數(shù)量對(duì)地圖進(jìn)行分塊處理,各子節(jié)點(diǎn)控制器保存地圖分塊信息,同時(shí)反饋給主節(jié)點(diǎn)控制器準(zhǔn)備就緒指令;[0009]S4、主節(jié)點(diǎn)控制器收到所有子節(jié)點(diǎn)控制器的準(zhǔn)備就緒指令后,發(fā)送地圖數(shù)據(jù)獲取指令;各子節(jié)點(diǎn)控制器收到地圖數(shù)據(jù)獲取指令后,通過WMS服務(wù)并行獲取所請(qǐng)求的地圖圖片數(shù)據(jù);
[0010]S5、各子節(jié)點(diǎn)控制器接收完所請(qǐng)求的地圖圖片數(shù)據(jù)后,通過地圖分塊重組和地圖投影變換算法,對(duì)每個(gè)地圖分塊區(qū)域所對(duì)應(yīng)的地圖圖片數(shù)據(jù)進(jìn)行坐標(biāo)重組和地圖投影變換,同時(shí)把變換后的數(shù)據(jù)標(biāo)記為紋理數(shù)據(jù),并把紋理數(shù)據(jù)緩存于圖片處理緩沖區(qū)中;
[0011]S6、各子節(jié)點(diǎn)控制器從圖片處理緩沖區(qū)中讀取每個(gè)地圖分塊區(qū)域的紋理數(shù)據(jù),進(jìn)行渲染顯示。
[0012]優(yōu)選地,所述步驟S3對(duì)地圖進(jìn)行分塊處理的步驟為:主節(jié)點(diǎn)控制器從GIS服務(wù)器上地圖的相關(guān)信息中確定地圖的邊界信息,然后根據(jù)各子節(jié)點(diǎn)控制器顯示區(qū)域的位置,把整個(gè)地圖按子節(jié)點(diǎn)控制器連接的顯示單元數(shù)量進(jìn)行分塊,計(jì)算出每個(gè)子節(jié)點(diǎn)控制器負(fù)責(zé)的地圖分塊區(qū)域,并給每個(gè)地圖分塊區(qū)域分配一個(gè)唯一的地圖分塊區(qū)域ID,最后通過計(jì)算機(jī)網(wǎng)絡(luò)發(fā)送地圖分塊指令至所有子節(jié)點(diǎn)控制器;各子節(jié)點(diǎn)控制器收到地圖分塊指令后,保存地圖分塊信息,同時(shí)反饋給主節(jié)點(diǎn)控制器準(zhǔn)備就緒指令。
[0013]優(yōu)選地,所述步驟S4中各子節(jié)點(diǎn)控制器通過WMS服務(wù)并行獲取所請(qǐng)求的地圖圖片數(shù)據(jù)的步驟為:各子節(jié)點(diǎn)控制器收到地圖數(shù)據(jù)獲取指令后獲取其中的比例尺信息,再根據(jù)比例尺信息、GIS服務(wù)器IP地址及端口、地圖分塊區(qū)域生成每個(gè)地圖分塊區(qū)域的麗S地圖請(qǐng)求URL,通過HTTP并行向GIS服務(wù)器發(fā)送麗S地圖請(qǐng)求URL,由GIS服務(wù)器返回所請(qǐng)求的地圖圖片數(shù)據(jù),各子節(jié)點(diǎn)控制器接收所請(qǐng)求的地圖圖片數(shù)據(jù)并緩存于原始圖片緩沖區(qū)中。
[0014]優(yōu)選地,所述步驟S6中渲染顯示的步驟為:各子節(jié)點(diǎn)控制器把紋理數(shù)據(jù)分配給OpenGL著色器的紋理內(nèi)存,最后由OpenGL著色器利用GPU并行渲染的方式,把所有地圖分塊區(qū)域的紋理數(shù)據(jù)進(jìn)行渲染顯示。
[0015]上述超高分辨顯示方法還包括以下步驟:S7、主節(jié)點(diǎn)控制器收到需要地圖放大或縮小的命令后,先記錄放大或縮小后地圖的比例尺信息,然后按照步驟S3對(duì)放大或縮小后需顯示的地圖區(qū)域進(jìn)行重新分塊處理,再發(fā)送地圖分塊指令給所有子節(jié)點(diǎn)控制器,各子節(jié)點(diǎn)控制器收到地圖分塊指令后,再按照步驟S4通過WMS服務(wù)并行獲取所請(qǐng)求的地圖圖片數(shù)據(jù);最后按照步驟S5及S6完成地圖放大或縮小顯示。
[0016]上述超高分辨顯示方法還包括以下步驟:S8、主節(jié)點(diǎn)控制器收到需要地圖進(jìn)行移動(dòng)的命令后,先記錄移動(dòng)后的地圖顯示區(qū)域邊界信息,然后按照步驟S3對(duì)移動(dòng)后需顯示的地圖區(qū)域進(jìn)行重新分塊處理,再發(fā)送地圖分塊指令給所有子節(jié)點(diǎn)控制器,各子節(jié)點(diǎn)控制器收到地圖分塊指令后,再按照步驟S4通過WMS服務(wù)并行獲取所請(qǐng)求的地圖圖片數(shù)據(jù),然后按照步驟S5及S6完成移動(dòng)后的地圖顯示。
[0017]本發(fā)明原理如下:由于GIS系統(tǒng)平臺(tái)的多樣性,為了實(shí)現(xiàn)不同GIS平臺(tái)的數(shù)據(jù)都能整合顯示,發(fā)明了采用并行WMS服務(wù)獲取GIS數(shù)據(jù)的方法。并在此基礎(chǔ)上,設(shè)計(jì)了一套以計(jì)算機(jī)集群并行處理為基礎(chǔ),通過集群地圖分塊、WMS服務(wù)并行獲取GIS地圖信息,經(jīng)過地圖投影變換分布處理數(shù)據(jù),由GPU并行紋理渲染顯示的拼接顯示方法。該方法通過計(jì)算機(jī)集群獲取、處理和顯示地圖信息,能夠有效地解決海量GIS地圖處理與顯示問題。其中,集群地圖分塊技術(shù)把高分辨地圖按集群節(jié)點(diǎn)機(jī)進(jìn)行分塊處理,使顯示地圖的分辨率可以通過增加節(jié)點(diǎn)機(jī)數(shù)量來擴(kuò)展顯示分辨率,不受單個(gè)顯示屏分辨率的限制,實(shí)現(xiàn)超高分辨GIS信息顯不O
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)及有益效果:
[0019]1、充分利用了計(jì)算機(jī)集群平臺(tái)的集群并行處理優(yōu)勢(shì),無需增加額外的硬件設(shè)備,主節(jié)點(diǎn)控制器、各子節(jié)點(diǎn)控制器僅通過網(wǎng)絡(luò)就能夠?qū)IS地圖實(shí)現(xiàn)多屏顯示與控制,系統(tǒng)具有較高的可擴(kuò)展性與維護(hù)性。當(dāng)處理海量GIS數(shù)據(jù)計(jì)算能力不足時(shí),可以增加子節(jié)點(diǎn)控制器數(shù)量來提高系統(tǒng)的整體計(jì)算能力;當(dāng)顯示高分辨地圖顯示范圍不足時(shí),可以增加子節(jié)點(diǎn)控制器連接的顯示單元數(shù)量來提高集群系統(tǒng)的整體分辨率,從而實(shí)現(xiàn)超高分率顯示。
[0020]以1920X1080分辨率的顯示屏為例,傳統(tǒng)GIS顯示方式,只能顯示輸出分辨率為1920X1080 = 2073600像素的地圖。而通過本發(fā)明的系統(tǒng),采用兩臺(tái)子節(jié)點(diǎn)控制器分別連接四塊顯示屏,系統(tǒng)可支持分辨率為1920X1080X4X2 = 16588800的地圖顯示,地圖處理顯示能力提升了 8倍;采用六臺(tái)節(jié)點(diǎn)控制器,則地圖分辨率提升到了 1920X1080X4X6 =49766400,提升了 24倍,極大地增強(qiáng)了 GIS信息的超高分辨顯示能力。
[0021]2、相比于采用計(jì)算機(jī)顯卡輸出的GIS圖像信息以VGA/DVI電信號(hào)的方式進(jìn)行處理顯示的現(xiàn)有顯示GIS地圖,本發(fā)明采用的是在集群平臺(tái)下,利用其強(qiáng)大的計(jì)算處理能力,把地圖按子節(jié)點(diǎn)控制器進(jìn)行分塊處理,各子節(jié)點(diǎn)控制器根據(jù)地圖分塊區(qū)域大小通過WMS服務(wù)并行獲取GIS地圖圖片數(shù)據(jù),再進(jìn)行地圖坐標(biāo)重組和地圖投影分布變換,然后由OpenGL著色器利用GPU進(jìn)行并行紋理渲染顯示。本發(fā)明采用地圖分塊平衡所有子節(jié)點(diǎn)控制器的負(fù)載,提高了系統(tǒng)處理海量數(shù)據(jù)的能力;利用并行麗S地圖服務(wù)獲取GIS數(shù)據(jù),有效解決了不同GIS平臺(tái)數(shù)據(jù)整合顯示問題,使系統(tǒng)實(shí)現(xiàn)跨GIS平臺(tái)顯示的能力;利用子節(jié)點(diǎn)控制器連接顯示屏、集群地圖分塊和GPU(Graphic Processing Unit,圖像處理器)并行紋理顯示,實(shí)現(xiàn)了 GIS地圖的超高分辨率的顯示,解決了海量GIS地圖在拼接顯示系統(tǒng)中遇到的分辨率顯示不足,地圖顯示范圍受限和無法處理海量數(shù)據(jù)等問題。
【專利附圖】
【附圖說明】
[0022]圖1是本發(fā)明的方法流程圖;
[0023]圖2是本發(fā)明的系統(tǒng)總體結(jié)構(gòu)圖;
[0024]圖3集群地圖分塊示意圖;
[0025]圖4是本發(fā)明的系統(tǒng)模塊圖。
【具體實(shí)施方式】
[0026]下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。
[0027]本發(fā)明海量GIS信息的超高分辨顯示方法基于計(jì)算機(jī)集群平臺(tái),所述計(jì)算機(jī)集群平臺(tái)包括主節(jié)點(diǎn)控制器及多個(gè)子節(jié)點(diǎn)控制器,主節(jié)點(diǎn)控制器通過計(jì)算機(jī)網(wǎng)絡(luò)分別與多個(gè)子節(jié)點(diǎn)控制器相連接,每個(gè)子節(jié)點(diǎn)控制器還配置多個(gè)顯示單元。如圖1所示,本發(fā)明顯示方法包括以下步驟:
[0028]S1、主節(jié)點(diǎn)控制器設(shè)置GIS服務(wù)器:首先檢查GIS服務(wù)器IP地址及端口的有效性,如果GIS服務(wù)器IP地址和端口是有效數(shù)據(jù),則主節(jié)點(diǎn)控制器通過網(wǎng)絡(luò)發(fā)送數(shù)據(jù)指令(所述數(shù)據(jù)指令中包含GIS服務(wù)器IP地址和端口等信息)給所有子節(jié)點(diǎn)控制器,各子節(jié)點(diǎn)控制器收到所述數(shù)據(jù)指令后將GIS服務(wù)器IP地址和端口保存于內(nèi)存中。
[0029]S2、如圖2所示,主節(jié)點(diǎn)控制器連接步驟I中設(shè)置的GIS服務(wù)器,通過麗S服務(wù)的GetCapabilities (地圖請(qǐng)求指令)并行獲取GIS服務(wù)器上地圖的相關(guān)信息,所述地圖的相關(guān)信息主要有麗S服務(wù)當(dāng)前的版本號(hào)、地圖的邊界信息、地圖的參考坐標(biāo)系統(tǒng)和地圖的圖
層信息等。
[0030]S3、主節(jié)點(diǎn)控制器確定地圖的邊界信息后,根據(jù)計(jì)算機(jī)集群平臺(tái)中各子節(jié)點(diǎn)控制器顯示區(qū)域的位置,把整個(gè)地圖按子節(jié)點(diǎn)控制器連接的顯示單元數(shù)量進(jìn)行分塊,計(jì)算出每個(gè)子節(jié)點(diǎn)控制器負(fù)責(zé)的地圖分塊區(qū)域。如圖3所示,用Map (X,y)(其中x,y表示分塊坐標(biāo)位置)表示顯示單元對(duì)應(yīng)的地圖分塊區(qū)域,由于每臺(tái)子節(jié)點(diǎn)控制器連接四塊顯示單元,因此,子節(jié)點(diǎn)控制器I的地圖分塊區(qū)域?yàn)镸ap (O, O)、Map (O, I)、Map (I, O)和Map (I, I),子節(jié)點(diǎn)控制器2的地圖分塊區(qū)域?yàn)镸ap (O, 2)、Map (O, 3)、Map (I, 2)和Map (I, 3),以此類推。主節(jié)點(diǎn)控制器給每個(gè)地圖分塊區(qū)域分配一個(gè)唯一的標(biāo)識(shí)ID (稱為地圖分塊區(qū)域ID),最后通過網(wǎng)絡(luò)發(fā)送地圖分塊指令(所述地圖分塊指令包括地圖分塊區(qū)域ID、地圖分塊區(qū)域的大小、地圖分塊區(qū)域左上角坐標(biāo)和地圖分塊區(qū)域左上角坐標(biāo)對(duì)應(yīng)的地理坐標(biāo)等地圖分塊信息)至所有子節(jié)點(diǎn)控制器;其中地圖在顯示屏上的初始位置在拼接顯示屏的左上角,坐標(biāo)設(shè)為(0,0)。各子節(jié)點(diǎn)控制器收到地圖分塊指令后,保存地圖分塊信息于內(nèi)存中,同時(shí)反饋給主節(jié)點(diǎn)控制器準(zhǔn)備就緒指令,完成集群地圖分塊。
[0031]S4、主節(jié)點(diǎn)控制器收到所有子節(jié)點(diǎn)控制器的準(zhǔn)備就緒指令后,發(fā)送地圖數(shù)據(jù)獲取指令(所述地圖數(shù)據(jù)獲取指令包括地圖當(dāng)前的級(jí)別信息,即比例尺信息)。各子節(jié)點(diǎn)控制器收到地圖數(shù)據(jù)獲取指令后,根據(jù)比例尺信息、GIS服務(wù)器IP地址及端口、步驟S2計(jì)算的地圖分塊區(qū)域Map (X,y)生成每個(gè)地圖分塊區(qū)域的WMS地圖請(qǐng)求URL(Uniform ResourceLocator,統(tǒng)一資源定位符),通過HTTP (HyperText Transfer Protocol,超文本轉(zhuǎn)移協(xié)議)并行向GIS服務(wù)器發(fā)送麗S地圖請(qǐng)求URL,由GIS服務(wù)器返回所請(qǐng)求的地圖圖片數(shù)據(jù),各子節(jié)點(diǎn)控制器接收所請(qǐng)求的地圖圖片數(shù)據(jù)并緩存于原始圖片緩沖區(qū)中,并把每個(gè)地圖分塊區(qū)域?qū)?yīng)的地圖圖片數(shù)據(jù)標(biāo)記為Image (X,y)。
[0032]S5、各子節(jié)點(diǎn)控制器接收完所請(qǐng)求的地圖圖片數(shù)據(jù)后,通過地圖分塊重組和地圖投影變換算法,對(duì)每個(gè)地圖分塊區(qū)域所對(duì)應(yīng)的地圖圖片數(shù)據(jù)Image (x,y)進(jìn)行坐標(biāo)重組和地圖投影變換,同時(shí)把變換后的數(shù)據(jù)標(biāo)記為紋理數(shù)據(jù)Texture (X,y),并把紋理數(shù)據(jù)Texture (x, y)緩存于圖片處理緩沖區(qū)中。
[0033]S6、各子節(jié)點(diǎn)控制器從圖片處理緩沖區(qū)中讀取每個(gè)地圖分塊區(qū)域的紋理數(shù)據(jù)Texture (X,y),并把紋理數(shù)據(jù)Texture (x, y)分配給OpenGL著色器的紋理內(nèi)存,最后由OpenGL著色器利用GPU并行渲染的方式,把所有地圖分塊區(qū)域的紋理數(shù)據(jù)Texture (X,y)進(jìn)行渲染顯示。
[0034]S7、主節(jié)點(diǎn)控制器收到需要地圖放大或縮小的命令后,先記錄放大或縮小后地圖的級(jí)別信息(即比例尺信息),然后按照步驟S3對(duì)放大或縮小后需顯示的地圖區(qū)域進(jìn)行重新分塊處理,再發(fā)送地圖分塊指令給所有子節(jié)點(diǎn)控制器,各子節(jié)點(diǎn)控制器收到地圖分塊指令后,再按照步驟S4生成麗S地圖請(qǐng)求URL,通過HTTP并行向GIS服務(wù)器發(fā)送麗S地圖請(qǐng)求URL,由GIS服務(wù)器返回所請(qǐng)求的地圖圖片數(shù)據(jù)后,用GIS服務(wù)器返回的所請(qǐng)求的地圖圖片數(shù)據(jù)替換原始圖片緩沖區(qū)中的數(shù)據(jù)。接下來按照步驟S5及S6完成地圖放大或縮小顯示。[0035]S8、主節(jié)點(diǎn)控制器收到需要地圖進(jìn)行移動(dòng)的命令后,先記錄移動(dòng)后的地圖顯示區(qū)域邊界信息,然后按照步驟S3對(duì)移動(dòng)后需顯示的地圖區(qū)域進(jìn)行重新分塊處理,再發(fā)送地圖分塊指令給所有子節(jié)點(diǎn)控制器,各子節(jié)點(diǎn)控制器收到地圖分塊指令后,再按照步驟S4生成麗S地圖請(qǐng)求URL,通過HTTP并行向GIS服務(wù)器發(fā)送麗S地圖請(qǐng)求URL,由GIS服務(wù)器返回所請(qǐng)求的地圖圖片數(shù)據(jù)后,用GIS服務(wù)器返回的所請(qǐng)求的地圖圖片數(shù)據(jù)替換原始圖片緩沖區(qū)中的數(shù)據(jù)。接下來按照步驟S5及S6完成移動(dòng)后的地圖顯示。
[0036]本發(fā)明海量GIS信息的超高分辨顯示系統(tǒng)為了更好的維護(hù)與開發(fā),把系統(tǒng)進(jìn)行模塊劃分,包括數(shù)據(jù)初始化模塊、集群地圖分塊模塊、WMS服務(wù)并行獲取模塊、地圖投影變換分布處理模塊及并行渲染顯示模塊,如圖4所示。其中數(shù)據(jù)初始化模塊完成上述步驟SI,集群地圖分塊模塊執(zhí)行上述步驟S2及S3,WMS服務(wù)并行獲取模塊執(zhí)行上述步驟S4,地圖投影變換分布處理模塊執(zhí)行上述步驟S5,并行渲染顯示模塊執(zhí)行上述步驟S6、S7及S8。
[0037]綜上可知,本發(fā)明海量GIS信息的超高分辨顯示方法利用主、子節(jié)點(diǎn)控制器構(gòu)成的并行集群處理平臺(tái),通過麗S服務(wù)并行地獲取GIS地圖信息,由OpenGL通過著色器進(jìn)行GPU并行渲染顯示,解決了海量GIS地圖在拼接顯示系統(tǒng)中遇到的分辨率顯示不足,地圖顯示范圍受限和無法處理海量數(shù)據(jù)等問題;而且采用Web服務(wù)的方式來獲取地圖信息,可有效解決不同GIS平臺(tái)數(shù)據(jù)的融合顯示問題?;谥?、子節(jié)點(diǎn)控制器的分布式集群的平臺(tái),使整個(gè)系統(tǒng)的架構(gòu)處于開放狀態(tài),當(dāng)數(shù)據(jù)處理能力遇到不足時(shí),只需要增加子節(jié)點(diǎn)控制器即可增強(qiáng)整個(gè)系統(tǒng)的計(jì)算處理能力,在增加子節(jié)點(diǎn)控制器的同時(shí)也提高了渲染顯示GIS地圖的分辨率。本發(fā)明由于利用麗S地圖服務(wù)的跨平臺(tái)特性,使系統(tǒng)支持整合顯示來自SuperMap> ArcGIS>MapInfo等不同GIS平臺(tái)的地圖服務(wù)。
[0038]上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡(jiǎn)化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.海量Gis信息的超高分辨顯示方法,所述超高分辨顯示方法基于計(jì)算機(jī)集群平臺(tái),所述計(jì)算機(jī)集群平臺(tái)包括主節(jié)點(diǎn)控制器及多個(gè)子節(jié)點(diǎn)控制器,主節(jié)點(diǎn)控制器通過計(jì)算機(jī)網(wǎng)絡(luò)分別與多個(gè)子節(jié)點(diǎn)控制器相連接,每個(gè)子節(jié)點(diǎn)控制器還配置多個(gè)顯示單元,其特征在于所述超高分辨顯示方法包括以下步驟: 51、主節(jié)點(diǎn)控制器設(shè)置GIS服務(wù)器,把有效的GIS服務(wù)器的IP地址及端口通過計(jì)算機(jī)網(wǎng)絡(luò)發(fā)送給所有子節(jié)點(diǎn)控制器,各子節(jié)點(diǎn)控制器收到后保存GIS服務(wù)器的IP地址和端口 ; 52、主節(jié)點(diǎn)控制器連接步驟I中設(shè)置的GIS服務(wù)器,通過WMS服務(wù)的地圖請(qǐng)求指令并行獲取GIS服務(wù)器上地圖的相關(guān)信息; 53、主節(jié)點(diǎn)控制器從GIS服務(wù)器上地圖的相關(guān)信息中確定地圖的邊界信息,然后按子節(jié)點(diǎn)控制器連接的顯示單元數(shù)量對(duì)地圖進(jìn)行分塊處理,各子節(jié)點(diǎn)控制器保存地圖分塊信息,同時(shí)反饋給主節(jié)點(diǎn)控制器準(zhǔn)備就緒指令; 54、主節(jié)點(diǎn)控制器收到所有子節(jié)點(diǎn)控制器的準(zhǔn)備就緒指令后,發(fā)送地圖數(shù)據(jù)獲取指令;各子節(jié)點(diǎn)控制器收到地圖數(shù)據(jù)獲取指令后,通過麗S服務(wù)并行獲取所請(qǐng)求的地圖圖片數(shù)據(jù); 55、各子節(jié)點(diǎn)控制器接收完所請(qǐng)求的地圖圖片數(shù)據(jù)后,通過地圖分塊重組和地圖投影變換算法,對(duì)每個(gè)地圖分塊區(qū)域所對(duì)應(yīng)的地圖圖片數(shù)據(jù)進(jìn)行坐標(biāo)重組和地圖投影變換,同時(shí)把變換后的數(shù)據(jù)標(biāo)記為紋理數(shù)據(jù),并把紋理數(shù)據(jù)緩存于圖片處理緩沖區(qū)中; 56、各子節(jié)點(diǎn)控制器從圖片處理緩沖區(qū)中讀取每個(gè)地圖分塊區(qū)域的紋理數(shù)據(jù),進(jìn)行渲染顯示。
2.根據(jù)權(quán)利要求1所述的超高分辨顯示方法,其特征在于,所述步驟S3對(duì)地圖進(jìn)行分塊處理的步驟為: 主節(jié)點(diǎn)控制器從GIS服務(wù)器上地圖的相關(guān)信息中確定地圖的邊界信息,然后根據(jù)各子節(jié)點(diǎn)控制器顯示區(qū)域的位置,把整個(gè)地圖按子節(jié)點(diǎn)控制器連接的顯示單元數(shù)量進(jìn)行分塊,計(jì)算出每個(gè)子節(jié)點(diǎn)控制器負(fù)責(zé)的地圖分塊區(qū)域,并給每個(gè)地圖分塊區(qū)域分配一個(gè)唯一的地圖分塊區(qū)域ID,最后通過計(jì)算機(jī)網(wǎng)絡(luò)發(fā)送地圖分塊指令至所有子節(jié)點(diǎn)控制器;各子節(jié)點(diǎn)控制器收到地圖分塊指令后,保存地圖分塊信息,同時(shí)反饋給主節(jié)點(diǎn)控制器準(zhǔn)備就緒指令。
3.根據(jù)權(quán)利要求2所述的超高分辨顯示方法,其特征在于,步驟S3中所述地圖分塊指令包括以下地圖分塊信息:地圖分塊區(qū)域ID、地圖分塊區(qū)域的大小、地圖分塊區(qū)域左上角坐標(biāo)和地圖分塊區(qū)域左上角坐標(biāo)對(duì)應(yīng)的地理坐標(biāo)。
4.根據(jù)權(quán)利要求1所述的超高分辨顯示方法,其特征在于,所述步驟S4中各子節(jié)點(diǎn)控制器通過WMS服務(wù)并行獲取所請(qǐng)求的地圖圖片數(shù)據(jù)的步驟為: 各子節(jié)點(diǎn)控制器收到地圖數(shù)據(jù)獲取指令后獲取其中的比例尺信息,再根據(jù)比例尺信息、GIS服務(wù)器IP地址及端口、地圖分塊區(qū)域生成每個(gè)地圖分塊區(qū)域的WMS地圖請(qǐng)求URL,通過HTTP并行向GIS服務(wù)器發(fā)送麗S地圖請(qǐng)求URL,由GIS服務(wù)器返回所請(qǐng)求的地圖圖片數(shù)據(jù),各子節(jié)點(diǎn)控制器接收所請(qǐng)求的地圖圖片數(shù)據(jù)并緩存于原始圖片緩沖區(qū)中。
5.根據(jù)權(quán)利要求1所述的超高分辨顯示方法,其特征在于,所述步驟S2中所述地圖的相關(guān)信息包括麗S服務(wù)當(dāng)前的版本號(hào)、地圖的邊界信息、地圖的參考坐標(biāo)系統(tǒng)和地圖的圖層Ih息。
6.根據(jù)權(quán)利要求1所述的超高分辨顯示方法,其特征在于,所述步驟S6中渲染顯示的步驟為:各子節(jié)點(diǎn)控制器把紋理數(shù)據(jù)分配給OpenGL著色器的紋理內(nèi)存,最后由OpenGL著色器利用GPU并行渲染的方式,把所有地圖分塊區(qū)域的紋理數(shù)據(jù)進(jìn)行渲染顯示。
7.根據(jù)權(quán)利要求1-6中任一項(xiàng)所述的超高分辨顯示方法,其特征在于所述超高分辨顯示方法還包括以下步驟: S7、主節(jié)點(diǎn)控制器收到需要地圖放大或縮小的命令后,先記錄放大或縮小后地圖的比例尺信息,然后按照步驟S3對(duì)放大或縮小后需顯示的地圖區(qū)域進(jìn)行重新分塊處理,再發(fā)送地圖分塊指令給所有子節(jié)點(diǎn)控制器,各子節(jié)點(diǎn)控制器收到地圖分塊指令后,再按照步驟S4通過WMS服務(wù)并行獲取所請(qǐng)求的地圖圖片數(shù)據(jù);最后按照步驟S5及S6完成地圖放大或縮小顯示。
8.根據(jù)權(quán)利要求1-6中任一項(xiàng)所述的超高分辨顯示方法,其特征在于所述超高分辨顯示方法還包括以下步驟: S8、主節(jié)點(diǎn)控制器收到需要地圖進(jìn)行移動(dòng)的命令后,先記錄移動(dòng)后的地圖顯示區(qū)域邊界信息,然后按照步驟S3對(duì)移動(dòng)后需顯示的地圖區(qū)域進(jìn)行重新分塊處理,再發(fā)送地圖分塊指令給所有子節(jié)點(diǎn)控制器,各子節(jié)點(diǎn)控制器收到地圖分塊指令后,再按照步驟S4通過WMS服務(wù)并行獲取所請(qǐng)求的地圖圖片數(shù)據(jù),然后按照步驟S5及S6完成移動(dòng)后的地圖顯示。
【文檔編號(hào)】H04L29/08GK103984513SQ201410228966
【公開日】2014年8月13日 申請(qǐng)日期:2014年5月27日 優(yōu)先權(quán)日:2014年5月27日
【發(fā)明者】孫峻嶺, 羅明宇, 劉其軍, 歸強(qiáng), 徐 明 申請(qǐng)人:廣東粵鐵瀚陽科技有限公司