□ 解 冰包玲玲關 穎
(1.黑龍江第三測繪工程院,黑龍江 哈爾濱 150000;2.北京星球時空科技有限公司,北京 100101)
網絡地圖服務是近年來通過國際互聯網提供的一種主流地理信息服務模式[1]。瓦片地圖技術是網絡地圖服務時代的主流技術。早期的柵格瓦片地圖在地理信息系統中數據調度上具有顯著的優勢,基于金字塔模型緩存數據,減少網絡傳輸,提高數據調度速度[2]。但柵格瓦片在空間分析及前端交互等方面不能夠完全滿足用戶需求。因此,互聯網地圖服務領域引深出了矢量瓦片技術,矢量瓦片是一種高性能的格式,在設置樣式、輸出格式及交互方面更加靈活。
總部位于美國的Mapbox公司基于Google ProtocolBuffers制定的開源矢量瓦片數據標準,MAPBOXVECTORTILESPECIFICATION是目前較為通用的矢量瓦片數據標準,已被多個公司和組織采用[3]?;贛apbox技術機制和體制搭建矢量瓦片服務框架,在數據請求及傳輸方面可以減少網絡傳輸量,顯著提高了網絡地圖的響應速度,同時客戶端能夠更快、更靈活地渲染[4]。基于開源技術的Mapbox技術體制可以方便地實現本地化部署,解決面向對象的行業內部地圖服務,滿足各行業內部位置服務、信息管理需求,確保數據資源保密的同時實現更高的價值。
Mapbox提供了一個強大的在線地圖制作環境,包含大量的地圖制圖工具,從細粒度對象到粗粒度對象所涉及領域很廣。用戶可申請賬戶線上制圖,也可下載安裝相關工具本地部署。Mapbox 矢量瓦片默認的大地坐標系為WGS-84,投影方式為球面墨卡托(WebMercator),瓦片編號采用 Google瓦片方案[5]。因此,Mapbox矢量瓦片的大地坐標系、投影坐標系、像素坐標系和瓦片坐標系與Google柵格瓦片一致。各縮放級別下瓦片的數量和單個瓦片代表的空間大小相同。矢量瓦片的數據組織參照柵格瓦片的數據組織模型,構建金字塔模型。
Mapbox矢量瓦片數據采用分包組織方法進行數據組織,矢量數據分包切片有助于數據管理,通過建立相應地數據索引,能夠實現所需數據更好、更快、更有效地調度,提高數據實時渲染速度,大大減小了無效數據的傳輸,有效地解決矢量數據的多尺度、大存儲、多形態等問題。
數據組織可分為3個層次:(1)分級劃分規則的確定。(2)地圖表達范圍內的瓦片數據集組織模型。(3)單個瓦片內要素的組織模型[4]。為減小數據量,根據數據精度及渲染要求,合理設置分級數據組織包,矢量數據渲染過程中低級別至高級別過渡時會逐級增加必要要素,直至顯示所需的全部要素為止,需要將數據分級劃分組織,低級別數據適當地進行簡化處理,實現數據合理規范化的組織方式。
瓦片數據集組織模型可通過自定義矢量瓦片的大地坐標系、投影方式和瓦片編號方案實現任意精度、任意空間位置與矢量瓦片的對應關系[6]。單個矢量瓦片主要存儲多個GeoJSON格式圖層,對應圖層內部包含其屬性信息、幾何信息。每塊矢量瓦片至少要包含一個圖層,每個圖層至少要包含一條要素信息[4]。
Mapbox數據存儲采用SQLite數據庫,SQLite數據庫是一款應有安全型的輕型數據庫,遵守ACID的關系型數據庫管理系統,它是一個嵌入式庫,是一個實現零配置、無服務端和事務功能的SQL數據庫引擎,在廣泛領域被應用[7]。采用 SQLite數據庫是因為其支持 Windows、Linux等多種主流的操作系統,占用的內存非常少,同時能夠跟多種程序語言相結合,處理速度也非???。Mapbox公司制定了一種公開的瓦片管理和存儲規范—MBTiles[4]。MBTiles規定將生成的瓦片數據存儲在一個SQLite數據庫中,形成一個MBTiles文件,即一個瓦片數據集,實現存儲空間的集約化[5]。
Mapbox提供了瀏覽器渲染引擎(MapboxGL JS)和移動終端渲染引擎(MapboxGLNative)[8]。Mapbox前端渲染通過MapboxGLJS實現,MapboxGLJS是一個JavaScript庫,使用Web GL渲染交互式矢量瓦片地圖和柵格瓦片地圖,渲染性能高。它能夠解析各種來源的矢量數據,然后在客戶端實時渲染生成帶有幾何圖形、文字標注、圖示符號3D場景地圖[9]。MapboxGLJS能夠渲染大數據量的地圖要素,擁有流暢的交互以及動畫效果,可以顯示立體地圖,是一款十分優秀的WebGIS開發框架[10]。
本文針對矢量地圖技術進行了簡要闡述,Mapbox是個性化的地圖載體,具有高效率、多樣性等特點,未來在大數據處理上會有更加突出的表現,實現樣式配置文件優化、操作簡單化。

圖1 基于Mapbox地形圖示例
基于Mapbox矢量瓦片制圖系統可支持多類型地圖制圖,例如導航圖、地形圖、海航圖等的制作。實踐證明,Mapbox技術可滿足對于樣式、符號要求較低的導航圖類型地圖的制作,但是對于地形圖這種比較復雜的地圖來說,其現有技術存在一定的不足。圖1為地形圖配制效果,在制圖過程中對于簡單類型的圖式符號能夠滿足制圖要求,但對于復雜符號的表達暫不能實現。例如地形圖中注記顯示、干溝顯示、面填充被分割、等高線注記顯示、電力線顯示、隧道顯示都存在不同程度的不適應性。
針對上述問題,可充分利用Mapbox的開源特性,在數據采集、數據預處理環節,有針對性地進行數據采集方法設計、數據結構設計和二次開發,通過算法、軟件優化等技術層面解決樣式配置問題,實現個性化、標準化的多重地圖表達,滿足地圖多樣化顯示,樣式配置更加靈活多樣的需求。
參考文獻:
【1】孫亞夫,姜莉莉.淺論網絡地圖服務技術應用框架與市場策略[J].電子地圖技術與應用,2007,6(3):53-57.
【2】朱秀麗,周志武,李靜,等.網絡矢量地圖瓦片技術研究[J].測繪通報,2016(11):106-109.
【3】SVTiles格式的矢量瓦[EB/OL].[2015-10-12].http://support.Supermap.com.cn:8090/iserver/help/html/Subject_introduce/Cache/MapCache/T.
【4】陳舉平,丁建勛.矢量瓦片地圖關鍵技術研究[J].地理空間信息,2017,15(8):44-47.
【5】MACWRIGHTT,WHITEW,KAEFERK,et al .MBTilesSpecification[EB/OL]. [2016- 02- 09].https:/ / github.com/mapbox /mbtiles- spec.
【6】孟旭霞,譚少華,等.嵌入式 WebServer中 SQLite訪問技術的研究[J],微計算機信息,2008(24):95-97.
【7】王亞平,蒲英霞,劉大偉,等.基于TileStache的多源投影矢量數據瓦片生成技術研究[J],地理信息世界,2015(1):77-81.
【8】Mapbox.MapboxGLJS[EB/OL].https:/ / github.com/mapbox/mapbox- gl- js,2016- 12- 25/ 2016- 12- 30.
【9】Mapzen .Tangram [EB/OL].https:/ /mapzen.com/ documen- tation/ tangram/ Tangram- Overview/,2016- 12- 25/ 2016- 12- 28.
【10】何猛,蔡忠亮,任福.移動地圖中的矢量瓦片組織方法研究[J].測繪地理信息,2015,40(2):74-76.