wiki:Nl:Help/RemoteControlCommands

Version 2 (modified by DiGro, 9 years ago) ( diff )

--

This page is missing command features.

Opdrachten voor afstandsbediening

  1. load_and_zoom
  2. zoom
  3. import
  4. load_data
  5. open_file
  6. imagery
  7. load_object
  8. add_node
  9. add_way
  10. version
  11. Adding, changing or deleting tags
  12. 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:

http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999

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

http://localhost:8111/imagery?title=osm&type=tms&url=http://tile.openstreetmap.org/%7Bzoom%7D/%7Bx%7D/%7By%7D.png

  • WMS-laag "landsat" http://irs.gis-lab.info/?layers=landsat&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}

http://localhost:8111/imagery?title=landsat&type=wms&url=http://irs.gis-lab.info/?layers=landsat&SRS=%7Bproj%7D&WIDTH=%7Bwidth%7D&HEIGHT=%7Bheight%7D&BBOX=%7Bbbox%7D

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_node and add_way commands support addtags parameter
  • 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)

http://localhost:8111/load_and_zoom?addtags=wikipedia%3Ade=%7Cmaxspeed=&select=way23071688,way23076176,way23076177,&left=13.739727546842&right=13.740890970188&top=51.049987191025&bottom=51.048466954325.

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

Note: See TracWiki for help on using the wiki.