SASGIS

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

SAS.Wiki

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

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

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


простой_пример_с_плейсхолдерами

Упрощенный способ добавления Zmp карт с типичными параметрами URL

В предыдущих версиях SAS.Planet, чтобы добавить zmp с новой картой, нужно было немного откорректировать скрипт из файла GetUrlScript.txt, написанный на языке Pascal. Такой способ универсален, но трудоёмок, хотя является порой единственным способом добавления нестандартной карты.

Теперь же, новые версии SAS.Planet позволяют добавлять карты по шаблону, сведя к минимуму программирование. В самом простом случае zmp может состоять из всего одного файла params.txt. Просто добавьте обычный шаблон URL-адреса с плейсхолдерами. Такой, например:

DefURLBase=https://opentopomaps.ru/{z}/{x}/{y}

Такой способ позволяет гораздо проще и быстрее добавлять карты, в URL которых присутствуют только стандартные параметры.

Список допустимых плейсхолдеров для автозамены

{x}          Номер тайла по оси X (как в картах openstreetmap.org)
{y}          Номер тайла по оси Y (как в картах openstreetmap.org)
{z}          Уровень приближения/зума. Равен "GetZ - 1", т.е. начинается с нуля, как в картах OpenStreetMaps.org
{s}          Буква или цифра с номером зеркала сервера. Выбирается случайным образом из поля ServerParts
{q}          Номер тайла в системе QuadKey (как в картах Bing)
{-y}         Инвертированный номер тайла по оси Y, для карт стандарта TMS. Т.е. "2 ** z - 1 - y", например Nakarte.me
{bbox}       Координаты границ тайла 256x256 пикселов (для WMS серверов)
{timeStamp}  Текущее время в формате UnixTime (для карт с пробками)

{lang}       Язык
{ver}        Версия

{sas_path}   Полный путь к тайлам для карт в для карт в формате SasPlanet (Генштаб, Туристические)
{z+1}        Уровень зума. (Для карт, хранящихся в формате SasPlanet)
{x/1024}     Номер первой подпапки (Для карт, в формате SasPlanet)
{y/1024}     Номер второй подпапки (Для карт, в формате SasPlanet) 

Замечу, что плейсхолдер {sas_path} предназначен, чтобы заменять следующую комбинацию плейсходеров:

z{z+1}/{x/1024}/x{x}/{y/1024}/y{y}

Инструкция:

Для добавления новой карты нужно создать папку с названием, оканчивающемся на «.zmp». Например «Mapnik.zmp».

По желанию добавьте в эту папку файл с иконкой 24.bmp, файл с текстовым описанием карты info.txt.

А вот файла GetUrlSctipt.txt в папке быть не должно! Именно когда его нет и запускается обработка URL по упрощённой схеме.

Теперь нужно создать файл params.txt. Заполните его в соответствии с этой инструкцией.

Только в поле DefURLBase вставляйте шаблон URL адреса. К примеру, вот так:

DefURLBase= http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png

Ну, а если у сервера существует несколько зеркал, то их названия можно указать через запятую в поле ServerNames. Одно из них будет выбрано случайным образом и подставлено заместо плейсхолдера {s}.

ServerNames=a,b,c 

Примеры заполненных файлов params.txt:

Карта с наиболее распространённой схемой нумерации тайлов slippy map:

[PARAMS]
GUID={A983EC9D-09D8-44D1-B263-B2A1DA1A20B1}
ParentSubMenu_ru=OSM
ParentSubMenu=OSM
name_ru=OpenTopoMap.RU
name=OpenTopoMap.RU
NameInCache=OpenTopoMapRU
asLayer=0
EPSG=3785
DefURLBase=https://tile-{s}.opentopomap.ru/{z}/{x}/{y}.png
ServerNames=a,b,c
Ext=.png
DetectContentType=1
ContentType=image/jpeg,image/png

Карта с инвертированной осью Y (стандарт TMS)

[PARAMS]
GUID={A983EC9D-09D8-44D1-B263-B2A1DA1A20B2}
ParentSubMenu_ru=Топокарты\ГГЦ
ParentSubMenu=Topomaps\GGC
name_ru=ГГЦ 2км
name=GGC 2km
NameInCache=ggc2km
asLayer=0
EPSG=3785
DefURLBase=https://tiles.nakarte.me/ggc2000/{z}/{x}/{-y}
Ext=.png
DetectContentType=1
ContentType=image/jpeg,image/png

Карта с координатами QuadKey. Как известно, Microsoft любит выпускать такие же продукты, как у других, но другие.

[PARAMS]
GUID={A983EC9D-09D8-44D1-B263-B2A1DA1A20B3}
ParentSubMenu_ru=Городские
ParentSubMenu=City
name_ru=Bing
name=Bing
NameInCache=city_bing
asLayer=0
EPSG=3785
DefURLBase=http://ak.dynamic.t{s}.tiles.virtualearth.net/comp/ch/{q}?mkt=en-us&it=A,G,L&shading=hill&og=8&n=z
ServerNames=1,2,3
Ext=.png
DetectContentType=1
ContentType=image/jpeg,image/png

Карта с системой хранения тайлов в формате SAS.Planet (короткий вариант)

[PARAMS]
GUID={A983EC9D-09D8-44D1-B263-B2A1DA1A20B4}
ParentSubMenu_ru=Топокарты\ГГЦ
ParentSubMenu=Topomaps\GGC
name_ru=ГГЦ 2км
name=GGC 2km
NameInCache=ggc2km
asLayer=0
EPSG=3785
DefURLBase=http://91.237.82.95:8088/pub/ggc/2km.png/{sas_path}.jpg
Ext=.png
DetectContentType=1
ContentType=image/jpeg,image/png

Карта с системой хранения тайлов в формате SAS.Planet (длинный вариант)

[PARAMS]
GUID={A983EC9D-09D8-44D1-B263-B2A1DA1A20B4}
ParentSubMenu_ru=Топокарты\ГГЦ
ParentSubMenu=Topomaps\GGC
name_ru=ГГЦ 2км
name=GGC 2km
NameInCache=ggc2km
asLayer=0
EPSG=3785
DefURLBase=http://91.237.82.95:8088/pub/ggc/2km.png/z{z+1}/{x/1024}/x{x}/{y/1024}/y{y}.jpg
Ext=.png
DetectContentType=1
ContentType=image/jpeg,image/png

Слой с эллипсоидной проекцией и указанием текущего времени              

[PARAMS]
GUID={A983EC9D-09D8-44D1-B263-B2A1DA1A20B5}
ParentSubMenu_ru=Городские
ParentSubMenu=City
name_ru=Яндекс Пробки
name=Yandex Traffic
NameInCache=yandex_traffic
asLayer=1
EPSG=3395
DefURLBase=https://core-jams-rdr.maps.yandex.net/1.1/tiles?trf&l=trf&lang=ru_RU&x={x}&y={y}&z={z}&scale=1&tm={timeStamp}
Ext=.png
DetectContentType=1
ContentType=image/jpeg,image/png

Слой с координатами типа bbox              

[PARAMS]
GUID={A983EC9D-09D8-44D1-B263-B2A1DA1A20B6}
ParentSubMenu_ru=Информационные
ParentSubMenu=Info
name_ru=РосРеестр
name=RosReestr
NameInCache=rosreestr
asLayer=1
EPSG=3785
DefURLBase=http://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/CadastreWMS/MapServer/export?bboxSR=102100&size=256%2C256&imageSR=102100&format=png32&transparent=true&dpi=96&f=image&bbox={bbox}
Ext=.png
DetectContentType=1
ContentType=image/jpeg,image/png
Перевод этой страницы: