maxbe
(Max)
10
Hast Du eine Spalte “tags”? Die wird angelegt, wenn osm2pgsql mit “–hstore” oder “-k” läuft…
Da findest du alles, was für osm2pgsql nicht ins übliche Schema passt. Und dort landen dann auch “addr:postcode”-Felder. Eine Ausgabe sähe dann z.B. so aus:
select osm_id,tags->'addr:street' as strasse,tags->'addr:postcode' as postleitzahl from osm_point where "addr:housenumber"='1' limit 5;
osm_id | strasse | postleitzahl
-----------+--------------+--------------
330054520 | Hauptstraße | 83131
700829296 | |
700783337 | |
255870784 | Fabrikstraße | 83101
702097393 | |
(5 rows)
Und abfragen so:
select distinct tags->'addr:street' as strasse from osm_point where (tags->'addr:postcode'='85276') limit 5;
strasse
-------------------
Adlerskron
Adolf-Rebl-Straße
Ahornring
Am Hagberg
Am Hügel
(5 rows)
Zur Vereinfachung habe ich mir ein paar views gebastelt, die mir die komische Art, ein hstore anzusprechen, abnehmen. Die musste ich aber auch aus anderen Gründen anlegen, vielleicht brauchst Du die nicht.
Grüße, Max