Forum: Mikrocontroller und Digitale Elektronik gps Datenaustauschsformat


von Waldgichtel (Gast)


Lesenswert?

Guten Mittag zusammen,

ich versuche derzeit einen kleinen, simplen GPS-Logger zu bauen. Wichtig 
wäre mir dabei, dass ich die daten direkt in einem Format auf die 
SD-Karte schreiben kann, das sich später direkt weiterverarbeiten lässt. 
(googleearth usw)

Ausgeguckt habe ich mir nun gpx und kmz ... beide wären halbwegs einfach 
umzusetzten ... nur ein Problem habe ich damit .. die latitude und 
longitude angabe muss bei beiden Formaten in Grad mit dezimalstellen 
angegeben werden.

Im NMEA Format werden die daten allerdings in Grad, Minuten, Sekunden 
ausgeben.

Daher die Frage, gibt es ein Format dass direkt mit diesen Daten 
gefüttert werden will? Dann würde ich mir die Dividiererei sparen ...

Vielen Dank schonmal.

Toni

von spess53 (Gast)


Lesenswert?

Hi


Im NMEA Format werden die daten allerdings in Grad, Minuten, Sekunden
ausgeben.

Nein. Grad und Minuten. Die Sekunden verbergen sich in den 
Nachkommastellen der Minuten.

MfG Spess

von Waldgichtel (Gast)


Lesenswert?

oh öhm ja, hab ich jetzt erst so richtig registriert ;-). thx

Mein Problem wird damit leider nur nicht gerade einfacher ... dann wärs 
ne float division :/. ... direkter gpx ausgabe wird dann ja schon fast 
unmöglich :(

Toni

von spess53 (Gast)


Lesenswert?

Hi

>Mein Problem wird damit leider nur nicht gerade einfacher ... dann wärs
>ne float division :/. ... direkter gpx ausgabe wird dann ja schon fast
>unmöglich :(

Division? Wohl eher Multiplikation (Nachkommastellen x 60). So etwas 
mache ich in Assembler.

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Waldgichtel schrieb:
> oh öhm ja, hab ich jetzt erst so richtig registriert ;-). thx
>
> Mein Problem wird damit leider nur nicht gerade einfacher ... dann wärs
> ne float division :/.

Na ja. float muss es nicht gerade sein
Beim Einlesen gleich mal die Grad am Dezimalpunkt von den Dezimalminuten 
trennen und dann getrennt weiterbehandeln

von Waldgichtel (Gast)


Lesenswert?

hm versteh ich nicht ganz, warum multiplikation mit 60?

Hier ma ein Beispieldatensatz:

$GPRMC,112443.213,A,4701.5450,N,00610.4986,E,000.0,309.8,190310,,,A*64

dann ist die Positionsangabe doch nun in dem format:

47° 01.5450 Minuten N
6° 10.4986 Minuten E

Das nun umgerechnet:

47 + (01,5450/60) N
= 47,02575 N

6 + (10,4986/60) E
= 6,174976667 E

Ok ich kann logischerweise mit 0,01666666 multiplizieren aber float 
bleibts trotzdem. Viel wär das ne Möglichkeit. Mit dem aufsplitten hab 
ich noch nicht ganz verstanden. Die ° rausziehen ist klar ... aber wie 
lässt sichs dann vereinfachen :/

Toni

von Karl H. (kbuchegg)


Lesenswert?

Waldgichtel schrieb:

> dann ist die Positionsangabe doch nun in dem format:
>
> 47° 01.5450 Minuten N
> 6° 10.4986 Minuten E
>
> Das nun umgerechnet:
>
> 47 + (01,5450/60) N
> = 47,02575 N
>

Ich denke du willst Grad Minuten und Sekunden getrennt haben?

47 01.5450

47 Grad
01 Minute
5450 * 60 = 32700 = (Komma zurechtschieben) = 32,7 Sekunden


Edit:
nochmal nachgelesen.
Stimmt ja nicht. Du brauchst ja Grad alleine

> Ok ich kann logischerweise mit 0,01666666
Du kannst ja auch mit 16666 multiplizeren und das Komma danach 
zurechtschieben

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.