Geodaten - Entfernung berechnen

Aus Wikizone
Wechseln zu: Navigation, Suche

Allgemeine Formeln Erdoberfläche ist gekrümmt Das Problem der Entfernungsberechnung auf der Erdoberfläche ist, dass die Erde bekanntlich eine abgeflachte Kugel ist. Man muss vor der Berechnung also entscheiden, ob man die Krümmung in die Berechnung einfliessen lässt, oder nicht.

Umkreissuche mit Geokoordinaten

Einfache Entfernungsberechnung

Für die Berechnung der Entfernung in Deutschland könnte man die Krümmung der Erdoberfläche vernachlässigen. Für eine einfache Umgebungssuche könnte man hier auf den Satz des Pythagoras

a² + b² = c² 

zurückgreifen. Das benötigt weniger Rechenzeit, was bei größeren Datenmengen sicherlich vorteilhaft ist.

Genauere Entfernungsberechnung

Etwas komplexer wird die Entdernungsberechnung, wenn man die Krümmung der Erdoberfläche berücksichtigt. Längengrade und Breitengrade müssen dazu im Bogenmaß angegeben werden. Die Umrechung des dezimalen Formats in das Bogenmaß erfolgt über die Formel

Grad / 180 x Π (≈ 3,141)

. Daraus ergibt sich die Formel, die wir im obigen Beispiel verwendet haben:

Entfernung=arccos( sin(latB)·sin(latA) + cos(latB)·cos(latA)·cos(lonB-lonA) ) * Erdradius

PHP Beispiel:

$umkreis=25;//Umkreis von 25 km
$sql ="Select * from TABELLE where acos(sin(breite* PI( ) /180)*sin($breite* PI( ) /180)+cos(breite* PI( ) /180)*cos($breite* PI( ) /180)*cos($laenge* PI( ) /180-laenge* PI( ) /180))*6378<$umkreis"