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

        ?

        一種矢量瓦片地圖離線部署與架構(gòu)

        2023-01-30 05:37:52王海斌
        北京測(cè)繪 2022年12期
        關(guān)鍵詞:瓦片數(shù)據(jù)庫利用

        王海斌

        (濟(jì)南市勘察測(cè)繪研究院, 山東 濟(jì)南 250000)

        0 引言

        首屆聯(lián)合國(guó)世界地理信息大會(huì)指出人類活動(dòng)80%的信息與地理位置有關(guān)。地圖作為信息傳遞和空間呈現(xiàn)的重要載體,已經(jīng)成為人類工作、學(xué)習(xí)和生活不可缺少的科學(xué)語言和工具[1]。隨著信息與通信技術(shù)(information and communications technology,ICT)的發(fā)展,地理信息系統(tǒng)(geographic information system,GIS)應(yīng)用的迅速擴(kuò)展,在當(dāng)前應(yīng)用場(chǎng)景多元化的趨勢(shì)下,對(duì)地圖的可視化表達(dá)提出了新的更高要求[2]。得益于網(wǎng)絡(luò)三維繪圖技術(shù)(web graphics library,WebGL)的發(fā)展,為終端用戶構(gòu)建實(shí)時(shí)三維圖形和場(chǎng)景提供了支撐[3],三維GIS應(yīng)用迅速發(fā)展,周瑜琦等在三維GIS場(chǎng)景下對(duì)古生物的時(shí)空演變歷程進(jìn)行了可視化[4]。羅夢(mèng)佳、蔡周平、劉永軒利用三維GIS技術(shù)在智慧園區(qū)、智慧社區(qū)、三維校園中進(jìn)行了研究和實(shí)踐[5-7]。李小敏、李佳俊將三維GIS應(yīng)用到城市規(guī)劃和街區(qū)微更新中[8-9]。與此同時(shí),矢量瓦片地圖也開展了工程應(yīng)用實(shí)踐,與柵格瓦片相比,矢量瓦片具有數(shù)據(jù)輕量、高清顯示、快速渲染、高效更新、一源多樣、交互性強(qiáng)、無插件實(shí)現(xiàn)二三維一體化等諸多優(yōu)點(diǎn)[10],為海量空間數(shù)據(jù)可視化提供了有效的方案,應(yīng)用前景廣泛。目前國(guó)內(nèi)外商業(yè)GIS引擎均已具備矢量切片地圖。目前,學(xué)者們圍繞數(shù)據(jù)組織、存儲(chǔ)、檢索展開了大量研究:李少杰等研發(fā)了跨平臺(tái)高性能地圖渲染引擎[11];俞麗君等對(duì)如何提升矢量瓦片數(shù)據(jù)源的檢索效率進(jìn)行了研究,并提出了一種基于改進(jìn)網(wǎng)格與遞歸網(wǎng)格排序R-樹的混合索引結(jié)構(gòu)[12];聶沛等提出了一種基于Spark并行計(jì)算框架的矢量瓦片并行生成和分布式存儲(chǔ)的方法[13];王梅欣開展了利用分布式計(jì)算進(jìn)行矢量瓦片數(shù)據(jù)生產(chǎn)和發(fā)布應(yīng)用的研究[14]。在利用集群結(jié)構(gòu)輔助提升系統(tǒng)性能方面,文獻(xiàn)[15-18]分別利用分布式、集群技術(shù)在傾斜攝影建模、水資源管理信息系統(tǒng)、發(fā)電集群規(guī)劃系統(tǒng)、氣象數(shù)據(jù)收發(fā)系統(tǒng)中進(jìn)行了應(yīng)用,姚闖開展了基于高性能集群架構(gòu)的地理信息系統(tǒng)架構(gòu)設(shè)計(jì)研究[19]?;谑噶壳衅貓D應(yīng)用框架的離線部署和集群架構(gòu)方面,還未見有公開研究成果。

        針對(duì)商用GIS平臺(tái)軟件價(jià)格高、限制矢量切片地圖技術(shù)應(yīng)用范圍的弊端,本文圍繞構(gòu)建支持集群架構(gòu)的矢量切片地圖架構(gòu)展開,重點(diǎn)對(duì)矢量瓦片數(shù)據(jù)模型、生產(chǎn)、發(fā)布、渲染、應(yīng)用進(jìn)行了研究,設(shè)計(jì)了一種基于開源項(xiàng)目的支持大范圍、高性能、多并發(fā)、可動(dòng)態(tài)伸縮擴(kuò)展的技術(shù)框架,并實(shí)現(xiàn)了框架資源的離線部署,擺脫了請(qǐng)求在線資源的束縛,滿足非互聯(lián)網(wǎng)環(huán)境中的應(yīng)用需要。最后,利用自然資源部公開和濟(jì)南市地理信息數(shù)據(jù)對(duì)本文提出的技術(shù)路線進(jìn)行了驗(yàn)證和性能分析。

        1 矢量瓦片地圖

        矢量瓦片地圖是基于WebGL在客戶端對(duì)矢量數(shù)據(jù)的描述文件進(jìn)行渲染。首先將矢量數(shù)據(jù)的幾何信息和屬性信息分割為一組矢量瓦片存儲(chǔ)在服務(wù)器端,客戶端根據(jù)地圖顯示范圍和樣式文件定義的數(shù)據(jù)源通過分布式網(wǎng)絡(luò)獲取矢量瓦片、地圖標(biāo)注字體、圖標(biāo)等數(shù)據(jù)源,然后根據(jù)樣式文件定義的地圖表達(dá)規(guī)則,在終端設(shè)備即時(shí)渲染出地圖,無須預(yù)先渲染為柵格圖片(表1)。

        表1 矢量切片與柵格切片優(yōu)劣勢(shì)

        1.1 Mapbox矢量瓦片數(shù)據(jù)組織

        Mapbox的矢量瓦片基于Google混合語言數(shù)據(jù)標(biāo)準(zhǔn)(Google protocol buffers),是一個(gè)開源矢量瓦片數(shù)據(jù)標(biāo)準(zhǔn),也是目前較為通用的矢量瓦片數(shù)據(jù)標(biāo)準(zhǔn),已被多個(gè)公司和組織采用。矢量瓦片文件表示的是投影在正方形區(qū)塊上的數(shù)據(jù)。瓦片自身不包含范圍和投影坐標(biāo)系信息,編碼中包含的是圖層(組)內(nèi)的元數(shù)據(jù)信息、幾何要素和屬性信息。

        1.1.1幾何信息存儲(chǔ)

        矢量瓦片內(nèi)存儲(chǔ)的數(shù)據(jù)是相對(duì)坐標(biāo),并不是真實(shí)的地理坐標(biāo)。其集合數(shù)據(jù)采用屏幕坐標(biāo)系。幾何圖形被編碼為要素的幾何字段的一個(gè)32位無符號(hào)型整數(shù)序列。幾何圖形中的坐標(biāo)均為整數(shù)。每個(gè)整數(shù)是指令數(shù)(CommandInteger)或參數(shù)數(shù)(ParameterInteger)。以點(diǎn)1(2,2)、點(diǎn)2(7,4)、點(diǎn)3(11,14),點(diǎn)4(4,12)為例展示面狀圖形的繪制過程(圖1)。

        圖1 幾何信息編碼規(guī)則(以面對(duì)象為例)

        1.1.2屬性信息編碼

        要素屬性被編碼為標(biāo)簽字段中的一對(duì)整數(shù)。在每對(duì)標(biāo)簽中,第一個(gè)整數(shù)表示關(guān)鍵字在其所屬的圖層的關(guān)鍵字列表的中索引號(hào)(以0開始)。第二個(gè)整數(shù)表示的值在其所屬的圖層的值列表的中索引號(hào)(以0開始)。一個(gè)要素的所有關(guān)鍵字索引唯一。每個(gè)要素的標(biāo)簽字段必須為偶數(shù)。要素中的標(biāo)簽字段包含的關(guān)鍵字索引號(hào)或值索引號(hào)必須不能大于或等于相應(yīng)圖層中關(guān)鍵字或值列表中的元素?cái)?shù)目。

        1.2 矢量瓦片地圖渲染

        矢量瓦片地圖以矢量瓦片數(shù)據(jù)為渲染對(duì)象,基于遵循三維繪圖協(xié)議的引擎,實(shí)現(xiàn)在用戶終端的地圖完整呈現(xiàn)和無級(jí)縮放、旋轉(zhuǎn)、傾斜、空間量測(cè)、分層管理、屬性查詢等交互。

        1.2.1WebGL繪圖

        WebGL是一種面向網(wǎng)絡(luò)應(yīng)用、跨平臺(tái)、免費(fèi)的、即時(shí)圖形繪制底層技術(shù)協(xié)議,基于腳本(JavaScript)語言,增加了三維圖形接口(OpenGL for embedded systems,OpenGL ES)綁定,可以直接使用指令操作顯卡,使顯卡渲染的圖形在瀏覽器中顯示(圖2)。

        圖2 WebGL繪圖過程

        1.2.2矢量切片地圖呈現(xiàn)

        基于地圖渲染引擎,使用WebGL渲染交互式矢量瓦片地圖,通過對(duì)矢量瓦片數(shù)據(jù)加載和解析,高效地渲染大量的地圖要素,擁有流暢的交互以及動(dòng)畫效果、可以基于地圖樣式文件顯示地圖并且支持多終端。

        2 整體技術(shù)框架

        矢量瓦片地圖的應(yīng)用路線可根據(jù)是否生成緩存分為兩種。第一種:預(yù)生成緩存,基于數(shù)據(jù)預(yù)先構(gòu)建數(shù)據(jù)索引、生成瓦片緩存,根據(jù)用戶請(qǐng)求將對(duì)應(yīng)空間上的切片緩存?zhèn)鬏數(shù)浇K端,借助WebGL繪制顯示。第二種:基于空間數(shù)據(jù),通過服務(wù)端直讀數(shù)據(jù)庫,根據(jù)用戶請(qǐng)求,借助數(shù)據(jù)庫空間計(jì)算函數(shù),實(shí)時(shí)動(dòng)態(tài)地將矢量瓦片數(shù)據(jù)返回到用戶終端,最終同樣借助WebGL繪制顯示。這兩種技術(shù)路線各有優(yōu)勢(shì)和適用的場(chǎng)景,針對(duì)基礎(chǔ)地圖應(yīng)用,目前支持矢量切片地圖的主流GIS平臺(tái),均采用預(yù)生成瓦片緩存的路線,本文采用預(yù)生成緩存的技術(shù)實(shí)現(xiàn)方式,以支持集群部署和本地化部署作為技術(shù)路線研究中的關(guān)鍵。

        2.1 技術(shù)路線設(shè)計(jì)

        按照數(shù)據(jù)存儲(chǔ)、服務(wù)發(fā)布、地圖呈現(xiàn)三個(gè)步驟,在數(shù)據(jù)存儲(chǔ)上選擇開源的PostgreSQL數(shù)據(jù)庫,在空間擴(kuò)展插件(PostGIS)的支持下完成空間數(shù)據(jù)的存儲(chǔ),且能夠滿足集群部署的要求。在GIS引擎上,利用GeoServer進(jìn)行矢量瓦片的生成和發(fā)布,同時(shí)兼顧支持集群部署的要求。在地圖呈現(xiàn)上,基于Mapbox GL JS API在終端繪制(圖3)。

        圖3 矢量瓦片地圖應(yīng)用技術(shù)路線

        2.2 離線部署設(shè)計(jì)

        本文技術(shù)路線中的數(shù)據(jù)庫、GIS引擎均可通過本地部署安裝的方式,實(shí)現(xiàn)無在線資源依賴、獨(dú)立的安裝。①從github上下載mapbox gl js源碼,安裝工程依賴,并根據(jù)應(yīng)用需要完成源碼的修改,然后手動(dòng)編譯項(xiàng)目,將生成的類庫文件利用Web容器進(jìn)行發(fā)布使用,也可通過引用靜態(tài)文件的方式在工程中進(jìn)行使用。②Mapbox采用精靈圖標(biāo)(Sprite圖標(biāo)),有效減少了地圖渲染中的圖標(biāo)資源的請(qǐng)求次數(shù),提升渲染效率。通過開發(fā)精靈圖標(biāo)生成工具,將適用于不同地圖風(fēng)格的圖標(biāo)組合并成完整的圖標(biāo)。同時(shí)針對(duì)矢量地圖在移動(dòng)終端的顯示要求,需要將運(yùn)行于PC端的單個(gè)圖標(biāo)放大2倍,并在文件名中添加@2x標(biāo)識(shí)。利用Web容器將圖標(biāo)進(jìn)行網(wǎng)絡(luò)發(fā)布,在工程項(xiàng)目中引入絕對(duì)路徑進(jìn)行使用。③Mapbox使用*.pbf格式的分片字體,解決了請(qǐng)求單個(gè)大字體文件帶來的加載效率低下、服務(wù)端和客戶端壓力過大的問題。字體文件制作采用Mapbox官方公開的字體轉(zhuǎn)換工具進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后基于Web容器進(jìn)行網(wǎng)絡(luò)發(fā)布,在工程項(xiàng)目中引入發(fā)布的字體資源進(jìn)行使用。

        2.3 集群部署架構(gòu)

        利用集群部署的方式提升應(yīng)用框架的性能和可靠性。數(shù)據(jù)庫、GIS引擎、前端等集群設(shè)計(jì)如圖4所示。

        (1)數(shù)據(jù)庫采用負(fù)載均衡和高可用兩種集群技術(shù)方法保證PostgreSQL的高可用性。基于PostgreSQL主從部署架構(gòu),采取高可用集群的設(shè)計(jì)理念實(shí)現(xiàn)數(shù)據(jù)庫的高可用,負(fù)載均衡(Load balancing)和自動(dòng)故障轉(zhuǎn)移(automatic failover)利用中間件(Pgpool-II)完成。

        (2)GIS引擎集群利用消息中間件(ActiveMQ)搭建GeoServer負(fù)載均衡集群,實(shí)現(xiàn)主/從(master/slave)的通信和同步,其節(jié)點(diǎn)的數(shù)量總數(shù)可與Pg集群中節(jié)點(diǎn)總數(shù)保持一致或成倍數(shù)提升,以保證各集群節(jié)點(diǎn)間的對(duì)應(yīng)比例。同時(shí),集群可以橫向復(fù)制擴(kuò)展,以支撐更多連接節(jié)點(diǎn)的訪問需要。

        (3)前端各節(jié)點(diǎn)之間采用共用網(wǎng)絡(luò)附屬存儲(chǔ)(network attached storage,NAS)的方法,保證Mapbox GL JS離線部署資源版本的一致性,利用Nginx作為Web容器,利用Nginx搭建反向代理集群。

        圖4 集群部署架構(gòu)設(shè)計(jì)

        3 應(yīng)用驗(yàn)證

        按照設(shè)計(jì)的技術(shù)路線,利用PostgreSQL存儲(chǔ)原始空間數(shù)據(jù),利用GeoServer連接空間數(shù)據(jù)庫進(jìn)行矢量瓦片生成和發(fā)布,基于Vue框架開發(fā)矢量瓦片地圖的前端呈現(xiàn)系統(tǒng),對(duì)本文的設(shè)計(jì)的技術(shù)路線和離線部署進(jìn)行了實(shí)現(xiàn)和驗(yàn)證。

        3.1 技術(shù)設(shè)計(jì)

        整體技術(shù)路線包含空間數(shù)據(jù)存儲(chǔ)、矢量切片服務(wù)發(fā)布、矢量切片地圖渲染三部分。

        3.1.1數(shù)據(jù)存儲(chǔ)

        基于空間地理數(shù)據(jù)插件PostGIS擴(kuò)展PostgreSQL的空間數(shù)據(jù)存儲(chǔ)能力。將通用的空間數(shù)據(jù)格式轉(zhuǎn)換到*.shp格式。①基于PostgreSQL創(chuàng)建空間數(shù)據(jù)庫;②對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一的坐標(biāo)系和字符編碼轉(zhuǎn)換;③數(shù)據(jù)入庫,并對(duì)數(shù)據(jù)進(jìn)行檢查驗(yàn)證。

        3.1.2服務(wù)發(fā)布

        利用GeoServer支持矢量瓦片服務(wù)的能力,基于PostgreSQL提供的空間數(shù)據(jù)源,進(jìn)行發(fā)布。①安裝GeoServer和矢量瓦片插件(vector tiles-plugin);②建立工作區(qū),連接PostgreSQL空間數(shù)據(jù)庫,作為數(shù)據(jù)源;③添加數(shù)據(jù)源中的數(shù)據(jù)表作為圖層數(shù)據(jù),并設(shè)定網(wǎng)格尺寸集、坐標(biāo)系、切片格式進(jìn)行資源發(fā)布。

        3.1.3地圖渲染

        基于GeoServer發(fā)布的矢量切片服務(wù),利用地圖表達(dá)配圖工具生成地圖樣式文件,在前端應(yīng)用工程中引入離線部署的資源,并引入地圖樣式文件,實(shí)現(xiàn)矢量切片地圖的展示。

        3.2 數(shù)據(jù)與應(yīng)用測(cè)試

        基于計(jì)算資源,利用地理信息數(shù)據(jù)資源對(duì)文中提出的技術(shù)框架性能進(jìn)行驗(yàn)證和測(cè)試,并對(duì)結(jié)果進(jìn)行簡(jiǎn)要分析。

        3.2.1實(shí)驗(yàn)數(shù)據(jù)

        本文以國(guó)家基礎(chǔ)地理信息中心公開的全國(guó)范圍內(nèi)1∶100萬和1∶25萬的分幅數(shù)據(jù)和濟(jì)南市范圍內(nèi)1∶1萬、1∶2000、1∶500數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),數(shù)據(jù)總量為12.72 GB,數(shù)據(jù)總條數(shù)1264.83萬。

        3.2.2實(shí)驗(yàn)環(huán)境

        本文利用5臺(tái)服務(wù)器、3臺(tái)客戶端電腦搭建了性能測(cè)試環(huán)境(表2),測(cè)試了L6-L21級(jí)別的矢量瓦片在服務(wù)端動(dòng)態(tài)生成、前端渲染環(huán)節(jié)的性能。

        3.2.3結(jié)果分析

        在矢量瓦片生成測(cè)試方面,通過模擬發(fā)送請(qǐng)求,監(jiān)測(cè)服務(wù)端請(qǐng)求返回時(shí)間和成功率的方式實(shí)現(xiàn)。性能及分析如下:①在實(shí)驗(yàn)服務(wù)器配置下,僅依靠單組數(shù)據(jù)庫中的主節(jié)點(diǎn),可有效支撐300并發(fā),開放數(shù)據(jù)庫從節(jié)點(diǎn)的讀取權(quán)限后,能夠支撐不低于400的并發(fā);②在測(cè)試的數(shù)據(jù)范圍內(nèi),L12-L15級(jí)別的瓦片生成速度,略低于其余層級(jí),濟(jì)南市域范圍內(nèi)的矢量切片響應(yīng)效率略低,初步判斷是因濟(jì)南市范圍數(shù)據(jù)比例尺高,單個(gè)切片數(shù)據(jù)量大造成;③初次訪問矢量瓦片的返回時(shí)間長(zhǎng)于請(qǐng)求已生成的緩存,且初次訪問成功率會(huì)低于請(qǐng)求已有緩存的方式。

        在終端渲染方面,基于實(shí)驗(yàn)設(shè)備通過監(jiān)聽瀏覽器中瓦片請(qǐng)求和終端渲染時(shí)間的方式評(píng)估終端顯示性能。在實(shí)驗(yàn)的顯示設(shè)備中,滿屏請(qǐng)求的瓦片數(shù)量為32到45個(gè),加載和渲染時(shí)長(zhǎng)因終端的顯卡設(shè)備而變化,終端顯卡性能越好,繪制和響應(yīng)速度越快,此外網(wǎng)絡(luò)時(shí)延也是影響矢量瓦片顯示時(shí)間的一個(gè)重要因素。

        4 結(jié)束語

        本文利用開源項(xiàng)目,基于分布式和集群的計(jì)算架構(gòu),搭建了一套高可用的矢量瓦片地圖離線部署框架,以適應(yīng)當(dāng)下時(shí)空數(shù)據(jù)規(guī)模的急劇增長(zhǎng)、泛在時(shí)空信息服務(wù)模式普及對(duì)地圖應(yīng)用服務(wù)的高性能、高可靠性、可自由定制的要求,滿足了矢量切片地圖的工程應(yīng)用需要。此外,本文技術(shù)框架基于開源項(xiàng)目搭建,有效降低了應(yīng)用的成本,提升了在地理信息工程中廣泛推廣的可行性。

        本文尚未在實(shí)時(shí)、動(dòng)態(tài)矢量切片應(yīng)用路線方面進(jìn)行深入研究。同時(shí),本文采用的是基于文件的矢量瓦片緩存機(jī)制,尚未利用數(shù)據(jù)庫技術(shù)將矢量瓦片緩存進(jìn)行集約、高效的存儲(chǔ)和管理,后期將在這些方面須進(jìn)行深入研究。此外,對(duì)矢量瓦片的終端應(yīng)用效能分析上仍需進(jìn)一步投入大量的設(shè)備資源,利用控制變量的方法進(jìn)行深入的測(cè)試、驗(yàn)證和分析。

        猜你喜歡
        瓦片數(shù)據(jù)庫利用
        利用min{a,b}的積分表示解決一類絕對(duì)值不等式
        利用一半進(jìn)行移多補(bǔ)少
        一種基于主題時(shí)空價(jià)值的服務(wù)器端瓦片緩存算法
        慣性
        利用數(shù)的分解來思考
        Roommate is necessary when far away from home
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        成人爽a毛片免费网站中国| 俺来也俺去啦久久综合网| 亚洲女同精品一区二区久久 | 久久一区av蜜桃人妻| 男男啪啪激烈高潮无遮挡网站网址| 国产av国片精品有毛| 成人小说亚洲一区二区三区| 亚洲一区区| 精品精品国产一区二区性色av | 国内熟女啪啪自拍| 一卡二卡三卡视频| 极品粉嫩小仙女高潮喷水视频| 免费看黄视频亚洲网站| 九九久久自然熟的香蕉图片 | 色一情一乱一伦| 亚洲狠狠网站色噜噜| 99久久免费中文字幕精品| 综合色免费在线精品视频| 国产精品一区二区久久乐下载| 久久久久中文字幕无码少妇| 少妇隔壁人妻中文字幕| 无码av专区丝袜专区| 亚洲av无码一区二区三区四区| 九九99久久精品午夜剧场免费| 白白色视频这里只有精品| 吃奶呻吟打开双腿做受视频| 亚洲精品成人专区在线观看| 99久久免费精品色老| 久久国产精品亚洲婷婷片| 无码av免费一区二区三区| 天堂69亚洲精品中文字幕| 中文字幕亚洲入口久久| 亚洲精品成人av在线| 国产精品三级在线观看| 一本久道在线视频播放| 日韩精品人妻中文字幕有码| 亚洲人成人77777网站| 国产精品自在在线午夜出白浆| 国产av一级黄一区二区三区| 亚洲精品午夜无码电影网| 日韩亚洲国产av自拍|