• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Android GPS Kompass

himbeereis

Geonewbie
Hallo allerseits,

dies ist mein erster Post in dieser Community. Ich suche nach GPS / Geo-Experten mit Programmiererfahrung. Bitte seid gnädig, sollte mein Anliegen inhaltlich nicht in dieses Forum gehören;)

Ich versuche derzeit, einen Kompass auf Android Basis umzusetzen. Das Endgerät für meine "App" besitzt aber keinerlei geomagnetische Sensoren, weshalb ich mich nur auf GPS stützen kann. Über die sich daraus ergebenden Ungenauigkeiten bin ich mir im Klaren. Da ich im GPS-Bereich blutiger Anfänger bin bitte ich nun euch um Hilfe.
Mit den Infos, die ich mir bisher angelesen habe komme ich zu folgendem theoretischen Ansatz:

-Speichere nacheinander zwei GPS Koordinaten A und B des momentanen Tracks
-Schnittpunkte beider Geraden ergibt Punkt C -> rechtwinkliges Dreieck
-Berechne mit Pythagoras die Streckenlängen zwischen den Punkten
(mit der Formel: d= √( (x1 - x2)^2 + (y1 - y2)^2 ))
-Berechne mit Hilfe von Trigonometrie den Winkel α
(sin(α)=GK/H )

6uklgii9.png


Mein Wunsch am Ende wäre:
1. Kompass zeigt Richtung Norden (Berechnung mit Heading, siehe oben)
2. Möglichkeit, einen Standort zu speichern und sich auf Anfrage zu diesem navigieren lassen (Berechnung mit Bearing?) ->vorerst optional

Irgendwelche Ideen / Kommentare zu meinem Ansatz?
 

hihatzz

Geomaster
Mir fällt nur dazu ein, wenn du den tangens nimmst
(tan α = GK/AK) dann sparst du dir den Pythagoras.
 
A

azimut400gon

Guest
Und wenn Du atan2 nimmst sogar Quadrantenabfragen.
 

SammysHP

Moderator
Teammitglied
Und wenn du die Methoden aus der Android-API nimmst, brauchst du gar nichts berechnen. Sowohl Richtung als auch Peilung und Entfernung sind da schon mit drin. ;)
 
OP
H

himbeereis

Geonewbie
Das heißt dann also α = atan(tan(α)) bzw. vereinfacht α = atan2(bB-bA, lB-lA) ?

@Sammy: Mit der Location Klasse kann ich Peilung & Entfernung berechnen, aber wie finde ich die aktuelle Richtung meines Kurses heraus?
 

SammysHP

Moderator
Teammitglied
http://developer.android.com/reference/android/location/Location.html#getBearing()

Das über den GPS-Provider und fertig.
 
Oben