Forum: Mikrocontroller und Digitale Elektronik Berechnung eines Kurses mit Koordinate


von Jochen S. (jochen_s)


Lesenswert?

Hallo Forum,

Ich weiss nicht wohin mit dem Beitrag soll.
Ich möchte aus 2 Koordinaten aus dem GPS einen Kurs und eine Entfernung 
berechnen.
Nun hab ich mal etwas gesucht und nachgedacht:
Grundgedanke ist dass man ja nur auf der Erdoberfläche bewegen kann 
daraus folgt es handelt sich um ein Kreisbogen mit dem Radius der Erde. 
Bliebe nun die Frage wie ich aus den Koordinaten den Winkel des 
Kreissegments berechne.
Die Länge des Bogen wäre dann : pi * r *(Alpha/180°) (Alpha als Winkel 
des Kreisbogens)

Oder sollte man die Kreissehne berechnen und aus der auf die Bogenlänge 
umrechnen?

Und dann bleibt noch der Kurs zu berechnen

Kann man da die Winkel von einander abziehen und dann irgendwie 
verwurschteln??

Danke im Vorraus

Jochen

von profit (Gast)


Lesenswert?

Wenn das Ganzze kleinraeumig geschieht kann man rechtwinklig rechnen und 
das Kugelzeugs weglassen.

von Dennis (Gast)


Lesenswert?

Rechtwinklig rechnen:

Differenz der Breitengrade:
(Breite1-Breite2) * 111,12

Differenz der Längengrade:
(Länge1-Länge2) * 111,12 * cos( (Breite1+Breite2)/2 )

Die 111,12 sind die km / Grad.

Anschließend mit Pythagoras die Entfernung und mit'm Tangens den Kurs 
berechnen.

von Christoph (Gast)


Lesenswert?

Hallo  Jochen,

Wikipedia ist dein Freund... such mal da nach 'Orthodrome'. In dem 
Artikel werden Formeln für Winkel- und Entfernungsberechnung angegeben 
(vergiss den Abschnitt mit der genauen Formel so ab der Mitte). Diese 
verwende ich in meinem auf einem ATmega besierenden GPS-System. Die 
Berechnung mache ich jede Sekunde nach Erhalt der aktuellen Koordinaten 
von der seriell angeschlossenen GPS-Maus. Alle zwei Sekunden würde aber 
auch reichen ;)

Gruß
Christoph

von Roland P. (pram)


Lesenswert?

Hier wäre die Formel wenn man nicht rechtwinklig rechnet:

Entfernung=ARCCOS (
  SIN (Breitengrad des Startpunktes * PI / 180) *
  SIN (Breitengrad des Zielpunktes * PI / 180) +
  (COS (Breitengrad des Startpunkts * PI / 180) *
   COS (Breitengrad des Zielpunkt * PI() / 180) *
   COS (
     (Längengrad des Zielorts - ( -Längengrad des Startpunkts )) * PI / 
180)
  )
) * 6370 (=Radius der Erde)

http://www.php-resource.de/forum/showthread/t-4938.html

von Uwe N. (ulegan)


Lesenswert?

Hier gibts eine Formelsammlung für Navigationsprobleme:
http://williams.best.vwh.net/avform.htm

Entfernung:
1
d=2*asin(sqrt((sin((lat1-lat2)/2))^2 + 
2
  cos(lat1)*cos(lat2)*(sin((lon1-lon2)/2))^2)) * Radius_der_Erde
Kurs:
1
tc1=mod(atan2(sin(lon1-lon2)*cos(lat2),
2
    cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)*cos(lon1-lon2)), 2*pi)

von Detlef _. (detlef_a)


Lesenswert?

Mit der Entfernungsberechnung gabs schon mal hier, auch mit vielen 
links:

Beitrag "GPS - MOUSE - MINI- NAVIGATOR (Assembler) ATmega8"

Cheers
Detlef

von Jochen S. (jochen_s)


Lesenswert?

Hallo,

Ja das mit dem Wikipedia hatte ich schon gemacht habe auch schon 
grösstensteils die Formeln gesehen muss nur gestehen, dass Mathe I 
Berechnungen auf Kugeln nicht ganz mein Fall war.

Die Implementierung sollte nicht das Problem darstellen aber einfaches 
Formel abschreiben ist nicht das was ich möchte. Man will ja auch das 
warum kapieren.
Wenn mir also das ganze mal auf einem Level niedrieger Erklären könnte 
wäre ich demjenigen sehr dankbar.
Gruss Jochen

von Sebastian C. (basti79)


Lesenswert?

Hallo zusammen,

IMHO wird im Zusammenhang mit GPS die Erde allerdings nicht als Kugel 
betrachtet, sondern als Elipsoid (vgl. 
http://de.wikipedia.org/wiki/WGS84).

Ich weiß allerdings nicht wie viel Unterschied das in der Praxis 
wirklich ausmacht. Allerdings gibt es hier 
(http://williams.best.vwh.net/gccalc.htm) die Möglichkeit Entfernungen 
in verschiedenen Referenzmodellen zu berechnen. Da das ganze JavaScript 
ist, gibt der Quellcode auch die Fromeln her, ist allerdings etwas 
umfangreich ;)

Greets
  Sebastian.

von Detlef _. (detlef_a)


Lesenswert?

Mit Schulmathe geht die Berechnung auch, ist bißchen verquer:

Kugelkoordinaten in kartesische umrechnen, steht in jeder 
Formelsammlung, dann den Abstand der Punkte, ist trivial, das ist dann 
die Länge des Tunnels von A nach B, mit dem Erdradius läßt sich dann die 
Entfernung direkt ausrechnen.

Gute Nacht
Detlef

von Philip (Gast)


Lesenswert?

>[..]Ich weiß allerdings nicht wie viel Unterschied das in der Praxis
>wirklich ausmacht. Allerdings gibt es hier [..]

Ich bin mir nicht mehr ganz sicher, doch meine ich vor kurzem gelesen zu 
haben, dass der Fehler bei ca. 0.5% liegt

Cheers,
Philip

von Jochen S. (jochen_s)


Lesenswert?

@ Detlef_a
vielen Dank, dann war ich mit meinen Überlegungen ja gar nicht so auf 
dem Holzweg. Also erst die Sehne errechnen (den Tunnel) und dann auf den 
Radius hochrechnen.

Jochen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.