Entfernung mit Geo-Koordinaten berechnen

Trekki76

Grünschnabel
Hallo zusammen,

ich bastel gerade an einem Script, um Entfernungen zwischen einzelnen Geo-Koordinaten zu berechnen.
Wenn ich nur Start-/Endpunkt habe, klappt es, die Entfernung stimmt (mit Google Earth verglichen).

Jetzt möchte ich aber längere Strecken mit mehreren Zwischenpunkten berechnen.
Hier zeigt das Script nur noch Müll.
Aus einer 2,5km Teststrecke werden auf einmal über 30km.....

Hier das Script mit der Abfrage aus der DB und berechnung der Entfernung.
Die Anzeige der Strecke über Google-Maps-API und andere kleinigkeiten habe ich mal weggelassen....

PHP:
$sql = "SELECT * FROM $OnTrack ORDER by timecode DESC";
$result = mysql_query($sql);
while($row=mysql_fetch_array($result)) {

//entfernungsberechnung start
$B1 = $row['lat'];
$L1 = $row['lon'];
$B2 = $B1alt;
$L2 = $L1alt;
if($B2=="")$B2=$B1;
if($L2=="")$L2=$L1;
$breite1 = $B1 / 180 * $pi ;
$länge1 = $L1 / 180 * $pi ;
$breite2 = $B2 / 180 * $pi ;
$länge2 = $L2 / 180 * $pi ;
$e = acos( sin($breite1)*sin($breite2) + cos($breite1)*cos($breite2)*cos($länge2-$länge1) );
$entfernung = $e * 6378.137;
$entfernung=sprintf('%.3f',$entfernung);
echo"L&auml;nge: ".$L1." Breite: ".$B1." - Entfernung: ".$entfernung."<br>";
$entfernungges=$entfernungges+$entfernung;
$B1alt=$B1;
$L1alt=$L2;
}
Echo"Gesamt-Entfernung: ".$entfernungges." km<br>";

Ist zwar nicht sauber erstellt, ist nur nen Test als verbesserung der reinen Streckenanzeige....

Ich hoffe, hier kann kann mir jemand einen kleinen Tip geben.

Gruß
Trekki

EDIT:
Fehler gefunden, hatte nen Zahlen-Dreher drin:
PHP:
falsch:
$L1alt=$L2;
richtig:
$L1alt=$L1;
 
Zuletzt bearbeitet:
Zurück