Это старая версия документа.
Каждый картографический сервис в SASPlanet описывается в «zmp». Это zip-архив или папка с расширением .zmp
, в которой хранится текстовое описание сервиса в особом формате. Один «zmp» соответствует одной карте и независим от других. Сама аббревиатура является производным от слов: zip map.
Готовые zmp распространятся через основной и плюсовой репозитории. SASPlanet по умолчанию поставляется с основным набором карт.
Наша конечная цель - скачать тайлы с сервера и сохранить их в кеш SASPlanet. В zmp описывается как формируется ссылка на тайл и особенности HTTP-запроса на скачивание с конкретного сервера.
Основными параметрами тайла являются масштаб и координаты по осям x и y. В программе приняты следующие обозначения: масштаб обозначается переменной GetZ
, координаты по осям x
и y
- соответственно переменными GetX
и GetY
. Эти переменные привязаны к тайловой сетке, принятой на Google Maps. На других картсервисах могут быть приняты иные абсолютные значения указанных переменных. Наша задача - преобразовать рассчитанные программой значения GetX
, GetY
и GetZ
в форму, понятную для сервера, с которым мы собираемся работать.
Нам нужно сформировать такой текст запроса, в ответ на который сервер пришлёт нам конкретный, нужный нам тайл. Такие запросы уже посылает браузер, когда мы просматриваем в нём карту или снимок. Имеет смысл научиться формированию запросов у него.
Коллекция zmp карт располагается в подпапках Maps
программы. Изначально в программе использовались только zip-архивы с расширением .zmp
, затем появилась возможность хранить описание в неархивированных папках. Каждый zmp может содержать следующие файлы и папки:
18.bmp
(BMP, 18×18 pix, цвет фона RGB(255,0,255)) и 24.bmp
24×24 pix, цвет фона RGB(255,0,255)).Параметры файла params.txt:
Раздел [PARAMS]
cache_gmt/z{z}/{x}/{y}{ext}
cache_ma/{z}/{x}/{y}{ext}
cache_tms/{z}/{x}/{-y}{ext}
Раздел [ViewInfo]
В ночных версиях появилась возможность использовать более продвинутый хоть и медленный парсер kml, c поддержкой чтения оформления меток, линий и полигонов или принудительно задать свои настройки для конкретного zmp. Для того что бы включить и настроить эти функции используются следующие разделы:
Раздел [PARAMS_Vector]
Раздел [PARAMS_Vector_Point] Настройки оформления точек.
Раздел [PARAMS_Vector_Line] Настройки оформления линий
Раздел [PARAMS_Vector_Poly] Настройки оформления полигонов
Некоторые из параметров карты могут быть изменены внутри программы без редактирования файла params.txt. Для этого нужно зайти в Параметры→Параметры карты или нажать Ctrl+Alt+P. Пользовательские изменения настроек карт сохраняются в файле maps/maps.ini.
Файл GetUrlScript.txt содержит скрипт, формирующий полные адреса ссылок на файлы данной карты. Скрипты пишутся на обычном Pascal.
Файл info.txt содержит текстовую информацию о карте. Используется синтаксис HTML (в частности, абзацы надо разделять тегом <BR>).
Также возможен вывод графических файлов (например, легенды карты), через тег <img src=”path\to\image.bmp”/>
. Ссылаться можно в т.ч. на изображения в папке zmp.