| Version 2 (modified by , 9 years ago) ( diff ) |
|---|
This page is missing command features.
Opdrachten voor afstandsbediening
-
load_and_zoom -
zoom -
import -
load_data -
open_file -
imagery -
load_object -
add_node -
add_way -
version - Adding, changing or deleting tags
- Other commands
Lijst met opdrachten
Een volledige lijst met opdrachten en verplichte/optionele parameters wordt weergegeven op http://127.0.0.1:8111/ (als JOSM wordt uitgevoerd).
load_and_zoom
Geeft JOSM instructies om een begrenzingsvak te downloaden vanaf de API, zoom naar het gedownloade gebied en selecteer optioneel één of meer objecten.
GET /load_and_zoom?left=...&right=...&top=...&bottom=...&select=object[,object...]
where
| Parameter | Vereist/Optioneel | Betekenis |
|---|---|---|
bottom | R | Minimum latitude |
top | R | Maximum latitude |
left | R | Minimum longitude |
right | R | Maximum longitude |
new_layer | O | Indien true, downloadt naar een nieuwe laag |
addtags | O | Optionele parameter om tags toe te voegen. De sleutel de waarde worden gescheiden door "=" en meerdere tags kunnen worden gescheiden door een pipe "|". Zie [details #addtags]. |
select | O | Kommagescheiden lijst van objecten die zouden moeten worden geselecteerd. Specificaties voor objecten zijn combinaties of de woorden "way", "node", of "relation", en de numerieke ID van het object. Voorbeeld: select=way38473,node12399,node54646
|
zoom_mode | O | download | selection, standaard selectie |
changeset_comment | O | Opmerking van de wijzigingenset |
changeset_source | O | Bron van de wijzigingenset |
search | O | Zoeken naar objecten in de huidige gegevenslaag. Zie Zoeken |
Voorbeeld
Start JOSM (vergeet niet de mogelijkheid Afstandsbediening in te schakelen), en klik dan op:
JOSM zal nu een gebied in het Duitse Schwarzwald downloaden en de gespecificeerde knoop hebben geselecteerd.
zoom
Geeft JOSM instructies te zoomen naar het gespecificeerde gebied en optioneel één of meer objecten selecteren.
GET /zoom?left=...&right=...&top=...&bottom=...&select=object[,object...]
Accepteert dezelfde parameters als de opdracht load_and_zoom en gebruikt dezelfde code voor zoomen en selecteren. Het enige verschil is dat er geen gegevens zullen worden geladen vanaf de API.
Hint: Deze opdracht kan ook worden gebruikt om alleen objecten te selecteren. Voer gewoon een klein uniek gebied in bij de items left..bottom en voeg de lijst met objecten toe aan de optie select=.
import
Geeft JOSM instructies om het gespecificeerde bestand van OSM te downloaden en het toe te voegen aan de huidige set met gegevens.
GET /import?url=...
waar
| Parameter | Vereist/Optioneel | Betekenis |
|---|---|---|
url | R | |
new_layer | O | Indien true, downloadt naar een nieuwe laag |
load_data
(sinds versie 1.6) Geeft JOSM instructies om gegevens van OSM te laden, direct gecodeerd in de URL, in plaats van afkomstig uit een extern bestand. Dit is alleen geschikt voor kleinere gegevens (sommige browsers beperken de maximale lengte van de URL), maar is sneller (omdat er geen downloaden wordt vereist), en in veel gevallen waarin dynamisch gegenereerde gegevens nodig zijn, is het eenvoudiger te genereren.
GET /load_data?new_layer=(true/false)&layer_name=...&mime_type=...&data=...
waar
| Parameter | Vereist/Optioneel | Betekenis |
|---|---|---|
data | R | De te laden gegevens in XML, dit zou een URL moeten zijn die zo is gecodeerd dat het ook de speciale tekens &, = en ? codeert naar resp. %26, %3D en %3F. De methode van JS encodeUriComponent() verschaft deze functionaliteit van huis uit. |
new_layer | O | Kies er voor de gegevens in ene nieuwe laag te laden |
mime_type | O | Type Mime van de gegevens, standaard is dit "application/x-osm+xml", wat momenteel het enige ondersteunde type mime is, maar in de toekomst zouden ook andere typen mime kunnen worden ondersteund |
layer_name | O | Alleen geldig indien de gegevens in een nieuwe laag worden geladen; Geeft JOSM een hint over hoe de laag te noemen |
open_file
Opent een lokaal bestand in JOSM.
GET /open_file?filename=...
waar
| Parameter | Vereist/Optioneel | Betekenis |
|---|---|---|
filename | R | Het in JOSM te openen lokale bestand (Bijv: /tmp/test.osm) |
imagery
Geeft JOSM instructies om een afbeeldingslaag (WMS/TMS) toe te voegen.
GET /imagery?title=...&type=...&url=...
waar
| Parameter | Vereist/Optioneel | Betekenis |
|---|---|---|
url | R | De gewenste URL, inclusief patronen. Moet de laatste parameter zijn, alles na "&url=" wordt geïnterpreteerd als URL, zelfs als het tekens "&" bevat. |
title | O | De weer te geven naam van de laag |
type | O | Type van de laag. Mogelijke waarden zijn wms, tms en bing (sinds RemoteControl Versie 1.3) |
cookies | O | |
min_zoom | O | Het minimale zoomniveau (sinds RemoteControl Versie 1.4) |
max_zoom | O | Het maximale zoomniveau. Voor hogere schalen wordt de afbeelding van het maximale niveau vergroot (sinds RemoteControl Versie 1.4) |
vereiste parameters: url optionele parameters: title, type, cookies, min_zoom, max_zoom
Voorbeelden
- TMS-laag "osm"
http://tile.openstreetmap.org/{zoom}/{x}/{y}.png
- WMS-laag "landsat"
http://irs.gis-lab.info/?layers=landsat&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}
load_object
Geeft JOSM instructies om objecten te downloaden met opgegeven ID.
GET /load_object?new_layer=true|false&objects=...
waar
| Parameter | Vereist/Optioneel | Betekenis |
|---|---|---|
objects | R | Kommagescheiden lijst van ID's van objecten, bijv. "n1234,n1235,w84,r958493"
|
new_layer | O | Indien true, downloadt naar een nieuwe laag |
addtags | O | Optionele parameter om tags toe te voegen. De sleutel de waarde worden gescheiden door "=" en meerdere tags kunnen worden gescheiden door een pipe "|". Zie [details #addtags]. |
relation_members | O | Indien true, downloadt het objectleden van de relaties ook. |
referrers | O | Indien true downloadt het ook de verwijzingen naar de objecten. D.i. ouder-relaties, en voor knopen, aanvullend, ouder-wegen. (sinds r6782) |
Voorbeeld
http://localhost:8111/load_object?new_layer=true&objects=w106159509
add_node
Geeft JOSM instructies om een nieuwe knoop te maken op de opgegeven coördinaten.
Opmerking: Deze actie vereist het recht Nieuwe objecten maken is standaard uitgeschakeld.
GET /add_node?lon=...&lat=...
waar
| Parameter | Vereist/Optioneel | Betekenis |
|---|---|---|
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;...
waar
| Parameter | Vereist/Optioneel | Betekenis |
|---|---|---|
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]
waar
| Parameter | Vereist/Optioneel | Betekenis |
|---|---|---|
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


