From fb70486bdc77e0e81290270a47dac084db015bbb Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Wed, 13 Apr 2022 14:54:17 -0400 Subject: [PATCH] Include GPS accuracy in GPX export Add a new "accuracy" tag to the opentracks extension as there was no other extension providing this tag that could be found. Signed-off-by: Brian J. Murrell --- doc/opentracks-schema-1.0.xsd | 9 +++++++++ .../opentracks/io/file/exporter/GPXTrackExporter.java | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/doc/opentracks-schema-1.0.xsd b/doc/opentracks-schema-1.0.xsd index c9eba6e4f..388083a8c 100644 --- a/doc/opentracks-schema-1.0.xsd +++ b/doc/opentracks-schema-1.0.xsd @@ -29,4 +29,13 @@ + + + + Accuracy in meters of the current TrackPoint. + Only used in GPX. + + + \ No newline at end of file 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 cb83bce78..03029d80e 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 @@ -358,6 +358,10 @@ public class GPXTrackExporter implements TrackExporter { trackPointExtensionContent += ("" + ALTITUDE_FORMAT.format(cumulativeLoss) + "\n"); } + if (trackPoint.hasHorizontalAccuracy()) { + trackPointExtensionContent += ("" + DISTANCE_FORMAT.format(trackPoint.getHorizontalAccuracy().toM()) + ""); + } + cumulativeDistance = Distance.ofOrNull(cumulateSensorData(trackPoint, sensorPoints, (tp) -> tp.hasSensorDistance() ? tp.getSensorDistance().toM() : null)); if (cumulativeDistance != null) { trackPointExtensionContent += ("" + DISTANCE_FORMAT.format(cumulativeDistance.toM()) + "\n");