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 — название пункта родительского меню для данной карты на украинском языке.
    • существует возможность указать иерархическое меню разделив пункты символом «\» (например ParentSubMenu=Google\Планеты)
  • name — имя карты на русском языке.
  • name_en — имя карты на английском языке.
  • name_uk — имя карты на украинском языке.
  • CacheType — тип кэша, в который будут записываться тайлы данной карты:
    • 0 — по умолчанию
    • 1 — GoogleMV
    • 2 — SAS.Planet
    • 3 — EarthSlicer 1.95
    • 4 — GlobalMapper Tiles (GMT)
    • 41 — GlobalMapper Aux
    • 42 — GlobalMapper Bing
    • 43 — Mobile Atlas Creator (MOBAC)
    • 44 — OsmAnd+ Tiles
    • 45 — Tile Map Service (TMS)
    • 5 — Google Earth
    • 51 — GoogleEarth Terrain
    • 6 — BerkeleyDB
    • 61 — BerkeleyDB (Versioned)
    • 7 — DBMS (СУБД)
    • 71 — SQLite3
    • 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 — игнорирование типа, возвращаемого сервером.
  • DetectContentType - если равно 1, то после загрузки тайла будет выполнятся анализ его содержимого и коррекция поля Content-Type в хидерах ответа сервера
  • 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). По-умолчанию отключено.
  • License=© - текст лицензии, который будет выводиться в левом верхнем углу карты. Требуется для соблюдения условий распространения некоторых карт.
  • LayerZOrder - порядок отображения слоёв, по умолчанию 0. Слои с большим значением будут отображаться поверх слоев с меньшим значением
  • IsReadOnly=1 - использовать кэш в режиме «Только чтение»
  • IteratorSubRectSize - размеры по вертикали и горизонтали, измеряемые в стандартных тайлах (256х256 пикселей) при скачивании так называемых «мегатайлов», то есть тайлов с размерами более чем 256х256 пикселей. (Только в SACS)
  • IteratorSubRectAlign - если 0 - всё по умолчанию, если не 0 (1 или 2), то осуществляется точная привязка к размеру мегатайла. Если же не 1, а 2 - то будет дополнительно увеличен размер просматриваемой области, чтобы возможно было скачать даже, например, один левый верхний тайл в режиме кэш+интернет при сдвиге окна влево и вверх. Толкование малопонятное, интересующимся смотреть здесь.(Только в SACS)

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

  • 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).

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