x

Datenexport über Overpass und Erfahrungen eines Anwenders


  1. Datenexport über Overpass und Erfahrungen eines Anwenders · fastboy (Gast) · 06.03.2018 12:18 · [flux]

    Hallo Miteinander,
    seit einigen Jahren nutze ich OSM mit OSMAnd und bin immer wieder begeistert wie gut alles funktioniert. Für den nächsten Urlaub wollte ich mir mal eine POI File mit Motorradhändlern erstellen um einfach im Falle des Falles reagieren zu können.

    Über Overpass die folgende Abfrage kreiert:

    [out:json][timeout:125];
    //␣gather␣results
    (
    //␣query␣part␣for:␣“brand=KTM”.␣Do␣it␣using␣Regex␣expression␣.*␣=␣all␣before␣/␣after␣and␣i␣all␣small␣and␣capital␣letters
    node["shop"="motorcycle"]␣["brand"~".*KTM.*",i]␣({{bbox}});
    node["shop"="motorcycle"]␣["name"~".*KTM.*",i]␣({{bbox}});
    node["shop"="motorcycle"]␣["brand"~".*HUSQVA.*",i]␣({{bbox}});
    node["shop"="motorcycle"]␣["name"~".*HUSQVA.*",i]␣({{bbox}});
    );
    //␣print␣results
    out␣body;
    >;
    out␣skel␣qt;
    

    Und hier beginnen die Herausforderungen.
    viele dieser Händler sind als Punkt aus meinem Blickwinkel richtig getaggt aber ebenfalls eine große Anzahl als Buildings, die aber in dieser Form in OSMAnd und wahrscheinlich auch vielen anderen Programmen nicht dargestellt werden.

    Mich interessiert hier natürlich, wich ich das für mich in den Griff bekommen kann, aber auch was zu tun ist, um diese Situation innerhalb von OSM zu diskutieren und gegebenenfalls zu vereinheitlichen. Angenommen, mann könnte in OSM die POIS auf diese Situation (Punkt vs. Building) checken, würde sich zeigen, wieviele POIs aufgrund dieser Taggung nicht sichtbar sind.

    Was meinen die Profis dazu?
    Liebe Grüße,
    Fastboy


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · gormo (Gast) · 06.03.2018 13:07 · [flux]

      Du kannst Deine Abfrage auch auf ways erweitern, mit etwas wie

      (siehe https://overpass-turbo.eu/s/wKG )

      [out:json][timeout:25];
      //␣gather␣results
      (
      
      node["shop"="motorcycle"]␣["brand"~".*KTM.*",i]␣({{bbox}});
      node["shop"="motorcycle"]␣["name"~".*KTM.*",i]␣({{bbox}});
      node["shop"="motorcycle"]␣["brand"~".*HUSQVA.*",i]␣({{bbox}});
      node["shop"="motorcycle"]␣["name"~".*HUSQVA.*",i]␣({{bbox}});
      
      way["shop"="motorcycle"]␣["brand"~".*KTM.*",i]␣({{bbox}});
      way["shop"="motorcycle"]␣["name"~".*KTM.*",i]␣({{bbox}});
      way["shop"="motorcycle"]␣["brand"~".*HUSQVA.*",i]␣({{bbox}});
      way["shop"="motorcycle"]␣["name"~".*HUSQVA.*",i]␣({{bbox}});
      
      );
      //␣print␣results
      out␣body␣center;
      

      kriegst du dann auch nur die Zentroide der Ways. Ich nehme an das ist das was du willst.

      Datentechnisch ist beides korrekt, Punkt und Fläche.


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · Harald Hartmann (Gast) · 06.03.2018 13:14 · [flux]

      fastboy wrote:

      viele dieser Händler sind als Punkt aus meinem Blickwinkel richtig getaggt aber ebenfalls eine große Anzahl als Buildings, die aber in dieser Form in OSMAnd und wahrscheinlich auch vielen anderen Programmen nicht dargestellt werden.

      das Zauberwort sollte hier einfach nur "center" heißen, siehe dieses Beispiel hier, oder eben die Dokumentation.

      Das Problem was es aber dabei geben dürfte ist, dass der "Zentrumspunkt" der Fläche aber nicht normal unter lat/lon sondern in einem verschachtelten Untertag als lat/lon ausgegeben wird 🤔


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · Harald Hartmann (Gast) · 06.03.2018 13:20 · [flux]

      Siehe z.B. das Beispiel von gormo von München, da gibt es im Südwest einen Shop als way/Polygon/Fläche getaggt, sieht dann in den Daten so aus

      {
      "type":␣"way",
      "id":␣199096592,
      "center":␣{
      "lat":␣48.0917297,
      "lon":␣11.4900555
      },
      "nodes":␣[
      2091371865,
      2091371861,
      2091371862,
      2091371868,
      2091371865
      ],
      "tags":␣{
      "addr:city":␣"München",
      "addr:country":␣"DE",
      "addr:housenumber":␣"66",
      "addr:postcode":␣"81476",
      ...
      

      Und da ist eben das lat/lon unterhalb von center zu finden, im Gegensatz zu einem Node-Shop

      {
      "type":␣"node",
      "id":␣1460456479,
      "lat":␣48.1130571,
      "lon":␣11.6942280,
      "tags":␣{
      "brand":␣"KTM;␣Gas␣Gas;␣Beta;␣Enduro,␣MX",
      "name":␣"ERC␣Baumann",
      "opening_hours":␣"Tu-Fr␣12:00-18:00",
      "operator":␣"Michael␣Baumann",
      "parts":␣"yes",
      ...
      

      @mmd: du hast nicht zufällig einen "Zauberschalter", mit dem man das center lat/lon eine Ebene höher bringt? 😉


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · toc-rox (Gast) · 06.03.2018 14:26 · [flux]

      Osmfilter hat eine Option alle Objekte in einen Punkt zu verwandeln. Oder anders ausgedrückt: Overpass-API ist für den genannten Anwendungsfall eher ungünstig.


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · mmd (Gast) · 06.03.2018 14:51 · [flux]

      Harald Hartmann wrote:

      @mmd: du hast nicht zufällig einen "Zauberschalter", mit dem man das center lat/lon eine Ebene höher bringt? 😉

      Ist das wirklich ein Problem? Kann osmand kein gpx, kml oder geojson importieren? Dann sollte die Export Funktion in Turbo doch weiterhelfen.

      toc-rox wrote:

      Osmfilter hat eine Option alle Objekte in einen Punkt zu verwandeln. Oder anders ausgedrückt: Overpass-API ist für den genannten Anwendungsfall eher ungünstig.

      out center gibt doch nur Punkte aus, nur die Formatierung ist leicht abweichend. Komplett einheitlich formatiert wird mit 0.7.55 möglich sein, oder man nimmt halt csv als Ausgabeformat.


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · fastboy (Gast) · 06.03.2018 15:49 · [flux]

      Danke für Eure aktive Hilfe. Bin sehr erfreut.

      In OSMAnd werden die mit Building getaggten Points gar nicht angezeigt. Wenn ich das Ganze über KML und Maps anzeige werden alle Building Tags miteinander als Route verbunden - das ist dann auch Banane.

      Ich muss leider auch dazusagen, bin eher Anwender als Programmierer.

      Wenn toc-rox sagt: "Overpass-API ist für den genannten Anwendungsfall eher ungünstig." was würdet Ihr für einen solchen Fall eher empfehlen?

      In Eurer DB sind so viele nützliche Dinge vergraben, es wäre schade, wenn das nicht intensiver nutzbar wäre.

      Danke an alle


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · Harald Hartmann (Gast) · 06.03.2018 16:25 · [flux]

      Also ich habe es gerade mit meiner oben erwähnten Beispielabfrage von München getestet: als GPX exportiert und auf meiner SD Karte die Datei in den tracks Ordner kopiert ... alle 3 Münchner Shops werden nun als rote Sterne (Waypoints) angezeigt ... auch der im Südwesten als "Building" getaggte Shop


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · toc-rox (Gast) · 06.03.2018 16:40 · [flux]

      Hier mal ein Beispiel um alle Shops (Nodes, Ways, Rels) für den Regierungsbezirk Münster zu ermitteln. Das Ergebnis ist eine OSM-Datei die nur Nodes enthält:

      echo␣"OSM-Daten␣für␣den␣Regierungsbezirk␣Münster␣laden␣(geofabrik)␣..."
      curl␣--location␣--url␣http://download.geofabrik.de/europe/germany/nordrhein-westfalen/muenster-regbez-latest.osm.pbf␣--output␣muenster-regbez-latest.osm.pbf
      echo␣"␣"
      
      echo␣"Tags␣fuer␣'bBoxArea'␣und␣'bBoxWeight'␣hinzufuegen;␣Daten␣vom␣pbf-␣ins␣o5m-Format␣konvertieren␣..."
      ./osmconvert␣muenster-regbez-latest.osm.pbf␣--max-objects=600000000␣--add-bboxarea-tags␣--add-bboxweight-tags␣--verbose␣-o=muenster-regbez-latest.bbox.o5m
      echo␣"␣"
      
      echo␣"Alle␣Wege␣und␣Relationen␣in␣Nodes␣umwandeln␣(loescht␣die␣umgewandelten␣Objekte)␣..."
      ./osmconvert␣muenster-regbez-latest.bbox.o5m␣--max-objects=600000000␣--verbose␣--all-to-nodes␣-o=muenster-regbez-latest.alltonodes.o5m
      echo␣"␣"
      
      echo␣"Daten␣auf␣Nodes␣mit␣dem␣Tag␣shop=*␣reduzieren␣..."
      ./osmfilter␣muenster-regbez-latest.alltonodes.o5m␣--keep-nodes="shop=*"␣-o=muenster-regbez-latest.shops.osm
      echo␣"␣"
      

    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · mmd (Gast) · 06.03.2018 16:50 · [flux]

      toc-rox wrote:

      Hier mal ein Beispiel um alle Shops (Nodes, Ways, Rels) für den Regierungsbezirk Münster zu ermitteln. Das Ergebnis ist eine OSM-Datei die nur Nodes enthält:

      Und so wird das mit 0.7.55 aussehen: http://overpass-turbo.eu/s/wLh

      Das separate "<point lat="51.5597680" lon="7.0911309"/" versteht zwar im Moment noch kein Tool, aber das kann sich ja noch ändern.


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · fastboy (Gast) · 06.03.2018 17:00 · [flux]

      Hallo Harald, vielen Dank. Ich habe das nach Deinem Vorschlag gemacht und es hat prima funktioniert. Gibt es vielleicht eine einfache Möglichkeit die Anzahl der POIs auszugeben um hier ein Gefühl zu bekommen? Bereits gefunden -> out count; ;-)

      Ich werde mir jetzt mal die Overpass Doku anschauen, danke für den Link weiter oben.
      Freue mich, wenn diese Diskussion auch anderen hilft.


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · milet (Gast) · 06.03.2018 17:15 · [flux]

      fastboy wrote:

      Gibt es vielleicht eine einfache Möglichkeit die Anzahl der POIs auszugeben um hier ein Gefühl zu bekommen? Bereits gefunden -> out count; ;-)

      (Falls ich es nicht falsch verstanden habe:) Schau mal auf der Kartendarstellung in die untere rechte Ecke.


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · fastboy (Gast) · 06.03.2018 17:45 · [flux]

      Ja, Danke habe ich gefunden.


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · toc-rox (Gast) · 19.03.2018 14:37 · [flux]

      @mmd: Ja, das Overpass-Beispiel sieht im Ergebnis gut aus, die Abfragesyntax allerdings eher kryptisch.


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · mmd (Gast) · 19.03.2018 16:48 · [flux]

      toc-rox wrote:

      @mmd: Ja, das Overpass-Beispiel sieht im Ergebnis gut aus, die Abfragesyntax allerdings eher kryptisch.

      Seit ein paar Tagen kann man das auch deutlich kompakter schreiben: http://overpass-turbo.eu/s/x8Y


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · MKnight (Gast) · 19.03.2018 18:49 · [flux]

      Leicht OT:

      mmd wrote:

      Seit ein paar Tagen kann man das auch deutlich kompakter schreiben: http://overpass-turbo.eu/s/x8Y

      Dieses nwr ist hübsch, wird das in den Code der "Produktiv"-server zurückfliessen oder geht das nicht?


    • Re: Datenexport über Overpass und Erfahrungen eines Anwenders · mmd (Gast) · 19.03.2018 19:23 · [flux]

      MKnight wrote:

      wird das in den Code der "Produktiv"-server zurückfliessen

      Ja, es soll in 0.7.55 drin sein und kommt demnächst auch in die Produktion.