x

Shape mit aktuellen PLZ erstellen?


  1. Shape mit aktuellen PLZ erstellen? · moenk (Gast) · 07.01.2014 15:18 · [flux]

    Moin,

    das die OSM-ler aber auch immer alles so kompliziert machen müssen :-(

    An sich ja eine einfache Aufgabe: Ein Shape mit PLZ erstellen. Ist natürlich alles als Relation verpackt, sonst wäre es ja auch zu einfach.

    Also probieren wird doch mal: osm2pgsql-Datenbank, da sind die Relationen immer so schön aufgelöst, geht auch prima mit QGIS zu filtern nach "boundary" = 'postal_code' - aber das Feld "postal_code" ist natürlich nicht drin. War das nicht mal in "ref"? Das Feld ist noch da.

    Mir ist schleierhaft wer sich so einen Käse ausdenkt. Ist das Absicht, damit man die Daten nicht mehr nutzen kann? Wie ist das nun gedacht, wenn man ein PLZ-Karte braucht?

    Vielleicht hat da ja jemand die passende Abfrage grad zur Hand, darf auch fürs osmosis-Schema sein.

    LG,

    -moenk


    • Re: Shape mit aktuellen PLZ erstellen? · SunCobalt (Gast) · 07.01.2014 15:33 · [flux]

      such mal die Datei default.style in ergänze "postal_code" oder importiere mit hstore. Ohne hstore sind nur die in der default.style genannten Tag/Value Kombinationen in der osm2pgsql Datenbank


    • Re: Shape mit aktuellen PLZ erstellen? · wambacher (Gast) · 07.01.2014 15:54 · [flux]

      moenk wrote:

      Vielleicht hat da ja jemand die passende Abfrage grad zur Hand, darf auch fürs osmosis-Schema sein.

      osm2pgsql hat thomas ja schon geklärt.

      beim osmosis-schema benutzt du tags->'postal_code' allerdings hast du da ja keine fertigen PLZ-Polygone.

      select␣id,tags->'postal_code'␣postal_code
      from␣ways
      where␣tags␣?␣'postal_code'
      limit␣10;
      
      id␣␣|␣postal_code
      ------+-------------
      92␣|␣01217
      107␣|␣01217
      108␣|␣01217
      109␣|␣01217
      120␣|␣01069
      121␣|␣01217
      2173␣|␣83607
      2176␣|␣83624
      2178␣|␣83624
      2179␣|␣83624
      (10␣rows)
      

      gruß
      walter


    • Re: Shape mit aktuellen PLZ erstellen? · moenk (Gast) · 07.01.2014 16:32 · [flux]

      Moin,

      dann werd ich wohl das Attribut hinzufügen müssen. Die Datei liegt bei Debian übrigens unter /usr/share/osm2pgsql/default.style falls die mal jemand braucht.

      Das mit dem hstore gefällt mir an sich besser, guter Hinweis, besten Dank! Ich weiß aber nicht ob QGIS dann auch die Attribute anzeigt. Von daher bleib ich mal bei den normalen Attributen.

      LG,

      -moenk


    • Re: Shape mit aktuellen PLZ erstellen? · wambacher (Gast) · 07.01.2014 18:04 · [flux]

      moenk wrote:

      Das mit dem hstore gefällt mir an sich besser, guter Hinweis, besten Dank! Ich weiß aber nicht ob QGIS dann auch die Attribute anzeigt. Von daher bleib ich mal bei den normalen Attributen.

      klaro, das hstore-Feld tags taucht bei Qgis in der Spaltenliste auf und kann z.B. mit tags->'postal_code' = '65388' in dem Filter verwendet werden.

      Nur habe ich mein osm2pgsql-Schema so erweitert, das ich z.B. für die plz eine eigene Spalte habe.

      Am besten machst du beides: wichtige Tags in eigene Spalten und alle anderen Tags im hstore. Dann kannst du jederzeit auf Tags zugreifen, die dir heute nicht so wichtig erscheinen.

      Gruss
      walter


    • Re: Shape mit aktuellen PLZ erstellen? · maxbe (Gast) · 07.01.2014 18:25 · [flux]

      moenk wrote:

      Ich weiß aber nicht ob QGIS dann auch die Attribute anzeigt. Von daher bleib ich mal bei den normalen Attributen.

      Für Programe, die mit hstore nicht zurechtkommen, bietet sich ein view an, dann kann man tags->'irgendwas' einfach als eigenes Feld abfragen:

      osm=>␣create␣view␣postleitzahlen␣as␣select␣osm_id,tags->'postal_code'␣as␣PLZ,way␣from␣osm_polygon␣where␣boundary='postal_code';
      
      osm=>␣select␣osm_id,PLZ␣from␣postleitzahlen␣where␣plz␣like␣'8080%';
      osm_id␣␣|␣␣plz
      ----------+-------
      -1100785␣|␣80807
      -1100795␣|␣80801
      -1100788␣|␣80803
      -1100791␣|␣80804
      -1100777␣|␣80802
      -1100803␣|␣80805
      -1100797␣|␣80809
      (7␣rows)
      

      Grüße, Max


    • Re: Shape mit aktuellen PLZ erstellen? · moenk (Gast) · 17.01.2014 16:32 · [flux]

      Moin,

      ich habe dann grad mal eine PBF von der Geofabrik in eine DB geschoben. Wenn ich dann alle boundary=postal_code in QGIS ziehe, sehe ich hier noch eine Lücke: http://i.imgur.com/iOeQjfi.png - vielleicht möchte sich jemand dieses Problemchens annehmen.

      LG,

      -moenk


    • Re: Shape mit aktuellen PLZ erstellen? · Gehrke (Gast) · 17.01.2014 16:36 · [flux]

      moenk wrote:

      Wenn ich dann alle boundary=postal_code in QGIS ziehe, sehe ich hier noch eine Lücke: http://i.imgur.com/iOeQjfi.png - vielleicht möchte sich jemand dieses Problemchens annehmen.

      Das ist seit gestern gefixt. Da hatte vorgestern jemand Grenzverläufe verbessert.

      Es handelt sich um 02999 Lohsa und 02943 Weißwasser, Boxberg