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)
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.