diff --git a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java index adfe89005..9305f19f5 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java @@ -31,6 +31,7 @@ import de.dennisguse.opentracks.content.data.Track; import de.dennisguse.opentracks.content.data.TrackPoint; import de.dennisguse.opentracks.content.provider.ContentProviderUtils; import de.dennisguse.opentracks.content.provider.TrackPointIterator; +import de.dennisguse.opentracks.stats.TrackStatistics; import de.dennisguse.opentracks.util.StringUtils; /** @@ -205,6 +206,7 @@ public class GPXTrackExporter implements TrackExporter { printWriter.println("xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""); printWriter.println("xmlns:opentracks=\"http://opentracksapp.com/xmlschemas/v1\""); printWriter.println("xmlns:gpxtpx=\"http://www.garmin.com/xmlschemas/TrackPointExtension/v2\""); + printWriter.println("xmlns:gpxtrkx=\"http://www.garmin.com/xmlschemas/TrackStatsExtension/v1\""); printWriter.println("xmlns:pwr=\"http://www.garmin.com/xmlschemas/PowerExtension/v1\""); printWriter.println("xsi:schemaLocation=" + "\"http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" @@ -261,6 +263,18 @@ public class GPXTrackExporter implements TrackExporter { printWriter.println(""); printWriter.println("c0c0c0"); printWriter.println("" + track.getUuid() + ""); + + TrackStatistics trackStatistics = track.getTrackStatistics(); + printWriter.println(""); + printWriter.println("" + trackStatistics.getTotalDistance().toM() + ""); + printWriter.println("" + trackStatistics.getTotalTime().getSeconds() + ""); + printWriter.println("" + trackStatistics.getMovingTime().getSeconds() + ""); + printWriter.println("" + trackStatistics.getStoppedTime().getSeconds() + ""); + printWriter.println("" + trackStatistics.getMaxSpeed().toMPS() + ""); + printWriter.println("" + trackStatistics.getTotalAltitudeGain() + ""); + printWriter.println("" + trackStatistics.getTotalAltitudeLoss() + ""); + printWriter.println(""); + printWriter.println(""); } } diff --git a/src/main/java/de/dennisguse/opentracks/stats/TrackStatistics.java b/src/main/java/de/dennisguse/opentracks/stats/TrackStatistics.java index 112284bf6..54230b298 100644 --- a/src/main/java/de/dennisguse/opentracks/stats/TrackStatistics.java +++ b/src/main/java/de/dennisguse/opentracks/stats/TrackStatistics.java @@ -203,6 +203,10 @@ public class TrackStatistics { movingTime = movingTime.plus(time); } + public Duration getStoppedTime() { + return totalTime.minus(movingTime); + } + /** * Gets the average speed. * This calculation only takes into account the displacement until the last point that was accounted for in statistics.