Einzelnen Beitrag anzeigen
  #22 (permalink)  
Alt 03-09-2010, 20:08
Ghostrider28
 Registrierter Benutzer
Links : Onlinestatus : Ghostrider28 ist offline
Registriert seit: May 2010
Beiträge: 67
Ghostrider28 befindet sich auf einem aufstrebenden Ast
Standard

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
Mit Zitat antworten