zoukankan      html  css  js  c++  java
  • [转]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的纯英文名称.
    • typeoverlay(覆盖型)或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对象。

    引文连接:MBTiles 1.2 规范翻译

  • 相关阅读:
    相对嵌套布局
    转:Android控件属性
    layout_weight属性分析
    Node.js 中文乱码解决
    转:正则表达式30分钟入门
    转: 再谈select, iocp, epoll,kqueue及各种I/O复用机制
    多线程调试
    GDB调试增强篇
    GDB调试
    笔趣阁
  • 原文地址:https://www.cnblogs.com/rainbow70626/p/8278706.html
Copyright © 2011-2022 走看看