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 — код проекции карты при выводе на экран.

В ночных версиях появилась возможность использовать более продвинутый хоть и медленный парсер kml, c поддержкой чтения оформления меток, линий и полигонов или принудительно задать свои настройки для конкретного zmp. Для того что бы включить и настроить эти функции используются следующие разделы:

Раздел [PARAMS_Vector]

  • UseAppearance — если равно 1, то включается использование оформления из zmp и загруженных векторных тайлов

Раздел [PARAMS_Vector_Point] Настройки оформления точек.

  • IconName — имя иконки по-умолчанию
  • IsForceIconName — если равно 1 (это значение по-умолчанию), то будет принудительно использовать заданную в параметре IconName, даже если парсер смог считать имя иконки из праметров точки
  • IconSize — размер иконки по-умолчанию
  • IsForceIconSize — если равно 1 (это значение по-умолчанию), то будет принудительно использовать размер иконки заданный в IconSize, даже если парсер смог считать размер из праметров точки

Раздел [PARAMS_Vector_Line] Настройки оформления линий

  • LineColor — цвет линии по-умолчанию
  • IsForceLineColor — если равно 1 (это значение по-умолчанию), то будет принудительно использовать цвет из LineColor, даже если парсер смог считать настройки из параметров линии
  • LineWidth — толщина линии по-умолчанию
  • IsForceLineWidth — если равно 1 (это значение по-умолчанию), то будет принудительно использовать толщину линии заданную в LineWidth, даже если парсер смог считать настройки из параметров линии

Раздел [PARAMS_Vector_Poly] Настройки оформления полигонов

  • LineColor — цвет границы полигона по-умолчанию
  • IsForceLineColor — если равно 1 (это значение по-умолчанию), то будет принудительно использовать цвет из LineColor, даже если парсер смог считать настройки из параметров полигона
  • LineWidth — толщина границы полигона по-умолчанию
  • IsForceLineWidth — если равно 1 (это значение по-умолчанию), то будет принудительно использовать толщину линии заданную в LineWidth, даже если парсер смог считать настройки из параметров полигона
  • FillColor — цвет заливки полигона по-умолчанию
  • IsForceFillColor — если равно 1 (это значение по-умолчанию), то будет принудительно использовать цвет из FillColor, даже если парсер смог считать настройки из параметров полигона

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

GetUrlScript.txt

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

info.txt

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

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

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

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