亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于服務(wù)的地面三維景觀模型網(wǎng)頁顯示系統(tǒng)

        2023-03-06 02:56:22佘向飛
        科技創(chuàng)新與應(yīng)用 2023年5期
        關(guān)鍵詞:控件調(diào)用網(wǎng)頁

        潘 欣,佘向飛

        (長春工程學(xué)院 計算機技術(shù)與工程學(xué)院,長春 130012)

        隨著無人機和激光雷達技術(shù)的普及,人們可以很容易地收集一個區(qū)域景觀的三維數(shù)據(jù);這些三維景觀可以作為旅游宣傳和虛擬交互的重要展示平臺,具有很高的應(yīng)用價值[1]。當(dāng)前,很多基于網(wǎng)頁和移動端的應(yīng)用均有較強的嵌入地面三維景觀交互顯示功能的需求,然而,傳統(tǒng)三維模型數(shù)據(jù)的顯示需要完成數(shù)據(jù)上傳、權(quán)限管理、控件與后臺數(shù)據(jù)傳輸內(nèi)等多種內(nèi)容,需要付出大量管理與代碼編寫代價,這嚴(yán)重限制了三維景觀的使用與推廣[2-3]。

        通過將關(guān)鍵功能封裝構(gòu)造網(wǎng)頁控件可以降低程序編碼的復(fù)雜性提高工作效率[4]。為了解決上述問題,本研究提出了一種基于服務(wù)的地面三維景觀模型網(wǎng)頁顯示系統(tǒng)(A service-based web display system for ground 3D landscape models,(S3D-landscape)。

        1 系統(tǒng)設(shè)計

        1.1 系統(tǒng)總體結(jié)構(gòu)

        基于服務(wù)的地面三維景觀模型網(wǎng)頁顯示系統(tǒng)總體包含4個組成部分,其結(jié)構(gòu)如圖1所示。

        圖1 S3D-landscape的總體組成結(jié)構(gòu)

        S3D-landscape共包含了以下4個組成部分。

        1.1.1 基礎(chǔ)數(shù)據(jù)存儲部分

        基礎(chǔ)數(shù)據(jù)存儲部分以服務(wù)器文件的形式存儲三維景觀數(shù)據(jù),對于一個地區(qū)的三維景觀其數(shù)據(jù)包含:基于Mesh結(jié)構(gòu)的三維模型數(shù)據(jù),用于三維顯示和交互;基于三維點云的數(shù)據(jù),該數(shù)據(jù)來自于數(shù)據(jù)生成的第一個階段(如利用無人機照片生成三維點云),這一數(shù)據(jù)是構(gòu)建Mesh和進行一些典型空間計算的基礎(chǔ);地理區(qū)域信息,以Polygon格式存儲的景觀所對應(yīng)的區(qū)域?;A(chǔ)數(shù)據(jù)存儲部分主要負責(zé)以“工程”的粒度管理在文件系統(tǒng)中的數(shù)據(jù),并可以將文件轉(zhuǎn)換為網(wǎng)絡(luò)數(shù)據(jù)流、利用三維模型形成快照圖像。

        1.1.2 數(shù)據(jù)管理與空間范圍查詢部分

        數(shù)據(jù)管理與空間范圍查詢部分的主要功能是對基礎(chǔ)數(shù)據(jù)存儲部分的內(nèi)容進行增、刪、改、查的操作;對于Mesh和三維點云,該部分可以對模型的組成部分進行調(diào)整和優(yōu)化,對于三維點云可視化刪除冗余數(shù)據(jù);對于空間位置信息,可以將其作為索引,進行基于位置的空間范圍查詢。利用該部分,系統(tǒng)實現(xiàn)對所有基礎(chǔ)數(shù)據(jù)的一般數(shù)據(jù)管理操作。

        1.1.3 三維展現(xiàn)部分

        三維展現(xiàn)部分包含2個功能,一個是數(shù)據(jù)展現(xiàn),為每個景觀模型建立局部的坐標(biāo)系統(tǒng),將景觀模型放置在三維展現(xiàn)視角的中心位置;并通過調(diào)整攝像機位置和參數(shù),展現(xiàn)景觀的不同效果;二是優(yōu)化傳輸功能,根據(jù)應(yīng)用和帶寬的需求傳輸部分、全部和可見視角的數(shù)據(jù)。

        1.1.4 網(wǎng)頁顯示服務(wù)部分

        整合數(shù)據(jù)管理與空間范圍查詢部分與三維展現(xiàn)部分的功能,建立網(wǎng)頁顯示服務(wù)。該部分服務(wù)可以嵌入到HTML的<DIV>標(biāo)簽之中,以一個獨立的網(wǎng)頁控件實現(xiàn)三維景觀數(shù)據(jù)的顯示。該服務(wù)僅需要輸入景觀數(shù)據(jù)的編號、視角的參數(shù)就可以在網(wǎng)頁加載過程中傳輸三維模型數(shù)據(jù),并將對應(yīng)的內(nèi)容顯示出來,用戶可以和網(wǎng)頁控件交互來顯示三維景觀的不同內(nèi)容。

        以上4個部分互相支撐,基礎(chǔ)數(shù)據(jù)存儲部分支持?jǐn)?shù)據(jù)管理與空間范圍查詢部分和三維展現(xiàn)部分;網(wǎng)頁顯示服務(wù)不直接和基礎(chǔ)數(shù)據(jù)交互,而是通過空間范圍查詢部分與三維展現(xiàn)部分交互部分的功能間接地獲取三維內(nèi)容;這樣的結(jié)構(gòu)一方面保證數(shù)據(jù)安全性,獲取服務(wù)方不能直接獲得數(shù)據(jù)真正的全部存儲路徑和內(nèi)容,另一方面保證靈活性,使得網(wǎng)頁顯示服務(wù)可以適應(yīng)更廣泛的場景和內(nèi)容。

        1.2 系統(tǒng)靜態(tài)結(jié)構(gòu)設(shè)計

        本系統(tǒng)以文件管理、三維顯示作為設(shè)計的核心,系統(tǒng)靜態(tài)的類結(jié)構(gòu)如圖2所示。

        圖2 系統(tǒng)的類圖

        系統(tǒng)的類結(jié)構(gòu)如下。

        用于服務(wù)器文件管理的類:主要包含抽象的Server-File類,該類封裝了在服務(wù)器上文件管理的所有必要操作;該類的子類包含用于Mesh文件的MeshFile,用于三維點云的CloudFile和用于地理位置選定的ShapeFile;多組ServerFile共同組成FileGroup,每個FileGroup實例對應(yīng)一個地面景觀。

        用于FileGroup管理的類:本系統(tǒng)使用Group類來管理FileGroup的增刪改查操作和基于空間范圍的檢索;該操作調(diào)用Modify和SpatialSearch來實現(xiàn)具體的操作。Group還開放了ManagerAPI接口,通過該接口可以調(diào)用Group類的所有功能。

        用于三維顯示的類:本系統(tǒng)使用Display類來實現(xiàn)所有三維顯示功能,該類還開放了DisplayAPI作為調(diào)用接口。Display類通過調(diào)用ViewPoint類和Transmission類來實現(xiàn)具體的功能。對于Display所需的數(shù)據(jù)內(nèi)容,通過調(diào)用ManagerAPI接口間接獲得所有數(shù)據(jù)。

        網(wǎng)頁服務(wù)功能類:系統(tǒng)通過WebDisplayServices類來對ManagerAPI接口和DisplayAPI接口進行封裝,該類調(diào)用RESTFul實現(xiàn)網(wǎng)絡(luò)服務(wù)功能并利用Jason-Pararmeter類來封裝所有的參數(shù),進而實現(xiàn)所有網(wǎng)頁服務(wù)功能。

        在以上類的支持下,在網(wǎng)頁中嵌入地面三維景觀顯示控件并展現(xiàn)三維內(nèi)容的過程如下。

        1)在網(wǎng)頁的<DIV>標(biāo)簽中嵌入控件,根據(jù)頁面加載事件觸發(fā)異步的三維數(shù)據(jù)加載顯示功能。

        2)指定需要獲取的數(shù)據(jù)文件的編號參數(shù),指定顯示細節(jié)內(nèi)容參數(shù),利用JasonParameter進行封裝。

        3)將封裝參數(shù)傳輸給ManagerAPI接口和Dis playAPI接口調(diào)用對應(yīng)功能,通過RESTfulFunction讀取數(shù)據(jù)內(nèi)容,讀取完成后結(jié)束異步操作。

        4)在<DIV>標(biāo)簽中調(diào)用畫板功能,繪制三維內(nèi)容。

        5)依據(jù)用戶視角操作調(diào)整顯示細節(jié)參數(shù)并轉(zhuǎn)到步驟3)形成交互顯示的功能。

        6)網(wǎng)頁顯示結(jié)束整個控件生命周期結(jié)束。

        通過以上6個步驟,可以異步的、可交互的實現(xiàn)地面三維景觀的顯示功能。在S3D-landscape系統(tǒng)中,一次三維地面景觀顯示的協(xié)作過程如下。

        一次三維地面景觀顯示的協(xié)作過程首先由系統(tǒng)使用者SystemUser發(fā)起(可以是使用系統(tǒng)的人也可以是外部調(diào)用服務(wù)的系統(tǒng)),SystemUser將視角的變化發(fā)送給Display類,Display類會綜合分析當(dāng)前所見內(nèi)容的地理位置和三維視覺中攝像機的位置朝向,經(jīng)過計算獲得空間范圍坐標(biāo)發(fā)送給SpatialSearch類,獲得的觀察者視角發(fā)送給ViewPoint類;ViewPoint類會在一個三維區(qū)域內(nèi)計算哪些地物可見或不可見,并建立可見內(nèi)容列表發(fā)送給SpatialSearch類。SpatialSearch類綜合空間位置和可見內(nèi)容進行空間范圍查找,獲得在SystemUser可視范圍內(nèi)的三維景觀列表,并基于該列表選擇模型對照的文件組FileGroup。FileGroup依據(jù)內(nèi)部數(shù)據(jù)記錄找到服務(wù)器上的三維模型文件,之后啟動ServerFile類的實例關(guān)聯(lián)該文件;ServerFile負責(zé)分塊地傳輸文件中的所有內(nèi)容,其初始化之后首先建立Transmission的實例;Transmission類建立與Display的網(wǎng)絡(luò)鏈接,并逐步地將ServerFile關(guān)聯(lián)文件的內(nèi)容傳輸給Display;在傳輸結(jié)束之后Display觸發(fā)重繪事件,重新繪制所有數(shù)據(jù)內(nèi)容,將三維景觀的內(nèi)容顯示給SystemUser。在該協(xié)作過程的幫助下,系統(tǒng)綜合利用系統(tǒng)內(nèi)部的6個類對視角變化到數(shù)據(jù)顯示的過程進行了封裝;這一過程屏蔽了三維數(shù)據(jù)范圍查詢、服務(wù)器文件傳輸和三維內(nèi)容刷新顯示的復(fù)雜性,對于SystemUser,僅僅將視角變化的內(nèi)容發(fā)送給系統(tǒng),就可以獲得對應(yīng)三維景觀數(shù)據(jù)內(nèi)容的顯示。通過這一協(xié)作過程,系統(tǒng)完成了控件化、服務(wù)化的地面三維景觀模型顯示功能,如圖3所示。

        圖3 一次三維地面景觀顯示的協(xié)作過程

        2 實驗

        本研究使用Python 3.8實現(xiàn)所有功能,系統(tǒng)可以部署在服務(wù)器上,客戶可以通過瀏覽器訪問對應(yīng)的功能。本系統(tǒng)也可以對外部系統(tǒng)提供網(wǎng)絡(luò)服務(wù)功能,相關(guān)的服務(wù)功能可以通過Web Service模式提供地面景觀三維模型各種管理功能。

        由于設(shè)計為基于服務(wù)的模式,系統(tǒng)的三維模型增、刪、改、查操作及交互和可視化功能均可以被其他系統(tǒng)調(diào)用。為了測試系統(tǒng)在簡化調(diào)用方面的價值,本研究將傳統(tǒng)直接編寫代碼模式和使用S3D-landscape嵌入模式進行對比,對在網(wǎng)頁中嵌入地面三維景觀顯示的編碼工作量進行分析;對比實驗引入長春地區(qū)某軟件企業(yè)5名有經(jīng)驗的程序員的工作數(shù)據(jù),數(shù)據(jù)中包含三維景觀模型各個階段開發(fā)工作的工作量記錄,對比使用傳統(tǒng)模式與S3Dlandscape之后的工作量變化,每一階段編程工作均取5名程序員工作量的均值計算。具體對比結(jié)果見表1。

        表1 實現(xiàn)地面三維景觀顯示的工作量對比

        由表1可知,對于不同的程序設(shè)計階段S3D-landscape均可以有效地降低程序員的工作量。

        對于軟件產(chǎn)品的開發(fā):在三維景觀數(shù)據(jù)存儲階段,由于程序員需要考慮數(shù)據(jù)存儲位置、數(shù)據(jù)存儲權(quán)限及文件編號等問題,所以出傳統(tǒng)模式需要48.25 h;而在本系統(tǒng)輔助下僅需1.50 h。在三維景觀數(shù)據(jù)傳輸階段,該階段的關(guān)鍵問題是如何將三維模型文件序列化為網(wǎng)絡(luò)流,此時需要進行大量的傳輸狀態(tài)、流狀態(tài)、斷點續(xù)傳和多線程協(xié)同操作;此階段需要程序員工作77.5 h,以每天10 h計算,需要1名程序員超過一周的時間才可完成;對于此階段內(nèi)容利用本系統(tǒng)僅需要2.25 h,工作量和工作難度大大降低。對于網(wǎng)頁嵌入階段,該軟件企業(yè)原有的模式是調(diào)用成型的三維顯示控件,該控件本身具備較多的輔助功能,但是這些輔助功能不是專門為地面景觀三維顯示服務(wù)的,程序員需要在眾多參數(shù)中篩選并同時閱讀開發(fā)文檔,所以開發(fā)時間為34.75 h;而本系統(tǒng)由于功能相對較少,調(diào)用容易,所以僅需1.75 h。在交互實現(xiàn)部分,需要實現(xiàn)用戶鼠標(biāo)與顯示界面的交互,同時計算視角、方向坐標(biāo)的變化并進一步顯示內(nèi)容,該部分在使用其他第三方控件的時候仍然會遇到原始控件功能過多,程序員調(diào)用和調(diào)試較為耗費時間的問題,開發(fā)時間需要48.00 h;而利用本系統(tǒng),由于專門面向地面三維景觀交互,典型的交互手段已經(jīng)進行了封裝,所以程序員僅需要1.25 h便可實現(xiàn)對應(yīng)功能。可以看出S3D-landscape可以極大地簡化需要使用地面三維景觀的軟件開發(fā)階段的工作量,S3D-landscape更加簡化且更易于調(diào)用。

        對于軟件產(chǎn)品的迭代與優(yōu)化:對于整個產(chǎn)品的功能優(yōu)化傳統(tǒng)方法需要16.25 h,而由于本系統(tǒng)提供的功能已經(jīng)進行了較多專門針對性的優(yōu)化,所以僅需要1.50 h。在產(chǎn)品需求迭代階段,可能根據(jù)新的需求對產(chǎn)品的內(nèi)容邏輯進行修改,此時代碼的封裝性十分重要;如果直接編寫代碼勢必會導(dǎo)致地面三維景觀模型顯示的功能與軟件產(chǎn)品的業(yè)務(wù)邏輯緊耦合,增加功能修改難度;本系統(tǒng)將所有三維顯示功能進行了封裝,使得軟件產(chǎn)品各個模塊直接耦合度降低,從而提高產(chǎn)品需求迭代的效率。在數(shù)據(jù)維護階段,系統(tǒng)已經(jīng)將相關(guān)操作原子化,所以相比傳統(tǒng)方法的8.00 h,利用本系統(tǒng)僅需要1.25 h。

        由表1中可以看出,在開發(fā)軟件產(chǎn)品時,實現(xiàn)地面三維景觀顯示這一功能的各個階段均需要大量的編程工作,而利用S3D-landscape可以顯著降低工作量。從總體上看,直接編寫代碼模式總計需要243.50 h,即便對于一個有經(jīng)驗的開發(fā)團隊也是較難在短時間內(nèi)完成的。而利用S3D-landscape總計僅需要12.15 h,僅需要一名有經(jīng)驗的程序員2 d便可完成。以上實驗結(jié)果表明,說明本系統(tǒng)能夠顯著降低網(wǎng)頁應(yīng)用中展現(xiàn)三維數(shù)據(jù)的工作量,可以有效提高相關(guān)軟件產(chǎn)品研發(fā)的效率。

        3 結(jié)論

        在很多宣傳和旅游的應(yīng)用與網(wǎng)頁程序中均需要顯示地面三維景觀數(shù)據(jù)以提高訪問者的體驗,然而實現(xiàn)這一功能需要大量的開發(fā)工作來支撐。本研究提出了一種基于服務(wù)的地面三維景觀模型網(wǎng)頁顯示系統(tǒng),通過對數(shù)據(jù)訪問、存儲、顯示及網(wǎng)絡(luò)交互功能的封裝,該系統(tǒng)將復(fù)雜的編程工作轉(zhuǎn)變?yōu)楹唵蔚腁PI調(diào)用工作;實驗表明,利用本系統(tǒng)可以大大地降低開發(fā)人員的工作量,使相關(guān)團隊可以用較小的成本開發(fā)相關(guān)產(chǎn)品,且具有較高的使用價值。

        猜你喜歡
        控件調(diào)用網(wǎng)頁
        核電項目物項調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計
        電子制作(2018年10期)2018-08-04 03:24:38
        基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
        電子制作(2017年2期)2017-05-17 03:54:56
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
        電子測試(2015年18期)2016-01-14 01:22:58
        10個必知的網(wǎng)頁設(shè)計術(shù)語
        利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
        就這樣玩會VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        手机av在线播放网站| 中文字幕无码免费久久| 免费看欧美日韩一区二区三区| 成av人片一区二区三区久久| 亚洲精品久久区二区三区蜜桃臀 | 精品福利一区二区三区蜜桃 | 东北老熟女被弄的嗷嗷叫高潮| 性刺激的大陆三级视频| 亚洲av日韩av无码av| 日本岛国精品中文字幕| 一本色道精品亚洲国产一区| 国产激情视频在线观看的| 真人二十三式性视频(动)| 天天澡天天揉揉AV无码人妻斩 | 久久亚洲日韩精品一区二区三区| 久久久久亚洲精品天堂| 久久亚洲av成人无码软件| 久久精品国产亚洲av四区| 亚洲av日韩综合一区久热| 亚洲成色在线综合网站| 国产一区二区三区杨幂| 在线观看中文字幕二区| 欧美成人在线视频| 性导航app精品视频| 久久精品国产亚洲av成人网| 亚洲youwu永久无码精品| 影音先锋每日av色资源站| 久久精品国产72国产精福利| 中文乱码字幕在线亚洲av| 国产精品美女久久久久av福利| 一级免费毛片| 国产熟女乱综合一区二区三区 | 国产日本精品一区二区| 无码人妻精品一区二区三区东京热| 亚洲av无码一区二区三区性色| 国产人妖xxxx做受视频| 亚洲国产精品中文字幕久久| 国产av综合影院| 久久精品国产亚洲AV无码不| 国产精品女丝袜白丝袜美腿| 情人伊人久久综合亚洲|