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
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
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
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.