Registriert seit: 8. Dez 2005
Ort: Unterschleißheim
90 Beiträge
Delphi 2010 Professional
|
AW: Wie mathematisch einer gewünschten Lösung nähern?
14. Jul 2013, 14:44
Näherungsweise (die Erde ist eher eliptisch) kann man den Abstand zwischen zwei Punkten auf der Erde so berechnen:
Delphi-Quellcode:
const
RErde=6366.71; //Radius Erde in km
torad:extended=pi/180;
{ Umwandlung ° in radiant }
Lat1:=la1*torad; // Latitude Punkt 1
Lon1:=lo1*torad; // Longitude Punkt 1
lat2:=la2*torad; // Latitude Punkt 1
lon2:=lo2*torad; // Longitude Punkt 1
Distanz:=ArcCOS(SIN(Lat1)*SIN(Lat2)+COS(Lat1)*COS(Lat2)*COS(Lon1-Lon2))*RErde; //Entfernung in km
Richtung in °
if(SIN(Lat2-Lon2)<=0)
then Richtung:=ARCCOS((SIN(Lon1)-SIN(Lat1)*COS(Distance))/(1E-28+(SIN(Distance)*COS(Lat1))))
else Richtung:=2*pi-ARCCOS((SIN(Lon1)-SIN(Lat1)*COS(Distance))/(1E-28+(SIN(Distance)*COS(Lat1))));
Reichtung:=Direction/torad; // Richtung in °
Manfred
Manfred Mein erster Rechner hatte eine Z80A-CPU mit 4MHz, 64KB Speicher, Musikkassetten als Speichermedium. Als Betriebssystem CP/M (dazu gekauft)
|