Geschrieben am: 22.12.2006 um 08:57 Uhr
Zuletzt editiert am: 22.12.2006 um 09:16 Uhr
|
|
Zitat von MrDimension: Wie wäre es wenn du deine Längen und Breitengrade zuerst ins Richtige Maß bringst und nicht das Ergebnis erst ins Bogenmaß bringst.... nur so ein kleiner mathematischer Gedanke....
$pi = 3.141592653589;
$Breite1 = $Breite1/180*$pi;
$Breite2 = $Breite2/180*$pi;
$Laenge1 = $Laenge1/180*$pi;
$Laenge2 = $Laenge2/180*$pi;
$e = acos((sin($Breite1)*sin($Breite2)) + (cos($Breite1)*cos($Breite2)*cos($Laenge2 - $Laenge1)));
return round($e * 6378.388, 2);
versuch es einfach mal so 
danke!
ich probiers gleich aus und schreib dann, obs ging
EDIT: Perfekt! Jetzt kommen 538.1 km raus!!! das müsste stimmen, oder?
Danke nochmal
EDIT 2:
Für alle, die mal das gleiche Problem haben, hier die fertige Funktion:
function entfernung($Laenge1, $Laenge2, $Breite1, $Breite2)
{
if(empty($Laenge1) || empty($Laenge2) || empty($Breite1) || empty($Breite2))
{
return "???";
}
else
{
$pi = 3.141592653589;
$Breite1 = $Breite1/180*$pi;
$Breite2 = $Breite2/180*$pi;
$Laenge1 = $Laenge1/180*$pi;
$Laenge2 = $Laenge2/180*$pi;
$e = acos((sin($Breite1)*sin($Breite2)) + (cos($Breite1)*cos($Breite2)*cos($Laenge2 - $Laenge1)));
return round($e * 6378.388, 2);
}
}
|