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