feat(bkgpslog):Add GPX KML output from buffer
[EVA-2020-02.git] / exec / bkgpslog
index 2b24c9046f514bffc0e2e29ce595681ff04cfb98..9de6a09717d3b6574a6003195f4b2c9259126847 100755 (executable)
@@ -229,9 +229,10 @@ main() {
     processArguments "$@" # Process arguments.
     if checkapp gpspipe && checkdir "$DIROUT"; then
        # Determine output file paths
     processArguments "$@" # Process arguments.
     if checkapp gpspipe && checkdir "$DIROUT"; then
        # Determine output file paths
-       FILEOUT_NMEA="$(dateTimeShort)".."$SCRIPT_HOSTNAME"_location.nmea ;
-       #FILEOUT_GPX="" ;
-       #FILEOUT_KML="" ;
+       FILEOUT_BASENAME="$(dateTimeShort)".."$SCRIPT_HOSTNAME"_location
+       FILEOUT_NMEA="$FILEOUT_BASENAME".nmea ;
+       FILEOUT_GPX="$FILEOUT_BASENAME".gpx ;
+       FILEOUT_KML="$FILEOUT_BASENAME".kml ;
 
        # Determine script lifespan (note: exit if <= 0 since 'timeout' runs forever if provided "0s".
        #if ! scriptTTL="$(timeUntilMidnight)"; then yell "ERROR: timeUntilMidnight exit code $?"; exit 1; fi 
 
        # Determine script lifespan (note: exit if <= 0 since 'timeout' runs forever if provided "0s".
        #if ! scriptTTL="$(timeUntilMidnight)"; then yell "ERROR: timeUntilMidnight exit code $?"; exit 1; fi 
@@ -246,9 +247,14 @@ main() {
        while [[ "$SECONDS" -lt "$scriptTTL" ]]; do
            ((debugCounter++))
            # Fill buffer
        while [[ "$SECONDS" -lt "$scriptTTL" ]]; do
            ((debugCounter++))
            # Fill buffer
-           buffer="$(timeout "$bufferTTL""s" gpspipe -r)"; # Record gpspipe nmea data to $buffer for bufferTTL seconds
-           # Save buffer
-           echo "$buffer" >> "$DIROUT"/"$FILEOUT_NMEA""$debugCounter"
+           buffer="$(timeout "$bufferTTL""s" gpspipe -r)"; # Record gpspipe nmea data to buffer for bufferTTL seconds
+           # Process buffer
+           buffer_GPX="$(echo "$buffer" | gpsbabel -i nmea -f - -o gpx -F - )"; # Convert buffer to GPX format
+           buffer_KML="$(echo "$buffer" | gpsbabel -i nmea -f - -o kml -F - )"; # Convert buffer to KML format
+           # Save processed buffer data
+           echo "$buffer" >> "$DIROUT"/"$FILEOUT_NMEA""$debugCounter" # Save NMEA format
+           echo "$buffer_GPX" >> "$DIROUT"/"$FILEOUT_GPX""$debugCounter" # Save GPX format
+           echo "$buffer_GPX" >> "$DIROUT"/"$FILEOUT_KML""$debugCounter" # Save KML format
            vbm "DEBUG:Completed buffer session $debugCounter" 1>&2;
            # Reset buffer
            unset buffer
            vbm "DEBUG:Completed buffer session $debugCounter" 1>&2;
            # Reset buffer
            unset buffer