Jetzt möchte ich noch überprüfen, ob die gefundenen Koordinaten auch wirklich im PLZ Bereich 28327 liegen.
Dazu habe ich mir aus der Tabelle planet_osm_polygon alle PLZ Polygone IDs herausgesucht. Wenn ich es richtig verstanden habe, sollte es doch möglich sein,
mit der Funktion ST_WITHIN zu überprüfen ob der erwähnte Punkt in einem der PLZ Polygone enthalten ist.
Die gefundenen PLZ Polygone habe ich zuvor eine Extra Tabelle(plz_poly) geschrieben;Felder: osm_id,way(geom),plz. Der Geometry Type von way ist unverändert 900913 aus der Tabelle planet_osm_polygon übernommen.
Versucht habe ich es z.B. so:
select * from plz_poly p where ST_Within( ST_GeomFromText('POINT(8.91859190987236 53.0759916627644)' , 900913 ), p.way)
Allerdings erhalte ich immer ein leeres Ergebnis. Kann mir vielleicht jemand ein Tip geben, woran dies liegen könnte?
sieht ziemlich schräg aus. Das heisst "nimm (8.9 53.0) und interpretiere das als EPSG:900913. Das wird dann ein Punkt, der ein paar Meter über dem Äquator liegt.
Wenn Dein p.way in EPSG:4326 vorliegt (was ich glaube), dann solltest ihn ungefähr so erst mal in EPSG:900913 umwandeln (ungetestet!):
wenn du mit osm2pgsql importiert hast, dann hast du doch auch die Tabelle planet_osm_point und _polygon, oder? Und da müssten doch die Geometrien schon gefüllt sein.