ich tue mich schwer unterschiedliche Längen- und Breiten-grade für Berliner Postleitzahlen zu ermitteln. Ich nutze als Ausgangslage nur die deutschen Daten des "DE.sql" Dumps.
Meine Abfrage ist wie folgt:
SELECT
gl.loc_id as locId,
plz.text_val as plztext,
name.text_val as ort,
coord.lat, coord.lon
FROM geodb_textdata AS plz
LEFT JOIN geodb_textdata AS name ON name.loc_id = plz.loc_id
LEFT JOIN geodb_locations AS gl ON gl.loc_id = plz.loc_id
LEFT JOIN geodb_coordinates AS coord ON plz.loc_id = coord.loc_id
WHERE plz.text_type =500300000
AND name.text_type =500100000
AND (gl.loc_type =100600000
OR gl.loc_type = 100700000)
AND plz.text_val LIKE '10%'
Im Ergebnis haben alle Berliner Postleitzahlen die gleichen Lat/Lon-Werte. Wenn ich mir das Beispiel "Entfernungsberechnung" ansehe, haben dort aber Berliner PLZ nicht die gleichen Koordinaten, siehe hier:
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2009-10-13
Hallo Martin,
danke für Deine Antworten und ja das war ich. Ich weiß nicht, warum SourceForge mich nicht besser anzeigt. Kann daran liegen, dass ich mich via meinem google account angemeldet habe.
Die 16602 PLZ aus der DE.sql (OpenGeoDB) sind natürlich nicht unique, da manchmal kleine Gemeinden sich eine PLZ teilen - aber unterschiedliche Lat/Lon haben.
Ich bin jetzt etwas verunsichert welchen Datenbestand ich nutzen werde. Ich werde vermutlich meine Tabelle mit den 16602 Ort/PLZ/lat/lon Datensätzen mit den ca 8000 auf PLZ.tab "aufwerten" indem ich deren Koordinaten zur "Korrektur" verwende. Das dürfte das Problem für die Großstädte wie Berlin und München etc. schon verbessern und dann lass ich es darauf beruhen. :)
Matthias
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich tue mich schwer unterschiedliche Längen- und Breiten-grade für Berliner Postleitzahlen zu ermitteln. Ich nutze als Ausgangslage nur die deutschen Daten des "DE.sql" Dumps.
Meine Abfrage ist wie folgt:
SELECT
gl.loc_id as locId,
plz.text_val as plztext,
name.text_val as ort,
coord.lat, coord.lon
FROM geodb_textdata AS plz
LEFT JOIN geodb_textdata AS name ON name.loc_id = plz.loc_id
LEFT JOIN geodb_locations AS gl ON gl.loc_id = plz.loc_id
LEFT JOIN geodb_coordinates AS coord ON plz.loc_id = coord.loc_id
WHERE plz.text_type =500300000
AND name.text_type =500100000
AND (gl.loc_type =100600000
OR gl.loc_type = 100700000)
AND plz.text_val LIKE '10%'
Im Ergebnis haben alle Berliner Postleitzahlen die gleichen Lat/Lon-Werte. Wenn ich mir das Beispiel "Entfernungsberechnung" ansehe, haben dort aber Berliner PLZ nicht die gleichen Koordinaten, siehe hier:
: http://opengeodb.hoppe-media.com/examples/distance.php?ort1=10247&ort2=13437&lid1=12917
Ich denke, dass hängt mit der Tatsache zusammen, dass ja auch alle die gleiche locId bei meiner Abfrage haben. Wer kann mir da bitte einen Tipp geben?
Matthias
Hallo Matthias,
die PLZ.tab hast du inzwischen selbst gefunden, falls
https://sourceforge.net/projects/opengeodb/forums/forum/449280/topic/1866536/index/page/1
von dir geschrieben wurde?
Hallo Martin,
danke für Deine Antworten und ja das war ich. Ich weiß nicht, warum SourceForge mich nicht besser anzeigt. Kann daran liegen, dass ich mich via meinem google account angemeldet habe.
Die 16602 PLZ aus der DE.sql (OpenGeoDB) sind natürlich nicht unique, da manchmal kleine Gemeinden sich eine PLZ teilen - aber unterschiedliche Lat/Lon haben.
Ich bin jetzt etwas verunsichert welchen Datenbestand ich nutzen werde. Ich werde vermutlich meine Tabelle mit den 16602 Ort/PLZ/lat/lon Datensätzen mit den ca 8000 auf PLZ.tab "aufwerten" indem ich deren Koordinaten zur "Korrektur" verwende. Das dürfte das Problem für die Großstädte wie Berlin und München etc. schon verbessern und dann lass ich es darauf beruhen. :)
Matthias