GEOrgET will convert or import both the nmea and gpx formats, and can export to the gpx format.
GEOrgET will convert any nmea log file to a kml file that can be read by GoogleEarth.
In order to be completely converted, files must contain pairs of lines that begin with $GPGGA and $GPRMC:
$GPGGA,105507.000,5202.7784,N,00922.9744,E,1,00,,57.8,M,0.0,M,,0000*70 $GPRMC,105507.000,A,5202.7784,N,00922.9744,E,000.00,0.0,120113,,,E*52
Files may contain other lines, but these will be ignored.
Conversion allows sets of points to be averaged (supersampling reduction). The sampling rate can be chosen from a number of standard rates. For example, if you take one measurement every second when a sample very 30 seconds is sufficient for mapping purposes, then a sampling rate of 30 will produce a point every 30 seconds.
The time zone is set during conversion, but can be changed later, if necessary.
Conversion also removes any stationary (duplicate) points, i.e subsequent points that are below the measurement threshold for GPS (10 m) are automatically dropped.
The converted file will be named exactly as the original file, except for the file suffix. If a file of that name already exists, it will not be overwritten, but a new file will be produced with the name appended by a two digit number separated by an underscore (_00, _01, etc).
To import a gpx format file, choose the *.gpx filter and refresh the page. All gpx files will now be shown, and the button for processing the files will be labelled Import. GEOrgET will import all track segments as individual files called "Track_xx.kml" and will attempt to read elevation and time tags. If no elevation tags are present, the elevations will be read from the SRTM files that are present.
To export to gpx format, list the kml files in a directory, and choose the processing option 1. Produce congruent path and points (after moving, deleting or adding points), and check the box for Export to GPX. The resulting file will be named after the source file with the suffix replaced by ".gpx".