x

Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff


  1. Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff · tagtheworld (Gast) · 03.10.2017 23:34 · [flux]

    hallo und guten Abend,

    habe eine Frage zu den Regionen - bzw. Suchen die man in Overpass-Turbo in Suchanfragen eingeben kann.

    die untenstehende Abfrage läuft mit diversen Regionen

    Bayern,
    Thüringen
    Hamburg
    Paris

    [out:csv(::id,::type,"name","addr:postcode","addr:city","addr:street","addr:housenumber","website"," contact:email=*")][timeout:300];
    area[name="belgien"]->.a;
    ( node(area.a)[amenity=hospital];
    way(area.a)[amenity=hospital];
    rel(area.a)[amenity=hospital];);
    out;

    nicht jedoch mit

    Spanien
    Frankreich
    Italien usw usf

    warum ist das so!? Wie kann ich hier sinnvolle Ergebnisse erzielen - bzw. Abfragen so stellen, dass diese zielführend ist!?

    Freue mich von Euch zu hoeren...

    vg


    • Re: Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff · Harald Hartmann (Gast) · 04.10.2017 07:54 · [flux]

      Weil overpass turbo hier eine Nominatim Abfrage durchführt, und von dort das "erste" Ergebnis nimmt, was z.B. bei Frankreich NICHT das country ist! (Wobei Italien und Spanien eigentlich passen müsste).
      Zielführender sollte die Abfrage nach dem jeweiligen Isocode sein. Siehe dazu auch Select areas by name 😉


    • Re: Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff · tagtheworld (Gast) · 07.10.2017 11:48 · [flux]

      hallo Harald

      vielen herzlichen Dank - das hilft weiter.

      Harald Hartmann wrote:

      Weil overpass turbo hier eine Nominatim Abfrage durchführt, und von dort das "erste" Ergebnis nimmt, was z.B. bei Frankreich NICHT das country ist! (Wobei Italien und Spanien eigentlich passen müsste).
      Zielführender sollte die Abfrage nach dem jeweiligen Isocode sein. Siehe dazu auch Select areas by name 😉

      das hat ein AHA-Effekt aus geloest: mit France lässt sich die obige Abfrage auch sehr gut machen.

      nehme jetzt die Bezeichnungen von hier: http://www.geonames.org/countries/

      allerdings - Spain oder Germany funktionieren nicht - da bricht dann die Abfrage ab.

      Warum das so ist weiß ich noch nichrt!?

      siehe hier

      [out:csv(::id,::type,"name","addr:postcode","addr:city","addr:street","addr:housenumber","website"," contact:email=*")][timeout:600];
      area[name="Spain"]->.a;
      ( node(area.a)[amenity=hospital];
      way(area.a)[amenity=hospital];
      rel(area.a)[amenity=hospital];);
      out;

      oder hier

      [out:csv(::id,::type,"name","addr:postcode","addr:city","addr:street","addr:housenumber","website"," contact:email=*")][timeout:600];
      area[name="Gernany"]->.a;
      ( node(area.a)[amenity=hospital];
      way(area.a)[amenity=hospital];
      rel(area.a)[amenity=hospital];);
      out;

      - Was mich noch interessiert - was passiert wenn man den Timeout auf 6000 stellen würde. Geht das noch über die Overpass-Tubo Frontend oder sollte man da andere Verfahren einsetzen!?

      Freu mich von Dir zu hoeren.
      LG Tag The world


    • Re: Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff · MKnight (Gast) · 07.10.2017 12:08 · [flux]

      tagtheworld wrote:

      [name="Gernany"]->.a;

      Nicht getestet, aber Germany könnte helfen... 🙂


    • Re: Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff · mmd (Gast) · 07.10.2017 12:13 · [flux]

      Ich glaube die Übung bringt wahrscheinlich nicht den erhofften Nutzen.

      Wenn man Glück hat, ist der Name gepflegt. Postcode, city, street, housenumber, website oder contact:email fehlen doch in >80% der Einträge für Frankreich oder Spanien.

      So eine Liste wäre eigentlich nur für jemanden brauchbar, der diese Tags in OSM vervollständigen möchte.


    • Re: Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff · DD1GJ (Gast) · 07.10.2017 14:16 · [flux]

      Nimm die in OSM im Namen hinterlegten Bezeichnungen in Verbindung mit geocodeArea, z.B.
      {{geocodeArea:Deutschland}}->.a;
      oder
      {{geocodeArea:España}}->.a;

      Timeout 600 reicht bei mir vollkommen. Für größere Datenmengen gibt es die Länder-Auszüge der Geofabrik (PBF) in Verbindung mit Osmfilter und Osmconvert.

      Einige Informationen stehen aber auch unter contact:website oder email. Außerdem solltest Du berücksichtigen, dass manchmal auch normale Arztpraxen oder Rot-Kreuz einrichtungen fälschlicherweise als Krankenhäuser getaggt sind.

      Von den über 2500 Krankenhäusern in Spanien haben 1998 keine Straßenangabe in ihrer Adresse, 2067 keinen Ort, 2090 keine Postleitzahl sowie nur 7 eine contact:email, 5 eine contact:website, 16 eine email und 107 eine website.

      Eine CSV-Liste dürfte da ziemlich wertlos sein. Was willst Du damit machen?


    • Re: Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff · tagtheworld (Gast) · 07.10.2017 21:36 · [flux]

      hallo und guten Abend MKnight. mmd. DD1GJ,

      vielen Dank für die Informatinoen - für eure Antworten

      vorweg: das joer ost eome tolle Seite: https://wiki.openstreetmap.org/wiki/Ove … by_Example
      Diese Beispiele - sie sind sehr sehr hilfreich u. bieten viele Materialen u. Zugänge zu Turboabfragen:

      Das hier - untenstehende - hilft weiter;

      Nimm die in OSM im Namen hinterlegten Bezeichnungen in Verbindung mit geocodeArea, z.B.
      {{geocodeArea:Deutschland}}->.a;
      oder
      {{geocodeArea:España}}->.a;

      vielen Dank dafür!!!

      klar Spanien ist nicht so gut u. vollstänndig. Viele besser sind die dt. Krankenhäuser erfasst bwl, getaggt.

      Timeout 600 reicht bei mir vollkommen. Für größere Datenmengen gibt es die Länder-Auszüge der Geofabrik (PBF) in Verbindung mit Osmfilter und Osmconvert.

      bei mir reichen auch Timeout 600

      osmfilter u. Osmconvert - ´damit habe ich azuch schon gearbeitet.

      Die Abfrage damit ist auch sehr leistungsfähig

      Verfahren: ich will das quasi automatisieren -

      Es geht darum - immer den neuesten Datensatz zu haben - in einer Mysql DB.

      Wie vorgehen;

      Alsodiffs die nachkommen mit erheben / u. somit eine Datenbank immer wieder updaten

      Hab das schon auch mal überlegt mit Perl zu machen: https://wiki.openstreetmap.org/wiki/Use … world/Perl

      Wie würdet Ihr das machen.

      Mit einem File der Geofabrik - u osmfilter & osmconvert!?


    • Re: Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff · wambacher (Gast) · 07.10.2017 21:53 · [flux]

      tagtheworld wrote:

      Wie würdet Ihr das machen.

      Nicht böse sein: Die lokale DB auf PostgreSQL/PostGIS umstellen. 😉

      Du versuchst eine Toolchain, die von Anfang an für PS/PG entwickelt wurde, in einer MySQL-Umgebung zum Laufen zu bringen.

      Das ist mMn nicht die Mühe wert.

      Gruss
      walter


    • Re: Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff · tagtheworld (Gast) · 08.10.2017 14:28 · [flux]

      hallo Walter,

      vielen Dank für deine Antwort - mit den Empfehlungen - doch auf PostGIS umzusteigen.:

      Habe mir das PostGIS mal angesehen - sieht sehr gut aus. Das sieht sehr sehr advanced aus - ich werde mir das mal genauer ansehen..Denke dass diese wohl sehr leistungsfähig ist.

      was ich bis dato alles eingesetzt habe:

      - Osmfilter und Osmconvert.

      OSM und Scripten:

      - OSM Overpass API mit PHP SimpleXML: an Overpass Daten kommen mit Standard PHP.

      - Wget; http://overpass-api.de/command_line.html

      Und für das weiterverarbeiten in Skripten finde ich Python sehr interessant:

      - query Overpass Python library https://github.com/mvexel/overpass-api-python-wrapper

      - das Node JS package https://www.npmjs.com/package/query-overpass

      - für das Speichern großer Mengen von Daten - etwa in einer mysql-database mittels Python hier kann man z.B. auch peewee verwenden.

      Perl:

      - das Datenabfrage-Utility "opaQuery.pl von user KLAUS TOCKLOTH: http://www.freizeitkarte-osm.de/ perl scrip hab auch schon mit KLAUS TOCKLOTHs opaQuery einiges gemacht; das Datenabfrage-Utility "opaQuery.pl" Das Utility nutzt für OSM-Datenabfragen das Overpass-API unter Verwendung der Abfragesprache "Overpass-QL". Das Utility wird von der Kommandozeile aus benutzt und ist unter Linux, ( vgl. https://forum.openstreetmap.org/viewtopic.php?id=16937 )

      Nutzung:perl opaQuery.pl "Overpass-QL-String"

      Beispiel: perl opaQuery.pl "node ['name'='Gielgen'] (50.7,7.1,50.8,7.2); out meta;"
      Weitere Details zum Utility finden sich hier: http://www.easyclasspage.de/maptools/index.html

      PHP:

      - OSM Overpass API mit PHP SimpleXML: an Overpass Daten kommen mit Standard PHP.

      last but not least: Wget und Curl:

      - Wget; http://overpass-api.de/command_line.html

      - Curl - hier ein Beispiel:

      Curl: curl 'http://nominatim.openstreetmap.org/sear … onnecticut' -H 'Origin: http://overpass-turbo.eu' -H 'Accept-Encoding: gzip,deflate,sdch' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36' -H 'Accept: */*' -H 'Connection: keep-alive' --compressed
      [{"place_id":"2578289456","licence":"Data \u00a9 OpenStreetMap contributors, ODbL 1.0. http:\/\/www.openstreetmap.org\/copyright","osm_type":"way","osm_id":"305805056","boundingbox":["41.2371844","41.3774174","-73.5509631","-73.438191"],"lat":"41.2814842","lon":"-73.4981792","display_name":"Ridgefield, Fairfield County, Connecticut, United States of America","class":"boundary","type":"administrative","importance":0.62842337196131,"icon":"http:\/\/nominatim.openstreetmap.org\/images\/mapicons\/poi_boundary_administrative.p.20.png"},{"place_id":"57921086","licence":"Data \u00a9 OpenStreetMap contributors, ODbL 1.0. http:\/\/www.openstreetmap.org\/copyright","osm_type":"way","osm_id":"21923588","boundingbox":["42.2668794","42.2694486","-88.3335358","-88.3264975"],"lat":"42.2694329","lon":"-88.3290606","display_name":"Connecticut Trail, Holcombville Corners, McHenry County, Illinois, 60012, United States of America","class":"highway","type":"residential","importance":0.2}]

      Fazit: werde mir PostGIS jetzt mal näher ansehen...

      Walter, Dir nochmals vielen Dank!!


    • Re: Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff · wambacher (Gast) · 08.10.2017 15:51 · [flux]

      tagtheworld wrote:

      Habe mir das PostGIS mal angesehen - sieht sehr gut aus. Das sieht sehr sehr advanced aus - ich werde mir das mal genauer ansehen.Denke dass diese wohl sehr leistungsfähig ist.

      Jo, das hast du recht.

      Es gibt übrigens auch die Möglichkeit, PS/PG mit MySQL zu verknüpfen, d.h. man kann - wenn man es kann - durchaus auf beide Datenbanken gemeinsam zugreifen. Bis hin zu Abfragen, wo ein Teil aus PS/PG kommt und ein anderer Teil aus MySql. Ist aber wirklich "advanced".

      Gruss
      walter


    • Re: Abfragen in Overpass-Turbo laufen - aber nicht mit jedem Begriff · tagtheworld (Gast) · 09.10.2017 15:05 · [flux]

      Hallo Walter,

      vielen Dank für Deine Antwort. Werde mir das mal ansehen. Ich hab halt nicht vor so tief einzusteigen, werde auch nicht mit shapefiles arbeiten.

      Was bei mir im Vordergrund steht ist der Einsatz von Toolchains bei Abfragen -

      - Abfragen
      - Weiterverarbeiten - unnd ggf. auch das
      - Speichern in einer Datenbank

      Ich werde mir mal PostGIS ansehen. Hoffe dass ich damit zurechtkomme.

      LG