Это старая версия документа.
В предыдущих версиях 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] 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\Genshtab name_ru=ГГЦ 2км name=GGC 2km NameInCache=ggc2km asLayer=0 EPSG=3785 DefURLBase=http://91.237.82.95:8088/pub/genshtab/1km/{sas_path}.jpg Ext=.png DetectContentType=1 ContentType=image/jpeg,image/png
Карта с системой хранения тайлов в формате SasPlanet (длинный вариант)
[PARAMS] GUID={A983EC9D-09D8-44D1-B263-B2A1DA1A20B4} ParentSubMenu_ru=Топокарты\Генштаб ParentSubMenu=Topomaps\Genshtab name_ru=ГГЦ 2км name=GGC 2km NameInCache=ggc2km asLayer=0 EPSG=3785 DefURLBase=http://91.237.82.95:8088/pub/genshtab/1km/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