Targa
Lieutenant
- Registriert
- Apr. 2008
- Beiträge
- 995
Moin,
Ich bin gerade dabei eine Geokodierung zu Postleitzahlen mit der OpenGeoDB vorzunehmen (Ortsname, Landkreis, Bundesland und Breiten- und Längengrad). Aus meinem Datenbestand von 500.000 Datensätzen (PLZs kamen öfters vor) habe ich nun noch circa 500 Postleitzahlen die keinem Ort/Stadt ansich zugeordnet sind, sondern einem Postfach in der jeweiligen Stadt. (Habe ich durch stichprobenartige Überprüfung mit Google raus gefunden)
Falls überhaupt möglich habe ich bisher noch nicht den Durchblick wie ich diese Postleitzahlen doch noch mit den Daten der OpenGeoDB gekodieren könnte. Ich "finde" die mögliche Verbindung schlicht nicht. Die OpenGeoDB ist ja nun nicht unbedingt leicht zu verstehen
Ich habe den kompletten OpenGeoDB Dump in eine SQL Server Datenbank importiert und bis auf die Postfach PLZs hat auch soweit alles funktioniert.
Also was ich möchte:
[table="width: 500, class: grid"]
[tr]
[td]PLZ[/td]
[td]Ortsname[/td]
[td]Landkreis[/td]
[td]Bundesland[/td]
[td]Breitengrad[/td]
[td]Längengrad[/td]
[/tr]
[tr]
[td]12345[/td]
[td]zu füllen[/td]
[td]zu füllen[/td]
[td]zu füllen[/td]
[td]zu füllen[/td]
[td]zu füllen[/td]
[/tr]
[/table]
Für Non-Postfach Postleitzahlen ging die Extraktion aller PLZs mit folgender Abfrage relativ simple:
Link zur Doku: http://opengeodb.giswiki.org/wiki/OpenGeoDB_-_Dateninhalt
Kennst sich vllt. jemand mit der OpenGeoDB aus?
Ich bin gerade dabei eine Geokodierung zu Postleitzahlen mit der OpenGeoDB vorzunehmen (Ortsname, Landkreis, Bundesland und Breiten- und Längengrad). Aus meinem Datenbestand von 500.000 Datensätzen (PLZs kamen öfters vor) habe ich nun noch circa 500 Postleitzahlen die keinem Ort/Stadt ansich zugeordnet sind, sondern einem Postfach in der jeweiligen Stadt. (Habe ich durch stichprobenartige Überprüfung mit Google raus gefunden)
Falls überhaupt möglich habe ich bisher noch nicht den Durchblick wie ich diese Postleitzahlen doch noch mit den Daten der OpenGeoDB gekodieren könnte. Ich "finde" die mögliche Verbindung schlicht nicht. Die OpenGeoDB ist ja nun nicht unbedingt leicht zu verstehen

Ich habe den kompletten OpenGeoDB Dump in eine SQL Server Datenbank importiert und bis auf die Postfach PLZs hat auch soweit alles funktioniert.
Also was ich möchte:
[table="width: 500, class: grid"]
[tr]
[td]PLZ[/td]
[td]Ortsname[/td]
[td]Landkreis[/td]
[td]Bundesland[/td]
[td]Breitengrad[/td]
[td]Längengrad[/td]
[/tr]
[tr]
[td]12345[/td]
[td]zu füllen[/td]
[td]zu füllen[/td]
[td]zu füllen[/td]
[td]zu füllen[/td]
[td]zu füllen[/td]
[/tr]
[/table]
Für Non-Postfach Postleitzahlen ging die Extraktion aller PLZs mit folgender Abfrage relativ simple:
Code:
SELECT DISTINCT gl.loc_id, plz.text_val AS PLZ, name.text_val as Ort, LK.text_val AS Landkreis, BL.text_val as Bundesland, coord.lat AS Breitengrad, coord.lon AS Längengrad
FROM Datensatz_Final AS DB
LEFT JOIN geodb_textdata AS plz ON plz.text_val = DB.PLZ
LEFT JOIN geodb_textdata AS name ON name.loc_id = plz.loc_id
LEFT JOIN geodb_hierarchies AS H_BL ON plz.loc_id = H_BL.loc_id
LEFT JOIN geodb_textdata AS BL ON H_BL.id_lvl3 = BL.loc_id
LEFT JOIN geodb_hierarchies AS H_LK ON plz.loc_id = H_LK.loc_id
LEFT JOIN geodb_textdata AS LK ON H_LK.id_lvl5 = LK.loc_id
LEFT JOIN geodb_locations gl ON gl.loc_id = plz.loc_id
LEFT JOIN geodb_coordinates coord ON plz.loc_id = coord.loc_id
WHERE plz.text_type =500300000
AND name.text_type =500100000
AND BL.text_type = 500100000
AND LK.text_type = 500100000
AND gl.loc_type =100600000
ORDER BY plz.text_val
Link zur Doku: http://opengeodb.giswiki.org/wiki/OpenGeoDB_-_Dateninhalt
Kennst sich vllt. jemand mit der OpenGeoDB aus?