SAS.Wiki

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

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

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


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

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

В предыдущих версиях SasPlanet, чтобы добавить новую карту нужно было немного откорректировать файл GetUrlScript.txt. А точнее - внести несколько правок в скрипт, написанный на языке Pascal.

И хотя такой способ полезен для создания скриптов подключения к различным нестандартным картам, в каких-то более типичных случаях хотелось бы обойтись меньшими трудозатратами.

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

http://opentopomaps.ru/{z}/{x}/{y}

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

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

{x}          Номер тайла по оси X. (Как в картах OpenStreetMaps.org)
{y}          Номер тайла по оси Y. (Как в картах OpenStreetMaps.org)
{z}          Уровень приближения/зума. (Как в картах OpenStreetMaps.org)
{s}          Буква или цифра с номером зеркала сервера. Выбирается случайным образом из поля ServerParts
{q}          Номер тайла в системе QuadKey. (Как в картах Bing)
{-y}         Инвертированный номер тайла по оси Y. (Как в картах с сайта Nakarte.me)
{bbox}       Координаты границ тайла. (Для 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».

По желанию добавьте в эту папку файлы с иконками (18.bmp и 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:

Типичная карта с нормальными номерами тайлов

[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

[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

[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

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

[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

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

[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
Перевод этой страницы: