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

網(wǎng)絡矢量地圖瓦片技術研究

2016-12-20 10:00:09朱秀麗周治武彭云璐
測繪通報 2016年11期
關鍵詞:瓦片

朱秀麗,周治武,李 靜,趙 勇,彭云璐

(1. 國家基礎地理信息中心,北京100830; 2. 中南大學,湖南 長沙 410083)

?

網(wǎng)絡矢量地圖瓦片技術研究

朱秀麗1,周治武1,李 靜2,趙 勇1,彭云璐1

(1. 國家基礎地理信息中心,北京100830; 2. 中南大學,湖南 長沙 410083)

隨著WebGIS越來越深入人們的生活,人們對WebGIS的響應效率、交互性、渲染效果等方面的要求越來越高。現(xiàn)有的網(wǎng)絡地圖瓦片服務已不能完全滿足人們的需求,矢量地圖瓦片技術應運而生。本文主要研究了矢量瓦片的圖形數(shù)據(jù)和要素數(shù)據(jù)的編碼、矢量瓦片的組織存儲方式并實現(xiàn)了對矢量瓦片的實時渲染,表明矢量地圖瓦片技術克服了傳統(tǒng)柵格瓦片的缺陷,在交互性、渲染效果及屬性查詢等方面具有很大的優(yōu)勢和很高的應用價值。

網(wǎng)絡地圖服務;矢量地圖瓦片;編碼;地圖樣式

地圖已經(jīng)成為人們工作、學習、生活不可缺少的科學工具[1]。隨著互聯(lián)網(wǎng)技術的不斷發(fā)展與完善,產(chǎn)生了一種全新的地圖應用方式——網(wǎng)絡地圖。尤其是當?shù)貓D瓦片的概念被提出以來[2-3],地圖瓦片服務快速發(fā)展和壯大,Google map、Esri online、天地圖、百度地圖、高德地圖等在線地圖服務相繼出現(xiàn)。這些服務均采用相似的技術,利用金字塔模型緩存多分辨率的柵格瓦片數(shù)據(jù),減少了網(wǎng)絡傳輸量,顯著提高了網(wǎng)絡地圖的響應速度,促進了網(wǎng)絡地圖在人們?nèi)粘I钪械膹V泛應用,改變了人們的生活方式。然而由于客戶端獲取到的是預生成的柵格瓦片圖像,在前端的交互性和空間分析等方面還不能完全滿足客戶的需求,隨著HTML5技術的發(fā)展,網(wǎng)絡地圖的矢量渲染克服了以往的瓶頸。矢量瓦片緩存技術開始發(fā)揮其優(yōu)勢,煥發(fā)新的活力,以Mapbox為代表的矢量地圖瓦片服務吸引著越來越多人的關注。本文對矢量地圖瓦片技術進行了探討,并通過試驗進行了驗證。

一、主要技術

1. 基于網(wǎng)絡的地圖瓦片服務

網(wǎng)絡地圖瓦片服務(web map tile service),是一種基于瓦片的網(wǎng)絡地圖服務,它以瓦片為單位組織地圖數(shù)據(jù)[3-4],用戶依據(jù)所需空間范圍獲取地圖瓦片數(shù)據(jù),實現(xiàn)對局部地圖的快速訪問。網(wǎng)絡地圖瓦片服務依據(jù)一定的數(shù)學規(guī)則,把地圖按照固定的多級比例尺分層,并從每層圖片的左上角開始,按照從左至右、從上到下的順序切割成相同大小(如256×256像素)的正方形地圖瓦片,形成一層一層的瓦片矩陣,構(gòu)成整個瓦片金字塔。瓦片金字塔(瓦片大小256×256像素)的組成關系見表1。

表1 瓦片金字塔的組成

tile(地圖瓦片)技術的出現(xiàn),將WebGIS向前推進了一大步。地圖瓦片技術地解決了客戶端請求地圖時的渲染效率問題和瀏覽器兼容問題。在繼谷歌地圖之后的其他WebGIS地圖服務,基本都采用這種技術。矢量數(shù)據(jù)的瓦片技術也遵循同樣的思路,只是分塊的數(shù)據(jù)不是柵格圖像,而是矢量數(shù)據(jù)。當然不管是柵格數(shù)據(jù)的瓦片化,還是矢量數(shù)據(jù)的瓦片化,其目的都是通過分塊的方式減少網(wǎng)絡傳輸量,從而縮短響應時間,提高用戶的體驗。而矢量數(shù)據(jù)的瓦片化,可以更好地實現(xiàn)客戶端和服務器的交互。

2. 矢量瓦片的編碼技術

柵格瓦片是將圖像切割成一個個JPEG或PNG圖片,而矢量圖層具有多種編碼格式,如shapefile、GeoJSON等。為了節(jié)省存儲空間和方便管理,Mapbox制定了一種矢量瓦片數(shù)據(jù)的編碼方法——Vector Tile規(guī)范[5],可以在節(jié)省空間的同時實現(xiàn)地圖的快速繪制與屬性數(shù)據(jù)的快速查詢。Vector Tile運用Google Protocol Buffers作為編碼方式,Google Protocol Buffers是一種支持多種語言(如C++、Python等)多平臺的可擴展的序列化結(jié)構(gòu)化數(shù)據(jù)存儲格式,通過自定義數(shù)據(jù)結(jié)構(gòu)可以跨平臺跨語言地實現(xiàn)矢量數(shù)據(jù)的存儲,而且它以二進制流形式進行存儲,大大節(jié)省了存儲空間。Vector Tile依據(jù)投影坐標及瓦片組織體系,實現(xiàn)地理區(qū)域范圍與瓦片編號的一一對應關系。每個Vector Tile至少包含一個Layer,每個Layer中又包含其圖形要素和屬性信息,圖形信息被分解成一系列Line to、Move to、ClosePath繪圖命令,一個command id代表一種操作,其中1代表Move to,2代表Line to,7代表ColsePath。Line to和Move to均有兩個參數(shù),而且每個命令都有一個命令執(zhí)行次數(shù),參數(shù)采取zigzag的編碼方式,小的正值和負值的編碼均為小整數(shù),因此參數(shù)的編碼值ParameterInteger的計算公式是ParameterInteger = (value << 1) ^ (value >> 31)(value為參數(shù)的實際值)。

·MoveTo(3,6)

·LineTo(5,6)

·LineTo(12,22)

·ClosePath

以上命令的編碼如圖1所示。

圖1 命令的編碼

3. 瓦片存儲技術

瓦片化之后面臨的一個問題是如何合理存儲規(guī)模巨大的瓦片文件,如16級可能形成上億數(shù)量級的瓦片文件[6],此外還面臨快速遷移和離線利用問題。傳統(tǒng)文件系統(tǒng)磁盤存儲碎片化嚴重,影響IO性能,且數(shù)據(jù)可遷移性差,備份、遷移或恢復耗時都很漫長[7]。Mapbox公司制定了一種公開的瓦片管理和存儲規(guī)范——MBTiles[8]。MBTiles規(guī)定將生成的瓦片數(shù)據(jù)存儲在一個SQLite數(shù)據(jù)庫中,形成一個MBTiles文件,即一個瓦片數(shù)據(jù)集,實現(xiàn)存儲空間的集約化。由于SQLite數(shù)據(jù)庫兼容大多數(shù)主流平臺, 包括移動平臺Android、iOS,且具有遷移簡單、免安裝的特性[9],可以實現(xiàn)地圖瓦片的便捷使用、管理和遷移。將MBTiles文件存儲在本地,還可以實現(xiàn)地圖在移動終端的離線顯示。這是對于地圖瓦片存儲和服務的輕便、簡單文件解決方案。

MBTiles文件主要由元數(shù)據(jù)表(metadata)、tiles視圖和grid表組成。

metadata表采用鍵值對的形式來存儲地圖瓦片數(shù)據(jù)的相關設置,包括兩個文本類型的字段”name”和”value”。元數(shù)據(jù)表的各字段(keys)說明見表2。

tiles視圖由兩個表:map表和images表關聯(lián)得到,其結(jié)構(gòu)及說明見表3。

