labrar
Threadersteller
Dabei seit: 04.04.2006
Ort: -
Alter: 49
Geschlecht:
|
Verfasst Sa 29.03.2014 12:17
Titel Grad (Bearing) von Geopunkt A zu GeopunktB |
|
|
Ich stehe auf dem Schlauch
Code: | <?php
function getBearing($lat1, $lon1, $lat2, $lon2) {
$longi = deg2rad($lon2) - deg2rad($lon1);
$remister = log(tan(deg2rad($lat2) / 2 + pi() / 4) / tan(deg2rad($lat1) / 2 + pi() / 4));
if(abs($longi) > pi()) {
if($longi > 0) {$longi = (2 * pi() -$longi) * -1; }else {$longi = 2 * pi() + $longi; }
}
return (rad2deg(atan2($longi, remister)) + 360) % 360;
}?>
|
Die Formel müsste doch richtig sein oder?
Denn, zumindest von Deutschland aus wird Norden (360) als Süden (180) ausgegeben.
Ich habe schon mit folgendem Code versucht das ganze zu ändern indem ich lat1 und lat2 vergleiche und dann entprechend was größer ist das ganze drehe. Das ganze auch mit lng.
So zeigt er es jetzt zwar richtig an, aber macht ja keinen Sinn.
Denn lat1 und lng2 sind jetzt eine Gruppe und lat2 und lng1. Also stimmen die Punkte doch gar nicht mehr.
Hööölfe
Danke
|
|