SAS.Wiki

Веб-картография и навигация

Инструменты пользователя

Инструменты сайта


описания_формата_пользовательских_карт_zmp

Это старая версия документа.


Главная страница

Описание формата пользовательских карт zmp

Для работы с каждым картографическим сервисом программе необходима информация о параметрах данного сервиса. Описание этих параметров представляется в виде zip-архива с расширением .zmp либо отдельной папкой с постфиксом .zmp, которые хранятся в папке maps.

Архив/папка с расширением/постфиксом .zmp может содержать следующие файлы и папки:

  • params.txt (обязательно) — параметры карты;
  • GetUrlScript.txt (обязательно) — скрипт, отвечающий за формирование ссылки на тайл карты и пользовательских заголовков;
  • info.txt — информация о карте;
  • графические файлы, ссылка на которые размещена в info.txt (например, легенда карты);
  • EmptyTiles — директория, содержащая образцы тайлов, которые не будут скачиваться с сервера (например, полностью прозрачные тайлы). В некоторых случаях сервер отдаёт «пустышки» в формате, отличном от формата обычных тайлов, например, обычные тайлы — jpg, а «пустышка» — png. SAS.Планета же переписывает все принятые тайлы в формат, указанный в параметре Ext (см. ниже). В таких случаях в качестве образцов необходимо использовать исходные файлы, присланные сервером, а не брать их из кэша программы.
  • 18.bmp — файл иконки, отображаемой в меню программы (bmp, 18×18 pix, цвет фона RGB(255,0,255));
  • 24.bmp — файл иконки, отображаемой на панели инструментов (bmp, 24×24 pix, цвет фона RGB(255,0,255)).

В последних версиях программы вместо 18.bmp и 24.bmp можно использовать один файл с именем 24.bmp. Содержимое этого файла — изображение произвольного размера в формате bmp, png, ico и других (но с расширением bmp).

params.txt

Параметры файла params.txt:

