Формат 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), то в качестве образцов необходимо использовать исходные файлы, отправленные сервером, а не брать их из кэша программы.