SASGIS

Веб-картография и навигация

SAS.Wiki

Веб-картография и навигация

Инструменты пользователя

Инструменты сайта


тайл

Тайл

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

Изображения растровых тайлов хранятся в двух форматах:

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

Большинство картографических сервисов предоставляют квадратные тайлы размерами 256х256 пикселей, поэтому в SAS.Планете принят именно такой размер. Формат тайлов по умолчанию - JPEG.

Тайловая сетка

Картинка 256×256 пикселов слишком мала, чтобы отобразить на ней подробную карту - поэтому тайлы организованы в виде пирамиды. Существует негласный стандарт Slippy map1), 2) согласно которому работает большинство картографических сервисов:

  • Нумерация масштабов {z} идёт с нуля, при этом нулевой масштаб представлен одним тайлом и на нём изображена вся планета. В реальном мире можно встретить масштабы 0-18 для спутниковых снимков. Иногда до 22 в случае съёмки с БПЛА или очень подробных карт.
  • Масштаб тайлов кратен двойке: при увеличении зума каждый тайл делится на четыре (два по вертикали и два по горизонтали), т.е. количество тайлов на слое равно 4z. Так, на масштабе 18: 418 = 68719476736
  • Тайлы нумеруются слева-направо {x}, сверху-вниз {y}. Т.о. начало координат находится в NW (nord-west) углу
  • Для сопоставления географических координат и тайловых координат (т.е. проецирования круглой Земли на квадраты тайлов) используется проекция Меркатора EPSG:3785

Данный подход используется в Google Maps, OpenStreetMap. В силу исторических причин в SAS.Planet нумерация слоёв начинается не с нуля, а единицы ({z} == GetZ - 1), на что нужно обратить внимание при создании zmp.

Как следствие особенностей координатной сетки, ссылка на тайл может быть аналогичной пути в файловой системе, например ./{z}/{x}/{y}.jpg. Такой способ хранения тайлов прост (соответствует кэшу «Mobile Atlas Creator»), но немногие файловые системы могут эффективно хранить и быстро предоставлять доступ к миллионам мелких файлов. Поэтому последние версии SAS.Planet используют базу данных SQLite для хранения кэша (CacheType=71).

Примеры

Ссылки

Перевод этой страницы: