x

OverpassApi-Turbo: Hilfestellung


  1. OverpassApi-Turbo: Hilfestellung · Lübeck (Gast) · 13.02.2013 08:37 · [flux]

    HI !

    da diese Frage etwas "Turbo" spezifischer ist mache ich mal ein neues Posting auf.

    Es geht darum den Hanseatenweg [1] in einem Bereich abzufragen und ich habe angefangen auf Basis des Meran-Beispiels mir die Turbo-Abfrage zu erstellen.

    Leider ist mir das mit der englischen Doku noch nicht alles so klar und deshalb wollte ich Euch fragen ob mir einer weiterhelfen kann.

    Aktuell habe ich folgenden Aufbau modifziert:

    <osm-script output="json">
    <query type="relation" into="hr">
    <bbox-query {{bbox}}/>
    <has-kv k="route" v="hiking"/>
    <has-kv k="ref" v="Hanse"/>
    </query>
    <union>
    <item set="hr"/>
    <recurse from="hr" type="relation-way" into="hrp"/>
    <recurse from="hr" type="relation-node"/>
    </union>
    <print mode="body" order="quadtile"/>
    <recurse from="hrp" type="way-node"/>
    <print mode="skeleton" order="quadtile"/>
    </osm-script>

    Der Weg verläuft entlang der Ostseeküste (landeinwärts in MV) und unter anderem durch Rostock.

    Es wird aber immer die gesamte Relation abgefragt.

    Habe ich die Box falsch platziert?

    Wäre es alternativ auch möglich das Objekt über die ID der Superrelation abzufragen?

    Gruß Jan :-)

    [1] http://www.openstreetmap.org/browse/relation/1928226

    [2] http://www.openstreetmap.org/browse/relation/71454


    • Re: OverpassApi-Turbo: Hilfestellung · tyr_asd (Gast) · 13.02.2013 10:43 · [flux]

      Lieber Jan,

      durch das erste <bbox-query/> selektierst du die Relationen, welche durch die entsprechende BBox gehen. Diese Relationen beinhalten meistens aber auch Wege außerhalb der BBox. Das heißt, du musst die gefundenen Wege (nach dem <recurse type="relation-way"/>) nochmal nach BBox filtern, damit du nur den entsprechenden Abschnitt bekommst.

      In etwa so:

      ␣...
      <query␣type="way"␣into="hrp">
      <recurse␣from="hr"␣type="relation-way"/>
      <bbox-query␣{{bbox}}/>
      </query>
      ...
      

    • Re: OverpassApi-Turbo: Hilfestellung · Lübeck (Gast) · 13.02.2013 11:03 · [flux]

      hi !

      danke !

      werde ich gleich mal in das Turbo-Template aufnehmen. -> erfolgt unter http://wiki.openstreetmap.org/wiki/Over … o/Examples

      Gruß Jan :-)


    • Re: OverpassApi-Turbo: Hilfestellung · Hedaja (Gast) · 01.03.2013 13:25 · [flux]

      zum Thema Queries bauen
      ich würde gerne alle Gebäude abfragen, die weder auf ihrem way noch auf einem entrance Punkt eine Adresse getaggt haben
      bisher hab ich es nicht weiter geschafft als das hier: http://overpass-turbo.eu/?q=PCEtLQp0aGl … BO76xmDMyQ
      es werden nun leider ab immer noch Gebäude angezeigt, die die Hausnummer auf dem Eingang haben
      vllt hat ja jemand mehr Ahnung und kann mir hier helfen

      danke Christian


    • Re: OverpassApi-Turbo: Hilfestellung · EvanE (Gast) · 01.03.2013 13:45 · [flux]

      Hedaja wrote:

      ich würde gerne alle Gebäude abfragen, die weder auf ihrem way noch auf einem entrance Punkt eine Adresse getaggt haben
      bisher hab ich es nicht weiter geschafft als das hier: http://overpass-turbo.eu/?q=PCEtLQp0aGl … BO76xmDMyQ
      es werden nun leider ab immer noch Gebäude angezeigt, die die Hausnummer auf dem Eingang haben
      vllt hat ja jemand mehr Ahnung und kann mir hier helfen

      Hallo Christian

      Deine Abfrage sucht nur nach Wegen.
      Insoweit ist das Ergebnis nicht weiter verwunderlich.

      Zur Lösung deiner Frage habe ich leider auch keine Idee.

      Edbert (EvanE)


    • Re: OverpassApi-Turbo: Hilfestellung · TEL0000 (Gast) · 02.03.2013 04:07 · [flux]

      Ist es möglich die Filterung nach Bbox auch beim recurse-down in OverpassQL zu machen?
      rel(w)({{bbox}}) funktioniert ja einwandfrei, aber >({{bbox}}) funktioniert nicht.


    • Re: OverpassApi-Turbo: Hilfestellung · mmd (Gast) · 02.03.2013 10:26 · [flux]

      .


    • Re: OverpassApi-Turbo: Hilfestellung · EvanE (Gast) · 02.03.2013 15:04 · [flux]

      mmd wrote:

      Hedaja wrote:

      ich würde gerne alle Gebäude abfragen, die weder auf ihrem way noch auf einem entrance Punkt eine Adresse getaggt haben
      ...
      vllt hat ja jemand mehr Ahnung und kann mir hier helfen

      probier mal bitte, ob dich das hier weiterbringt: Link:

      (node( {{bbox}} )
      ["building"="entrance"]
      ["addr:housenumber"!~"."];
      (way(bn)["addr:housenumber"!~"."][building~"."]->.x);
      );
      (.x;>;);
      out meta;

      Hallo mmd, Hedaja

      Das sieht schon mal ganz nett aus.
      Allerdings sollte man zusätzlich auf entrance=yes/main/... prüfen. Die Form entrance=* ist mittlerweile weiter verbreitet als building=entrance (nach Taginfo ca. 240k gegen ca. 165k). Es mag da durchaus regionale Unterschiede geben. Ich selbst verwende nur noch entrance=* und tagge meine alten building=entrance um, wo sie mir über den Weg laufen.

      Edbert (EvanE)


    • Re: OverpassApi-Turbo: Hilfestellung · mmd (Gast) · 02.03.2013 16:02 · [flux]

      .


    • Re: OverpassApi-Turbo: Hilfestellung · EvanE (Gast) · 02.03.2013 16:53 · [flux]

      mmd wrote:

      Ja, klar das lässt sich alles beliebig nach eigenen Vorstellungen anpassen: Link
      Beispiel: ...

      Jetzt fehlen nur noch die Gebäude ohne Hausnummer und ohne Eingangsknoten.
      Dann dürfte die Ausgangsfrage von Jan beantwortet sein.
      Gut dass du Garagen und reine Dächer ausgeschlossen hast, das übersieht man sonst gerne.

      Edbert (EvanE)


    • Re: OverpassApi-Turbo: Hilfestellung · Hedaja (Gast) · 12.03.2013 23:01 · [flux]

      mmd wrote:

      Ja, klar das lässt sich alles beliebig nach eigenen Vorstellungen anpassen: Link

      Beispiel:

      (node( {{bbox}} )
      ["entrance"~"."]
      ["addr:housenumber"!~"."];
      (way(bn)["addr:housenumber"!~"."]
      [building~"."]
      ["building"!~"garage|garages|roof"] /* exclude some buildings */
      ->.x);
      );
      (.x;>;);
      out meta;
      (node( {{bbox}} )
      ["building"="entrance"]
      ["addr:housenumber"!~"."];
      (way(bn)["addr:housenumber"!~"."]
      [building~"."]
      ["building"!~"garage|garages|roof"]
      ->.y);
      );
      (.y;>;);
      out meta;

      Hi
      sry das ich mich erst jetzt wieder melde (Urlaub ;D )

      Bei deinem Query kommt leider nicht das heraus was ich gehofft hatte. Ehrlich gesagt, verstehe ich gerade gar nicht, was hier überhaupt abgefragt und angezeigt wird.
      In Meiner Testgegend wird nur ein Wohnblock mit Adressen auf den Eingängen ausgewähltLink. Ein paar Ecken weiter gibt es noch ein paar andere Blocks, mit Adressen auf den Hauseingängen, diese werden jedoch ignoriertLink.
      Ich hoffe du kannst meine Verwirrung etwas lindern.
      Danke im Vorraus.


    • Re: OverpassApi-Turbo: Hilfestellung · TEL0000 (Gast) · 13.03.2013 00:23 · [flux]

      Der Query zeigt nur Gebäude an die Eingangsknoten haben, aber an mindestens einem Eingangsknoten keine Adresse haben.


    • Re: OverpassApi-Turbo: Hilfestellung · Hedaja (Gast) · 13.03.2013 09:31 · [flux]

      Ahh jetzt versteht ich 😉
      danke hab dadurch noch eine Fehlende Adresse an einem Block gefunden.
      Was ich aber eigentlich gesucht hatte, war die Möglichkeit alle Gebäude ohne Adresse abfragen zu lassen (also die weder auf dem Gebäude noch auf irgend einem Eingang eine Adresse haben)


    • Re: OverpassApi-Turbo: Hilfestellung · stephan75 (Gast) · 13.03.2013 17:51 · [flux]

      Hedaja wrote:

      Was ich aber eigentlich gesucht hatte, war die Möglichkeit alle Gebäude ohne Adresse abfragen zu lassen (also die weder auf dem Gebäude noch auf irgend einem Eingang eine Adresse haben)

      Macht sowas denn nicht schon der no-address-Layer von http://qa.poole.ch ?? oder unterscheidet der Service das nicht so detailliert?


    • Re: OverpassApi-Turbo: Hilfestellung · Hedaja (Gast) · 13.03.2013 22:28 · [flux]

      stephan75 wrote:

      Macht sowas denn nicht schon der no-address-Layer von http://qa.poole.ch ?? oder unterscheidet der Service das nicht so detailliert?

      also die Karte kannte ich noch nicht wirklich...aber der Datenstand scheint nicht gerade aktuell zu sein 🙁
      ansonsten wäre dass schon ganz gut gewesen


    • Re: OverpassApi-Turbo: Hilfestellung · Hedaja (Gast) · 13.03.2013 22:32 · [flux]

      ok...also bei Zoomstufe 16/17 sind die Daten aktuell


    • Re: OverpassApi-Turbo: Hilfestellung · Lübeck (Gast) · 14.03.2013 06:43 · [flux]

      Moin!
      da sich dieses posting zu einem allgemeinen Hilfeposting entwickelt eine Neue Frage.

      Es gibt eine Vorlage zu key-value.

      <!--
      This␣query␣looks␣for␣nodes,␣ways␣and␣relations
      with␣the␣given␣key/value␣combination.
      Choose␣your␣region␣and␣hit␣the␣Run␣button␣above!
      -->
      {{key=???}}
      {{value=???}}
      <osm-script␣output="json">
      <union>
      <query␣type="node">
      <has-kv␣k="{{key}}"␣v="{{value}}"/>
      <bbox-query␣{{bbox}}/>
      </query>
      <query␣type="way">
      <has-kv␣k="{{key}}"␣v="{{value}}"/>
      <bbox-query␣{{bbox}}/>
      </query>
      <query␣type="relation">
      <has-kv␣k="{{key}}"␣v="{{value}}"/>
      <bbox-query␣{{bbox}}/>
      </query>
      </union>
      <print␣mode="body"/>
      <recurse␣type="down"/>
      <print␣mode="skeleton"/>
      </osm-script>
      

      Kann einer sagen wo da eine Box der Karte eingebaut werden muss ?

      Gruß Jan


    • Re: OverpassApi-Turbo: Hilfestellung · GeorgFausB (Gast) · 14.03.2013 09:29 · [flux]

      Moin Jan,

      Lübeck wrote:

      Kann einer sagen wo da eine Box der Karte eingebaut werden muss ?

      da wo in der Vorlage die Box bereits eingebaut ist: Bei <bbox-query {{bbox}}/>

      Gruß
      Georg