表2 metedata表的結(jié)構(gòu)及說明

表3 map表的結(jié)構(gòu)及說明

images表的結(jié)構(gòu)見表4。

表4 images表的結(jié)構(gòu)及說明

tile_data存儲PNG或JPG格式圖像的二進制流數(shù)據(jù)或矢量數(shù)據(jù)經(jīng)Vector Tile規(guī)范編碼的二進制流數(shù)據(jù)。

tiles視圖的結(jié)構(gòu)見表5。

表5 tiles視圖的結(jié)構(gòu)及說明

使用 tiles 視圖的優(yōu)勢在于可以減少冗余瓦片。地圖中海洋或空曠的土地等區(qū)域包含有成千上萬重復而冗余的純色瓦片,類似太平洋中蔚藍色的瓦片,在小比例尺中,它可能只有幾張,但在大比例尺(如1∶10 000)的地圖中,就會存在上百萬個單一顏色的藍色瓦片。MBTiles 通過拆分瓦片索引表map和瓦片數(shù)據(jù)表images,使用視圖的方式來關聯(lián)二者,這樣成千上萬的瓦片索引就可以指向同一個瓦片圖像,從而大大減少存儲冗余的純色瓦片,提升磁盤利用率及瓦片檢索效率。

4. UTFgrid技術和要素屬性的利用

在網(wǎng)絡地圖服務的應用中,如果包含較多的鼠標交互操作,傳統(tǒng)做法是在地圖上疊加要素圖層,每個要素有自己的熱點和事件,用于完成鼠標交互。但在大數(shù)據(jù)量、高并發(fā)請求的環(huán)境中,客戶端尤其是移動終端上,就不能很好地渲染大數(shù)據(jù)量的地理要素,面臨嚴重的性能問題[10]。這種情況下,出現(xiàn)了一張地圖瓦片結(jié)合要素屬性信息的緩存方式,也就是在地圖瓦片之外,額外存儲了按照格網(wǎng)劃分的要素屬性信息。這種預先劃分的要素屬性信息,稱為屬性瓦片,目前最具代表性的是MBTiles規(guī)范附屬的UTFGrid規(guī)范[11]。

UTFGrid的解決方式是將這些點或多邊形網(wǎng)格化,在每個像素上存儲一個字符,不同的屬性用不同的字符表示,然后將這個字符表存到JSON結(jié)構(gòu)中。這樣,一個256×256像素的瓦片會附著一個256×256字符表,如果2×2像素對應一個grid,那么就有128×128個字符表,每個不同的字符就像一個索引去關聯(lián)更完整的信息。

UTFGrid瓦片數(shù)據(jù)是一個便捷的查找表,包括三部分內(nèi)容:grid二維數(shù)組、keys一維數(shù)組及data對象。grid二維數(shù)組存儲了256×256個字符表或128×128個字符表或2n×2n字符表(n≤16),這些字符為unicode字符。keys存儲地理要素信息的密鑰key。data 是個對象,存儲了密鑰key對應的地理要素信息。三者之間的關系為:grid中的每一個字符都對應了一個地理要素的Key,通過 Key 才能在 data中找到地圖要素的信息,如圖2所示。

圖2 UTFGrid編碼

每個UTFGrid中的字符對應keys映射的不同要素。在上述的格網(wǎng)中,字符映射如下:

! => Portugal(葡萄牙)

# => Spain (西班牙)

$ => Morocco(摩洛哥)

每個像素就是一個觸發(fā)點,通過與觸發(fā)點交互實現(xiàn)要素屬性的交互和顯示。如當鼠標移動到瓦片上時,根據(jù)鼠標在瓦片上的相對位置,獲取到字符表中相應的字符,如在以上的格網(wǎng)中,4行、58列查找#字符。通過交互獲得的字符成為下一步關聯(lián)其他業(yè)務數(shù)據(jù)的索引,如人口、領土面積等。

5. 靈活地圖樣式配置

圖3所示為矢量瓦片地圖樣式設置的主要原理。

