Ich arbeite selber gerade an reverse Geocoding mit OSM. Allerdings mit höheren Ansprüchen an die Qualität des Ergebnisses als die Ad-Hoc SQL-Scripte hier. Wird sich noch zeigen wie gut das Resultat dann am Ende wird. Dauert alles noch.
> Das mit der geografischen zuordnung zu einem "Place" oder "City" wird schon > schwieriger - Eine eindeutige zuordnung geht nur ueber die boundary > relations alles > andere ist "professionelles raten" > > Mit ein bischen vorbereiten der boundary relations als geometrien in einer > datenbank geht das dann auch so: > > select cb.id, cb.adminlevel, cb.name > from completeborders cb, > (select ST_SetSRID(ST_Makepoint(8.1, 51.0), 4326) as pos) pos > where ST_Within(pos.pos, cb.border) > order by adminlevel desc; > > id | adminlevel | name > --------+------------+--------------------- > 163253 | 8 | Hilchenbach > 62761 | 4 | Nordrhein-Westfalen > (2 rows) > > Time: 38.139 ms Nur das für die überaus meisten Ortschaften keine solche Relation existiert sonder maximal ein Polygon(way) und meist nur ein node. Weiterhin: Wäre das Ergebniss der Auswertung der Relation nicht ein Multipolygon statt einem Polygon? > > Das generieren der vordefinierten polygone aus den boundary relations habe > ich schonmal > hier geschrieben: > > http://lists.openstreetmap.org/pipermail/talk-de/2009-October/056253.html Dein Ansatz ignoriert vollkommen die Rollen-Tags. Leider spezifiziert http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dadministrative so überhaupt garnichts ordentlich. Vor allem hinsichtlich dem gewünschten Inhalt von Relationen. > Das ganze oben ist natuerlich zu einfach - Es ist nicht garantiert das die > naechstliegende Straße noch in Hilchenbach ist .. D.h. eigentlich muesste > man > erst das polygon suchen und dann die Straße suchen und zu distance noch > pruefen > ob die Straße auch durch das Polygon laeuft ... Aber das sind details die > im ersten wurf mal zu vernachlaessigen sind ... Das kommt noch alles dazu. Und jetzt noch das Chaos mit den PLZ dazu... Marcus _______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de