Overpass: POIs in der Nähe von Tracks

Hallo,
ich plane mal wieder eine Radtour. Ich würde gerne anhand meines Tracks, der schon vorliegt, über Overpass alle Campingplätze im Bereich 3km rechts und links davon rausfischen.
Ich habe bisher nix gefunden um das automatisch zu bewerkstelligen. Vielleicht hat das ja schon mal einer von Euch gemacht…

Gruß
Stefan

Es gibt in JOSM ein Plugin (oder schon eingebaut?) namens Download-along … oder ähnlich.

Damit kann man eine GPS-Spur laden, und dann nach einstellbarer Größe alle Daten entlang der Strecke herunterladen, durch kleine viereckige boundingboxes.

Dann vielleicht in JOSM die Daten filtern … JOSM hat sehr mächtige und ausgeklügelte Filter!

Stephan

Hallo Stefan,

in deinem Fall empfiehlt sich eine Filterung mit einem vordefinierten Polygon. Syntax ist in der Doku erklärt. Schau dir am besten auch die Beispielsammlung an, wenn dir die Doku noch [1] zu trocken ist.

Das around-Feature dürfte für deinen Fall weniger geeignet sein, außer du fährst eine speziell ausgeschilderte Radroute.

Viele Grüße

Michael

[1] Je länger ich exotischere Features nutze, desto weniger trocken empfinde ich die Doku.

Hallo,

ich würde das wohl am ehesten mit QGIS machen, obwohl es nicht gerade einfach ist.

  1. GPX als Vectorlayer hinzufügen (hier hat das mit MultiLineString funktioniert)
  2. Unter Vector → Geometrieverarbeitungsfunktionen → Puffer… einen neuen Puffer hinzufügen.
    Dieser Puffer beschreibt im wesentlichen den Bereich, der max. 3km Abstand zu deinem GPX Track hat.
    Der Wert für den Pufferabstand hängt von der aktuellen Projektion ab, am besten mal ausprobieren.
  3. Auf den neu hinzugefügten Vectorlayer zommen
  4. Mit dem Plugin QuickOSM alle Campingplätze für die aktuelle BBOX ermitteln, damit wird ein weiterer Vectorlayer erzeugt
    Dafür gibt es z.B. die schnelle Abfrage mit Schlüssel tourism und Wert camp_site mit Ausdehnung der Karten-Ebene
  5. Layer aus 4. und 2. schneiden mit Vector → Geometrieverarbeitungswerkzeuge → Überschneidet…
    Dieser Schritt muss ggfs. mehrfach durchlaufen werden für Punkte und Wege.

Schritt 5. habe ich nicht durchgespielt, kann sein dass das so nicht funktioniert. - Funktioniert.

Direkt mit Overpass API müsste man entweder:
a) Für jeden Punkt im Track ein around mit lat/lon/radius absetzen
b) Aus den GPX Tracks die entsprechenden OSM Ways ermitteln und für diese ein around mit Radius durchführen.

Beides erscheint mir noch aufwändiger.

Den Polygon Ansatz kann ich nicht nachvollziehen, mir ist nicht klar, wo die ganzen lat/lons herkommen sollen.
Damit poly funktioniert müsste entweder :
a) die Aussenhülle des Puffers aus Schritt 2 oben übergeben werden
b) Zumindest eine geschlossene Fläche definieren, die alle relevanten OSM Ways selektiert - danach mit around+radius weiter
Bei einem Rundkurs wird das richtig kompliziert…

Gruß,
mmd

Schau mal den openroutservice an. Dort gibst du deine Route ein und dann kannst du es unter Suche mal mit der Entfernung und dem Suchwort “Campingplatz” probieren. Bei mir kommt zwar eine Fehlermeldung, aber vielleicht funktioniert es ja bei dir…

Danke schon mal für eure Antworten.

@stephan75 Die Idee hatte ich auch, hab die aber wg. der dann doch enormen Datenmengen wieder verworfen. Bei einer 7 Tagetour a ca. 100km einen 6km breiten Streifen erzeugt dann doch einiges an Traffic.

@Nakaner Mit dem “around” stimmt schon. Passt nicht. Meistens sind es Kombinationen aus diversen Routen. Jetzt brauche ich nur noch ein Script das mir den Track in ein Polygon umschreibt :wink: Das händisch zu erstellen klingt für mich auch nach viel Arbeit.

@mmd Auch der Ansatz ist mir zu aufwändig

@TSM1904 Das wäre genau was ich bräuchte, wenn die auch fremde Tracks zulassen würden. Die ganze Tour dort nochmal “nachstellen” lassen um die Campingplätze rauszuholen ist auch Blödsinn.

Fazit: Ich glaube ich werde es weitermachen wie bisher: Nach der Hauptroute die Tageskilometer einteilen und dann in der Umgebung suchen…auf der Karte

Grüße
Stefan

Hallo,

so sieht das ganze übrigens in QGIS aus (kleiner Ausschnitt aus einer 7-Tage Tour durch die Eifel)

Gesamte Tour:

GPX-Track in gelb, der Puffer drumherum in blau und die camp_sites im Puffer als schwarze “Flecken”.
Letztere habe ich nicht mehr besonders hervorgehoben.

Aufwändig ist immer relativ…

Gruß,
mmd

Im openrouteservice kann man anscheinend GPX-Tracks hochladen…

Route-Extras → Export/Import

Ha! einer fällt mir noch ein:

Osmand (für Android) hat ein Feature, wo man eine Route berechnen kann, und dann kann man nach bestimmten POIs im Abstand von XXX Metern zu der Route suchen lassen.

Das klappt auch, aber der Weg dahin in der Osmand-Oberfläche ist ein wenig kompliziert.

Und ein oder zwei weitere offline-Navigations-Apps für Android/IPhone können sowas … weiß aber gerade nicht mehr, welche.

Ein weiterer möglicher Ansatz:

  1. Buffer per Turf.js erstellen (hier Ausgabe poly Filter in der Browser Konsole):

http://turfjs.party/#/560f709a874a1de46a5e


var f = {"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"LineString","coordinates":[
    [9.692789,47.550528],[9.612769,47.572483],[9.599857,47.587784],[9.5442,47.594709],[9.531008,47.602772],[9.528376,47.626328],[9.492684,47.651655],[9.466186,47.650814],[9.394723,47.671824],[9.346688,47.665884],[9.308698,47.675409],[9.271738,47.69595]
]}}]};

var buffered = turf.buffer(f, 3, 'kilometers');

var coords = turf.flip(buffered).features[0].geometry.coordinates[0];
var poly = 'poly:"' + coords.join(' ').replace(/,/g, ' ') + '"';
console.log('{{poly=' + poly + '}}');

  1. Overpass API Abfrage mit Polygon Filter (wie schon von Michael erwähnt)

http://overpass-turbo.eu/s/bgY

Einfacher als QGIS ist das erst mal auch nicht, man könnte das aber z.B. zu einer Leaflet Webseite oder einem Node.js Script ausbauen.

Gruß,
Norbert