對于傳統(tǒng)的柵格地圖瓦片服務,瓦片生成后,用戶只能見到一種風格的地圖,若要改變風格,必須重新配圖和切圖,費時費力。而運用矢量地圖瓦片服務,用戶可以在切片以后,根據(jù)自己的需要實時改變地圖的樣式,并且獲得較高分辨率的輸出圖像,提升了用戶交互性和展現(xiàn)靈活性。

圖3 矢量瓦片地圖樣式配置原理

樣式化數(shù)據(jù)是瓦片數(shù)據(jù)的子集,而瓦片數(shù)據(jù)通常是用于切片數(shù)據(jù)源的子集,一套瓦片數(shù)據(jù)可以支持多種樣式化的地圖,從而形成多個地圖模板(可視化的展示)。

二、應用試驗

為了測試網(wǎng)絡矢量地圖瓦片技術,本文下載OSM的中國數(shù)據(jù),基于開源代碼,研究了網(wǎng)絡矢量地圖瓦片的關鍵技術:矢量瓦片切片、矢量瓦片存儲、矢量瓦片多終端顯示、矢量瓦片多樣式顯示、矢量瓦片高分辨率輸出等。圖4是將道路要素層實時更改其渲染樣式得到的結(jié)果。

圖4 道路圖層渲染效果對比

圖4的縮放層級為12級,圖4中(a)和(b)道路的填充顏色樣式不同。試驗表明網(wǎng)絡矢量地圖可以基于瓦片數(shù)據(jù),實時改變要素的視覺變量(形狀、尺寸、方向、顏色、亮度、密度等),并衍生多種地圖表達,數(shù)據(jù)與可視化是一對多的關系。

三、結(jié)束語

本文對網(wǎng)絡矢量地圖瓦片的部分技術進行了探索,由于其處于蓬勃發(fā)展時期,新方法新思想非常活躍,其應用也非常廣泛,如基于這些技術研制在線制圖系統(tǒng),實現(xiàn)矢量要素與制圖知識的1∶n關聯(lián),滿足多重制圖表達需求,以滿足人們靈性制圖要求,同時滿足網(wǎng)絡地圖高分辨率輸出的要求。

[1] 王家耀,成毅.論地圖學的屬性和地圖的價值[J].測繪學報,2015,44(3):237-241.

[2] 陳超,王亮,閆浩文,等.一種基于NoSQL的地圖瓦片數(shù)據(jù)存儲技術[J].測繪科學,2013,38(1):142-143.

[3] 王浩,喻占武,曾武,等.基于瓦片壽命和訪問熱度的海量空間數(shù)據(jù)緩存置換策略[J].武漢大學學報(信息科學版),2009,34(6):667-668.

[4] 張廣春,仲偉政.基于ArcGIS Engine組件實現(xiàn)瓦片地圖的應用[J].測繪通報,2015(3):115-120.

[5] AGAFONKIN V,FIREBAUGH J,FISCHER E,et al.Mapbox Vector Tile Specification[EB/OL].[2016-03-09].https:∥github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md.

[6] 郭明強,黃穎,謝忠.分布式環(huán)境下海量瓦片數(shù)據(jù)實時組織與調(diào)度策略研究[J].測繪通報,2013(4):25-28.

[7] 羅智勇,黎小東.基于數(shù)據(jù)庫存儲方案的高性能瓦片地圖服務研究[J].地理與地理信息科學,2013,29(3):48-51.

[8] MACWRIGHT T,WHITE W,KAEFER K,et al.MBTiles Specification[EB/OL].[2016-02-09].https:∥github.com/mapbox/mbtiles-spec.

[9] 胡菲菲.sqlite在嵌入式電子地圖中的應用[J].工程地質(zhì)計算機應用,2008(2):31-36.

[10] 周強,宋志峰,劉易鑫,等.一種適用于多移動終端的地圖瓦片格式的研究與應用[J].測繪與空間地理信息,2013,36(S0):70-76.

[11] MACWRIGHT T,WHITE W,KAEFER K,et al.UTFGrid[EB/OL].[2016-02-09].https:∥github.com/mapbox/utfgrid-spec/blob/master/1.3/utfgrid.md.

