Спецификация MBTiles (перевод): различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
(Кое-как подлатал верстку)
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
.mbtiles - относительно новый формат хранения тайлов в БД sqlite.
{{Статья|Опубликована|mbtiles-spec}}
Ниже перевод официальной спецификации формата https://github.com/mapbox/mbtiles-spec/blob/master/1.2/spec.md


== MBTiles 1.2 ==
{{Аннотация|[https://www.mapbox.com/developers/mbtiles/ MBTiles] — относительно новый формат хранения тайлов в БД SQLite.
Ниже приведён перевод [https://github.com/mapbox/mbtiles-spec/blob/master/1.2/spec.md официальной спецификации] формата MBTiles 1.2.}}


Взаимодействие: HTTP-клиент необходим для обеспечения интерактивности
== Подразделы ==
* '''Взаимодействие''': HTTP-клиент необходим для обеспечения интерактивности
* '''UTFGrid''': Данная спецификация опирается на UTFGrid 1.2 (https://github.com/mapbox/utfgrid-spec) для обеспечения интерактивности.


UTFGrid: Данная спецификация опирается на UTFGrid 1.2 (https://github.com/mapbox/utfgrid-spec) для обеспечения интерактивности.
== Введение ==
 
=== Введение ===
MBTiles - формат хранения тайлов в SQLite базе данных для непосредственного использования и передачи.
MBTiles - формат хранения тайлов в SQLite базе данных для непосредственного использования и передачи.


MBTiles файлы, известные как 'тайлсеты', должны придерживаться данной спецификации для совместимости со всеми устройствами.
MBTiles файлы, известные как 'тайлсеты', должны придерживаться данной спецификации для совместимости со всеми устройствами.


=== Спецификации базы данных ===
== Спецификации базы данных ==


Тайлсеты представляют из себя валидные базы данных SQLite версии 3.0.0 или выше (http://sqlite.org/formatchng.html).
Тайлсеты представляют из себя валидные базы данных SQLite версии 3.0.0 или выше (http://sqlite.org/formatchng.html).
Строка 19: Строка 19:
Они должны использовать только базовые функции SQLite. Запрещено использовать расширения.
Они должны использовать только базовые функции SQLite. Запрещено использовать расширения.


=== База данных ===
== База данных ==


''Примечание: схемы изображены в качестве интерфейсов для удобства понимания спецификации. ''
''Примечание: схемы изображены в качестве интерфейсов для удобства понимания спецификации. ''


==== Metadata ====
=== Metadata ===
===== Схема =====
 
==== Схема ====
База данных должна иметь таблицу или представление под названием metadata.
База данных должна иметь таблицу или представление под названием metadata.


Строка 33: Строка 34:
     CREATE TABLE metadata (name text, value text);
     CREATE TABLE metadata (name text, value text);


===== Содержание =====
==== Содержание ====
 
Таблица metadata используется для хранения настроек. Обязательно наличие пяти записей:
Таблица metadata используется для хранения настроек. Обязательно наличие пяти записей:


Строка 63: Строка 65:
[UTFGrid-based interaction](https://github.com/mapbox/utfgrid-spec).
[UTFGrid-based interaction](https://github.com/mapbox/utfgrid-spec).


==== Tiles ====
=== Tiles ===
===== Схема =====
 
==== Схема ====
База данных должна содержать таблицу tiles
База данных должна содержать таблицу tiles


Строка 73: Строка 76:
     CREATE TABLE tiles (zoom_level integer, tile_column integer, tile_row integer, tile_data blob);
     CREATE TABLE tiles (zoom_level integer, tile_column integer, tile_row integer, tile_data blob);


===== Содержание =====
==== Содержание ====
 
Данная таблица содержит собственно тайлы и значения необходимые для их поиска
Данная таблица содержит собственно тайлы и значения необходимые для их поиска


Строка 88: Строка 92:
* jpg
* jpg


==== Grids ====
=== Grids ===
 
Смотри спецификацию UTFGrid specification(https://github.com/mapbox/utfgrid-spec) для деталей реализации сетки и их метаданных взаимодействий: в MBTiles данная спецификация используется только для хранения.
Смотри спецификацию UTFGrid specification(https://github.com/mapbox/utfgrid-spec) для деталей реализации сетки и их метаданных взаимодействий: в MBTiles данная спецификация используется только для хранения.
===== Схема =====
==== Схема ====
 
Таблица может иметь имя grids или grid_table.
Таблица может иметь имя grids или grid_table.


Строка 105: Строка 111:
     CREATE TABLE grid_data (zoom_level integer, tile_column integer, tile_row integer, key_name text, key_json text);
     CREATE TABLE grid_data (zoom_level integer, tile_column integer, tile_row integer, key_name text, key_json text);


===== Содержание =====
==== Содержание ====
 
Таблица grids должна содержать UTFGrid данные, со сжатием gzip.
Таблица grids должна содержать UTFGrid данные, со сжатием gzip.


Таблица grid_data содержит данные для отображения значений и значения в формате объектов JSON
Таблица grid_data содержит данные для отображения значений и значения в формате объектов JSON

Текущая версия от 20:56, 12 июня 2014

Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/mbtiles-spec.html


MBTiles — относительно новый формат хранения тайлов в БД SQLite. Ниже приведён перевод официальной спецификации формата MBTiles 1.2.

Подразделы

  • Взаимодействие: HTTP-клиент необходим для обеспечения интерактивности
  • UTFGrid: Данная спецификация опирается на UTFGrid 1.2 (https://github.com/mapbox/utfgrid-spec) для обеспечения интерактивности.

Введение

MBTiles - формат хранения тайлов в SQLite базе данных для непосредственного использования и передачи.

MBTiles файлы, известные как 'тайлсеты', должны придерживаться данной спецификации для совместимости со всеми устройствами.

Спецификации базы данных

Тайлсеты представляют из себя валидные базы данных SQLite версии 3.0.0 или выше (http://sqlite.org/formatchng.html).

Они должны использовать только базовые функции SQLite. Запрещено использовать расширения.

База данных

Примечание: схемы изображены в качестве интерфейсов для удобства понимания спецификации.

Metadata

Схема

База данных должна иметь таблицу или представление под названием metadata.

Данная таблица должна иметь две текстовые колонки под названием name и value.

Вот пример SQL запроса для создания данной таблицы:

   CREATE TABLE metadata (name text, value text);

Содержание

Таблица metadata используется для хранения настроек. Обязательно наличие пяти записей:

name: Название тайлсета на английском языке (только латиница)

type: overlay или baselayer

version: Версия тайлсета (целочисленное значение)

description: Описание слоя хранящегося в тайлсете

format: Формат, в котором хранятся тайлы png или jpg

Дополнительные записи, не являющиеся обязательными, которые могут повысить производительность:

bounds: Границы зоны карт. Границы должны определить площадь покрытую тайлами при любом уровне масштабирования.

Границы следует задавать в формате 'WGS:84' - широта и долгота

Границы задаются в формате OpenLayers Bounds (лево, низ, право, верх).

К примеру для всей планеты Земля границы будут выглядеть вот так: -180.0,-85,180,85.


attribution: Строка свойств (описание для разработчиков) написанное на английском языке (с использованием HTML) в которой указанны источники данных и стили карты.

Некоторые дополнительные ключи (записи):

[UTFGrid-based interaction](https://github.com/mapbox/utfgrid-spec).

Tiles

Схема

База данных должна содержать таблицу tiles

В данной таблице содержаться следующие столбцы: zoom_level, tile_column, tile_row, tile_data.

Пример SQL запроса для создания таблицы tiles:

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

Содержание

Данная таблица содержит собственно тайлы и значения необходимые для их поиска

zoom_level, tile_column, tile_row колонки придерживаются следующих спецификаций

[Tile Map Service Specification](http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification) в своей конструкции, но в ограниченной форме:

   Tglobal-mercator (http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification#global-mercator) (aka Spherical Mercator) profile is assumed** NB: не понял суть

Колонка tile_data blob содержит бинарные данные изображения тайла.

Поддерживаются следующие форматы хранения тайлов:

  • png
  • jpg

Grids

Смотри спецификацию UTFGrid specification(https://github.com/mapbox/utfgrid-spec) для деталей реализации сетки и их метаданных взаимодействий: в MBTiles данная спецификация используется только для хранения.

Схема

Таблица может иметь имя grids или grid_table.

Таблица grids должна иметь 4 колонки zoom_level, tile_column, tile_row, grid.

Пример SQL запроса для создания таблицы grids:

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

Таблица grid_data должна иметь 5 колонок zoom_level, tile_column, tile_row, key_name, key_json.

Пример SQL запроса для создания таблицы grid_data:

   CREATE TABLE grid_data (zoom_level integer, tile_column integer, tile_row integer, key_name text, key_json text);

Содержание

Таблица grids должна содержать UTFGrid данные, со сжатием gzip.

Таблица grid_data содержит данные для отображения значений и значения в формате объектов JSON