mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
GxpParser: add support for version 2 of Garmin's TrackPointExtension
This commit is contained in:
committed by
José Rebelo
parent
4d9afdbfb8
commit
b09ed96de6
@@ -4,9 +4,10 @@
|
||||
xmlns:g3="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
||||
xmlns:gpx="http://www.topografix.com/GPX/1/1"
|
||||
xmlns:tx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
||||
xmlns:tx2="http://www.garmin.com/xmlschemas/TrackPointExtension/v2"
|
||||
xmlns:w1="http://www.garmin.com/xmlschemas/WaypointExtension/v1"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
exclude-result-prefixes="ax g3 gpx tx w1"
|
||||
exclude-result-prefixes="ax g3 gpx tx tx2 w1"
|
||||
version="1.0">
|
||||
<xsl:output
|
||||
encoding="UTF-8"
|
||||
@@ -65,6 +66,9 @@
|
||||
<trkpt>
|
||||
<xsl:call-template name="point" />
|
||||
<xsl:choose>
|
||||
<xsl:when test="gpx:extensions/tx2:TrackPointExtension/tx2:atemp">
|
||||
<xsl:attribute name="temperature"><xsl:value-of select="gpx:extensions/tx2:TrackPointExtension/tx2:atemp" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="gpx:extensions/tx:TrackPointExtension/tx:atemp">
|
||||
<xsl:attribute name="temperature"><xsl:value-of select="gpx:extensions/tx:TrackPointExtension/tx:atemp" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
@@ -72,18 +76,42 @@
|
||||
<xsl:attribute name="temperature"><xsl:value-of select="gpx:extensions/g3:TrackPointExtension/g3:Temperature" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
<xsl:choose>
|
||||
<xsl:when test="gpx:extensions/tx:TrackPointExtension/tx:depth">
|
||||
<xsl:attribute name="depth"><xsl:value-of select="gpx:extensions/tx:TrackPointExtension/tx:depth" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="gpx:extensions/g3:TrackPointExtension/g3:Depth">
|
||||
<xsl:attribute name="depth"><xsl:value-of select="gpx:extensions/g3:TrackPointExtension/g3:Depth" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
<xsl:if test="gpx:extensions/tx:TrackPointExtension/tx:hr"><xsl:attribute name="hr"><xsl:value-of select="gpx:extensions/tx:TrackPointExtension/tx:hr" /></xsl:attribute></xsl:if>
|
||||
<xsl:if test="gpx:extensions/tx:TrackPointExtension/tx:cad"><xsl:attribute name="cad"><xsl:value-of select="gpx:extensions/tx:TrackPointExtension/tx:cad" /></xsl:attribute></xsl:if>
|
||||
<xsl:if test="gpx:extensions/ax:TrackPointExtension/ax:speed"><xsl:attribute name="speed"><xsl:value-of select="gpx:extensions/ax:TrackPointExtension/ax:speed" /></xsl:attribute></xsl:if>
|
||||
</trkpt>
|
||||
<xsl:choose>
|
||||
<xsl:when test="gpx:extensions/tx2:TrackPointExtension/tx2:depth">
|
||||
<xsl:attribute name="depth"><xsl:value-of select="gpx:extensions/tx2:TrackPointExtension/tx2:depth" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="gpx:extensions/tx:TrackPointExtension/tx:depth">
|
||||
<xsl:attribute name="depth"><xsl:value-of select="gpx:extensions/tx:TrackPointExtension/tx:depth" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="gpx:extensions/g3:TrackPointExtension/g3:Depth">
|
||||
<xsl:attribute name="depth"><xsl:value-of select="gpx:extensions/g3:TrackPointExtension/g3:Depth" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
<xsl:choose>
|
||||
<xsl:when test="gpx:extensions/tx2:TrackPointExtension/tx2:hr">
|
||||
<xsl:attribute name="hr"><xsl:value-of select="gpx:extensions/tx2:TrackPointExtension/tx2:hr" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="gpx:extensions/tx:TrackPointExtension/tx:hr">
|
||||
<xsl:attribute name="hr"><xsl:value-of select="gpx:extensions/tx:TrackPointExtension/tx:hr" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
<xsl:choose>
|
||||
<xsl:when test="gpx:extensions/tx2:TrackPointExtension/tx2:cad">
|
||||
<xsl:attribute name="cad"><xsl:value-of select="gpx:extensions/tx2:TrackPointExtension/tx2:cad" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="gpx:extensions/tx:TrackPointExtension/tx:cad">
|
||||
<xsl:attribute name="cad"><xsl:value-of select="gpx:extensions/tx:TrackPointExtension/tx:cad" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
<xsl:choose>
|
||||
<xsl:when test="gpx:extensions/tx2:TrackPointExtension/tx2:speed">
|
||||
<xsl:attribute name="speed"><xsl:value-of select="gpx:extensions/tx2:TrackPointExtension/tx2:speed" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="gpx:extensions/ax:TrackPointExtension/ax:speed">
|
||||
<xsl:attribute name="speed"><xsl:value-of select="gpx:extensions/ax:TrackPointExtension/ax:speed" /></xsl:attribute>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</trkpt>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="point">
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
creator="Garmin Desktop App"
|
||||
xmlns:ax="http://www.garmin.com/xmlschemas/ActivityExtension/v1"
|
||||
xmlns:ge="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
||||
xmlns:tpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
||||
xmlns:t1="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
||||
xmlns:t2="http://www.garmin.com/xmlschemas/TrackPointExtension/v2"
|
||||
xmlns:wpx="http://www.garmin.com/xmlschemas/WaypointExtension/v1"
|
||||
>
|
||||
|
||||
@@ -82,12 +83,12 @@
|
||||
<vdop>3.2</vdop>
|
||||
<pdop>1.5</pdop>
|
||||
<extensions>
|
||||
<tpx:TrackPointExtension>
|
||||
<tpx:atemp>28.3</tpx:atemp>
|
||||
<tpx:depth>26.3</tpx:depth>
|
||||
<tpx:hr>123</tpx:hr>
|
||||
<tpx:cad>22</tpx:cad>
|
||||
</tpx:TrackPointExtension>
|
||||
<t1:TrackPointExtension>
|
||||
<t1:atemp>28.3</t1:atemp>
|
||||
<t1:depth>26.3</t1:depth>
|
||||
<t1:hr>123</t1:hr>
|
||||
<t1:cad>22</t1:cad>
|
||||
</t1:TrackPointExtension>
|
||||
<ax:TrackPointExtension>
|
||||
<ax:speed>23.3</ax:speed>
|
||||
</ax:TrackPointExtension>
|
||||
@@ -106,7 +107,17 @@
|
||||
</ge:TrackPointExtension>
|
||||
</extensions>
|
||||
</trkpt>
|
||||
<trkpt lat="47.65594482421875" lon="9.47296142578125" />
|
||||
<trkpt lat="47.65594482421875" lon="9.47296142578125">
|
||||
<extensions>
|
||||
<t2:TrackPointExtension>
|
||||
<t2:atemp>40.4</t2:atemp>
|
||||
<t2:depth>41.4</t2:depth>
|
||||
<t2:hr>42</t2:hr>
|
||||
<t2:cad>43</t2:cad>
|
||||
<t2:speed>44.4</t2:speed>
|
||||
</t2:TrackPointExtension>
|
||||
</extensions>
|
||||
</trkpt>
|
||||
<trkpt lat="-43" lon="-19" />
|
||||
</trkseg>
|
||||
</trk>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<trkseg>
|
||||
<trkpt lat="47.5048828125" lon="9.7393798828125" ele="-440.2" time="2025-10-03T15:10:59Z" name="Tp1" desc="a description" sym="Summit" hdop="1.4" vdop="3.2" pdop="1.5" temperature="28.3" depth="26.3" hr="123" cad="22" speed="23.3"/>
|
||||
<trkpt lat="47.60899250395596" lon="9.55604980699718" ele="8849.2" time="2025-10-03T15:20:59Z" name="Tp2" desc="a comment" sym="Water" temperature="34.3" depth="33.3"/>
|
||||
<trkpt lat="47.65594482421875" lon="9.47296142578125"/>
|
||||
<trkpt lat="47.65594482421875" lon="9.47296142578125" temperature="40.4" depth="41.4" hr="42" cad="43" speed="44.4"/>
|
||||
<trkpt lat="-43" lon="-19"/>
|
||||
</trkseg>
|
||||
</trk>
|
||||
|
||||
Reference in New Issue
Block a user