PHP-Code:
if (isset($koord[$key + 1]))
{
$erste_breite = $koord[$key][0]; // lat
$erste_laenge = $koord[$key][1]; // lon
$erste_breite_rad = deg2rad($erste_breite);
$erste_laenge_rad = deg2rad($erste_laenge);
$zweite_breite = $koord[$key + 1][0]; // lat
$zweite_laenge = $koord[$key + 1][1]; // lon
$zweite_breite_rad = deg2rad($zweite_breite);
$zweite_laenge_rad = deg2rad($zweite_laenge);
$dis = acos(
(sin($erste_breite_rad) * sin($zweite_breite_rad)) +
(cos($erste_breite_rad) * cos($zweite_breite_rad) *
cos($zweite_laenge_rad - $erste_laenge_rad))) * $welt;
$ent = $ent + $dis;
}
Werte/ Berechnungsgrundlage:
Key:1217, Wert: 118.32437878168, Breite: 53.52985, Laenge: 8.12707 . Dis: 0.15678254086481<br>
Key:1218, Wert: NAN, Breite: 53.52967, Laenge: 8.12942 . Dis: NAN<br>
Key:1219, Wert: NAN, Breite: 53.52967, Laenge: 8.12942 . Dis: NAN<br>
Berechnung:
$erste_breite = $koord[$key][0]; //
53.52985
$erste_laenge = $koord[$key][1]; //
8.12707
$erste_breite_rad = deg2rad($erste_breite); //
0.93427213059869
$erste_laenge_rad = deg2rad($erste_laenge); //
0.14184413004006
$zweite_breite = $koord[$key + 1][0]; //
53.52967
$zweite_laenge = $koord[$key + 1][1]; //
8.12942
$zweite_breite_rad = deg2rad($zweite_breite); //
0.93426898900603
$zweite_laenge_rad = deg2rad($zweite_laenge); //
0.14188514527748
$dis = acos(
(sin($erste_breite_rad) * sin($zweite_breite_rad)) +
(cos($erste_breite_rad) * cos($zweite_breite_rad) *
cos($zweite_laenge_rad - $erste_laenge_rad))) * $welt;
$ent = $ent + $dis;
$dis = acos(
(sin(0.93427213059869) * (sin(0.93426898900603)) +
(cos(0.93427213059869) * (cos(0.93426898900603)) *
(cos(0.14188514527748 - 0.14184413004006))) * 6378.137
= acos((0.80416664275182 * 0.80416477537289)) + ((0.59440391207096 * 0.59440643843205) * (0.99999999915888))
= acos(0.64668248763089 + (0.35331751236418 * 0.99999999915888)) * 6378.137
= acos(0.64668248763089 + 0.353317512067) * 6378.137
Distanz zwischen den beiden oben genannten Punkten =
0.15678026508383