mikrocontroller.net

Forum: PC-Programmierung GPS NMEA - Konvertierungsprobleme


Autor: Cnewbie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

mit der GPS Maus bekomme ich die Koordinaten geleifert. Diese Infos 
speicher ich zuerst in einen String. Nun möchte ich die Daten umwandeln.
Beispiel:

Der String Latitude beinhaltet diese Zahl 4124.8963. Nun soll die ersten 
beiden Ziffern in eine Integer Variable rein und die anderen in eine 
Daouble Variable. Wie kann ich dies mit C realisieren?
Was gibt mir dies an 24.8963?

>>Latitude    4124.8963,  N   41d 24.8963' N or 41d 24' 54" N
>>Longitude   08151.6838, W   81d 51.6838' W or 81d 51' 41" W

Autor: STK500-Bsitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was gibt mir dies an 24.8963?

Steht da doch: 24.8963 °Minuten.
Die Nachkommastellen geben die °Sekunden an: 0,8963*60 = 53,778

Den ganzen String kannst du dann so auseinanderklabüstern:
String = "4124.8693" (+ "\0")

Grad = (String[0]-'0')*10 + (String[1]-'0');
Minuten = (String[2]-'0')*10 + (String[3]-'0');

Sekunden musst du dir selber überlegen...

Kann aber sein, dass sich die Stringbehandlung noch etwas komplizierter 
gestaltet. Mit Arrays geht das so.

Autor: Andreas Läßer (franklyn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI Cnewbie

Kann ich deinen Code haben? mit dem du aus deinem Modul den NMEA String 
rausbekommst?
Ich bekomm da ausser ein paar Hyroglyphen überhaupt nix raus.

Vielen Dank Andreas!
franklyn@franklyn.at

Autor: Thomas Bremer (Firma: Druckerei Beste) (virtupic)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Steht da doch: 24.8963 °Minuten.
> Die Nachkommastellen geben die °Sekunden an: 0,8963*60 = 53,778

Sicher? Bei mir kommen da Dezimalwerte raus. Ach, das meinst du ja 
anscheinend auch. Deine Formulierung hat mich etwas durcheinander 
gebracht.

Wenn's um Brechenungen geht, dann bleibt man besser dezimal. Minuten und 
Sekunden höchstens zur Entfernungsmessung in Seemeilen (1 nm = 1° lat) 
oder wenn's auf Karten so angegeben ist.

virtuPIC
/ggadgets for tools & toys

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Bremer wrote:
> Sicher? Bei mir kommen da Dezimalwerte raus. Ach, das meinst du ja
> anscheinend auch. Deine Formulierung hat mich etwas durcheinander
> gebracht.

Das sieht nur wie Dezimal aus, ist es aber nicht, was du leicht 
feststellen kannst, indem du mal solche "Dezimalwerte" nimmst, deren 
Ursprungsort du kenst, und mal auf einer Karte diese Koordinate 
aufsuchst.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.