Gebäudepolygon mit Adresse verbinden zur Abfrage über Nominatim

Hallo,

ich bin absolut neu bei OSM. Zur Zeit versuche ich Adressen von verschiedenen Einrichtungen wie Supermärkten über die Nominatim-API zu bekommen. Dabei interessiere ich mich insbesondere für die Polygonkoordinaten der zu den Adressen gehörenden Gebäude. Ich erhalte über die Schlagwortsuche einige Polygone, über die Geocoding-Suche erhalte ich manchmal ein paar weitere, die zuvor nicht ausgegeben wurden. Und für einige erhalte ich gar kein Polygon obwohl in OSM ein Polygon für das betreffende Gebäude hinterlegt ist. :frowning:

Kann mir jemand sagen, wie ich ein Objekt in OSM anlegen muss, sodass die Polygonkoordinaten eines interessierenden Gebäudes über die Schlagwortsuche der Nominatim-API ausgegeben werden?

Über Hilfe würde ich mich sehr freuen.

Viele Grüße

FlatEarther333

Was willst du denn eigentlich erreichen?

Ich interpretiere das so, dass er bestimmte Geschäfte (Aldi? Lidl?) mit deren Buildings haben möchte. Und das über Namenssuche in Nominatim.

@FlatEarther333

Falls meine Vermutung stimmen sollte: Dafür ist Nominatim nicht geeignet und auch nicht gedacht. Verwende dafür bitte die Overpass API https://overpass-api.de/ oder einfacher Overpass Turbo https://overpass-turbo.eu/

Gruss
walter

Es gibt unterschiedliche Arten etwas einzutragen. als Punkt node, als Fläche, als Relation, …
Etwas eintragen damit es von einer Anwendung gefunden, dargestellt wird sollte nicht sein.
Es sollte so einfach wie möglich und so genau wie nötig eingetragen, so wie es vor Ort zu finden ist.

Hallo,

danke für die Antworten. Also was ich damit machen will, ist in R Bewegungsdaten von mir mit den Koordinaten von Nominatim abgleichen. Also schauen ob ich in dem Gebäude war, einfach ausgedrückt.

Das System hinter OSM ist etwas schwer zu verstehen. Ich zumindest erkenne keines. Ich habe beispielsweise drei Supermärkte. Sagen wir Edeka, Aldi und Rewe. Alle haben Polygone, die das Gebäude umfassen und Punkte, die einen Supermarkt markieren mit derselben Adresse wie das Polygon. Ich erkenne keinen systematischen Unterschied zwischen den Polygonen oder den Punkten, außer Kleinigkeiten wie, dass für building:use einmal “commercial” und einmal “industrial” drinsteht. Unterschiede auf diesem Level halt, wobei das auch der einzige sein dürfte. Für Edeka bekomme ich ein Polygon für Rewe und Aldi nicht. Bis vor kurzem. Als ich “Rewe” zu “Rewe City” geändert (weil es wirklich ein Rewe City ist), habe ich ein Polygon bekommen. Gleichzeitig habe ich EDEKA (in Großbuchstaben) geändert zu Edeka (so wird die Firma von OSM erkannt) und bekomme kein Polygon mehr. Für Aldi habe ich nie eines bekommen. Ich bin ausgesprochen verwirrt. Zu meiner weiteren Verwirrung kriege ich auch für andere Gebäude manche Polygone über die Schlagwortsuche und manche, die ich nicht über die Schlagwortsuche erhalten habe, bekomme ich dann über die Reverse-Geocode suche. Greifen die verschiedenen Suchen (Geocode, Reversegeocode, Searchphrase) auf verschiedene Datenbestände zurück?

Ich werde auf jeden Fall mal die Overpass-API ausprobieren wie von wambacher empfohlen (danke dafür). Aber nur um OSM etwas besser zu verstehen würde ich mich trotzdem freuen, wenn jemand etwas Klarheit für mich reinbringen könnte.

  1. Hast du mal ein paar explizite Beispiele, am besten gleich mit dem Link aufs Objekt?

  2. Unterschiedliche Erfassung, z.B. würde ich einen Aldi komplett nur als Gebäude polygon erfassen, einen Edeka aber als POI in einem Gebäude polygon (welches addr und building hält), da in einem Edeka häufig auch noch andere POI (Bäcker, etc.) untergebracht sind, welche häufig aber der Einfachheit halber auch noch mal addr haben.

  3. Industrial sollte es nun wirklich nicht sein, sondern durchweg commercial.

Vielleicht liege ich hier falsch, aber …

mein Verständnis einer Systematik:

  • bei Gebäuden, die ausschließlich von ALDI und Co. belegt sind, d.h. von nur einem Geschäft, mappe ich die Adressdaten, shop=supermarket, … an das Gebäude (man kann, man muss aber nicht)
    ** das gilt nicht, wenn “andere Nutzer” Wohnungsmieter/besitzer oberhalb des Geschäftes sind.
    ** evtl. Ausnahme: bei Geschäft in Geschäft, wenn ein lokaler Bäcker einen Verkaufsstand vor den Kassen von (Untermieter von z.B. Edeka) hat, dann mappe ich den Hauptnutzer trotzdem am Gebäude.

  • bei Gebäuden, in denen mehrere Geschäfte und/oder auch Wohnungen drin sind, mappe ich keine geschäftsspezifischen-Tags an das Gebäude
    ** sondern an einen eigenen Node (in der Regel mit Adressdaten)
    ** und in der Regel nochmals die Adressdaten an das Gebäude

D.h. für mich: Du wirst via Nominatim nicht nur Polygone (Hausumrisse) bekommen, sondern auch Nodes.

Gruß
Toni

Hört sich irgendwie nach Studienarbeit an. Du solltest die Gebäude als Polygone extrahieren. Dazu alle Nodes korrelieren, die deinen Kriterien entsprechen. Es gibt Tools die alle Objekte in Nodes umwandeln.

Kann die Overpass-API inzwischen diese räumlichen Abfragen wie “Gib mir den kleinsten building=*-Way, in dem mein Anfragepunkt enthalten ist”?

Konkretes Beispiel:
Der NP: https://www.openstreetmap.org/node/2413596269 liegt in Gebäude https://www.openstreetmap.org/way/189504442 .

Ich will also das gleiche Ergebnis wie in https://overpass-turbo.eu/s/z1K , nur in dynamisch.

@Harald Hartmann
Ein Beispiel wäre hier: https://www.openstreetmap.org/edit#map=19/50.91694/6.92591. Das ist der Sülz-Stadtteil in Köln. Hier
sind ein Rewe, ein Edeka und ein Aldi-Süd nach beieinander. Der Rewe hat zwei Eingänge, nicht wundern, das sind keine zwei Rewe.

https://nominatim.openstreetmap.org/search?q=[Supermarkt]&format=json&limit=50&
viewbox=6.9232015222986,50.9157852414982,6.92722358728316,50.9183277235883&bounded=1&polygon_geojson=1&
addressdetails=1

Das ist so eine Schlagwortsuche, die ich mache. Kannst ja mal angeben, für welche der Supermärkte du Polygone erhältst.

@toc-rox Ist keine Studienarbeit. Bin totaler Anfänger.

Für keine. Alle 4 Ausgaben sind Nodes - genauso wie sie in OSM erfasst sind: https://www.openstreetmap.org/#map=18/50.91730/6.92535&layers=D

Gruss
walter

Jaein, nicht wirklich, aber mit einem Würgaround wie hier in Alle Gebäude von einer Liste Nodes beschrieben…

PS: mit dem Wert bei “around” muss man dann halt ein bisschen spielen, um alle aber nicht zu viele false-positives zu erwischen.

Mit der von dir genannten nominatim Abfrage KEIN einziges Polygon, wie wambacher auch schon erwähnt hat … das JSON beinhaltet nur GeoJson vom Type Point.

Hallo,

Tatsache. Ich hab den Umkreis der Schlagwortsuche mal erhöht, da sind dann der Lidl und der Rewe Richrath an der Rhöndorfer Straße mitreingerutscht und die wurden erfasst. Unterschied: Der Supermarkt ist dort bei beiden auf Gebäudebene und nicht als Node eingetragen. Für alle anderen, die als Node eingetragen wurden habe ich über die Schlagwortsuche kein Polygon erhalten. Das war schonmal eine riesen Erkenntnis! Danke :):

Aber: Ich mach ja dann weiter mit der reverse Geocode Suche, wo ich dann mit den Koordinaten der Supermärkte versuche an die Polygone zu kommen. Das ist dann wiederum durchaus erfolgreich.

Beispiel:
https://nominatim.openstreetmap.org/reverse?format=json&lat=50.9175529&lon=6.9249005&zoom=18&polygon_geojson=1&addressdetails=0

Das ist der City Rewe, also der Teil in der Sülzburgstraße. Für den kriege ich hiermit ein Polygon, dass ich, genauso wie ihr über die Schlagwortsuche in meinem letzten Post, nicht bekommen habe.

Mache ich dagegen, dasselbe für den Rewew City in der Berrenrather Straße:
https://nominatim.openstreetmap.org/reverse?format=json&lat=50.9178694&lon=6.9248879&zoom=18&polygon_geojson=1&addressdetails=0

kommt kein Polygon. Ist das bei euch auch so? Wenn ja und ich also nicht eifnach behindert bin: Wieso kriege ich für den einen ein Polygon und den anderen nicht? Die sind (zumindest nach meinen Unterscheidungsfähigkeiten) absolut gleich. Da liegt glaube ich der Hase begraben.

Das mit der Schlagwortsuche war schonmal super hilfreich.

Hi,

ich möchte nochmals dringend darauf hinweisen, dass Nominatim dafür nicht gedacht ist. Nominatim hat andere Aufgaben, wie die Lokalisierung von Objekten (POI) im Sinne von “wo ist das?”

Mit der Overpass API und erst recht Overpass Turbo kannst - und darfst - du ebenfalls spatiale Abfragen machen und da liegt der Schwerpunkt auf “gib mir die Daten, die ich suche, in dem Format, das ich brauche”.

Die Nutzung von Nominatim ist zudem eingeschränkt um die Serverlast niedrig zu halten. Irgendwann wird sich Nominatim weigern, dir Antworten zu geben, da du dein Kontingent ausgeschöpft hast. Overpass hat diese Beschränkung nicht.

Gruss
walter