wiki:Nl:Help/Preferences/RemoteControl

Version 20 (modified by DiGro, 10 years ago) ( diff )

adjusted to revision 22

This page is missing some new options and the list of commands is probably better situated on a separate page.

Voorkeuren > Afstandsbediening

source:trunk/images/preferences/remotecontrol.png Instellingen voor de mogelijkheid van afstandsbediening.

Afstandsbediening maakt het mogelijk dat JOSM wordt beheerd vanuit andere toepassingen, bijv. vanuit een webbrowser, door een luisterende TCP-poort (8111) te openen op localhost waar het opdrachten accepteert.
Vanaf versie 6941 van JOSM luistert het ook op poort 8112 naar HTTPS.
Opmerking: Vanwege veiligheidsredenen is deze mogelijkheid in de standaard instellingen uitgeschakeld en moet handmatig worden ingeschakeld.

Als u toegang zoekt tot een website via HTTPS en de Afstandsbediening gebruikt zal het ook HTTPS gebruiken om uw JOSM te beheren. Als dat niet werkt, onthoud dan dat uw browser, add-ons/plug-ins voor beveiliging en firewalls deze toegang zouden kunnen blokkeren (u zou de mogelijkheid kunnen hebben dit toe te staan/whitelisten binnen die programma's) – controleer uw logs. In aanvulling daarop zou u uw browser mogelijk moeten vertellen het zelf-ondertekende HTTPS-certificaat van JOSM te accepteren. Meer details over enkele van deze problemen: How do I enable the "remote control" in JOSM? (op de Help-site van OSM).

De volgende beheersopties zijn beschikbaar:

No image "RemoteControl6767.png" attached to Nl:Help/Preferences/RemoteControl

  • Afstandsbediening inschakelen maakt het mogelijk om de mogelijkheid voor de afstandsbediening in- of uit te schakelen.
    • Gegevens laden vanuit de API
    • Gegevens importeren vanaf een URL
    • Lagen met luchtfoto's laden
    • De selectie wijzigen
    • De viewport wijzigen
    • Nieuwe objecten maken
    • Versie van protocol lezen
  • Bevestig alle acties van de Afstandsbediening handmatig

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).
Sinds versie 6941 van JOSM luistert het ook naar HTTPS op poort 8112.

load_and_zoom

Instrueert JOSM om een begrensd gebied van de API te downloaden, in te zoomen op het gedownloade gebied en optioneel één of meer objecten te selecteren.

GET /load_and_zoom?left=...&right=...&top=...&bottom=...&select=object[,object...] 

where

Parameter Vereist/Optioneel Betekenis
left V minimale longitude
right V maximale longitude
bottom V minimale latitude
top V maximale latitude
select O komma-gescheiden lijst met objecten die zouden moeten worden geselecteerd. Aanduidingen voor objecten zijn combinaties van de woorden "way", "node", of "relation", en het numerieke object-ID. Voorbeeld: select=way38473,node12399,node54646
new_layer O Indien true, downloaden naar een nieuwe laag
addtags O Optionele parameter om tags toe te voegen. De sleutel en waarde worden gescheiden door "=" en meerdere tags kunnen worden gescheiden door een Pipe "|". Zie details
referrers O Indien true, downloadt het ook verwijzingen van het object. D.i. ouder-relaties, en voor knopen, aanvullend, ouder-wegen. (since r6782)

Voorbeeld

Start JOSM (vergeet niet om de mogelijkheid RemoteControl in te schakelen), 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 zou nu een gebied in het Duitse Zwarte woud moeten laden en de gespecificeerde knoop hebben geselecteerd.

zoom

Instrueert JOSM om te zoomen naar het gespecificeerde gebied en optioneel één of meer objecten te 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 selectie. Het enige verschil is dat er geen gegevens worden geladen vanuit de API.

Hint: Deze opdracht kan ook worden gebruikt om alleen objecten te selecteren. Voer eenvoudigweg een klein begrensd gebied in bij de items left..bottom en voeg de objectlijst toe aan de optie select=.

import

Instrueert JOSM om het gespecificeerde OSM-bestand te downloaden en het toe te voegen aan de huidige gegevensset.

GET /import?url=... 

imagery

Instrueert JOSM om een laag voor foto's (WMS/TMS) toe te voegen.

GET /imagery?title=...&type=...&url=... 

where

Parameter Vereist/Optioneel Betekenis
title O De weer te geven naam van de laag
type O Type laag. Mogelijke waarden zijn wms, tms en bing
(sinds RemoteControl Versie 1.3)
min_zoom O Het minimale zoomniveau
(sinds RemoteControl Versie 1.4)
max_zoom O Het maximale zoomniveau. Voor hogere schalen worden de afbeeldingen van het maximale niveau vergroot
(sinds RemoteControl Versie 1.4)
url V De Request URL, inclusief patronen. Moet de laatste parameter zijn, alles na "&url=" wordt geïnterpreteerd als URL, zelfs als het tekens "&" bevat.

Voorbeelden

  • TMS layer "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 layer "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

Instrueert JOSM om objecten met een opgegeven ID te downloaden.

GET /load_object?new_layer=true|false&objects=... 

where

Parameter Vereist/Optioneel Betekenis
objects V Komma-gescheiden lijst met ID's van objecten, bijv. "n1234,n1235,w84,r958493"
new_layer O Indien true, downloaden naar een nieuwe laag
addtags O Optionele parameter om tags toe te voegen. De sleutel en waarde worden gescheiden door een "=" en meerdere tags kunnen worden gescheiden door een pipe "|". Zie details.

