• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于安卓移動端的三維GIS服務(wù)

      2022-06-10 03:49:10畢京學(xué)高愿濡王一凡
      導(dǎo)航定位學(xué)報 2022年3期
      關(guān)鍵詞:安卓矢量客戶端

      李 濤,畢京學(xué),高愿濡,王一凡

      (1.山東省地質(zhì)測繪院,濟(jì)南 250000;2.山東建筑大學(xué),濟(jì)南 250101)

      0 引言

      三維(3-dimension, 3D)地理信息數(shù)據(jù)主要由數(shù)字高程模型、衛(wèi)星影像、普通3D模型格式的實體模型和矢量數(shù)據(jù)組成,3D數(shù)據(jù)具有數(shù)據(jù)量大、客戶端渲染資源消耗多和結(jié)構(gòu)組成復(fù)雜等特點,是3D地理信息系統(tǒng)應(yīng)用的基礎(chǔ)?,F(xiàn)有的3D地理信息系統(tǒng)應(yīng)用客戶端存在緩存更新復(fù)雜、數(shù)據(jù)傳輸慢和渲染消耗資源大等問題。3D模型的完全渲染需要等待全部接收整個模型實體數(shù)據(jù)后加載,無法做到類似切片數(shù)據(jù)的“走哪看哪”。傳統(tǒng)的3D數(shù)據(jù)服務(wù)發(fā)布一般采用X86架構(gòu)服務(wù)器進(jìn)行發(fā)布,需要專業(yè)人員借助阿爾克地理信息系統(tǒng)服務(wù)器(ArcGIS Server)發(fā)布中間件、地理服務(wù)器(geography server, GeoServer)地圖服務(wù)發(fā)布中間件或恩吉克斯(Nginx)數(shù)據(jù)中間件進(jìn)行發(fā)布。如果外網(wǎng)使用,還需要申請公網(wǎng)互聯(lián)網(wǎng)協(xié)議(internet protocol, IP)地址,并制定互聯(lián)網(wǎng)數(shù)據(jù)傳輸安全方案,給數(shù)據(jù)使用帶來了極大不便。

      傾斜攝影數(shù)據(jù)、建筑信息模型、新型地面模型數(shù)據(jù)、3D矢量模型數(shù)據(jù)和點云數(shù)據(jù)作為新型3D數(shù)據(jù)載體,在細(xì)節(jié)豐富度和數(shù)據(jù)采集效率等方面都具有較大優(yōu)勢。最近幾年,3D傾斜數(shù)據(jù)被大范圍地應(yīng)用到了生產(chǎn)實踐中,比如,房地一體化項目。然而,隨著3D數(shù)據(jù)應(yīng)用場景的增加、應(yīng)用環(huán)境更加復(fù)雜,3D數(shù)據(jù)服務(wù)技術(shù)已成為阻礙3D地理信息系統(tǒng)大范圍應(yīng)用的瓶頸。如何在兼顧效率的情況下,使用移動端發(fā)布高性能 3D地理信息系統(tǒng)服務(wù),是一個巨大的挑戰(zhàn)。因而,本文提出了一種基于安卓移動端發(fā)布 3D地理信息系統(tǒng)服務(wù)的方法,以期適用于多類、可移動的復(fù)雜3D應(yīng)用場景,滿足日益增長的高性能3D地理信息系統(tǒng)服務(wù)需求。

      1 三維瓦片

      3D瓦片(3DTiles)是借鑒傳統(tǒng)二維地理信息系統(tǒng)(geographic information system, GIS)的網(wǎng)絡(luò)地圖瓦片服務(wù)(web map tile service, WMTS)規(guī)范,開發(fā)的大規(guī)模3D數(shù)據(jù)分發(fā)標(biāo)準(zhǔn),定義了分層數(shù)據(jù)結(jié)構(gòu)和可交付內(nèi)容的圖塊格式,用于流式傳輸和大型3D地理空間內(nèi)容渲染,例如,傾斜攝影模型、建筑信息模型和點云等。3DTiles數(shù)據(jù)格式由glTF格式模型數(shù)據(jù)發(fā)展而來,glTF格式模型數(shù)據(jù)主要為了解決3D模型的快速渲染問題,它不使用面向?qū)ο蟮乃季S存儲3D模型和貼圖紋理,而按照方便顯卡數(shù)據(jù)處理方式存儲模型數(shù)據(jù),進(jìn)而讓渲染的效率更高,glTF的結(jié)構(gòu)如圖1所示。

      圖1 gltf結(jié)構(gòu)

      嚴(yán)格來講,3DTiles是一種規(guī)范,資源文件可以是散列的文件目錄,也可以是以二進(jìn)制存儲的數(shù)據(jù)庫文件。目前,3DTiles官方只發(fā)布了基于散列文件實現(xiàn),但是國內(nèi)已經(jīng)出現(xiàn)了基于斯克萊特(SQLite)數(shù)據(jù)庫和蒙戈德布(MongoDB)數(shù)據(jù)庫的實現(xiàn)。

      3DTiles數(shù)據(jù)標(biāo)準(zhǔn)不記錄單個模型數(shù)據(jù),只記錄各級瓦片的邏輯關(guān)系,以及瓦片自身的屬性信息。模型數(shù)據(jù)指的是 3D模型的頂點、貼圖材質(zhì)、法線和顏色等信息。邏輯關(guān)系是指各級瓦片是在空間中如何保持連續(xù)的和多層次細(xì)節(jié)(levels of detail, LOD)是如何組織的。

      1.1 普通模型向3DTiles格式模型的轉(zhuǎn)換方法

      普通的3D模型大部分是從易于編輯的角度對內(nèi)容進(jìn)行組織的,例如obj格式3D模型,其內(nèi)部組織形式依靠文本編輯器就可查看,判讀也非常簡單,找到三角面信息后,根據(jù)組織信息即可大致分析其內(nèi)部構(gòu)成情況。但是對于3D渲染引擎而言,obj格式的3D文件是不利于渲染的,3D引擎需要先讀取obj 3D信息,然后進(jìn)行轉(zhuǎn)義后才能在計算機中進(jìn)行渲染展示,這就大大加重了3D引擎的渲染負(fù)擔(dān),所以將普通3D模型轉(zhuǎn)換為3DTiles標(biāo)準(zhǔn)模型是3D模型使用的必要步驟。

      將普通3D模型轉(zhuǎn)換到3DTiles格式模型有許多工具,國內(nèi)比較成熟的轉(zhuǎn)換工具有北京西部世界公司的凱西烏姆·拉布(CesiumLab)轉(zhuǎn)換工具和北京超圖軟件股份有限公司的超圖(SuperMap)GIS10i軟件。模型轉(zhuǎn)換的基本原理為普通模型文件轉(zhuǎn)換成二進(jìn)制 glTF,作為文件體的一部分,與文件頭、特征表和批次表共同組成瓦片數(shù)據(jù)批量3D模型(batched 3D model, b3dm)文件,然后利用特定組織文件組織b3dm相關(guān)資源,構(gòu)成一個散列的3DTiles文件。

      1.2 3DTiles數(shù)據(jù)的發(fā)布方法

      3DTiles數(shù)據(jù)的發(fā)布比較簡單,只需把3DTiles散列文件放入Nginx的發(fā)布目錄,然后根據(jù)客戶端設(shè)置Nginx的相關(guān)跨域配置即可。以Cesium.js 3D框架的3D模型服務(wù)使用為例,所有客戶端的資源請求都由客戶端發(fā)起,用戶引入 3D引擎基礎(chǔ)資源后請求 3DTiles的賈瓦·斯克里普特根節(jié)點對象簡譜(JavaScript object notation, Json)文件即可。

      2 安卓服務(wù)器及3D地理信息系統(tǒng)服務(wù)

      安卓服務(wù)器(Android server, AndServer)是基于安卓操作系統(tǒng)的網(wǎng)絡(luò)資源發(fā)布中間件,能夠提供靜態(tài)資源發(fā)布服務(wù)和動態(tài)接口服務(wù),可以滿足 3D GIS服務(wù)發(fā)布需要,目前已經(jīng)在吉特·哈伯(GitHub)平臺上實現(xiàn)了開源。越來越強大的安卓移動設(shè)備數(shù)據(jù)存儲和處理能力使得AndServer作為一款 3D地理信息系統(tǒng)服務(wù)發(fā)布中間件來使用。基于 AndServer的 3D地理信息系統(tǒng)數(shù)據(jù)發(fā)布服務(wù)框架如圖2所示,AndServer提供數(shù)據(jù)服務(wù)和應(yīng)用資源,并使用負(fù)載均衡中間件對AndServer的服務(wù)能力進(jìn)行增強擴(kuò)充。

      圖2 基于AndServer數(shù)據(jù)分發(fā)框架

      2.1 AndServer發(fā)布3DTiles資源和3D地理信息系統(tǒng)應(yīng)用服務(wù)

      AndServer可以發(fā)布3D模型資源,也可以發(fā)布3D地理信息系統(tǒng)應(yīng)用服務(wù),特別是單頁應(yīng)用程序(single-page application, SPA)應(yīng)用,不但可以方便安卓操作系統(tǒng)上的萬維網(wǎng)(world wide web,Web)應(yīng)用調(diào)試,而且可以減少服務(wù)端邏輯運行負(fù)載。如圖3所示,手機可以作為3D模型資源服務(wù)器和3D地理信息系統(tǒng)應(yīng)用服務(wù)器,使用者把編譯好的單頁應(yīng)用程序部署文件和3D模型切片散列文件放到AndServer發(fā)布目錄內(nèi)即可。

      圖3 三維模型和應(yīng)用服務(wù)

      2.2 AndServer發(fā)布3D地理信息系統(tǒng)分析服務(wù)

      開源GIS工具包(GeoTools)是一個開源的用于提供空間分析的賈瓦(Java)程序庫。基于AndServer的動態(tài)服務(wù)接口,在完成3D模型數(shù)據(jù)發(fā)布和 3D地理信息系統(tǒng)應(yīng)用服務(wù)發(fā)布的基礎(chǔ)上,使用 GeoTools可以實現(xiàn)基于AndServer的數(shù)據(jù)分析,此功能類似于 ArcGIS的地理數(shù)據(jù)處理服務(wù)。AndServer的相關(guān)配置完全采用標(biāo)準(zhǔn)包管理工具和標(biāo)準(zhǔn)的注解規(guī)范,所以在GeoTools引入和使用上也非常方便,GeoTools的處理結(jié)果可以通過伊森(Json)格式數(shù)據(jù)傳輸?shù)娇蛻舳耍员WC數(shù)據(jù)在服務(wù)端和客戶端的標(biāo)準(zhǔn)傳輸。如圖4所示,在3D地理信息系統(tǒng)客戶端,借助客戶端的空間地理數(shù)據(jù)處理能力對讀取的矢量數(shù)據(jù)再次進(jìn)行相應(yīng)分析處理工作,并把修改或分析過的地理信息數(shù)據(jù)傳回到AndServer服務(wù)器的動態(tài)接口,完成存儲或進(jìn)行進(jìn)一步的分析工作,從而在業(yè)務(wù)邏輯上形成一個閉環(huán)。

      圖4 GIS分析服務(wù)

      2.3 AndServer的矢量服務(wù)發(fā)布能力

      傳統(tǒng)的矢量服務(wù)通常依賴于服務(wù)端的數(shù)據(jù)庫處理能力,雖然在大數(shù)據(jù)量的使用上存在優(yōu)勢,但同時也帶來了服務(wù)端臃腫和服務(wù)條件苛刻等問題。現(xiàn)在使用最多的開放地理信息空間聯(lián)盟(Open Geospatial Consortium, OGC)的網(wǎng)絡(luò)要素服務(wù)(web feature service, WFS),采用的是可拓展標(biāo)記語言(extensible markup language, XML)格式的數(shù)據(jù)傳輸方案,在網(wǎng)絡(luò)傳輸上存在一定的數(shù)據(jù)冗余?;?D地理信息系統(tǒng)應(yīng)用的客戶端處理能力,可以在服務(wù)端借助 AndServer部署一個靜態(tài)矢量數(shù)據(jù)資源服務(wù),發(fā)布靜態(tài)的矢量數(shù)據(jù),利用客戶端的矢量數(shù)據(jù)管理能力來加載靜態(tài)矢量數(shù)據(jù)??蛻舳丝梢栽谧x取矢量數(shù)據(jù)后,把相應(yīng)矢量信息加載到3D場景中,而且可以在加載的過程中設(shè)置矢量數(shù)據(jù)的符號樣式等屬性。

      2.4 AndServer的分布式服務(wù)網(wǎng)絡(luò)

      對于大體積和高并發(fā)的資源請求,多個AndServer可以組成一個分布式服務(wù)網(wǎng)絡(luò),從資源拆分和負(fù)載均衡的角度來優(yōu)化資源服務(wù)。結(jié)合AndServer的動態(tài)服務(wù)接口,可以使用心跳機制來監(jiān)測服務(wù)節(jié)點的健康狀況,讓宕機的服務(wù)節(jié)點退出服務(wù)網(wǎng)絡(luò),并實時更新服務(wù)節(jié)點列表。通過 AndServer的負(fù)載均衡能力,可以大大縮減AndServer的服務(wù)響應(yīng)時間。移動端負(fù)載均衡服務(wù)可以使用安卓應(yīng)用程序特穆克斯(Termux)來代替 X86環(huán)境下的 Nginx中間件,結(jié)構(gòu)如圖5所示。

      圖5 負(fù)載均衡網(wǎng)絡(luò)

      2.4 AndServer發(fā)布優(yōu)勢

      基于AndServer的3D資源發(fā)布方法的最顯著優(yōu)勢就是其發(fā)布的靈活性和便捷性,不需要配置專業(yè)地理信息系統(tǒng)服務(wù)器,只需要一臺手機即可進(jìn)行相應(yīng)3D地理信息系統(tǒng)資源發(fā)布,而且發(fā)布簡單,不需要特殊配置。在外業(yè)工作中,可以一站式解決網(wǎng)絡(luò)信號差和局域網(wǎng)數(shù)據(jù)分享問題。AndServer提供了豐富的地理信息系統(tǒng)服務(wù)發(fā)布場景,可以有效地發(fā)布3D模型資源、矢量資源、客戶端應(yīng)用程序和影像資源等多種服務(wù),而且可以滿足多節(jié)點、多場景應(yīng)用需求,滿足絕大部分3D地理信息系統(tǒng)應(yīng)用服務(wù)發(fā)布場景和需求?;贏ndServer的移動端3DGIS服務(wù)效果如圖6所示。

      圖6 基于AndServer的移動端3D GIS服務(wù)

      3 AndServer與Nginx效率對比

      AndServer與Nginx的測試環(huán)境數(shù)據(jù)如表1所示。使用的測試數(shù)據(jù)分別為3D Tiles數(shù)據(jù),包括6個b3dm文件(1號至6號)和3個Json文件(1號至3號),共4.88 MB;以及Json數(shù)據(jù),包括1個Json面文件(1號),共 6.53 MB。測試結(jié)果如圖7至圖9所示。

      圖7 3D Tiles b3dm數(shù)據(jù)的響應(yīng)時間對比

      圖9 GeoJson數(shù)據(jù)的響應(yīng)時間對比

      表1 AndServer與Nginx測試環(huán)境

      通過以上數(shù)據(jù)統(tǒng)計結(jié)果發(fā)現(xiàn),AndServer服務(wù)一般會有一個服務(wù)“預(yù)熱期”,特別是小體積文件,前期請求的數(shù)據(jù)文件一般會有一個延遲效應(yīng)。AndServer的響應(yīng)時間在3DTiles這種切片散列文件上性能是 Nginx的 30%左右,單個大文件的性能是 Nginx性能的 50%以上,文本文件的服務(wù)效率上好要好于二進(jìn)制文件。從響應(yīng)時間上來看,AndServer的響應(yīng)時間普遍要小于500 ms,滿足3D地理信息系統(tǒng)客戶端使用要求,從性能硬件上對比發(fā)現(xiàn)AndServer要好于Nginx??紤]到AndServer的低功耗架構(gòu)限制,AndServer可以說是一款非常優(yōu)秀的服務(wù)器組件。

      圖8 3D Tiles Json數(shù)據(jù)的響應(yīng)時間對比

      4 結(jié)束語

      移動端作為 GIS服務(wù)器是一個非常新的研究領(lǐng)域,國內(nèi)外研究資料都比較匱乏,AndServer的出現(xiàn)恰逢其時,基本滿足3D地理信息系統(tǒng)應(yīng)用的需要,架構(gòu)上適合移動端設(shè)備安裝,使用上簡單靈活,使用場景多樣,非常適合在復(fù)雜環(huán)境和網(wǎng)絡(luò)環(huán)境不好的工作場景中作為地理信息系統(tǒng)數(shù)據(jù)發(fā)布中間件使用,而且可以組成分布式網(wǎng)絡(luò)來增強服務(wù)性能,進(jìn)而彌補單個移動設(shè)備性能上的不足和降低服務(wù)響應(yīng)時間。本文僅從服務(wù)發(fā)布效率上進(jìn)行測試,移動端3D GIS服務(wù)還應(yīng)該進(jìn)行更攝入的測試,如多個AndServer服務(wù)器和多個終端訪問的測試,不同手機硬件配置的AndServer服務(wù)器性能測試,穩(wěn)定性測試。

      AndServer不但可以安裝在手機上,從架構(gòu)上來講可以安裝在所有安卓設(shè)備上,移動互聯(lián)網(wǎng)時代,安卓操作系統(tǒng)作為裝機量最大的操作系統(tǒng),未來移動設(shè)備即服務(wù)(mobile as a server, MAAS)的時代正在到來,每個人的移動設(shè)備和智能硬件就是一個地理信息服務(wù)發(fā)布設(shè)備,真正做到讓地理信息服務(wù)無處不在。此外,伴隨著安卓設(shè)備性能的不斷提升,AndServer的服務(wù)性能也將會顯著提高。相比于Nginx這類靜態(tài)服務(wù)組件而言,AndServer具備動靜服務(wù)一體化能力和靈活的移動化部署能力,得益于此,AndServer將會大大降低地理信息系統(tǒng)服務(wù)的架設(shè)復(fù)雜度,并助力地理信息服務(wù)發(fā)布技術(shù)的快速發(fā)展。

      猜你喜歡
      安卓矢量客戶端
      矢量三角形法的應(yīng)用
      文物表情包
      縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      一種基于安卓系統(tǒng)的手機側(cè)抓包分析方法
      基于矢量最優(yōu)估計的穩(wěn)健測向方法
      三角形法則在動態(tài)平衡問題中的應(yīng)用
      安卓L未至安卓M來了!安卓首泄漏M系統(tǒng)
      客戶端空間數(shù)據(jù)緩存策略
      余姚市| 麻城市| 宝坻区| 汝南县| 金塔县| 临城县| 日照市| 云南省| 始兴县| 连城县| 枝江市| 平度市| 梁平县| 长武县| 高碑店市| 张家口市| 姚安县| 黄骅市| 长子县| 本溪| 青阳县| 陇西县| 宁强县| 郸城县| 建湖县| 鸡泽县| 两当县| 百色市| 台州市| 静乐县| 晋宁县| 新乡县| 迭部县| 施甸县| 交口县| 枣阳市| 柳州市| 德令哈市| 平遥县| 伊川县| 新蔡县|