S: Overpass, Straßennamen von Gebäuden & associatedStreet

Hallo Overpass-Profis,

kann mir jemand helfen, eine Abfrage zu gestalten, welches mir die Straßennamen auswirft, die an Gebäuden stehen und über “associatedStreet” verknüpft sind? Gerade bei “associatedStreet” besteht ja das Problem, dass der Name nur optional ist.

Würde mich über Hilfe sehr freuen!

Grüße
Tobias

Hallo Tobias,

in welchem Format brauchst du den Ergebniss? Ich kann nur probieren, eine Anfrage für CSV-Ergebniss schreiben.

Grüße
Eduard

Hallo Eduard,

Genau, in CSV.

Vielen Dank!

Hallo Tobias,

ich schreibe mit dem Handy und kann deswegen keinen Overpass-Turbo benutzen und kann irgendwo Fehler machen. Probier mal aber diese Abfrage:


[out:csv("addr:street",name)];

(
  node
    ({{bbox}})
    ["addr:street"];
  way
    ({{bbox}})
    ["addr:street"];
  relation
    ({{bbox}})
    ["addr:street"];

  relation
    ({{bbox}})
    [type=associatedStreet]
    [name];
);

out tags;

Probleme mit dieser Abfrage:

  1. Gesuchte Straße-Name ist in zwei verschiedenen Spalten, nämlich “addr:street” und name.
  2. Häuser, die addr:street-Tag haben, haben auch name-Tag.
    Kann jemand diese Abfrage verbessern?

Grüße
Eduard

Ja, das Problem mit den Namen hatte ich auch… ich denke, solche Anfragen kann man in der PSQL einfacher modellieren.

Hm, wie kann man in PostgreSQL associatedStreet-Relazionen importueren?

Was suchst du denn genau?

  • Buildings mit addr:street, die Member einer associatedStreet-Rel sind?
  • Strassen, die in addr:street stehen und für die es eine associatedStreet-Rel gibt?
  • was anderes?

Und was willst du danach machen? Etwa noch an associatedStreet “herumdoktern”? :frowning:

Gruss
walter

Kurz beantwortet: ich möchte eigentlich zunächst nur die Namen der Straßen, die in einer associatedStreet-Relation sind.
Mehr unten.

Nein, ich habe meine Straßenabkürzungsalgorithmus in den letzten Tagen extrem verbessert. Nun will ich es auf eine größere Stichprobe loslassen. Normalerweise mache ich sowas in meiner lokalen PostgreSQL, aber ich wollte mich mal mit Overpass beschäftigen. Im nächsten Schritt würde ich gerne 'ne Analyse fahren, an welchen Way-Typen sich Gebäude befinden, u.a. mithilfe der associatedStreet-Relation.

Ich will momentan noch nicht viel zu dem Hintergrund sagen, ob ich beschäftige mich momentan etwas mit räumlicher Statistik und meine einen Unterschied zwischen der Namensgebung in bebauten und unbebauten Straßen ermittelt zu haben, der clusterhaft auftritt.

Na dann mal viel Erfolg. Hatte schon befürchtet, du wolltest an den - leider immer noch nicht toten - associatedStreet-Rels was rumschrauben.

Gruss
walter

Kann mir denn vielleicht noch jemand bei Overpass helfen? Ich hab es zwar jetzt in der PSQL realisiert, aber bemerkt, dass manche Borders (z.B. NRW) nicht als Polygon, sondern als Way abgebildet wurden :frowning:

Dann musst du das nicht in Overpass realisieten, sondern Fehler in Import ins PostgreSQL suchen.

Grüße
Eduard

Hast du dafür mal ein Beispiel?

Gruss
walter

Die NRW-Relation liegt als 26-teiliges-Puzzle in meinem aktuell-gehaltenen osm2pgsql-Schema vor :frowning:

Wenn ich erahne was du meinst, solltest du osm2pgsql mal mit der Option -G verwenden.

ansonsten wären wirklich konkrete Informationen wirklich hilfreich. (welche Tabelle, welche Spalte und so’n “Kram”).


select osm_id, name, st_summary(way) from planet_osm_polygon where osm_id = -62761;
 osm_id |        name         |            st_summary            
--------+---------------------+----------------------------------
 -62761 | Nordrhein-Westfalen | MultiPolygon[BS] with 6 elements+
        |                     |   Polygon[S] with 1 rings       +
        |                     |    ring 0 has 39291 points      +
        |                     |   Polygon[S] with 1 rings       +
        |                     |    ring 0 has 357 points        +
        |                     |   Polygon[S] with 1 rings       +
        |                     |    ring 0 has 304 points        +
        |                     |   Polygon[S] with 1 rings       +
        |                     |    ring 0 has 60 points         +
        |                     |   Polygon[S] with 1 rings       +
        |                     |    ring 0 has 60 points         +
        |                     |   Polygon[S] with 1 rings       +
        |                     |    ring 0 has 20 points
(1 Zeile)

gruss
walter

Das ist für eine Analyse-Datenbank okay, aber nicht für eine Rendering-Datenbank (gibt dazu schöne Negativbeispiele im Netz). Man könnte allerdings die Multipolygone wieder dekunstrieren, wenn man sie rendern will. Das ginge ja auch in Echtzeit.

Werde ich nachreichen.

@wambacher: Das Ganze hat sich als reproduzierbarer Bug herausgestellt (im IRC diskutiert) und gerade gepostet:

https://github.com/openstreetmap/osm2pgsql/issues/514

Jo, ich hab es vorhin in der Mail gelesen. echt komisch, dass osm2pgsql da ausflippt.

gruss
walter

Wusste nicht, dass du den Thread weiter verfolgst, daher parallel per Mail.

Bin gespannt, was dabei rauskommt. Hat mich beim Testen total gewundert, weil ogr2ogr keine Probleme gemacht hat und ich echt nicht auf die Idee kam, einfach mal mit --latlong zu testen. :wink: