nmea Daten berechnen

  • VB6

    nmea Daten berechnen

    Ich habe es geschafft aus zwei Längengraden und Breitengraden eine Distanz und die Zeit zu berechnen.
    Wenn ich aber das gesamte nmea File berechne komme ich auf unrealistische Werte.
    Im Anhang habe ich meine nmea Datei beigefügt und mein VB Code für die Berechnung der Distanz und Zeit sieht wie folgt aus:

    Visual Basic-Quellcode

    1. Open datei For Input As #2
    2. Do While Not EOF(2)
    3. Line Input #2, Data
    4. 'prüfen ob beginn erreicht ist
    5. If Left(Data, 8) = "$Version" Then
    6. i = 1
    7. End If
    8. If Left(Data, 6) = "$GPRMC" Then
    9. i = i + 1
    10. datum2 = datum1
    11. uhrzeit2 = uhrzeit1
    12. breite2 = breite1
    13. laenge2 = laenge1
    14. datum1 = MakeStringToDate(wert(9, Data))
    15. uhrzeit1 = MakeStringTotime(wert(1, Data))
    16. breite1 = wert(3, Data)
    17. laenge1 = wert(5, Data)
    18. 'Prüfen ob bereits nächstes Datum ist
    19. If datum2 <> datum1 Then y = y + 1
    20. If breite1 > 0 Then breite1 = Left(breite1, 2) + CDbl(Mid(breite1, 3, 2) & "," & Mid(breite1, 5)) / 60
    21. If laenge1 > 0 Then laenge1 = Left(laenge1, 2) + CDbl(Mid(laenge1, 3, 2) & "," & Mid(laenge1, 5)) / 60
    22. If i > 2 And (breite1 <> breite2 Or laenge1 <> laenge2) Then
    23. kilometer(y) = kilometer(y) + distanz(breite2, laenge2, breite1, laenge1)
    24. zeit(y) = zeit(y) + DateDiff("s", uhrzeit2, uhrzeit1)
    25. datum(y) = datum1
    26. End If
    27. End If
    28. Loop
    29. Close #2
    30. tage = y + 1
    31. x = 0
    32. Do While x < tage
    33. Debug.Print kilometer(x)
    34. Debug.Print CDate(zeit(x) / 86400) 'stunden
    35. Debug.Print datum(x)
    36. Debug.Print "-------------"
    37. x = x + 1
    38. Loop



    Mit meinem Code komme ich auf folgendes Ergebnis:


    41,831044 (Kilometer)
    00:09:30 (Zeit)
    18.06.2010 (Datum)

    Laut der Software GPSonic (http://www.nsonic.de) bekomme ich folgendes Ergebnis:
    7,98 km
    00:10:57 (Zeit)

    Hoffe da kann mir jemand weiterhelfen, was ich da falsch mache, bzw. wo da der Fehler liegen könnte.

    Vielen Dank für jede Antwort
    Dateien
    • nmea.txt

      (185,82 kB, 121 mal heruntergeladen, zuletzt: )