Тайл (от англ. tile - плитка) в картографических сервисах - это одно из множества изображений на которые разбивается карта. Тайлы отображаются рядом друг с другом, создавая впечатление одной большой картинки. Поверхность Земли огромна и использование тайловой структуры позволяет передавать изображения только той её части, которую просматривает пользователь, что экономит интернет-трафик. Также, поскольку большую часть Земли покрывает вода, для карты достаточно хранить и показывать один синий тайл для всего мирового океана, что экономит дисковое пространство.
Изображения растровых тайлов хранятся в двух форматах:
Большинство картографических сервисов предоставляют квадратные тайлы размерами 256х256 пикселей, поэтому в SAS.Планете принят именно такой размер. Формат тайлов по умолчанию - JPEG.
Картинка 256×256 пикселов слишком мала, чтобы отобразить на ней подробную карту - поэтому тайлы организованы в виде пирамиды. Существует негласный стандарт Slippy map1), 2) согласно которому работает большинство картографических сервисов:
{z}
идёт с нуля, при этом нулевой масштаб представлен одним тайлом и на нём изображена вся планета. В реальном мире можно встретить масштабы 0-18 для спутниковых снимков. Иногда до 22 в случае съёмки с БПЛА или очень подробных карт.{x}
, сверху-вниз {y}
. Т.о. начало координат находится в NW (nord-west) углу
Данный подход используется в Google Maps, OpenStreetMap. В силу исторических причин в SAS.Planet нумерация слоёв начинается не с нуля, а единицы ({z} == GetZ - 1
), на что нужно обратить внимание при создании zmp.
Как следствие особенностей координатной сетки, ссылка на тайл может быть аналогичной пути в файловой системе, например ./{z}/{x}/{y}.jpg
. Такой способ хранения тайлов прост (соответствует кэшу «Mobile Atlas Creator»), но немногие файловые системы могут эффективно хранить и быстро предоставлять доступ к миллионам мелких файлов. Поэтому последние версии SAS.Planet используют базу данных SQLite для хранения кэша (CacheType=71
).