GPS koordinaten umrechnen - sekunden??

Gast #4365757
Lesenswert?
• ▲
▼
Hi,

mein chip gibt mir, lt Datenblatt "Latitude Wert (nördlicher Breite: 
Sekunden / 256)" heraus.

die bytes sind "74 02 A5 8D"
und mein wert wäre in etwa 48.181230 +-

also rechne ich jetzt 7402A58D in dezimal um =
1946330509 und dann * 256?? Das wären dann 498260610304

Aber wie rechne ich es in Stunden/ Mintuen etc um?
#4365775
Lesenswert?
• ▲
▼
Was da kommt, ist keine Zeit, sondern ein Winkel, also wird das mit den 
Stunden eher nix.

Ansonsten hat ein Grad 60 Bogenminuten und eine Bogenminute wiederum 60 
Winkelsekunden. Ein Vollkreis hat 360°, also entsprechend 60 x 360 = 
21600 Bogenminuten oder 60 x 60 x 360 = 1296000 Winkelsekunden.

Koordinaten werden aber nicht von 0-360° angegeben, sondern von 0-180 
entweder "links" (westlich) oder "rechts" (östlich) von Greenwich bzw. 
entsprechend nördlich oder südlich vom Äquator.
#4365785
Lesenswert?
• ▲
▼
Markus F. schrieb:

> Ansonsten hat ein Grad 60 Bogenminuten und eine Bogenminute wiederum 60
> Winkelsekunden. Ein Vollkreis hat 360°, also entsprechend 60 x 360 =
> 21600 Bogenminuten oder 60 x 60 x 360 = 1296000 Winkelsekunden.

Eben.
Seine Zahl ist viel zu hoch. Da kann man runter rechnen soviel man will, 
man landet auf nix vernünftigem.
Daher: Datenblatt. Ich vermute dass schon mal die Bytereihenfolge nicht 
stimmt.

Gehe ich davon aus, dass das Highbyte zuerst kommt, dann lautet die Hex 
Zahl
02748DA5

Wenn ich das /60 /60 und /256 bearbeite, dann lande ich bei rund 44 
Grad. Würde zwar von der Grössenordnung passen, ist aber immer noch weit 
daneben.

Daher: Datenblatt wie die Bytefolge zu interpretieren ist.
Gast #4365791
Lesenswert?
• ▲
▼
48.181230 Grad (°) multipliziert mit 60 ergibt den Wert in 
Winkelminuten, nochmal multipliziert mit 60 in Winkelsekunden (")

48.181230°*60*60=173452,428"

Umgewandelt in Hex ergibt sicht daraus x0002A58C.

Verglichen mit deinem Ergebnis (x7402A58D) sieht man, dass du das 
höchstwertige Byte ignorieren muss (die x74) und den Rest direkt als 
Winkelsekunden interpretieren kannst. Um von Winkelsekunden auf Grad zu 
kommen musst du durch 3600 dividieren.

Kann auch sein, dass die 74 "umsortiert" werden muss und die 
niederwertigsten Stellen bildet. Das lässt sich aus dem Zahlenwert aber 
nicht ableiten, das bekommt man nur übers Datenblatt raus
#4365798
Lesenswert?
• ▲
▼
Achim S. schrieb:
> 48.181230 Grad (°) multipliziert mit 60 ergibt den Wert in
> Winkelminuten, nochmal multipliziert mit 60 in Winkelsekunden (")
>
> 48.181230°*60*60=173452,428"
>
> Umgewandelt in Hex ergibt sicht daraus x0002A58C.

Nicely done.

> Kann auch sein, dass die 74 "umsortiert" werden muss und die
> niederwertigsten Stellen bildet.


Es könnten auch die Kommastellen sein.
0x74 ist circa ungefähr 0x80, also die Hälfte was mit einem Byte möglich 
ist.
0.428 (also dein Kommaanteil) ist auch ungefähr 0.5. 0x74 ist ein klein 
wenig kleiner als als die Hälfte, 0.428 ebenfalls.

0x74 -> dezimal 116

116 / 256 -> 0.453

könnte hinkommen, wenn man die originale Angabe als geschätzt annimmt.
#4365829
Lesenswert?
• ▲
▼
Basti schrieb:
> 48.181230
rechnen wir mal umgekehrt:

48,181 ....Grad mal 60 ergibt die Bogenminuten: 2890,8738, dezimal
nochmals mal 60 die Sache in Bogensekunden 173452,428, dezimal
nochmals mal 256 die Sache in 256stel sekunden: 44403821,57, dezimal

ohne die 57, in hex, ist das 2a 58 c6 d. Das sind also 28 bit

Deine Angabe aber umfasst 32 bit. Also stimmt irgendetwas nicht.

Rechnen wir nochmal, etwas gerundet:

48Grad sind 2880 Minuten, 172800 Sekunden und in hex: 2 A3 00 Sekunden.
Das mal 256: 2 A3 00 00 256stel-Sekunden. Die Stellenzahl dieser 
hex-Zahl  ist auch 28 bit und nicht 32 wie bei Dir oben.

Also stimmt bei Deiner hex-Zahl irgendetwas nicht.
#4365889
Lesenswert?
• ▲
▼
Walter S. schrieb:
> Achim hat das doch schon vor einer halben Stunde gelöst ...

Denk auch dran, dass zwischen Beginn einer Antwort und dem Absenden noch 
einige Zeit vergehen kann, besonders, wenn man sich der Rechnung sicher 
sein will und zwischendurch auch mal etwas andres tut.

Achims Anwort hab ich beim Absenden nicht gekannt, die trifft wohl den 
entscheidenden Punkt: die hex- Zahlen sind in umgekehrter Reihenfolge, 
höchstwertige Stelle zuletzt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.