SASGIS

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

SAS.Wiki

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

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

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


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

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

простой_пример_с_плейсхолдерами [13/02/2020 22:49]
nnngrach
простой_пример_с_плейсхолдерами [24/05/2023 21:26] (текущий)
radioxoma Стиль
Строка 1: Строка 1:
 ====== Упрощенный способ добавления Zmp карт с типичными параметрами URL ====== ====== Упрощенный способ добавления Zmp карт с типичными параметрами URL ======
  
-В предыдущих версиях ​SasPlanet, чтобы добавить новую карту нужно было немного откорректировать файл **[[описание_паскаль_скриптов|GetUrlScript.txt]]**. А точнее - внести несколько правок в скриптнаписанный на языке Pascal+В предыдущих версиях ​SAS.Planet, чтобы добавить ​[[zmp]] с новой картой, нужно было немного откорректировать ​скрипт из файла **[[описание_паскаль_скриптов|GetUrlScript.txt]]**написанный на языке Pascal. Такой ​способ универсален, но трудоёмок, хотя является порой единственным способом добавления нестандартной карты.
  
-И хотя такой способ полезен для создания скриптов подключения к различным нестандартным картам,  ​в каких-то более ​типичных ​случаях хотелось бы обойтись меньшими трудозатратами. ​+Теперь же, новые версии SAS.Planet ​позволяют добавлять карты по шаблону, сведя к минимуму программирование. В самом простом случае [[zmp]] может состоять из всего одного файла ''​params.txt''​. Просто ​добавьте обычный шаблон URL-адреса с плейсхолдерами. ​Такой, например:​
  
-Теперь же новые версии SasPlanet позволяют добавлять карты, не требуя навыков программирования:​ просто добавьте обычный шаблон URL-адреса с плейсхолдерами. Такой, например:​ +  DefURLBase=https://​opentopomaps.ru/​{z}/​{x}/​{y}
- +
-  http://​opentopomaps.ru/​{z}/​{x}/​{y}+
  
 Такой способ позволяет гораздо проще и быстрее добавлять карты, в URL которых присутствуют только стандартные параметры. ​ Такой способ позволяет гораздо проще и быстрее добавлять карты, в URL которых присутствуют только стандартные параметры. ​
  
  
-===== Список допустимых плейсхолдеров для автозамены===== +===== Список допустимых плейсхолдеров для автозамены ===== 
- +^ Плейсхолдер ^ Значение ^ 
-  {x}          Номер тайла по оси X(Как в картах ​OpenStreetMaps.org) +| ''​{x}'' ​        ​| ​Номер тайла по оси X (как в картах ​openstreetmap.org)                                                   | 
-  {y}          Номер тайла по оси Y(Как в картах ​OpenStreetMaps.org) +| ''​{y}'' ​        ​| ​Номер тайла по оси Y (как в картах ​openstreetmap.org)                                                   | 
-  {z}          Уровень приближения/​зума. ​ак в картах ​OpenStreetMaps.org) +| ''​{z}'' ​        ​| ​Уровень приближения/​зума. ​Равен "GetZ - 1", т.е. начинается с нуля, как в картах ​openstreetmap.org      | 
-  {s}          Буква или цифра с номером зеркала сервера. Выбирается случайным образом из поля ​ServerParts +| ''​{s}'' ​        ​| ​Буква или цифра с номером зеркала сервера. Выбирается случайным образом из поля ​''​ServerNames'' ​        | 
-  {q}          Номер тайла в системе ​QuadKey. (Как в картах Bing) +| ''​{q}'' ​        ​| ​Номер тайла в системе ​[[https://​learn.microsoft.com/​en-us/​bingmaps/​articles/​bing-maps-tile-system|QuadKey]] ​(как в картах Bing). Как известно,​ Microsoft любит выпускать такие же продукты,​ как у других,​ но //​другие//​. | 
-  {-y}         ​Инвертированный номер тайла по оси Y. (Как в картах с сайта Nakarte.me) +| ''​{-y}'' ​       | Инвертированный номер тайла по оси Y, для ​карт стандарта TMS. Т.е. "2 ** z - 1 - y", например ​Nakarte.me| 
-  {bbox} ​      ​Координаты границ тайла(Для WMS серверов) +| ''​{bbox}'' ​     | Координаты границ тайла ​256x256 пикселов ​(для WMS серверов) ​                                            | 
-  {timeStamp} ​ Текущее время в формате UnixTime(Для карт с пробками) +| ''​{timeStamp}''​ | Текущее время в формате UnixTime (для карт с пробками) ​                                                 | 
-  {z+1}        Уровень зума. (Для ​карт, хранящихся ​в формате ​SasPlanet) +| ''​{lang}'' ​     | Язык ​                                                                                                   | 
-  {x/​1024} ​    ​Номер первой подпапки ​(Для ​картв формате ​SasPlanet) +| ''​{ver}'' ​      | Версия ​                                                                                                 | 
-  {y/​1024} ​    ​Номер второй подпапки ​(Для ​картв формате ​SasPlanet) +| ''​{sas_path}'' ​ | Полный путь к тайлам для карт в для карт в формате SAS.Planet (Генштаб,​ Туристические). Заменяет ''​z{z+1}/​{x/​1024}/​x{x}/​{y/​1024}/​y{y}''​ | 
-  {lang} ​      ​Язык +| ''​{z+1}'' ​      ​| ​Уровень зума карт в формате ​SAS.Planet ​                                                                 | 
-  {ver}        Версия +| ''​{x/1024}'' ​   | Номер первой подпапки карт в формате ​SAS.Planet ​                                                        | 
-   +| ''​{y/1024}'' ​   | Номер второй подпапки карт в формате ​SAS.Planet ​                                                        |
-   +
-===== Инструкция:​ ===== +
- +
-Для добавления новой карты нужно создать папку с названием,​ оканчивающемся на «.zmp». Например «Mapnik.zmp».  +
- +
-По желанию добавьте в эту папку файлы с иконками (18.bmp и 24.bmp). Или файл с текстовым описанием карты (info.txt)+
  
-А вот файла GetUrlSctipt.txt в папке быть не должно! Именно когда его нет и запускается обработка URL по упрощенной схеме. ​ 
  
-Теперь нужно создать файл params.txt. Заполните его в соответствии с [[простой_пример|этой инструкцией]].+===== Инструкция =====
  
-Только в поле DefURLBase вставляйте шаблон URL адреса. К примеру,​ вот так:+Для добавления новой карты нужно создать папку с названием,​ оканчивающемся на «.zmp». Например «Mapnik.zmp».\\ 
 +По желанию добавьте в эту папку файл с иконкой ''​24.bmp'',​ файл с текстовым описанием карты ''​info.txt''​.\\ 
 +А вот файла ''​GetUrlSctipt.txt''​ в папке быть не должно! Именно когда его нет и запускается обработка URL по упрощённой схеме.\\ 
 +Теперь нужно создать файл ''​params.txt''​. Заполните его в соответствии с [[простой_пример|простым примером]].\\ 
 +Только в поле ​''​DefURLBase'' ​вставляйте шаблон URL адреса. К примеру,​ вот так:
  
-  DefURLBase= http://​{s}.tile.openstreetmap.org/​{z}/​{x}/​{y}.png+  DefURLBase=http://​{s}.tile.openstreetmap.org/​{z}/​{x}/​{y}.png
  
 Ну, а если у сервера существует несколько зеркал,​ то их названия можно указать через запятую в поле ''​ServerNames''​. Одно из них будет выбрано случайным образом и подставлено заместо плейсхолдера ''​{s}''​. ​ Ну, а если у сервера существует несколько зеркал,​ то их названия можно указать через запятую в поле ''​ServerNames''​. Одно из них будет выбрано случайным образом и подставлено заместо плейсхолдера ''​{s}''​. ​
Строка 48: Строка 43:
  
  
-===== Примеры заполненных файлов params.txt=====+===== Примеры заполненных файлов params.txt =====
  
-Типичная карта с нормальными ​номерами тайлов+Карта с наиболее распространённой схемой нумерации тайлов ​slippy map:
  
   [PARAMS]   [PARAMS]
Строка 64: Строка 59:
   ServerNames=a,​b,​c   ServerNames=a,​b,​c
   Ext=.png   Ext=.png
 +  DetectContentType=1
 +  ContentType=image/​jpeg,​image/​png
  
  
-Карта с инвертированной осью Y+Карта с инвертированной осью Y (стандарт TMS)
  
   [PARAMS]   [PARAMS]
Строка 79: Строка 76:
   DefURLBase=https://​tiles.nakarte.me/​ggc2000/​{z}/​{x}/​{-y}   DefURLBase=https://​tiles.nakarte.me/​ggc2000/​{z}/​{x}/​{-y}
   Ext=.png   Ext=.png
 +  DetectContentType=1
 +  ContentType=image/​jpeg,​image/​png
  
  
- +Карта с координатами QuadKey.
-Карта с координатами QuadKey+
  
   [PARAMS]   [PARAMS]
Строка 96: Строка 94:
   ServerNames=1,​2,​3   ServerNames=1,​2,​3
   Ext=.png   Ext=.png
 +  DetectContentType=1
 +  ContentType=image/​jpeg,​image/​png
  
  
  
-Карта с системой хранения тайлов в формате ​SasPlanet+Карта с системой хранения тайлов в формате ​SAS.Planet (короткий вариант)
  
   [PARAMS]   [PARAMS]
   GUID={A983EC9D-09D8-44D1-B263-B2A1DA1A20B4}   GUID={A983EC9D-09D8-44D1-B263-B2A1DA1A20B4}
-  ParentSubMenu_ru=Топокарты\Генштаб +  ParentSubMenu_ru=Топокарты\ГГЦ 
-  ParentSubMenu=Topomaps\Genshtab+  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_ru=ГГЦ 2км
   name=GGC 2km   name=GGC 2km
Строка 110: Строка 128:
   asLayer=0   asLayer=0
   EPSG=3785   EPSG=3785
-  DefURLBase=http://​91.237.82.95:​8088/​pub/​genshtab/1km/​z{z+1}/​{x/​1024}/​x{x}/​{y/​1024}/​y{y}.jpg+  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   Ext=.png
 +  DetectContentType=1
 +  ContentType=image/​jpeg,​image/​png
  
  
Строка 128: Строка 148:
   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}   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   Ext=.png
 +  DetectContentType=1
 +  ContentType=image/​jpeg,​image/​png
  
  
  
-Слой с координатами типа ​BBox+Слой с координатами типа ​bbox
                            
   [PARAMS]   [PARAMS]
Строка 144: Строка 166:
   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}   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   Ext=.png
 +  DetectContentType=1
 +  ContentType=image/​jpeg,​image/​png
 +