GPX/NMEA write to file: how and 2 request
  • Question(s) on how:
    Mapfactor stores a coordinate every second. How does it do this?
    Does it really write a coordinate every second? Or does it collect 10/30/60 coordinates and writes these in bulk to file? (and in the end when stopping recording, write the remaining coordinates?)
    Because if it does really write every second:
    - there is a lot of I/O which is not good for performance
    - the SD-cards write mechanism has hugely improved over the years, but still SD-cards are not hard-disks and get worn down relatively quickly. Writing every second will wear them down much faster than necessary
    - If the SD-cards mechanism will try to spread the data to prevent this wear down, you might get a lot of fragmentation in the files as the SD-cards controller will try to spread them over the SD-card to prevent this wear down.

    As NMEA writes a lot more info, this mechanism will work even faster in NMEA mode ánd have a bigger effect on performance (I/O wise)

    In 2017 @pstein wrote a post about the gpx files not properly line separated and indented:
    The gpxfile is indeed one long line, instead of having a linefeed after every </trkpnt>.
    Please add a \n (or \r\n for windows users) after every </trkpnt>. It is so simple when writing the string to concatenate this at the end. Really a 3-5 minute change.

    Please make writing to GPX/NMEA user configurable with regard to frequency. Now it writes every second. Make this user configurable to write every 1-15 seconds (or so). When walking you don't need a coordinate every second. Sometimes with a not so stable GPS signal, you might even get a not so smooth line.
  • 1 Comment sorted by
  • The nmea file does contain altitude in its $GPGGA line and speed (in knots as that is the standard) in its $GPRMC line
    The gpx contains altitude, but does not contain speed.

    Is there a reason why the gpx does not contain speed?

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion