This page is missing command features. Неполный перевод.
Другие языки:
- English
- français
- Nederlands
- русский
- @9 - @25
Команды удалённого управления
-
load_and_zoom
-
zoom
-
import
-
load_data
-
open_file
-
imagery
-
load_object
-
add_node
-
add_way
-
version
- Добавление, изменение и удаление тегов
- Другие команды
Список команд
Полный список команд и обязательных/необязательных параметров приведён на странице по адресу http://127.0.0.1:8111/ (когда JOSM запущен).
load_and_zoom
Указывает JOSM скачать область карты из API, приблизиться к скачанной области и (необязательно) выделить один или более объектов.
GET /load_and_zoom?left=...&right=...&top=...&bottom=...&select=object[,object...]
где
Параметр | Обязательный / необязательный | Значение |
---|---|---|
bottom | О | Минимальная широта |
top | О | Максимальная широта |
left | О | Минимальная долгота |
right | О | Максимальная долгота |
new_layer | Н | Если true, скачать в новый слой |
layer_name | Н | Действует только если данные загружены в новый слой. Даёт JOSM подсказку, каким должно быть имя слоя |
layer_locked | Н | Действует только если данные загружены в новый слой. Если true, то новый слой блокируется |
download_policy | Н | Действует только если данные загружены в новый слой. Если never , то скачивание блокируется |
upload_policy | Н | Действует только если данные загружены в новый слой. Если never или false, то отправка данных блокируется или препятствуется] |
addtags | Н | Необязательный параметр для добавления тегов. Ключ и значение разделяются "=", несколько тегов разделяются вертикальной линией "|". См. подробности. |
select | Н | Разделённый запятыми список объектов, которые должны быть выделены. Спецификаторы объектов — это комбинации слов "way", "node", или "relation" с числовым ID объекта. Пример: select=way38473,node12399,node54646 . Начиная с r13212, особое значение currentselection позволяет JOSM оставить предыдущее выделение.
|
zoom_mode | Н | download | selection, по умолчанию — selection |
changeset_comment | Н | Комментарий к пакету правок |
changeset_source | Н | Источник пакета правок |
search | Н | Поиск объектов в текущем слое данных. См. Поиск |
Пример
Запустите JOSM (не забудьте включить функцию дистанционого управления), затем щёлкните на:
JOSM должен скачать область в Шварцвальде (Германия) и выделить указанную точку.
zoom
Даёт JOSM команду приблизиться к указанной области и (необязательно) выделить один или более объектов.
GET /zoom?left=...&right=...&top=...&bottom=...&select=object[,object...]
Принимает те же параметры, что и команда load_and_zoom, и использует тот же код для масштабирования и выделения. Единственное отличие — что никакие данные не скачиваются из API.
Совет: эту команду можно использовать, чтобы только выделить объекты. Просто укажите небольшую произвольную область параметрами left..bottom и добавьте список объектов для параметра select=.
import
Указывает JOSM загрузить файл .OSM и добавить его содержимое к текущему набору данных.
GET /import?url=...
где
Параметр | Обязательный / необязательный | Значение |
---|---|---|
url | О | URL файла, including patterns. Должен быть последним параметром, всё после "&url=" воспринимается, как URL, даже если содержит символы "&". |
new_layer | Н | Если true, скачивает в новый слой |
layer_name | Н | Действует только если данные загружены в новый слой. Даёт JOSM подсказку, каким должно быть имя слоя |
layer_locked | Н | Действует только если данные загружены в новый слой. Если true, то новый слой блокируется |
download_policy | Н | Действует только если данные загружены в новый слой. Если never , то скачивание блокируется |
upload_policy | Н | Действует только если данные загружены в новый слой. Если never или false, то отправка данных блокируется или препятствуется] |
load_data
(с версии 1.6) Указывает JOSM загрузить данные OSM, закодированные непосредственно в URL, а не происходящие из внешнего файла. Это подходит лишь для небольшого объёма данных (некоторые браузеры ограничивают максимальную длину URL), но быстрее (поскольку не требуется скачивание) и во многих случаях, когда нужны динамически генерируемые данные, проще для генерации.
GET /load_data?new_layer=(true/false)&layer_name=...&mime_type=...&data=...
где
Параметр | Обязательный / необязательный | Значение |
---|---|---|
data | О | XML-данные для загрузки, это должен быть URL, закодированный так, чтобы спецсимволы &, = и ? имели коды %26, %3D и %3F, соответственно. Метод JS encodeUriComponent() обеспечивает такую функциональность «из коробки». |
new_layer | Н | Загрузить данные в новый слой |
mime_type | Н | Mime-тип данных, по умолчанию "application/x-osm+xml", который в настоящее время является единственным поддерживаемым mime-типом, но в дальнейшем будут поддерживаться и другие |
layer_name | Н | Имеет смысл только если данные загружаются в новый слой; даёт JOSM подсказку, какое имя дать слою |
layer_locked | Н | Действует только если данные загружены в новый слой. Если true, то новый слой блокируется |
download_policy | Н | Действует только если данные загружены в новый слой. Если never , то скачивание блокируется |
upload_policy | Н | Действует только если данные загружены в новый слой. Если never или false, то отправка данных блокируется или препятствуется] |
open_file
Открывает локальный файл в JOSM.
GET /open_file?filename=...
где
Параметр | Обязательный/необязательный | Значение |
---|---|---|
filename | О | Локальный файл, открываемый в JOSM (например: /tmp/test.osm) |
imagery
Указывает JOSM добавить слой подложки (WMS/TMS).
GET /imagery?title=...&type=...&url=...
где
Параметр | Обязательный/необязательный | Значение |
---|---|---|
url | О | URL запроса, включая шаблоны подстановки. Должен быть последним параметром. Всё после "&url=" интерпретируется как URL, даже если содержит символы "&". |
title | Н | Отображаемое имя слоя |
type | Н | Тип слоя. Возможные значения: wms , tms и bing (с версии RemoteControl 1.3) |
cookies | Н | |
min_zoom | Н | Минимальный масштаб (с версии RemoteControl 1.4) |
max_zoom | Н | Максимальный масштаб. Для более высоких уровней просто увеличивается изображение, доступное в максимальном масштабе (с версии RemoteControl 1.4) |
Обязательный параметр: url Необязательные параметры: title, type, cookies, min_zoom, max_zoom
Примеры
- TMS-слой "osm"
http://tile.openstreetmap.org/{zoom}/{x}/{y}.png
- WMS-слой "landsat"
http://irs.gis-lab.info/?layers=landsat&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}
load_object
Указывает JOSM скачать объекты с заданным ID.
GET /load_object?new_layer=true|false&objects=...
где
Параметр | Обязательный/необязательный | Значение |
---|---|---|
objects | О | Разделённый запятыми список ID объектов, например, "n1234,n1235,w84,r958493 "
|
new_layer | Н | Если true, скачивает в новый слой |
addtags | Н | Необязательный параметр для добавления тегов. Ключ и значение разделяются "=", а несколько тегов могут быть разделены вертикальной линией "|". См. подробнее. |
relation_members | Н | Если true, скачиваются также объекты, являющиеся участниками отношений. |
referrers | Н | Если true, скачиваются также ссылающиеся объекты, то есть родительские отношения, а для точек дополнительно родительские линии. (с r6782) |
layer_name | Н | Имеет смысл только если данные загружаются в новый слой; даёт JOSM подсказку, какое имя дать слою |
layer_locked | Н | Действует только если данные загружены в новый слой. Если true, то новый слой блокируется |
download_policy | Н | Действует только если данные загружены в новый слой. Если never , то скачивание блокируется |
upload_policy | Н | Действует только если данные загружены в новый слой. Если never или false, то отправка данных блокируется или препятствуется] |
Пример
http://localhost:8111/load_object?new_layer=true&objects=w106159509
add_node
Указывает JOSM создать новую точку с заданными координатами.
Примечание: это действие требует права Создать новые объекты, которое не включено в настройках по умолчанию.
GET /add_node?lon=...&lat=...
где
Параметр | Обязательный/необязательный | Значение |
---|---|---|
lon | О | Долгота точки |
lat | О | Широта точки |
addtags с v1.5 | Н | Необязательный параметр для добавления тегов. Ключ и значение разделяются "=", а несколько тегов могут быть разделены вертикальной линией "|". См. подробнее. |
Пример
http://localhost:8111/add_node?lon=13.3&lat=53.2
add_way
Указывает JOSM создать новую линию с точками, создаваемыми в заданных координатах.
Примечание: это действие требует права Создать новые объекты, которое не включено в настройках по умолчанию.
GET /add_way?way=lat1,lon1;lat2,lon2;...
where
Параметр | Обязательный/необязательный | Значение |
---|---|---|
way | О | Пары координат (широта, долгота), разделённые точками с запятой. |
addtags с v1.5 | Н | Необязательный параметр для добавления тегов. Ключ и значение разделяются "=", а несколько тегов могут быть разделены вертикальной линией "|". См. подробнее. |
Пример
http://localhost:8111/add_way?way=53.2,13.3;53.3,13.3;53.3,13.2
version
Эта команда возвращает текущую версию протокола интерфейса удалённого управления. Разработчики могут использовать её для запроса, запущен ли экземпляр JOSM, а также для определения, доступна ли требуемая функциональность на клиенте.
GET /version[?jsonp=callback]
где
Параметр | Обязательный/необязательный | Значение |
---|---|---|
jsonp | Н | обратный вызов Jsonp для старых браузеров, не поддерживающих Cross-Origin Resource Sharing (CORS) |
Команда возвращает объект json, содержащий идентификатор приложения, который всегда имеет вид: "JOSM RemoteControl", major и minor номера версии. Совместимые изменения протокола увеличивают minor номер. Несовместимые — увеличивают major номер. То есть клиентское приложение, знающее протокол версии 1.0, всё ещё может общаться с JOSM, имеющим 1.1. Но не гарантируется его работа с 2.0. Таким образом, клиент должен проверить major номер версии.
Типичный вывод выглядит так:
{ "protocolversion": { "major": 1, "minor": 0 }, "application": "JOSM RemoteControl" }
Для более старых браузеров, в которых не реализована технология Cross-Origin Resource Sharing (CORS), команда обеспечивает возможность jsonp-отклика. Load the URL in a script tag and supply the name of a callback that will receive the JSON data.
Далее приведён образец кода, проверяющего поддержку CORS и использующего вариант отклика JSONP.
// in addition to the CC-BY-SA of the wiki feel free to use the following source for any purpose without restrictions (PD) // credits and additions appreciated: https://wiki.openstreetmap.org/wiki/User:Stephankn function checkJOSM(version){ alert(version.application + " uses protocol version " + version.protocolversion.major + "." + version.protocolversion.minor); // do something useful, maybe showing edit button } var url = "http://127.0.0.1:8111/version"; var useFallback = false; // currently FF3.5, Safari 4 and IE8 implement CORS if (XMLHttpRequest) { var request = new XMLHttpRequest(); if ("withCredentials" in request) { request.open('GET', url, true); request.onreadystatechange = function(){ if (request.readyState != 4) { return; } if (request.status == 200) { checkJOSM(eval('(' + request.responseText + ')')); } }; request.send(); } else if (XDomainRequest) { var xdr = new XDomainRequest(); xdr.open("get", url); xdr.onload = function(){ checkJOSM(eval('(' + xdr.responseText + ')')); }; xdr.send(); } else { useFallback = true; } } else { // no XMLHttpRequest available useFallback = true; } if (useFallback) { // Use legacy jsonp call var s = document.createElement('script'); s.src = url + '?jsonp=checkJOSM'; s.type = 'text/javascript'; if (document.getElementsByTagName('head').length > 0) { document.getElementsByTagName('head')[0].appendChild(s); } }
Добавление, изменение и удаление тегов
Попробуйте этот пример: http://localhost:8111/load_and_zoom?addtags=wikipedia%3Ade=Weiße_Gasse%7Cmaxspeed=5&select=way23071688,way23076176,way23076177,&left=13.739727546842&right=13.740890970188&top=51.049987191025&bottom=51.048466954325. (Works also with the zoom-command)
Пользователь должен проверить теги и выделение перед применением тегов к выделенным объектам. Если у каких-нибудь объектов уже есть тег, он будет заменён.
С версии протокола 1.5
- команды
add_node
иadd_way
поддерживают параметрaddtags
- можно использовать символ
=
в значении, и все пробелы в начале/конце будут обрезаны.
http://localhost:8111/add_node?lon=13.3&lat=53.2&addtags=natural=tree%7Cname=%20%20%20==Great%20Oak== (создаёт точку с natural=tree и name="==Great Oak==")
- Если найдено пустое значение, тег будет удалён из объектов (checkbox-confirmation is needed)
Другие команды
Удалённое управление позволяет различным модулям добавлять дополнительные команды. The other registers a RequestHandler class and specifies a command to be handled by this class. The command syntax has to be defined by the other plugin.
Модуль reverter с версии 27091 использует эту функцию.
Назад к Удалённое управление
Назад к Настройки
Назад к Основной странице справки