MBTiles 1.2 规范翻译
MBTiles 1.2
可以參考超圖的文檔MBTiles擴展
具體實現可以參考淺談利用SQLite存儲離散瓦片的思路和實現方法
mapbox提供了一個簡單實現測試代碼,github地址在這里https://github.com/mapbox/mbtiler.git
子標簽:
- Interaction: 實現交互所需的HTTP端點
- UTFGrid:此規范依賴于UTFGrid 1.2進行交互.
抽象
MBTiles是在SQLite數據庫中存儲地圖瓦片數據的規范,用于即時使用和傳送.
MBTiles文件稱為tilesets(瓦片集),必須實現以下規范,以確保與設備的兼容性。
數據庫規格
Tilesets使用version 3.0.0或更高版本的SQLite數據庫。
僅使用SQLite核心功能; tilesets 無需擴展.
MBTiles數據庫可以選用官方分配幻數(magic number)去快速識別為MBTiles。
數據庫
注意: 所概述的schemas盡量遵循接口。產生兼容結果的SQLite視圖同樣有效。
方便起見,本規范將表(tables)和虛擬表(virtual tables,視圖views)都當做表(tables)。
Metadata 元數據
Schema 方案
數據庫需要包含名為metadata的table或view。
該表必須具有名為name和value的兩列。metadata表典型創建語句如下:
CREATE TABLE metadata (name text, value text);Content 內容
metadata表用作key/value存儲,用于保存一些配置settings。
以下五個key是必須的:
- name: tileset的純英文名稱.
- type: overlay(覆蓋型)或baselayer(基本圖層型).
- version: tileset的版本,純數字.
- description: 描述圖層(layer)的文本.
- format: 瓦片數據的圖像文件格式: png或jpg
row在metadata中是推薦提供的,如有,可以提高性能。
bounds: 呈現的地圖區域的最大范圍。Bounds必須定義所有縮放級別所覆蓋的區域。范圍bounds以WGS:84中經緯度值表示,在OpenLayers Bounds格式表示為-
左,下,右,上.全球范圍為例: -180.0,-85,180,85.attribution:屬性字符串,使用純英文(和HTML)解釋地圖數據和(或)樣式的來源.
通常的tilesets實現都支持這些附加鍵。
基于UTFGrid交互.
Tiles 瓦片
Schema 方案
數據庫需要包含名為tiles的表.
該表必須具有zoom_level、tile_column、tile_row和tile_data四列。tiles表典型創建語句如下:
CREATE TABLE tiles (zoom_level integer, tile_column integer, tile_row integer, tile_data blob);Content 內容
tiles用于包含瓦片和用于定位的值。
zoom_level、tile_column和tile_row列在其構造中遵循
Tile Map Service規范,但受限于以下形式:
假定是global-mercator (球面墨卡托SphericalMercator)
tile_data blob列包含原始圖像二進制數據.
圖像文件的格式允許使用以下兩種:
- png
- jpg
Grids 網格
有關網格和交互元數據本身的實現細節,請參閱UTFGrid規范:MBTiles規范僅涉及存儲。
Schema 方案
數據庫可以有可選的表grids和grid_data。
grids必須具有zoom_level、tile_column、tile_row和grid四列。grids表典型創建語句如下:
CREATE TABLE grids (zoom_level integer, tile_column integer, tile_row integer, grid blob);grid_data必須具有zoom_level、tile_column、tile_row、key_name和key_json五列。grid_data表典型創建語句如下:
CREATE TABLE grid_data (zoom_level integer, tile_column integer, tile_row integer, key_name text, key_json text);Content 內容
grids表包含UTFGrid數據,gzip壓縮。
grid_data表包含grid key到value映射,將value編碼為JSON對象。
轉載于:https://www.cnblogs.com/oloroso/p/6806323.html
總結
以上是生活随笔為你收集整理的MBTiles 1.2 规范翻译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java day07第七课静态的和单例设
- 下一篇: Oracle 左外连接的一些測试