Comment concatener 2 traces GPX ?

 

    Concatener 2 traces (ou routes) c'est fusionner 2 traces consécutives pour en faire une.

    Nous allons faire avec un exemple en partant de l'idée que le dernier point de la trace 1 est proche du premier point de la trace 2

    Les 2 traces sont représentées avec une petite indentation (décalage) pour avoir plus de lisibilité

trace 1:

<gpx version="1.1" creator="Visorando" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<trk>
   <name>trace 1</name>
   <trkseg>
     <trkpt lat="43.470229" lon="0.035451">
     <ele>177.0</ele>
     </trkpt>
     <trkpt lat="43.469782" lon="0.034568">
     <ele>176.215</ele>
     </trkpt>
     <trkpt lat="43.469348" lon="0.034495">
     <ele>175.182</ele>
     </trkpt>
   </trkseg>
</trk>
</gpx>

 

Trace 2

<gpx version="1.1" creator="Visorando" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<trk>
   <name>trace 2</name>
   <trkseg>
     <trkpt lat="43.468967" lon="0.034459">
     <ele>175.734</ele>
     </trkpt>
     <trkpt lat="43.468612" lon="0.034568">
     <ele>176.0</ele>
     </trkpt>
     <trkpt lat="43.468296" lon="0.034314">
     <ele>176.728</ele>
     </trkpt>
   </trkseg>
</trk>
</gpx>

Pour effectuer la concaténation on va prendre les balises <trkpt> ....</trkpt>de la trace 2 et les copier (selection en bleu ci-dessous).

<gpx version="1.1" creator="Visorando" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<trk>
   <name>trace 2</name>
   <trkseg>
     <trkpt lat="43.468967" lon="0.034459">
     <ele>175.734</ele>
     </trkpt>
     <trkpt lat="43.468612" lon="0.034568">
     <ele>176.0</ele>
     </trkpt>
     <trkpt lat="43.468296" lon="0.034314">
     <ele>176.728</ele>
     </trkpt>

   </trkseg>
</trk>
</gpx>

On va aller les coller dans la trace 1 juste après la dernière balise </trkseg> et modifier le nom de la nouvelle trace

<gpx version="1.1" creator="Visorando" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<trk>
   <name>trace 1 et 2</name>
   <trkseg>
     <trkpt lat="43.470229" lon="0.035451">
     <ele>177.0</ele>
     </trkpt>
     <trkpt lat="43.469782" lon="0.034568">
     <ele>176.215</ele>
     </trkpt>
     <trkpt lat="43.469348" lon="0.034495">
     <ele>175.182</ele>
     </trkpt>
     <trkpt lat="43.468967" lon="0.034459">
     <ele>175.734</ele>
     </trkpt>
     <trkpt lat="43.468612" lon="0.034568">
     <ele>176.0</ele>
     </trkpt>
     <trkpt lat="43.468296" lon="0.034314">
     <ele>176.728</ele>
     </trkpt>

   </trkseg>
</trk>
</gpx>

 

    Notre nouvelle trace est bien la concacaténation de 2 traces. Bien sûr ici nos traces sont très courtes, mais c'est la même opération avec des traces de plusieurs milliers de points. On peut aisi faire la concaténation de x fichiers en faisant x copiers collers.