Пирамида тайлов

Материал из «Знание.Вики»
Пример «плиточной» карты в стиле OpenStreetMap, район австралийского города Мельбурна.

Пирамида тайлов — набор изображений (тайлов), содержащих в себе геопространственную информацию, которые в совокупности отображают карту Земной поверхности и составляют единую иерархию[1]. Весь мир разделяется на несколько уровней масштаба, каждый из которых делится на равные квадраты. В итоге получаем пирамиду тайлов на всю земную поверхность.

Понятие тайла

Тайл (от англ. tile — плитка) в картографических сервисах — это одно из множества изображений на которые разбивается карта. Тайлы отображаются рядом друг с другом, создавая впечатление одной большой картинки[2]. Также, поскольку большую часть Земли покрывает вода, для карты достаточно хранить и показывать один синий тайл для всего мирового океана, что экономит дисковое пространство.

Изображения растровых тайлов (растровыми называются изображения, представляющее собой сетку пикселей) хранятся в двух форматах:

JPEG (спутниковые снимки, отсканированные карты) — при сохранении изображения ухудшается качество, но размер файла становится наименьшим;

PNG (изначально цифровые карты, полупрозрачные слои) — изображение при сохранении не теряет качество, поддерживается его прозрачность, но файл занимает больше места.

Большинство картографических сервисов предоставляют квадратные тайлы размерами 256х256 пикселей[2].

Сервис тайловых карт

Сервис тайловых карт (Tile Map Service) — негласный стандарт для отображения и работы с пирамидами тайлов большинства современных сервисов, предоставляющих геопространственную информацию. Алгоритм TMS является простым — карта мира «режется» в соответствии с иерархией (таб. 1).

Таблица 1 — Количество тайлов на каждом уровне пирамиды[3].

0 1 тайл на всю Землю 1 тайл
1 2 х 2 тайла 4 тайла
2 4 х 4 тайла 16 тайлов
n 2n х 2n тайлов 22n тайлов
12 4096 х 4096 тайлов 16 777 216 тайлов
16 Максимальный масштабный уровень сервиса «OpenCycleMap» 232=4 294 967 296 тайлов
17 Максимальный масштабный уровень сервиса «Osmarender layer» 17 179 869 184 тайла
18 Максимальный масштабный уровень сервиса «Mapnik layer» 68 719 476 736 тайлов

Согласно стандартам, по которым работает большинство картографических сервисов обращение к конкретному тайлу происходит по следующим критериям[2]:

— нумерация масштабов {Z} идет с нуля, при этом нулевой масштаб представлен одним тайлом и на нём изображена вся планета. В настоящее время можно встретить маштабы 0-18 для спутниковых снимков. Иногда до 22 масштаба можно встретить снимки с беспилотных летательных аппаратов или очень подробные карты;

— масштаб тайлов кратен двойке: при увеличении масштаба каждый тайл делится на четыре (2 по вертикали и 2 по горизонтали), то есть количество тайлов на слое равно 4n;

— тайлы нумеруются слева-направо {X}, сверху-вниз {Y}. Таким образом, начало координат находится в северо-западном углу;

— для сопоставления географических координат и координат тайловой сетки (то есть проецирования круглой Земли на квадраты тайлов) используется проекция Меркатора[4].

Примечания

  1. Алексей Румянцев. Как мы делаем карту для тех, кто делает карту. https://habr.com/ (02.11.2017). Дата обращения: 2023.05.13.
  2. 2,0 2,1 2,2 Тайл. sasgis.org. Дата обращения: 2023.05.13.
  3. Slippy map tilenames (англ.). wiki.openstreetmap. Дата обращения: 2023.05.13.
  4. Tile Map Service Specification. wiki.gis-lab.info. Дата обращения: 2023.05.13.
WLW Checked Off icon.svg Данная статья имеет статус «готовой». Это не говорит о качестве статьи, однако в ней уже в достаточной степени раскрыта основная тема. Если вы хотите улучшить статью — правьте смело!