[opengeodb] Postleitzahlgebiete vs. Stadt/Ort

Martin Trautmann traut at gmx.de
Son Mar 23 08:20:35 CET 2008


Stephan S wrote:
> Hallo,
>
>>>> Willst Du noch die entsprechenden Orts-Namen dazu, verwendest Du folgendes:
>>>>
>>>> SELECT plz.text_val, name.text_val, coord.lat, coord.lon
>>>> FROM geodb_textdata plz
>>>> LEFT JOIN geodb_textdata name ON name.loc_id=plz.loc_id
>>>> LEFT JOIN geodb_coordinates coord ON plz.loc_id = coord.loc_id
>>>> WHERE plz.text_type     = 500300000  /* ID für Postleitzahl */
>>>>    AND name.text_type    = 500100000 /* ID für name */;
>>>>
>>> Das ergibt bei mir 53.167 Datensätze. Ich gehe davon aus bei Dir auch?
>> Die Größenordnung stimmt, allerdings sind es bei mir 60686.
>
> Die hohe Anzahl an Ergebnisdatensätzen kam mir doch seltsam vor, da ich
> irgendwie im Hinterkopf hatte, es gäbe ca. 16000 Postleitzahlen, die für
> Ortschaften und Städte gültig sind. Also habe ich geprüft, welchen
> loc_ids die Postleitzahlen zugeordnet sind:
>
> SELECT count(*), gtn.type_id, gtn.name
> FROM geodb_textdata plz
> LEFT JOIN geodb_locations gl ON plz.loc_id = gl.loc_id
> LEFT JOIN geodb_type_names gtn ON gl.loc_type = gtn.type_id
> WHERE plz.text_type = 500300000
> GROUP BY gtn.type_id;
>
> Ergebnis:
>
> +----------+-----------+-----------------------+
> | count(*) | type_id   | name                  |
> +----------+-----------+-----------------------+
> |        2 | 100500000 | Landkreis             |
> |    14099 | 100600000 | Politische Gliederung |
> |     2437 | 100700000 | Ortschaft             |
> |    44148 | 100800000 | Postleitzahlgebiet    |
> +----------+-----------+-----------------------+
> 4 rows in set (2.54 sec)
>
> Ich denke die zwei Landkreis-Zuordnungen für Goslar sind Fehler in der
> Datenbank?

Ja, Landkreise haben keine PLZ

Die 100800000 sind aber wohl ein Eigentor von mir - die werden einfach 
aus der Ebene gebildet (hier Ebene 8) und sind da aber falsch. Die 
aktuellen Dumps sollten eigentlich überhaupt keine PLZ-Gebiete 
enthalten. Entweder patche ich mein script oder ich korrigiere die 
type-Declaration!?


> Bisher erfolgt(e?) die Zuweisung der Koordinaten über die Zuordnung von
> PLZ zu Ort, wobei die Postleitzahl dann eben die Koordinaten des Ortes
> erhielt. Ist diese Vorgehensweise somit überholt?

Ja, schon lange

> Wenn ich Martins Entwurf zu Punkt 2 der README / Doku richtig
> interpretiere, dann können jetzt über die Postleitzahlgebiete direkt den
> PLZ Koordinaten zugewiesen werden, richtig? Das wäre ja eine
> bemerkenswerte Verbesserung, sollte dann die Abfrage zur Auswahl der
> passenden Datensätze nicht auf die Postleitzahl-Gebiete eingeschränkt
> werden, also:

Im Prinzip ja - wobei die entsprechenden PLZ-Gebiets-Daten derzeit in 
der PLZ.tab stecken und derzeit noch nicht im Dump dabei sind. Dafür 
muss ich eine andere Konvertierung hinzufügen.

Schönen Gruß
Martin