Перейти к содержанию

Формат 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 — файл иконки, отображаемой на панели инструментов. Содержимое этого файла — изображение произвольного размера в формате BMP, PNG, ICO и других, но имя должно быть 24.bmp. В ранних версиях программы требовались иконки 18.bmp (BMP, 18×18 pix, цвет фона RGB(255,0,255)) и 24.bmp 24×24 pix, цвет фона RGB(255,0,255)).
  • 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), то в качестве образцов необходимо использовать исходные файлы, отправленные сервером, а не брать их из кэша программы.

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