| Version 2 (modified by , 8 years ago) ( diff ) |
|---|
Незавершённый перевод. This page is missing command features.
Другие языки:
Команды удалённого управления
-
load_and_zoom -
zoom -
import -
load_data -
open_file -
imagery -
load_object -
add_node -
add_way -
version - Adding, changing or deleting tags
- Other commands
Список команд
Полный список команд и обязательных/необязательных параметров приведён на странице по адресу 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, скачать в новый слой |
addtags | Н | Необязательный параметр для добавления тегов. Ключ и значение разделяются "=", несколько тегов разделяются вертикальной линией "|". См. подробности. |
select | Н | Разделённый запятыми список объектов, которые должны быть выделены. Спецификаторы объектов — это комбинации слов "way", "node", или "relation" с числовым ID объекта. Пример: select=way38473,node12399,node54646
|
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
Instructs JOSM to download the specified OSM file and add it to the current data set.
GET /import?url=...
where
| Parameter | Required/Optional | Meaning |
|---|---|---|
url | R | The Request URL, including patterns. Must be the last parameter, everything after "&url=" is interpreted as URL, even if it contains "&" characters. |
new_layer | O | If true, downloads to a new layer |
load_data
(since version 1.6) Instruct JOSM to load OSM data, directly encoded in the URL, instead of coming from an external file. This is only suited for smaller data (some browsers limit the maximum URL length), but it is faster (since no download is required), and in many cases where dynamically generated data is needed, it's easier to generate.
GET /load_data?new_layer=(true/false)&layer_name=...&mime_type=...&data=...
where
| Parameter | Required/Optional | Meaning |
|---|---|---|
data | R | The XML data to load, this should be URL encoded in a way that also encodes the special characters &, = and ? to resp. %26, %3D and %3F. The JS encodeUriComponent() method provides this functionality out of the box. |
new_layer | O | Chose to load the data in a new layer |
mime_type | O | Mime type of the data, by default this is "application/x-osm+xml", which is currently the only supported mime type, but in the future other mime types could be supported |
layer_name | O | Only valid when the data is loaded in a new layer; Gives JOSM a hint on how to name the layer |
open_file
Open a local file in JOSM.
GET /open_file?filename=...
where
| Parameter | Required/Optional | Meaning |
|---|---|---|
filename | R | The local file to open in JOSM (Ie: /tmp/test.osm) |
imagery
Instructs JOSM to add an imagery (WMS/TMS) layer.
GET /imagery?title=...&type=...&url=...
where
| Parameter | Required/Optional | Meaning |
|---|---|---|
url | R | The Request URL, including patterns. Must be the last parameter, everything after "&url=" is interpreted as URL, even if it contains "&" characters. |
title | O | The display name of the layer |
type | O | Type of the layer. Possible values are wms, tms and bing (since RemoteControl Version 1.3) |
cookies | O | |
min_zoom | O | The minimum zoom level (since RemoteControl Version 1.4) |
max_zoom | O | The maximum zoom level. For higher scales, the images of the maximum level is enlarged (since RemoteControl Version 1.4) |
mandatory parameters: url optional parameters: title, type, cookies, min_zoom, max_zoom
Examples
- TMS layer "osm"
http://tile.openstreetmap.org/{zoom}/{x}/{y}.png
- WMS layer "landsat"
http://irs.gis-lab.info/?layers=landsat&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}
load_object
Instructs JOSM to download objects with a given id.
GET /load_object?new_layer=true|false&objects=...
where
| Parameter | Required/Optional | Meaning |
|---|---|---|
objects | R | Comma separated list of object ids, e.g. "n1234,n1235,w84,r958493"
|
new_layer | O | If true, downloads to a new layer |
addtags | O | Optional parameter to add tags. The key and value is separated by "=" and multiple tags can be separated by a Pipe "|". See details. |
relation_members | O | If true, downloads objects members of the relations as well. |
referrers | O | If true, downloads referrers of the object as well. I.e. parent relations, and for nodes, additionally, parent ways. (since r6782) |
Example
http://localhost:8111/load_object?new_layer=true&objects=w106159509
add_node
Instructs JOSM to create a new node at the given coordinates.
Note: This action requires the permission Create new objects which is disabled by default.
GET /add_node?lon=...&lat=...
where
| Parameter | Required/Optional | Meaning |
|---|---|---|
lon | R | The longitude of the node |
lat | R | The latitude of the node |
addtags since v1.5 | O | Optional parameter to add tags. The key and value is separated by "=" and multiple tags can be separated by a Pipe "|". See details. |
Example
http://localhost:8111/add_node?lon=13.3&lat=53.2
add_way
Instructs JOSM to create a new way with new way nodes at given coordinates.
Note: This action requires the permission Create new objects which is disabled by default.
GET /add_way?way=lat1,lon1;lat2,lon2;...
where
| Parameter | Required/Optional | Meaning |
|---|---|---|
way | R | Pairs of latitude, longitude coordinates separated by semicolon. |
addtags since v1.5 | O | Optional parameter to add tags. The key and value is separated by "=" and multiple tags can be separated by a Pipe "|". See details. |
Example
http://localhost:8111/add_way?way=53.2,13.3;53.3,13.3;53.3,13.2
version
This command returns the current protocol version of the installed RemoteControl interface. Developers can use it to query for a running instance of JOSM and also determine whether the requested functionality is available in the client.
GET /version[?jsonp=callback]
where
| Parameter | Required/Optional | Meaning |
|---|---|---|
jsonp | O | Jsonp callback for older browsers not implementing Cross-Origin Resource Sharing (CORS) |
The command returns a json object containing an application identifier that is always "JOSM RemoteControl", a major number and a minor number. Compatible protocol changes result in an increase of the minor number. Incompatible changes increase the major number. So a client application knowing of protocol version 1.0 can still talk to JOSM having 1.1. But it's not guaranteed to be working with 2.0. So the client should verify the major number.
A typical output looks like this:
{ "protocolversion": { "major": 1, "minor": 0 }, "application": "JOSM RemoteControl" }
For older browsers not implementing Cross-Origin Resource Sharing (CORS) the command provides the possibility for jsonp callback. Load the URL in a script tag and supply the name of a callback that will receive the JSON data.
Following is some sample code that checks for CORS capabilities and uses JSONP as a fallback solution.
// 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); } }
Adding, changing or deleting tags
Try this example: 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)
The user must review the tags and the selection before the tags are applied to the selected objects. If the tag exists on some objects, it will be can be replaced.
Since protocol version 1.5
add_nodeandadd_waycommands supportaddtagsparameter- It is possible to use
=character in value and all leading/trailing spaces are trimmed.
http://localhost:8111/add_node?lon=13.3&lat=53.2&addtags=natural=tree%7Cname=%20%20%20==Great%20Oak== (creates node with natural=tree an name="==Great Oak==")
- If empty value is found, tag is to be deleted from objects (checkbox-confirmation is needed)
Other commands
Remotecontrol allows other plugins to add additional commands. 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 plugin since version 27091 makes use of this feature.
Back to Help/Preferences/RemoteControl
Back to Help/Preferences
Back to Help


