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

        ?

        基于PostGIS的矢量瓦片按需組裝技術(shù)研究

        2021-11-10 06:00:42方登茂張曉平劉梁
        城市勘測(cè) 2021年5期
        關(guān)鍵詞:服務(wù)端瓦片矢量

        方登茂,張曉平,劉梁

        (西安市勘察測(cè)繪院,陜西 西安 710000)

        1 引 言

        伴隨互聯(lián)網(wǎng)和地理信息技術(shù)的飛速發(fā)展,以制圖表達(dá)為主的紙質(zhì)地圖已經(jīng)全面被電子地圖替代。早期的電子地圖受數(shù)據(jù)量和計(jì)算機(jī)性能約束,無(wú)法滿足電子地圖實(shí)時(shí)在線訪問的需求。柵格瓦片的出現(xiàn),極大地改變了電子地圖加載緩慢、效率低下等問題[1]。隨著地理空間大數(shù)據(jù)時(shí)代的來(lái)臨,不同精度、尺度、維度的地理空間數(shù)據(jù)呈爆炸式增長(zhǎng)[2],傳統(tǒng)柵格瓦片作為緩存數(shù)據(jù),靈活性不足、交互性差、處理周期長(zhǎng),在海量數(shù)據(jù)加載和大數(shù)據(jù)實(shí)時(shí)可視化方面已無(wú)優(yōu)勢(shì)可言[3]。Mapbox于2016年推出了全新的矢量瓦片標(biāo)準(zhǔn),已經(jīng)被國(guó)內(nèi)外主流的商業(yè)軟件和開源平臺(tái)所采用[4]。目前國(guó)內(nèi)學(xué)者在矢量瓦片的可視化渲染[5]、索引優(yōu)化[6]、并行處理[7]、服務(wù)應(yīng)用[8]等方面已經(jīng)有了較多的研究,但在矢量瓦片數(shù)據(jù)組織與生產(chǎn)方面并沒有太大突破。

        《新型基礎(chǔ)測(cè)繪體系數(shù)據(jù)庫(kù)建設(shè)試點(diǎn)技術(shù)指南》中指出,“一庫(kù)多能、按需組裝”是未來(lái)我國(guó)地理實(shí)體基礎(chǔ)時(shí)空數(shù)據(jù)庫(kù)的建設(shè)目標(biāo)。本研究在當(dāng)前矢量瓦片相關(guān)應(yīng)用研究的基礎(chǔ)上,基于PostGIS空間數(shù)據(jù)庫(kù),提出了一種無(wú)須事先創(chuàng)建索引和生產(chǎn)瓦片,通過(guò)客戶端請(qǐng)求和服務(wù)端按需響應(yīng)的方式實(shí)時(shí)創(chuàng)建矢量瓦片,簡(jiǎn)化了矢量瓦片的應(yīng)用流程,實(shí)現(xiàn)了矢量瓦片的實(shí)時(shí)創(chuàng)建和按需組裝,擴(kuò)展了矢量瓦片的應(yīng)用方式,可為新型基礎(chǔ)測(cè)繪數(shù)據(jù)庫(kù)建設(shè)提供技術(shù)參考。

        2 Mapbox矢量瓦片解析

        2.1 瓦片數(shù)據(jù)組織

        矢量瓦片是矢量數(shù)據(jù)多尺度表達(dá)的一種形式,按照特定的規(guī)則對(duì)原始矢量數(shù)據(jù)進(jìn)行分割,采用分級(jí)金字塔的形式進(jìn)行調(diào)用,矢量瓦片格式緊湊、生產(chǎn)效率高、樣式可動(dòng)態(tài)編輯,交互性強(qiáng)[9]。區(qū)別于柵格瓦片,矢量瓦片以二進(jìn)制的方式直接存儲(chǔ)矢量數(shù)據(jù)的描述性信息,包含了瓦片范圍內(nèi)矢量的幾何編碼和屬性編碼。Mapbox的矢量瓦片(mvt)文件采用Google Protocol Buffers(pbf)進(jìn)行編碼,該編碼具有跨平臺(tái)、易擴(kuò)展、通用性強(qiáng)等優(yōu)點(diǎn),便于數(shù)據(jù)的高效渲染和快速查詢[10]。

        2.2 幾何與屬性編碼

        Mapbox矢量瓦片(mvt)不存儲(chǔ)矢量數(shù)據(jù)的空間范圍和投影等信息,單個(gè)mvt文件采用屏幕坐標(biāo)存儲(chǔ)矢量數(shù)據(jù)的幾何信息。瓦片的左上角為坐標(biāo)系的原點(diǎn),X軸向右為正,Y軸向下為正。解碼器可通過(guò)解析一系列指令,按照坐標(biāo)序列生成幾何圖形編碼。如圖1所示為面狀信息的圖形編碼存儲(chǔ),通過(guò)MoveTo指令確定屏幕點(diǎn)坐標(biāo),通過(guò)LineTo指令結(jié)合相對(duì)位移確定下一節(jié)點(diǎn)位置,ClosePath用于閉合圖形。

        Mapbox矢量瓦片(mvt)的屬性數(shù)據(jù)被編碼在矢量要素的一系列標(biāo)簽對(duì)象中,標(biāo)簽引用的key值與幾何圖形中指定的原始key值對(duì)應(yīng)的值一致。對(duì)于復(fù)雜圖形,這種方式可以消除具有相同鍵和相似值引起的屬性冗余,具體原理如圖2所示,左側(cè)表示原始矢量數(shù)據(jù)的GeoJSON格式,右側(cè)為矢量瓦片的屬性編碼。

        圖1 Mapbox矢量瓦片的幾何編碼方式

        圖2 Mapbox矢量瓦片的屬性編碼方式

        3 矢量瓦片按需組裝與渲染

        3.1 PostGIS的矢量據(jù)存儲(chǔ)方式

        PostGIS以插件的形式擴(kuò)展了PostgreSQL數(shù)據(jù)庫(kù)對(duì)空間數(shù)據(jù)類型、空間索引和空間函數(shù)的支持,將PostgreSQL數(shù)據(jù)庫(kù)升級(jí)為空間數(shù)據(jù)庫(kù),實(shí)現(xiàn)了空間數(shù)據(jù)的存儲(chǔ)、管理和操作。PostGIS以WKB(well-known binary)方式存儲(chǔ)和管理矢量數(shù)據(jù),WKB格式是WKT(well-known text)格式的二進(jìn)制表達(dá),WKT(Well-known text)是開放地理空間聯(lián)盟OGC制定的一種文本標(biāo)記語(yǔ)言,用于表示矢量幾何對(duì)象、空間參照系統(tǒng)及空間參照系統(tǒng)之間的轉(zhuǎn)換。如表1表達(dá)了矢量數(shù)據(jù)的WKT和GeoJSON格式。

        PostGIS將矢量數(shù)據(jù)的圖形和屬性分別以相應(yīng)的字段存儲(chǔ)于Postgresql的表結(jié)構(gòu)中,使矢量數(shù)據(jù)的圖形與屬性均可作為數(shù)據(jù)庫(kù)字段進(jìn)行管理和操作。如圖3所示為POI點(diǎn)的shapefile數(shù)據(jù)在數(shù)據(jù)庫(kù)表結(jié)構(gòu)中的存儲(chǔ),geom字段表達(dá)了矢量數(shù)據(jù)的圖形,以WKB格式存儲(chǔ)。

        WKT格式和GeoJSON格式對(duì)照 表1

        圖3 矢量數(shù)據(jù)在PostGIS中的存儲(chǔ)

        3.2 矢量瓦片按需組裝流程

        Mapbox矢量瓦片采用Web Mercator作為默認(rèn)投影方式,使用了和Google地圖相同的瓦片編號(hào)方式,實(shí)現(xiàn)了全球不同分辨率和任意范圍坐標(biāo)與實(shí)際空間位置的一一對(duì)應(yīng)。以“https://{address}/{version}/{name}/{z}/{x}/{y}.mvt”為例,該矢量瓦片的請(qǐng)求url主要包含了4個(gè)參數(shù):name代表矢量瓦片服務(wù)的名稱;z代表當(dāng)前請(qǐng)求數(shù)據(jù)所在的層級(jí);x代表該層級(jí)下瓦片所處的行號(hào);y代表該層級(jí)下瓦片所處的列號(hào)。遵循以上4個(gè)參數(shù),以PostGIS存儲(chǔ)的矢量數(shù)據(jù)為數(shù)據(jù)源,構(gòu)建服務(wù)端矢量瓦片API,按照客戶端的請(qǐng)求按需生產(chǎn)和組裝矢量瓦片,并將生成的mvt文件實(shí)時(shí)返回客戶端,具體流程如圖4所示:

        圖4 矢量瓦片按需組裝技術(shù)流程

        (1)矢量瓦片的客戶端可支持Web端、桌面端、移動(dòng)端,采用對(duì)應(yīng)的地圖引擎或SDK按照矢量瓦片的服務(wù)地址實(shí)時(shí)請(qǐng)求服務(wù)端的API,并接收服務(wù)端返回的矢量瓦片數(shù)據(jù)進(jìn)行可視化渲染;

        (2)服務(wù)端接收客戶端的請(qǐng)求參數(shù),獲取矢量瓦片的服務(wù)名、層級(jí)、瓦片行號(hào)和瓦片列號(hào),結(jié)合Google地圖的瓦片編號(hào)方式和文獻(xiàn)[11],通過(guò)z,x和y計(jì)算對(duì)應(yīng)瓦片的坐標(biāo)范圍;

        (3)服務(wù)端按照請(qǐng)求的服務(wù)名和瓦片的坐標(biāo)范圍組裝檢索對(duì)應(yīng)矢量數(shù)據(jù)的SQL語(yǔ)句。主要是通過(guò)瓦片的服務(wù)名確定對(duì)應(yīng)的矢量數(shù)據(jù)表,以瓦片坐標(biāo)范圍作為空間約束,執(zhí)行空間查詢,獲取對(duì)應(yīng)瓦片的幾何圖形和屬性信息,并采用PostGIS的ST_AsMvtGeom和ST_AsMVT函數(shù)將該瓦片對(duì)應(yīng)的矢量數(shù)據(jù)轉(zhuǎn)換為Mapbox的mvt格式;

        (4)數(shù)據(jù)庫(kù)執(zhí)行SQL查詢語(yǔ)句,返回對(duì)應(yīng)的矢量瓦片數(shù)據(jù),服務(wù)端設(shè)置響應(yīng)標(biāo)頭和狀態(tài)碼,組裝mvt格式的二進(jìn)制流,并向客戶端返回矢量瓦片數(shù)據(jù)。

        3.3 矢量瓦片渲染機(jī)制

        相對(duì)于柵格瓦片,矢量瓦片通常由地圖引擎在前端進(jìn)行直接渲染,由特定的渲染描述文件實(shí)現(xiàn)矢量數(shù)據(jù)的可視化?;赪ebGL技術(shù),前端地圖引擎可以承載海量數(shù)據(jù)的實(shí)時(shí)渲染,如圖5所示,客戶端地圖引擎接收服務(wù)端返回的二進(jìn)制矢量瓦片、字體庫(kù)和樣式文件,按樣式文件進(jìn)行配置和讀取,保證了各個(gè)圖層的高效渲染和表達(dá)。

        圖5 矢量瓦片的前端渲染方式

        4 實(shí)驗(yàn)與分析

        本實(shí)驗(yàn)采用PostGIS空間數(shù)據(jù)庫(kù)存儲(chǔ)原始矢量數(shù)據(jù),按照矢量瓦片按需組裝與渲染的技術(shù)流程,基于Node.js開發(fā)了矢量瓦片的服務(wù)端應(yīng)用,并通過(guò)前端的地圖引擎進(jìn)行調(diào)用和可視化渲染,對(duì)矢量瓦片按需組裝的技術(shù)進(jìn)行了實(shí)現(xiàn)和驗(yàn)證。

        4.1 實(shí)驗(yàn)數(shù)據(jù)與軟硬件環(huán)境

        本實(shí)驗(yàn)以西安市約10 000 km2范圍內(nèi)的建筑物面、道路線和興趣點(diǎn)作為實(shí)驗(yàn)數(shù)據(jù),數(shù)據(jù)總大小為 3.32 GB,數(shù)據(jù)總記錄為498.1萬(wàn)條。將所有矢量數(shù)據(jù)統(tǒng)一轉(zhuǎn)換至Web Mercator投影坐標(biāo)系下,建立了對(duì)應(yīng)的數(shù)據(jù)庫(kù)表結(jié)構(gòu),采用PostGIS的Shapefile Import工具將原始Shapefile數(shù)據(jù)導(dǎo)入PostGIS空間數(shù)據(jù)庫(kù),并配置了相關(guān)坐標(biāo)基準(zhǔn)參數(shù),實(shí)現(xiàn)了空間數(shù)據(jù)與屬性數(shù)據(jù)的結(jié)構(gòu)化存儲(chǔ)。具體數(shù)據(jù)信息如表2所示。

        本次實(shí)驗(yàn)所采用的數(shù)據(jù) 表2

        本實(shí)驗(yàn)服務(wù)器端硬件處理器為Intel(R) Core(TM) i5-4430 CPU 3.00GHz,內(nèi)存 32 GB,Postgresql數(shù)據(jù)庫(kù)版本為v11.7,PostGIS版本為v3.1,Node.js版本為v14.2,前端地圖引擎采用Mapbox GL JS v2.2。

        4.2 客戶端加載分析

        為了測(cè)試和分析矢量瓦片按需組裝的性能,服務(wù)端程序以單進(jìn)程的方式部署,客戶端基于Mapbox開發(fā)測(cè)試頁(yè)面,實(shí)現(xiàn)了不同數(shù)據(jù)類型矢量瓦片的動(dòng)態(tài)請(qǐng)求、按需組裝和實(shí)時(shí)渲染。具體結(jié)果如圖6所示:

        由于本研究并沒有考慮要素綜合及數(shù)據(jù)壓縮,原始矢量數(shù)據(jù)在所有層級(jí)下均完全可見,地圖層級(jí)越小,單個(gè)瓦片的矢量要素?cái)?shù)據(jù)量越大。本實(shí)驗(yàn)通過(guò)抓取同一地圖視角內(nèi)不同層級(jí)下矢量瓦片請(qǐng)求的響應(yīng)時(shí)間,統(tǒng)計(jì)了15級(jí)~20級(jí)下不同圖層的平均響應(yīng)速度和矢量瓦片的平均大小,用于分析矢量瓦片的加載效率。

        圖6 矢量瓦片按需組裝可視化渲染

        矢量瓦片響應(yīng)速度及數(shù)據(jù)量統(tǒng)計(jì) 表3

        如表3所示,從總體上來(lái)看,單進(jìn)程下矢量瓦片數(shù)據(jù)響應(yīng)性能優(yōu)異,客戶端渲染流暢,實(shí)時(shí)性好,按需組裝效率高。在最大縮放級(jí)別下,平均響應(yīng)時(shí)間能保證在 300 ms以內(nèi),L18級(jí)~L20級(jí)別下,服務(wù)端的響應(yīng)性能相差不大。隨著地圖縮放級(jí)別的變小,所請(qǐng)求瓦片的數(shù)據(jù)量變大,矢量瓦片的實(shí)時(shí)組裝性能略有衰減,服務(wù)端組裝和響應(yīng)消耗的時(shí)間變長(zhǎng),但總體響應(yīng)速度均在 984 ms以內(nèi)。實(shí)驗(yàn)證明,無(wú)論是單圖層請(qǐng)求還是多圖層的請(qǐng)求,在約500萬(wàn)規(guī)模的數(shù)據(jù)量下,該方法的按需組裝效率完全能夠滿足日常應(yīng)用和可視化的要求。

        5 結(jié) 論

        本文基于PostGIS空間數(shù)據(jù)庫(kù),提出了一種服務(wù)端矢量瓦片按需組裝技術(shù),并以點(diǎn)狀、線狀和面狀矢量數(shù)據(jù)進(jìn)行了按需組裝實(shí)驗(yàn),得到了以下結(jié)論:

        (1)該方法無(wú)須預(yù)先創(chuàng)建索引和生產(chǎn)瓦片,由服務(wù)端實(shí)時(shí)響應(yīng)數(shù)據(jù)請(qǐng)求,實(shí)用性強(qiáng)、實(shí)時(shí)性好,矢量瓦片能夠隨著空間數(shù)據(jù)庫(kù)的更新動(dòng)態(tài)組裝,保證了數(shù)據(jù)的現(xiàn)勢(shì)性,也為矢量瓦片數(shù)據(jù)的動(dòng)態(tài)更新提供了新的思路;

        (2)服務(wù)端的實(shí)時(shí)組裝性能優(yōu)異,在單進(jìn)程下能夠承載500萬(wàn)規(guī)模要素的實(shí)時(shí)矢量切片訪問,大比例尺下要素組裝和瓦片響應(yīng)均在毫秒級(jí);

        (3)該方法擴(kuò)展性強(qiáng)、交互性好,依托關(guān)系型數(shù)據(jù)庫(kù),能夠靈活表達(dá)多維度的語(yǔ)義信息,從而實(shí)現(xiàn)矢量瓦片與專題數(shù)據(jù)的動(dòng)態(tài)集成和屬性重組;

        (4)按照特定的分類、分級(jí)和數(shù)據(jù)標(biāo)準(zhǔn),采用該方法建立地理實(shí)體數(shù)據(jù)庫(kù),能夠?yàn)椤耙粠?kù)多能、按需組裝”的新型基礎(chǔ)測(cè)繪建設(shè)提供技術(shù)參考。

        下一步的研究工作是在當(dāng)前技術(shù)路線的基礎(chǔ)上,采用數(shù)據(jù)庫(kù)集群和多進(jìn)程的方式存儲(chǔ)和管理城市級(jí)海量數(shù)據(jù),實(shí)現(xiàn)矢量瓦片數(shù)據(jù)的并行處理、高并發(fā)請(qǐng)求、地理分析、矢量查詢等應(yīng)用。

        猜你喜歡
        服務(wù)端瓦片矢量
        矢量三角形法的應(yīng)用
        一種基于主題時(shí)空價(jià)值的服務(wù)器端瓦片緩存算法
        慣性
        云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
        新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
        在Windows Server 2008上創(chuàng)建應(yīng)用
        基于矢量最優(yōu)估計(jì)的穩(wěn)健測(cè)向方法
        三角形法則在動(dòng)態(tài)平衡問題中的應(yīng)用
        基于NoSQL數(shù)據(jù)庫(kù)的瓦片地圖服務(wù)
        色料減色混合色矢量計(jì)算
        出版與印刷(2013年3期)2013-01-31 03:26:11
        国产绳艺sm调教室论坛| 美女偷拍一区二区三区| 青青草手机免费播放视频| a级国产乱理伦片| 久久精品国产亚洲av高清漫画| 久久国产国内精品对话对白| 天堂影院久久精品国产午夜18禁| 免费日本一区二区三区视频| 国产一区二区三精品久久久无广告 | 福利一区二区三区视频午夜观看 | 久久久99精品国产片| 精品一区二区三区芒果| 免费人成再在线观看视频| 亚洲自拍另类欧美综合| 国产丝袜在线福利观看| 在厨房拨开内裤进入毛片| 一区二区三区国产亚洲网站| 亚洲欧美日韩高清中文在线| 中文字幕视频一区懂色| 丰满大爆乳波霸奶| 国产精品久久久av久久久 | 波多野结衣中文字幕一区二区三区| 一本无码人妻在中文字幕免费| 免费黄网站久久成人精品| 在线亚洲日本一区二区| 亚洲中文字幕久久精品无码a | 免青青草免费观看视频在线| 成人影院羞羞的视频免费观看| 午夜免费电影| 日日摸夜夜添狠狠添欧美| 亚洲中文字幕无线乱码va| 亚洲乱码av乱码国产精品| 久久久久波多野结衣高潮| 亚州AV无码乱码精品国产| 极品精品视频在线观看| 国产卡一卡二卡3卡4乱码| 国产思思99re99在线观看| 精品国产一品二品三品| 久久久久免费精品国产| 欧美成a人片在线观看久| 挑战亚洲美女视频网站|