[12] 蔡苑彬,劉露,陳犖,等.基于地圖制圖腳本的交互式圖例動態(tài)生成方法[J].地理空間信息,2014,12(5):154-157.

Research for Web Map Vector Tiles Technology

ZHU Xiuli,ZHOU Zhiwu,LI Jing,ZHAO Yong,Peng Yunlu

2016-03-11;

2016-05-09

科技基礎性工作專項(2013FY112800)

朱秀麗(1975—),女,碩士,高級工程師,主要研究方向為地理信息應急、地理信息標準、GIS工程與地圖制圖。E-mail:zhuxiuli@nsdi.gov.cn

朱秀麗,周治武,李靜,等.網(wǎng)絡矢量地圖瓦片技術研究[J].測繪通報,2016(11):106-109.

10.13474/j.cnki.11-2246.2016.0377.

P28

B

0494-0911(2016)11-0106-04

猜你喜歡
瓦片
河水
遼河(2025年7期)2025-07-25 00:00:00
打水漂
揚子江詩刊(2021年4期)2021-11-11 15:58:35
一種基于主題時空價值的服務器端瓦片緩存算法
慣性
揚子江(2019年1期)2019-03-08 02:52:34
基于NoSQL數(shù)據(jù)庫的瓦片地圖服務
主站蜘蛛池模板: 干中文字幕| 国产精品对白刺激| 国产成人精品一区二区秒拍1o| 51国产偷自视频区视频手机观看 | 亚洲色图欧美在线| 国产好痛疼轻点好爽的视频| 丝袜久久剧情精品国产| 日韩毛片免费观看| 久久午夜夜伦鲁鲁片无码免费 | 欧美成人在线免费| 女人18一级毛片免费观看| 欧美日韩午夜视频在线观看| 国内熟女少妇一线天| 亚洲αv毛片| 欧美亚洲国产精品久久蜜芽| 99热免费在线| 色婷婷综合激情视频免费看 | 久久免费视频播放| 亚洲天堂免费| 少妇高潮惨叫久久久久久| 91免费国产在线观看尤物| 91精品人妻互换| 国产丝袜无码一区二区视频| 国产成人亚洲精品无码电影| 精品国产乱码久久久久久一区二区| 午夜a视频| 成人综合网址| 狠狠色丁香婷婷| 国产av无码日韩av无码网站| 亚洲美女一级毛片| 国产无码精品在线| 亚洲人成网站18禁动漫无码| 亚洲Av激情网五月天| 亚洲精品动漫| 一本一道波多野结衣av黑人在线 | 亚洲AV电影不卡在线观看| 伦伦影院精品一区| 全部免费特黄特色大片视频| 毛片网站免费在线观看| 3344在线观看无码| 国产成人超碰无码| 国产无码性爱一区二区三区| 欧美一级高清视频在线播放| 中文字幕乱妇无码AV在线| 手机在线国产精品| 日本一本在线视频| 又黄又湿又爽的视频| 女人18毛片一级毛片在线| 久久精品只有这里有| 亚洲精品手机在线| 色婷婷色丁香| 日韩欧美综合在线制服| 福利在线免费视频| 国产毛片高清一级国语| 伊人久综合| 国产第一色| 91精品网站| 69av免费视频| 日本欧美在线观看| 免费又爽又刺激高潮网址| 亚洲国产欧美目韩成人综合| 中文字幕久久亚洲一区| 激情网址在线观看| 强奷白丝美女在线观看| 亚洲国产精品一区二区第一页免| 欧美无专区| 久久天天躁夜夜躁狠狠| 亚洲国产欧美自拍| 国产夜色视频| 四虎影院国产| 国产精品免费p区| 欧美成人怡春院在线激情| 日韩在线永久免费播放| 青草视频网站在线观看| 久久亚洲中文字幕精品一区| 91极品美女高潮叫床在线观看| 午夜爽爽视频| 久草美女视频| 亚洲午夜福利在线| 国产人成午夜免费看| 日韩精品一区二区三区中文无码| 亚洲av日韩av制服丝袜|