Раздел [PARAMS]

  • asLayer — если равно 1, карта используется как слой, накладываемый поверх основной карты.
  • pnum — порядковый номер карты в меню.
  • GUID — уникальный идентификационный номер карты (генераторы GUID можно найти в Интернете, например тут).
  • ParentSubMenu — название пункта родительского меню для данной карты на русском языке.
  • ParentSubMenu_en — название пункта родительского меню для данной карты на английском языке.
  • ParentSubMenu_uk — название пункта родительского меню для данной карты на украинском языке.
  • name — имя карты на русском языке.
  • name_en — имя карты на английском языке.
  • name_uk — имя карты на украинском языке.
  • CacheType — тип кэша, в который будут записываться тайлы данной карты. 0 — по умолчанию, 1 — GoogleMV, 2 — SAS.Planet, 3 — EarthSlicer, 4 — GlobalMapper Tiles (GMT), 5 — Google Earth, 6 — BerkeleyDB (база данных Беркли), 7 — DBMS (СУБД), 8 — GeoCacher, 9 — RAM (на диск не записываются).
  • DefURLBase — неизменная часть адреса ссылки на тайлы карты.
  • projection — проекция карты. 1 — Меркатор на сфероид, 2 — Меркатор на эллипсоид, 3 — широта/долгота.
  • sradiusa — радиус большой полуоси эллипсоида.
  • sradiusb — радиус меньшей полуоси эллипсоида.
  • EPSG — код проекции карты.
  • NameInCache — имя папки в кэше, в которую будут записываться тайлы карты.
  • separator — разделитель в виде горизонтальной черты, отображаемый в меню после данной карты (1 — отображать, 0 — не отображать).
  • Ext — расширение тайла (.jpg, .png, .bmp, .gif). Задаёт формат, в котором принудительно будут сохраняться карты, если ContentType другой.
  • UseDwn — если равно 1, то скачивать тайлы карты разрешено.
  • Sleep — величина паузы между загрузками отдельных тайлов в миллисекундах.
  • DefHotKey — сочетание горячих клавиш для данной карты.
  • ContentType — тип загружаемых данных (например, image/jpeg, image/png). Можно использовать одновременно несколько типов.
  • DefaultContentType — тип, который будет использоваться, если сервер не вернул никакого типа или если стоит игнорирование типа, возвращаемого сервером.
  • IgnoreContentType — игнорирование типа, возвращаемого сервером.
  • MimeTypeSubst — подстановка типа загружаемых данных (например, «image/png8bit=image/png»).
  • TILERLEFT, TILERRIGHT, TILERTOP, TILERBOTTOM — параметры для обрезки скачиваемых тайлов соответственно слева, справа, сверху и снизу. Если получившийся прямоугольник не совпадает с квадратом 256×256, он ещё и растягивается или сжимается до этого размера.
  • UsePreloadPage — если равно 1, использовать предварительно загружаемую страницу (обязательно следует указать её адрес).
  • PreloadPage — адрес предварительно загружаемой страницы.
  • RequestHead — пользовательские HTTP-заголовки (headers), передаваемые на сервер. Поля должны отделяться символами \r\n (пример: RequestHead=Referer: maps.kosmosnimki.ru\r\nConnection: Keep-Alive).
  • Version — версия тайлов, соответствует переменной Version в GetUrlScript.txt.
  • MaxConnectToServerCount — максимальное число потоков. Значение по умолчанию устанавливается в секции [ZmpDefaultParams] файла SASPlanet.ini
  • IsUseDownloaderInScript=1 - использование скачивания внутри скрипта добавить отсюда
  • UseMemCache - использовать кэш в памяти (при CacheType=9 (RAM-кэш) отключение данной опции приведёт к ошибке), включено по-умолчанию
  • MemCacheCapacity - количество тайлов кэшируемых в память. По-умолчанию = 100
  • MemCacheTTL - время жизни тайлов (в миллисекундах), кэшируемых в память. По-умолчанию = 60000 мс. (1 мин.)
  • MemCacheClearStrategy - стратегия очистки (по TTL), кэшируемых в память тайлов. Принимает значения: 0 - удалять ВСЕ тайлы из мем-кэша, если истёк TTL у самого СТАРОГО тайла; 1 - удалять ВСЕ тайлы из мем-кэша, если истёк TTL у самого МОЛОДОГО тайла; 2 - удалять только те тайлы, у которых истёк TTL. По-умолчанию включён режим 1.
  • RestartDownloadOnMemCacheTTL - автоматически перезакачивать тайлы в пределах видимой области экрана при очистке мем-кэша (работает только если UseMemCache=1). По-умолчанию отключено.

Порезка на тайлы

  • CutCountX=0 (число кусков по X, необязательный параметр)
  • CutCountY=0 (соответственно по Y)
  • CutSizeX=0 (размер куска по X, если не задано — берётся 256 из параметров)
  • CutSizeY=0 (соответственно по Y)
  • CutTileX=0 (положение запрошенного тайла в общей картинке по X)
  • CutTileY=0 (соответственно по Y)
  • CutToSkip=(0,0),(0,-1) перечень тайлов которые нужно пропускать(относительно CutTileX,CutTileY).

Раздел [ViewInfo]

  • EPSG — код проекции карты при выводе на экран.

Некоторые из параметров карты могут быть изменены внутри программы без редактирования файла params.txt. Для этого нужно зайти в Параметры→Параметры карты или нажать Ctrl+Alt+P. Пользовательские изменения настроек карт сохраняются в файле maps/maps.ini.

GetUrlScript.txt

Файл GetUrlScript.txt содержит скрипт, формирующий полные адреса ссылок на файлы данной карты. Скрипты пишутся на обычном Pascal.

info.txt

Файл info.txt содержит текстовую информацию о карте. Используется синтаксис HTML (в частности, абзацы надо разделять тегом <BR>). Также возможен вывод графических файлов (например, легенды карты), используя следующие тэги:

<img src=”Полный путь\графический файл”/> или

<img src=”графический файл”> (если файл находится в zmp).

Перевод этой страницы: