Entfernung berechnen anhand der PLZ

Sascha1976

Mitglied
Hallo,
hat jemand von euch eine Idee, wie man anhand der PLZ die entfernung berechnen kann ?

z.B.
40591 zu 40591 = 0 Kilometer entfernung
40591 zu 40229 = 1 Kilometer entfernung

Leider fällt mir dazu nichts ein, wie man die berechnung machen könnte.

Vieleicht hat sich ja schonmal einer von euch darüber der Kopf zerbrochen oder hat irgendwo schonmal eine Lösung gefunden.

Gruß
Sascha
 
Ich glaube das wären zu viele abfragen.

Da die abfrage ja bei jedem Seitenaufruf neu berechnet werden muß.

Der eingeloggte User geht auf dei Seite wer ist Online und soll ja dann sehen, wer Online ist und weit die Person von einem Wegwohnt.

Als Anlage hab ich mal nen Bild drangehangen, wie es ungefähr aussehen soll.

Nur leider ist das nicht in PHP sondern in cfm Programmiert worden.

Gruß
Sascha
 

Anhänge

  • entfernung.jpg
    entfernung.jpg
    21,2 KB · Aufrufe: 1.518
Wieso sind das zu viele Abfragen? Das ist genau eine Abfrage. Du liest ja irgendwann man die User-Daten aus der Datenbank aus. Die Daten joinst du dann anhand der PLZ mit den Daten der GeoDB, und schon hast du zu allen Usern die Koordinaten.
 
Oder du speicherst dann die Koordinaten direkt bei den Userdaten. Dann bleibt die Anzahl der Abrufe gleich und du mußt nur noch eine Funktion zur Entfernungsberechnung aufrufen.
 
Das Problem ist, wenn ich die Koordinaten für folgende Düsseldorf PLZ berechne, sind es immer die gleichen.


40591 Düsseldorf
Länge 6.76667 / 6° 46' 0''
Breite 51.2167 / 51° 13' 0''

40229 Düsseldorf
Länge 6.76667 / 6° 46' 0''
Breite 51.2167 / 51° 13' 0''

40629 Düsseldorf
Länge 6.76667 / 6° 46' 0''
Breite 51.2167 / 51° 13' 0''

Erst wenn ich eine andere Stadt nehme, bekomme ich andere Koordinaten.
40699 Erkrath
Länge 6.9 / 6° 54' 0''
Breite 51.2167 / 51° 13' 0''


Ich brauch aber die entfernung zu jeder PLZ. Auch den Düsseldorfer.


Gruß
Sascha
 
Dann mußt du dir eine Datenquelle suchen, die das ganze höher auflöst - oder die Daten selbst erfassen. Da Postleitzahlen aber mehr oder weniger willkürlich vergeben werden können, ist das nicht einfach..
 
Hab bei Google was gefunden, aber das bringt mich nicht wirklich weiter.

Aber vieleicht kann ja jemdnad von euch damit was anfangen.

Code:
Entfernungsberechnung
---------------------

Entfernungen zwischen zwei Zustellbezirken oder Postfachbereichen lassen sich mithilfe
der Gauß-Krüger- oder UTM-Koordinaten durch einfache Anwendung des Pytagorassatzes 
berechnen, da diese Koordinatensysteme rechtwinkelig und metrisch sind:

Formel für die Entfernungsberechnung mit Gauß-Krüger-Koordinaten:
        difRechts := abs(GKRECHTS1 - GKRECHTS2)
        difHoch   := abs(GKHOCH1   - GKHOCH2  )
        strecke   := sqrt(difRechts * difRechts + difHoch * difHoch)

Formel für die Entfernungsberechnung mit UTM-Koordinaten:
        difRechts := abs(UTMRECHTS1 - UTMRECHTS2)
        difHoch   := abs(UTMHOCH1   - UTMHOCH2  )
        strecke   := sqrt(difRechts * difRechts + difHoch * difHoch)

GKRECHTS1 / UTMRECHTS1: Rechtswert der ersten Postleitzahl
GKHOCH1 / UTMHOCH1:     Hochwert der ersten Postleitzahl
GKRECHTS2 / UTMRECHTS2: Rechtswert der zweiten Postleitzahl
GKHOCH2 / UTMHOCH2:     Hochwert der zweiten Postleitzahl
abs():                  Absolutbetrag
sqrt():                 Quadratwurzel
strecke:                Das Ergebnis ist die Entfernung in Meter.
Quelle: http://www.killetsoft.de/ortplzrf.htm


Gruß
Sascha
 

Neue Beiträge

Zurück