• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Feedback gewünscht Entfernungsberechnung zwischen PLZ / Orten

Taberna

Mitglied
Hallo liebe Gemeinde,

ich möchte für meine Seite die Entfernung zwischen 2 Orten / PLZ berechnen. Ich habe da auch schon einiges gelesen, es scheitert jedoch aktuell an der Umsetzung der gewonnenen Erkenntnisse.

Was weiß ich bisher / habe ich bisher verstanden ?

Ich benötige eine Datenbank, in der die Geodaten für jede PLZ hinterlegt sind. Aus den Geodaten kann ich über eine Formel die Entfernung berechnen.

Beschaffen der Geodaten

Auf der Seite von OpenGeoDB (http://opengeodb.giswiki.org/wiki/OpenGeoDB) finde ich im Downloadbereich die notwendige Datenbank. Allerdings enthält diese mysql-Befehle, die mehrere Datenbanken mit Daten füllen wollen. Und genau hier ist mein Problem. Wie kann ich diese Geodaten in eine Datenbank einfügen und dann nutzen ?

Wenn ich es richtig interpretiere umfasst 1 Datensatz folgende Zeilen
Code:
INSERT INTO geodb_locations VALUES(105,100200000);
INSERT INTO geodb_coordinates VALUES(105,200100000,51.16766,10.42498,null,null,null,'3000-01-01',300500000);
INSERT INTO geodb_textdata VALUES(105,400100000,'104',null,null,null,null,null,'3000-01-01',300500000);
INSERT INTO geodb_textdata VALUES(105,400200000,'2',null,null,null,null,null,'3000-01-01',300500000);
INSERT INTO geodb_textdata VALUES(105,500100000,'Bundesrepublik Deutschland','de',1,1,null,null,'3000-01-01',300500000);
INSERT INTO geodb_textdata VALUES(105,500100002,'DEUTSCHLAND','de',1,1,null,null,'3000-01-01',300500000);
INSERT INTO geodb_textdata VALUES(105,500500000,'D',null,null,null,null,null,'3000-01-01',300500000);
INSERT INTO geodb_textdata VALUES(105,500600000,'D',null,null,null,null,null,'3000-01-01',300500000);
INSERT INTO geodb_intdata  VALUES(105,600700000,82175684,null,null,'3000-01-01',300500000);
INSERT INTO geodb_floatdata  VALUES(105,610000000,357104,0,null,'3000-01-01',300500000);
INSERT INTO geodb_locations VALUES(80076,100800000);
INSERT INTO geodb_textdata VALUES(80076,400100000,'26599',null,null,null,null,null,'3000-01-01',300500000);
INSERT INTO geodb_textdata VALUES(80076,400200000,'8',null,null,null,null,null,'3000-01-01',300500000);
INSERT INTO geodb_textdata VALUES(80076,500100000,'Kleinwolschendorf','de',1,1,null,null,'3000-01-01',300500000);
INSERT INTO geodb_textdata VALUES(80076,500100002,'KLEINWOLSCHENDORF','de',1,1,null,null,'3000-01-01',300500000);
INSERT INTO geodb_textdata VALUES(80076,500600000,'16076087',null,null,null,null,null,'3000-01-01',300500000);

Für Hilfe bin ich dankbar.
 
Werbung:
Hier werden nicht mehrere Datenbanken gefüllt sondern mehrere Datenbanktabellen die sich in einer Datenbank befinden. Und dein Beispiel enthält keinen einzelnen Datensatz sondern mehr als ein Dutzend davon.

Die OpenGeoDB ist eine von mehreren Möglichkeiten Entfernungsberechnungen zwischen Postleitzahlen durchzuführen. Wenn Du OpenGeoDB nutzen willst, gehe am besten so vor wie hier beschrieben um die Datenbank zu füllen: http://opengeodb.giswiki.org/wiki/Datenbank_erstellen

Vorteile der OpenGeoDB ist, dass man sie kostenfrei nutzen kann und sie historisch gewachsen ist. Außerdem sind verschiedene Berechnungen, die man auf dieser Basis machen kann, gut dokumentiert. Für deinen Fall wäre z.B. die Entfernungsberechnung von hier relevant: http://opengeodb.giswiki.org/wiki/OpenGeoDB_Beispiele

Ein Nachteil ist jedoch, dass OpenGeoDB nicht unbedingt in allen Details aktuell ist, weshalb ich dir auch folgende Alternativen noch nenne:
 
ich glaube, ich würde es im ersten Anlauf mit den Daten von OpenGeoDB versuchen.
So weit, so gut.
Ich hatte mich im ersten Post unglücklich ausgedrückt.
Ich erstelle also mehrere Datenbanktabellen und kann über SQL die Tabellen mit den Daten aus der Datei von OpenGeoDB füllen lassen.
Aber wo, also in welcher Tabelle und unter welchem Eintrag finde ich dann die GeoKoordinaten, und wo den Bezug zur Postleitzahl ?
 
Werbung:
Huhu threadi,
die Seiten hatte ich schon gelesen. Was mir konkret noch nicht klar ist, wie ich aus dieser Datei, die ich Downloaden kann, meine Datenbank bekomme und in welchen Zeilen dann die Geodaten für die Berechnung stehen.
 
Welche Datensätze dafür verwendet werden, ist aus dem 2. Link eigentlich ersichtlich. Die Datenbank ist natürlich auch recht komplex aufgebaut, aber durchdacht. Wenn Du das ohne die o.g. Beispiele schaffen willst, schau dir die Dokumentation zur Datenbank selbst an - die Tabellen sind in der Kategorie hier beschrieben: http://opengeodb.giswiki.org/wiki/Kategorie:Datenbank
 
Werbung:
Zurück
Oben