本技術(shù)涉及建筑信息模型數(shù)據(jù)處理,具體涉及一種webgis三維地理數(shù)據(jù)輕量化方法。
背景技術(shù):
1、webgis是web?技術(shù)和gis技術(shù)相結(jié)合的產(chǎn)物,是利用web技術(shù)來擴展和完善地理信息系統(tǒng)的一項新技術(shù)。webgis應用客戶端/服務器概念來執(zhí)行g(shù)is的分析任務。它把任務分為服務器端和客戶端兩部分,客戶端可以從服務器請求數(shù)據(jù)、分析工具或模塊,服務器或者執(zhí)行客戶端的請求并把結(jié)果通過網(wǎng)絡送回給客戶端,或者把數(shù)據(jù)和分析工具發(fā)送給客戶端供客戶端使用。gis中的信息主要是需要以圖形、圖像方式表現(xiàn)的空間數(shù)據(jù),客戶端通過交互操作,對空間數(shù)據(jù)進行查詢分析。webgis?可使客戶端在intenet上操作gis地圖和數(shù)據(jù),利用web來尋找他們所需要的空間數(shù)據(jù),并且進行各種操作。
2、webgis三維地理數(shù)據(jù)中一般包含地理數(shù)據(jù)、空間數(shù)據(jù)和屬性數(shù)據(jù),其中地理數(shù)據(jù)是webgis的核心內(nèi)容,包括各種地理特征的空間位置、形狀和屬性信息。這些數(shù)據(jù)通常以矢量數(shù)據(jù)和柵格數(shù)據(jù)的形式存在??臻g數(shù)據(jù)是地理信息系統(tǒng)中的基礎數(shù)據(jù),包括各種地理特征的空間位置和形狀信息。屬性數(shù)據(jù)是與地理特征相關(guān)的非空間信息,比如對應地理信息中三維建筑物的渲染信息、對應到實際三維建筑物的細節(jié)展示信息等。因此,webgis三維數(shù)據(jù)的海量數(shù)據(jù)使得近些年對于webgis數(shù)據(jù)的輕量化一直是研究的熱點。
3、現(xiàn)有技術(shù)中,對webgis三維地理數(shù)據(jù)輕量化一般是簡化三維幾何模型、運用模型格式轉(zhuǎn)換或者對其中的渲染進行簡化。上述技術(shù)都能實現(xiàn)webgis三維地理數(shù)據(jù)的輕量化處理,但是輕量化后的webgis三維地理數(shù)據(jù)由于幾何信息丟失和模型渲染的簡化導致了顯示效果比較差。
技術(shù)實現(xiàn)思路
1、本技術(shù)為了解決上述技術(shù)問題,提出了如下技術(shù)方案:
2、第一方面,本技術(shù)實施例提供了一種webgis三維地理數(shù)據(jù)輕量化方法,包括:
3、根據(jù)三維地理數(shù)據(jù)獲得二維平面特征數(shù)據(jù)并提取所述二維平面特征數(shù)據(jù)對應的平面線條特征和所述三維地理數(shù)據(jù)的空間線條特征;
4、將所述平面線條特征和空間線條特征存儲于服務器端并將所述三維地理數(shù)據(jù)中的空間渲染數(shù)據(jù)映射存儲到客戶端緩存中;
5、當通過客戶端訪問gis服務器端查看三維地理數(shù)據(jù)時,根據(jù)客戶端當前選定的平面線條特征中的區(qū)域從客戶端緩存中調(diào)取當前平面線條選定區(qū)域?qū)匿秩緮?shù)據(jù)對平面線條選定區(qū)域的三維地理數(shù)據(jù)進行渲染。
6、在一種可能的實現(xiàn)方式中,所述根據(jù)三維地理數(shù)據(jù)獲得二維平面特征數(shù)據(jù)并提取所述二維平面特征數(shù)據(jù)對應的平面線條特征和所述三維地理數(shù)據(jù)的空間線條特征,包括:
7、使用numpy庫中的loadtxt函數(shù)從gis的三維模型中加載三維地理數(shù)據(jù);
8、使用skleam庫中的pca模塊將三維地理數(shù)據(jù)進行降維處理獲取二維平面數(shù)據(jù)并生成二維平面模型;
9、分別根據(jù)所述二維平面模型和三維模型獲得二維平面特征數(shù)據(jù)的平面線條特征和所述三維地理數(shù)據(jù)的空間線條特征。
10、在一種可能的實現(xiàn)方式中,將所述平面線條特征和空間線條特征存儲于服務器端并將所述三維地理數(shù)據(jù)中的空間渲染數(shù)據(jù)映射存儲到客戶端緩存中,包括:
11、將所述平面線條特征按照gis三維模型中的單位個體進行拆分獲得多個子平面線條特征;
12、根據(jù)所述子平面線條特征對所述空間線條特征進行拆分獲得多個子空間線條特征;
13、建立所述子平面線條特征與所述子空間線條特征之間的映射關(guān)系獲得多個三維模塊線條組;
14、確定每個所述三維模塊線條組在所述gis三維模型中的空間渲染數(shù)據(jù);
15、將每個所述三維模塊線條組的空間渲染數(shù)據(jù)映射存儲到訪問gis服務器的客戶端側(cè)緩存內(nèi)。
16、在一種可能的實現(xiàn)方式中,所述當通過客戶端訪問gis服務器端查看三維地理數(shù)據(jù)時,根據(jù)客戶端當前選定的平面線條特征中的區(qū)域從客戶端緩存中調(diào)取當前平面線條選定區(qū)域?qū)匿秩緮?shù)據(jù)對平面線條選定區(qū)域的三維地理數(shù)據(jù)進行渲染,包括:
17、客戶端訪問所述gis服務器時,所述gis服務器將二維平面模型中的平面線條特征傳輸?shù)娇蛻舳藗?cè);
18、當客戶端側(cè)選確定所述平面線條特征中任一子平面線條特征時,根據(jù)映射關(guān)系從所述gis服務器側(cè)請求對應的子空間線條特征;
19、根據(jù)獲得的子平面線條特征與請求獲得的子空間線條特征組成的三維模塊線條組從客戶端側(cè)緩存內(nèi)讀取對應的空間渲染數(shù)據(jù)還原出原三維地理數(shù)據(jù)中的全部特征。
20、在一種可能的實現(xiàn)方式中,所述獲得子平面線條特征與子空間線條特征組成的三維模塊線條組后從客戶端側(cè)緩存內(nèi)讀取對應的空間渲染數(shù)據(jù)還原出原三維地理數(shù)據(jù)中的全部特征,包括:
21、確定所述空間渲染數(shù)據(jù)對應到所述三維模塊線條組中的顏色、光澤和透明度參數(shù);
22、首先調(diào)取所述空間渲染數(shù)據(jù)中的紋理特征對所述三維模塊線條組表面進行紋理化渲染是的三維模塊線條組各個面還原原始的圖案或細節(jié);
23、然后確定所述三維模塊線條組不同面的顏色方案,將所述空間渲染數(shù)據(jù)中的顏色特征渲染到紋理化后的三維模塊線條組上;
24、最后根據(jù)所述空間渲染數(shù)據(jù)中光照、陰影和反射數(shù)據(jù)進行調(diào)整渲染獲得所述三維模塊線條組在原三維地理數(shù)據(jù)中的全部特征。
25、在一種可能的實現(xiàn)方式中,當客戶端側(cè)完成一次訪問或操作后,對客戶端側(cè)緩存中的空間渲染數(shù)據(jù)進行更新。
26、在一種可能的實現(xiàn)方式中,所述當客戶端側(cè)完成一次訪問或操作后,對客戶端側(cè)緩存中的空間渲染數(shù)據(jù)進行更新,包括:
27、當客戶端側(cè)緩存中的第一空間渲染數(shù)據(jù)被調(diào)取后,將所述第一空間渲染數(shù)據(jù)刪除,所述第一空間渲染數(shù)據(jù)為任一空間渲染數(shù)據(jù);
28、拓展第一緩存空間,并將所述第一緩存空間的指針地址作為替換數(shù)據(jù)存儲到所述第一空間渲染數(shù)據(jù)的原始位置,不同空間渲染數(shù)據(jù)被調(diào)取后分別生成新的緩存空間,每個新的緩存空間的指針地址指向是唯一的;
29、待客戶端側(cè)查看完畢后,將與所述第一空間渲染數(shù)據(jù)對應的原三維地理數(shù)據(jù)直接存儲到新的緩存空間。
30、在一種可能的實現(xiàn)方式中,所述拓展第一緩存空間,并將所述第一緩存空間的指針地址作為替換數(shù)據(jù)存儲到所述第一空間渲染數(shù)據(jù)的原始位置,包括:
31、將所述第一空間渲染數(shù)據(jù)刪除后,保留所述第一空間渲染數(shù)據(jù)在客戶端側(cè)緩存中的存儲空間不變;
32、待所述第一緩存空間確定后,確定所述第一緩存空間的指針地址的長度;
33、對所述第一空間渲染數(shù)據(jù)在客戶端側(cè)緩存中的存儲空間進行釋放,直至剩余空間長度滿足所述第一緩存空間的指針地址的長度;
34、將所述第一緩存空間的指針地址存儲到釋放后的剩余空間。
35、在本技術(shù)實施例中,將三維地理數(shù)據(jù)進行預處理后拆分,gis服務器側(cè)的線條三維數(shù)據(jù)與緩存到客戶端側(cè)的空間渲染數(shù)據(jù)可實現(xiàn)客戶端快速查看三維地理數(shù)據(jù),并且在實現(xiàn)gis服務器端數(shù)據(jù)輕量化的同時,不影響客戶端的三維地理信息展示。