999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2021-11-10 06:00:42方登茂張曉平劉梁
城市勘測 2021年5期
關(guān)鍵詞:瓦片數(shù)據(jù)庫

方登茂,張曉平,劉梁

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

1 引 言

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

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

2 Mapbox矢量瓦片解析

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

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

2.2 幾何與屬性編碼

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

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

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

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

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

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

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

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

WKT格式和GeoJSON格式對照 表1

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

3.2 矢量瓦片按需組裝流程

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

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

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

(2)服務端接收客戶端的請求參數(shù),獲取矢量瓦片的服務名、層級、瓦片行號和瓦片列號,結(jié)合Google地圖的瓦片編號方式和文獻[11],通過z,x和y計算對應瓦片的坐標范圍;

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

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

3.3 矢量瓦片渲染機制

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

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

4 實驗與分析

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

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

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

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

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

4.2 客戶端加載分析

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

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

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

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

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

5 結(jié) 論

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

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

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

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

(4)按照特定的分類、分級和數(shù)據(jù)標準,采用該方法建立地理實體數(shù)據(jù)庫,能夠為“一庫多能、按需組裝”的新型基礎(chǔ)測繪建設(shè)提供技術(shù)參考。

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

猜你喜歡
瓦片數(shù)據(jù)庫
河水
遼河(2025年7期)2025-07-25 00:00:00
慣性
揚子江(2019年1期)2019-03-08 02:52:34
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
基于NoSQL數(shù)據(jù)庫的瓦片地圖服務
主站蜘蛛池模板: 亚洲人在线| 欧美日韩免费在线视频| 久久五月视频| 色综合久久88色综合天天提莫| 国内精品小视频福利网址| 再看日本中文字幕在线观看| 69免费在线视频| 亚洲无码37.| 免费三A级毛片视频| 2021亚洲精品不卡a| 亚洲av色吊丝无码| 亚洲熟女偷拍| 国产又爽又黄无遮挡免费观看| 成人午夜福利视频| 熟妇人妻无乱码中文字幕真矢织江| 国产剧情国内精品原创| 国产在线观看高清不卡| 欧美色综合网站| 国产成人久视频免费| 亚洲午夜18| 一级毛片基地| 亚洲美女操| 亚洲精品第1页| 激情综合网激情综合| 午夜色综合| 国产乱人伦精品一区二区| 天天摸天天操免费播放小视频| 97视频免费在线观看| 高清大学生毛片一级| 妇女自拍偷自拍亚洲精品| 亚洲第一精品福利| 欧美黑人欧美精品刺激| 亚洲香蕉久久| 国内精品久久人妻无码大片高| 四虎在线高清无码| 亚洲二区视频| 欧美国产中文| 亚洲国产亚洲综合在线尤物| 婷婷亚洲综合五月天在线| 人妻少妇乱子伦精品无码专区毛片| 免费不卡在线观看av| 国产精品美人久久久久久AV| 免费看a毛片| 国产精品护士| 亚洲精品麻豆| 国产精品亚洲五月天高清| 亚洲IV视频免费在线光看| 视频二区亚洲精品| 亚洲福利视频一区二区| 老司机精品久久| 国产超碰一区二区三区| 国产大片喷水在线在线视频| 亚洲第一中文字幕| 精品自拍视频在线观看| 热热久久狠狠偷偷色男同| 国产性爱网站| 一本大道香蕉久中文在线播放| 成人在线综合| 色窝窝免费一区二区三区| 色综合色国产热无码一| 欧美成人午夜视频| 亚洲欧美日韩成人高清在线一区| 亚洲天堂日韩av电影| 亚洲精品国产乱码不卡| 久久国产精品夜色| 三上悠亚一区二区| 国产在线观看一区精品| 99999久久久久久亚洲| 制服丝袜国产精品| 欧美成人二区| 99在线观看视频免费| 国产在线视频自拍| 成年女人18毛片毛片免费| 四虎精品国产AV二区| 国产成人高清精品免费| 天堂在线亚洲| 亚洲三级电影在线播放| 欧美a在线看| 亚洲欧美综合在线观看| 国产后式a一视频| 亚洲精品在线观看91| 日本在线亚洲|