Voorbeeld

http://localhost:8111/load_object?new_layer=true&objects=w106159509

add_node

Instrueert JOSM om een nieuwe knoop te maken op de opgegeven coördinaten. Opmerking: Deze actie vereist het recht Create new objects dat standaard is uitgeschakeld.

GET /add_node?lon=...&lat=... 

where

Parameter Vereist/Optioneel Betekenis
lon V De longitude van de knoop
lat V De latitude van de knoop
addtags sinds v1.5 O Optionele parameter om tags toe te voegen. De sleutel en waarde worden gescheiden door een "=" en meerdere tags kunnen wordne gescheiden door een pipe "|". Zie details.

Voorbeeld

http://localhost:8111/add_node?lon=13.3&lat=53.2

add_way

Instrueert JOSM om een nieuwe weg te maken met nieuwe wegknopen op de opgegeven coördinaten.

Opmerking: Deze actie vereist het recht Create new objects dat standaard is uitgeschakeld.

GET /add_way?way=lat1,lon1;lat2,lon2;... 

where

Parameter Vereist/Optioneel Betekenis
way V Paren van coördinaten van latitude en longitude, gescheiden door een puntkomma.
addtags sinds v1.5 O Optionele parameter om tags toe te voegen. De sleutel en waarde worden gescheiden door een "=" en meerdere tags kunnen worden gescheiden door een pipe "|". Zie details.

Voorbeeld

http://localhost:8111/add_way?way=53.2,13.3;53.3,13.3;53.3,13.2

version

Deze opdracht geeft de huidige versie van het protocol van de geïnstalleerde interface RemoteControl terug. Ontwikkelaars kunnen het gebruiken om een uitgevoerde versie van JOSM te bevragen en ook om te bepalen of de gevraagde functionaliteit beschikbaar is in de cliënt.

GET /version[?jsonp=callback] 

De opdracht geeft een json-object terug dat een identificatie voor de toepassing bevat die altijd "JOSM RemoteControl" is, een groot getal en een klein getal. Compatibele wijzigingen in het protocol resulteren in een verhoging van het kleine getal. Niet compatibele wijzigingen verhogen het grote getal. Dus een cliënt-toepassing die weet van protocol versie 1.0 kan nog steeds praten met JOSM die 1.1 heeft. Maar er is geen garantie dat het werkt met 2.0. Dus zou de cliënt het grote nummer moeten verifiëren.

Een normale uitvoer zou er uitzien zoals dit:

{ 
   "protocolversion": { 
   "major": 1,  
   "minor": 0 
 },  
   "application": "JOSM RemoteControl" 
} 

Voor oudere browsers die niet implementeren Cross-Origin Resource Sharing (CORS) geeft de opdracht de mogelijkheid voor jsonp callback. Laad de URL in een scripttag en geef de naam van een callback op die de gegevens van JSON zal ontvangen. Het volgende is voorbeeldcode die controleert op mogelijkheden voor CORS en JSONP gebruikt als een oplossing voor fallback.

// in aanvulling op de CC-BY-SA van de wiki staat het u vrij om de volgende bron voor elk doel te gebruiken, zonder restricties (PD) 
// credits en aanvullingen worden op prijs gesteld: http://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); 
   } 
     
} 

Toevoegen, wijzigen of verwijderen van tags

Probeer dit voorbeeld eens: http://localhost:8111/load_and_zoom?addtags=wikipedia:de=Wei%C3%9Fe_Gasse|maxspeed=5&select=way23071688,way23076176,way23076177,&left=13.739727546842&right=13.740890970188&top=51.049987191025&bottom=51.048466954325. (Werkt ook met de opdracht tot zoomen) De gebruiker moet de tags en de selectie nakijken vóórdat de tags worden toegepast op het geselecteerde objecten. Als de tag bestaat op enkele objecten, zal die worden vervangen. Sinds protocol versie 1.5

  • Opdrachtenadd_node en add_way ondersteunen de parameter addtags
  • Het is mogelijk om het teken = te gebruiken in de waarde en alle voorloop en navolgende spaties worden verwijderd.

http://localhost:8111/add_node?lon=13.3&lat=53.2&addtags=natural=tree|name=%20%20%20==Grote%20eik== (maakt een knoop met natural=tree en name="==Grote eik==")

  • Indien een lege waarde wordt gevonden, dient de tag te worden verwijderd van de objecten (bevestiging met keuzevak is nodig)

http://localhost:8111/load_and_zoom?addtags=wikipedia:de=|maxspeed=&select=way23071688,way23076176,way23076177,&left=13.739727546842&right=13.740890970188&top=51.049987191025&bottom=51.048466954325.

Andere opdrachten

Remotecontrol staat andere invoegtoepassingen toe om aanvullende opdrachten toe te voegen. De andere registreert een klasse RequestHandler en specificeert opdracht om te worden afgehandeld door die klasse. De syntaxis van de opdracht moet worden gedefinieerd door de andere invoegtoepassing. Invoegtoepassing Reverter maakt sinds versie 27091 gebruik van deze mogelijkheid.

Zie ook

Oude pagina van JOSM Remote-Plugin op de wiki van OSM


Terug naar Voorkeuren
Terug naar Help

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.