cClaude.rocks ☕ Le blog

[Nouvelles technologies du libre, sciences et coups de gueule…]

Menu

Pour vos randonnées, l’utilisation de traces GPS est quelque chose de très pratique. Vous pouvez suivre une randonnée que vous avez trouvée sur Internet, où proposer à des amis de faire la même ballade que vous en leur donnant votre trace GPS.



Il existe de nombreuses applications pour votre téléphone, je vous encourage à utiliser F-Droid pour cela, vous aurez moins de choix, mais votre vie privée sera mieux protégée.

Certain sites ne vous proposeront pas de fichier de trace GPS au format GPX, vous serez souvent confronté avec des fichiers .kmz ou .kml pour les itinéraires que vous téléchargerez.

.kmz est simplement un fichier .kml compressé, .kml étant un « langage de balisage » utilisé par Google Earth.

Cependant pour la plupart des logiciels libres, vous devrez utiliser le format GPX.


GPS Babel

GPSBabel est un logiciel libre qui convertit les formats de fichiers GPS.

L’installation se fait assez simplement sur les machines Ubuntu et dérivées comme Linux Mint.

sudo apt install gpsbabel

Si vous souhaitez l’interface graphique (qui ne vous fera vraiment pas gagner de temps, soyons clairs), vous pouvez l’installer à l’aide de :

sudo apt install gpsbabel-gui

GPSBabel ne peut pas convertir directement de .kmz en .gpx d’où les précisions sur le fait qu’il faille décompresser le fichier .kmz qui est au format zip. L’étape de décompression étant réalisée vous pourrez convertir le fichier .kml ainsi obtenu à l’aide de :

gpsbabel -i kml -f fichier.kml -o gpx -F fichier.gpx


Une fonction bash pour la conversion

  • Conversion kmz vers gpx

    Petite fonction bash permettant de convertir un fichier kmz en gpx basée sur mes observations :

    • Le fichier kmz est un fichier zip (la commande unzip est requise) contenant un fichier doc.kml.
    function convert_kmz2gpx {
      local -r filekmz="$1"
    
      local -r filenamebase="$( basename "${filekmz%.kmz}" )"
      local -r directory="$( dirname "${filekmz}" )"
    
      echo "filenamebase=${filenamebase}"
      echo "directory=${directory}"
    
      local -r dockml="${directory}/doc.kml"
      local -r filekml="${directory}/${filenamebase}.kml"
      local -r filegpx="${directory}/${filenamebase}.gpx"
    
      echo "dockml=${dockml}"
      echo "filekml=${filekml}"
      echo "filegpx=${filegpx}"
    
      if [ -f "${filegpx}" ] ; then
        echo "*** File '${filegpx}' already exists" >&2
        return 1
      fi
    
      if [ -f "${filekml}" ] ; then
        echo "*** File '${filekml}' already exists" >&2
      else
        if [ -f "${dockml}" ] ; then
          echo "*** File '${dockml}' already exists" >&2
          return 1
        fi
    
        unzip "${filekmz}" || return 1
      fi
    
      mv -v "${dockml}" "${filekml}" || return 1
    
      gpsbabel -i kml -f "${filekml}" -o gpx -F "${filegpx}" || return 1
    }
    

    Usage :

    convert_kmz2gpx fichier.kmz
    


Références

ᦿ


ℹ 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog