Skip to content

Формат zmp и создание карт

Каждый картографический сервис в SAS.Планете описывается в “zmp”. Это папка или zip-архив с расширением .zmp, в котором хранится текстовое описание сервиса в особом формате. Один “zmp” соответствует одной карте и независим от других. Сама аббревиатура является производным от слов: zip map.

Коллекция zmp расположена в папке Maps в виде дерева каталогов и распространяется отдельно от SAS.Планеты.

Общий принцип

SAS.Планета скачивает тайлы с сервера и сохраняет их в тайловый кеш. В zmp описывается, как формируется ссылка на конкретный тайл и особенности HTTP-запроса на скачивание с конкретного сервера. При создании zmp чаще всего копируют поведение браузера при просмотре online-карт. Удобно пользоваться встроенными в браузер инструментами веб-разработчика, так, для Firefox нажмите F12, после чего откройте веб-страницу с картой.

Структура ZMP

Каждый zmp может содержать следующие файлы и папки:

  • params.txt — описывает основные параметры карты или слоя, единственный файл, который является обязательным;
  • GetUrlScript.txt — скрипт, отвечающий за формирование ссылки на тайл карты и пользовательских заголовков. Не нужен, если используется упрощенное добавление карт. Скрипты пишутся на обычном Pascal. Основными параметрами тайла являются масштаб и координаты по осям X и Y. Масштаб обозначается переменной GetZ (нумерация начинается с единицы), координаты по осям X и Y - соответственно переменными GetX и GetY;
  • 24.bmp или 24.png — файл иконки, отображаемой на панели инструментов. Ожидаемый размер иконки 24x24 пикселей (цвет фона для BMP: RGB(255,0,255)). Если размер иконки в файле отличается от ожидаемого, она будет автоматически подогнана под нужный размер. Кроме того, через параметр BigIconName в params.txt можно указать произвольное имя и расширение файла с иконкой. Например: BigIconName=favicon.ico;
  • 18.bmp или 18.png — файл иконки, отображаемой в списке карт. Ожидаемый размер иконки 18x18 пикселей (цвет фона для BMP: RGB(255,0,255)). При отсутствии данного файла, иконка генерируется автоматически из иконки 24x24 пикселей. Произвольное имя файла задаётся через параметр SmallIconName в params.txt;
  • info.txt, index.html — текстовое описание карты в подмножестве HTML (в частности, абзацы надо разделять тегом <br>). Возможен вывод графических файлов (например, легенды карты), через тег <img src="path\to\image.bmp"/>. Ссылаться можно в т.ч. на изображения в папке zmp.
  • графические файлы, ссылка на которые размещена в info.txt (например, легенда карты);
  • EmptyTiles, BanTiles — директории с образцами файлов, которые отдаёт сервер вместо пустых (полностью прозрачных) или отсутствующих тайлов, а также в случае бана. Такие тайлы не будут сохраняться в кэш SAS.Planet. В некоторых случаях сервер отдаёт нормальные тайлы в одном формате (например, image/jpeg), а «пустышки» в другом (например, полностью прозрачный image/png). Поскольку SAS.Planet конвертирует все принятые тайлы в формат, указанный в параметре Ext (см. описание в params.txt), то в качестве образцов необходимо использовать исходные файлы, отправленные сервером, а не брать их из кэша программы.

Обучающие примеры