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。

該表必須具有名為namevalue的兩列。metadata表典型創建語句如下:

    CREATE TABLE metadata (name text, value text);

Content 內容

metadata表用作key/value存儲,用於保存一些配置settings

以下五個key是必須的:

  • name: tileset的純英文名稱.
  • type: overlay(覆蓋型)或baselayer(基本圖層型).
  • version: tileset的版本,純數字.
  • description: 描述圖層(layer)的文本.
  • format: 瓦片數據的圖像文件格式: pngjpg

rowmetadata中是推薦提供的,如有,可以提高性能。

  • bounds: 呈現的地圖區域的最大范圍。Bounds必須定義所有縮放級別所覆蓋的區域。范圍boundsWGS:84中經緯度值表示,在OpenLayers Bounds格式表示為-
    左,下,右,上.全球范圍為例: -180.0,-85,180,85.

  • attribution:屬性字符串,使用純英文(和HTML)解釋地圖數據和(或)樣式的來源.

通常的tilesets實現都支持這些附加鍵。
基於UTFGrid交互.

Tiles 瓦片

Schema 方案

數據庫需要包含名為tiles的表.

該表必須具有zoom_leveltile_columntile_rowtile_data四列。tiles表典型創建語句如下:

    CREATE TABLE tiles (zoom_level integer, tile_column integer, tile_row integer, tile_data blob);

Content 內容

tiles用於包含瓦片和用於定位的值。
zoom_leveltile_columntile_row列在其構造中遵循
Tile Map Service規范,但受限於以下形式:

假定是global-mercator (球面墨卡托SphericalMercator)

tile_data blob列包含原始圖像二進制數據.

圖像文件的格式允許使用以下兩種:

  • png
  • jpg

Grids 網格

有關網格和交互元數據本身的實現細節,請參閱UTFGrid規范:MBTiles規范僅涉及存儲。

Schema 方案

數據庫可以有可選的表gridsgrid_data

grids必須具有zoom_leveltile_columntile_rowgrid四列。grids表典型創建語句如下:

    CREATE TABLE grids (zoom_level integer, tile_column integer, tile_row integer, grid blob);

grid_data必須具有zoom_leveltile_columntile_rowkey_namekey_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 keyvalue映射,將value編碼為JSON對象。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM