x

Re: Geokoordinaten einer Strasse aus den osm Daten auslesen


Geschrieben von woodpeck (Gast) am 01. Januar 2013 12:59:42: [flux]

Als Antwort auf: Geokoordinaten einer Strasse aus den osm Daten auslesen geschrieben von bogeyman18 (Gast) am 24. Dezember 2012 11:57:

bogeyman18 wrote:

Mein Problem ist aber, das die Zuordnung per NameTags der Ways an Orte nicht konsequent ist.
Also in einem WayTag gibt es mal den Ort, mal aber nicht.

Das ist ein häufiges Problem. Die korrekte Lösung ist so:

1. Finde den Ort (im Sinne eines Ortsgrenzen-Polygons). Ich kenne osm2mssql nicht, aber damit das richtig funktioniert, muss der Importer die meist als Relationen formulierten administrativen Grenzen als Polygon in die Datenbank importieren. In den meisten Fällen wirst Du nach einer Relation mit boundary=administrative und admin_level=4 (wenn es ein Stadtstaat ist) oder 6 (kreisfreie Stadt) oder 8 (sonstige Stadt) suchen. Im Fall von Düsseldorf ist es diese Relation: http://www.openstreetmap.org/browse/relation/62539

2. Stelle an Deine Datenbank eine Anfrage der Form "welches Linienobjekt mit highway=irgendwas und name=Königsallee liegt im Polygon der Relation 62539".

Dann bekommst Du das Gesuchte.

Oder gibt es eine Api die mein Problem vielleicht vereinfacht?

Du kannst natürlich eine Nominatim-Abfrage nach "Königsallee Düsseldorf" machen:

http://nominatim.openstreetmap.org/sear … format=xml

Das liefert dir als Resultat zumindest schonmal drei OSM-Ways mit ID, und Du koennst dann anhand einer eigenen Datenbank oder mit

http://api.openstreetmap.org/api/0.6/wa … siert/full

alle Nodes zu diesem Way bekommen. Diese Art des Daten-Downloads ist fuer ab-und-zu-Benutzung voellig ok, aber das solltest Du nicht in ein Programm einbauen, das das dann tausendmal am Tag macht.

Bye
Frederik