Здесь показаны различия между двумя версиями данной страницы.
простой_пример_с_плейсхолдерами [25/01/2021 15:35] radioxoma |
простой_пример_с_плейсхолдерами [04/02/2025 14:09] (текущий) 79.127.211.218 [Список допустимых плейсхолдеров для автозамены] |
||
---|---|---|---|
Строка 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 (как в картах openstreetmap.org) | | |
- | + | | ''{y}'' | Номер тайла по оси Y (как в картах openstreetmap.org) | | |
- | {x} Номер тайла по оси X. (Как в картах OpenStreetMaps.org) | + | | ''{z}'' | Уровень приближения/зума. Равен "GetZ - 1", т.е. начинается с нуля, как в картах openstreetmap.org | |
- | {y} Номер тайла по оси Y. (Как в картах OpenStreetMaps.org) | + | | ''{s}'' | Буква или цифра с номером зеркала сервера. Выбирается случайным образом из поля ''ServerNames'' | |
- | {z} Уровень приближения/зума. Равен "GetZ - 1", т.е. начинается с нуля, как в картах OpenStreetMaps.org | + | | ''{a,b,c}'' | Аналогично ''{s}'', но список зеркал задаётся прямо в шаблоне * | |
- | {s} Буква или цифра с номером зеркала сервера. Выбирается случайным образом из поля ServerParts | + | | ''{q}'' | Номер тайла в системе [[https://learn.microsoft.com/en-us/bingmaps/articles/bing-maps-tile-system|QuadKey]] (как в картах Bing). Как известно, Microsoft любит выпускать такие же продукты, как у других, но //другие//. | |
- | {q} Номер тайла в системе QuadKey. (Как в картах Bing) | + | | ''{-y}'' | Инвертированный номер тайла по оси Y, для карт стандарта TMS. Т.е. "2 ** z - 1 - y", например Nakarte.me| |
- | {-y} Инвертированный номер тайла по оси Y. Т.е. "2 ** z - 1 - y". (Как в картах с сайта Nakarte.me) | + | | ''{bbox}'' | Координаты границ тайла 256x256 пикселов (для WMS серверов) | |
- | {bbox} Координаты границ тайла. (Для WMS серверов) | + | | ''{timeStamp}'' | Текущее время в формате UnixTime (для карт с пробками) | |
- | {timeStamp} Текущее время в формате UnixTime. (Для карт с пробками) | + | | ''{lang}'' | Язык | |
- | + | | ''{ver}'' | Версия | | |
- | {lang} Язык | + | | ''{sas_path}'' | Полный путь к тайлам для карт в для карт в формате SAS.Planet (Генштаб, Туристические). Заменяет ''z{z+1}/{x/1024}/x{x}/{y/1024}/y{y}'' | |
- | {ver} Версия | + | | ''{z+1}'' | Уровень зума карт в формате SAS.Planet | |
- | + | | ''{x/1024}'' | Номер первой подпапки карт в формате SAS.Planet | | |
- | {sas_path} Полный путь к тайлам для карт в для карт в формате SasPlanet (Генштаб, Туристические) | + | | ''{y/1024}'' | Номер второй подпапки карт в формате SAS.Planet | |
- | {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 по упрощённой схеме. | + | С переменными x, y, z внутри шаблона можно выполнять простые математические операции: +, -, *, / (целочисленное деление). * |
- | Теперь нужно создать файл params.txt. Заполните его в соответствии с [[простой_пример|этой инструкцией]]. | + | * - начиная с версии 250204.10746 |
+ | ===== Инструкция ===== | ||
+ | Для добавления новой карты нужно создать папку с названием, оканчивающемся на «.zmp». Например «Mapnik.zmp».\\ | ||
+ | По желанию добавьте в эту папку файл с иконкой ''24.bmp'', файл с текстовым описанием карты ''info.txt''.\\ | ||
+ | А вот файла ''GetUrlSctipt.txt'' в папке быть не должно! Именно когда его нет и запускается обработка URL по упрощённой схеме.\\ | ||
+ | Теперь нужно создать файл ''params.txt''. Заполните его в соответствии с [[простой_пример|простым примером]].\\ | ||
Только в поле ''DefURLBase'' вставляйте шаблон URL адреса. К примеру, вот так: | Только в поле ''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}''. | ||
Строка 57: | Строка 47: | ||
- | ===== Примеры заполненных файлов params.txt: ===== | + | ===== Примеры заполненных файлов params.txt ===== |
- | Типичная карта с нормальными номерами тайлов | + | Карта с наиболее распространённой схемой нумерации тайлов slippy map: |
[PARAMS] | [PARAMS] | ||
Строка 77: | Строка 67: | ||
- | Карта с инвертированной осью Y | + | Карта с инвертированной осью Y (стандарт TMS) |
[PARAMS] | [PARAMS] | ||
Строка 94: | Строка 84: | ||
- | + | Карта с координатами QuadKey. | |
- | Карта с координатами QuadKey | + | |
[PARAMS] | [PARAMS] | ||
Строка 114: | Строка 103: | ||
- | Карта с системой хранения тайлов в формате SasPlanet (короткий вариант) | + | Карта с системой хранения тайлов в формате SAS.Planet (короткий вариант) |
[PARAMS] | [PARAMS] | ||
Строка 132: | Строка 121: | ||
| | ||
| | ||
- | Карта с системой хранения тайлов в формате SasPlanet (длинный вариант) | + | Карта с системой хранения тайлов в формате SAS.Planet (длинный вариант) |
[PARAMS] | [PARAMS] | ||
Строка 168: | Строка 157: | ||
- | Слой с координатами типа BBox | + | Слой с координатами типа bbox |
[PARAMS] | [PARAMS] | ||
Строка 183: | Строка 172: | ||
DetectContentType=1 | DetectContentType=1 | ||
ContentType=image/jpeg,image/png | ContentType=image/jpeg,image/png | ||
+ |