PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Boutor : Script awk : mkl2gpx

vendredi 2 août 2013 à 14:43

Je fais de la capture de parcours avec OSMtracker.
Les fichiers obtenus sont au format XML GPX. J’ai trouvé une série d’outils me permettant de réaliser des tracés et quelques statistiques. Et je saisie le cas échéant les chemins manquant dans Open Street Map (OSM!).

Lors d’une de mes sorties, c’est un ami qui a réalisé la capture GPS. Le fichier obtenu est un KML, aussi en XML.
En regardant le contenu, c’est la même chose que le GPX écrit différemment.
Du coup, j’ai réalisé ce petit script pour réaliser le travail.

L’unique astuce du script est

 FS = "[> <]" 

qui permet d’avoir le signe > et < en séparateur de champ.

BEGIN {
  print ""
  print ""
  print "	"
  print "		"FILENAME""
  print "		"
  FS = "[> <]"
  capture  = 0
  DEBUG = 0
  reduce = 2
  count = 0
}

( $2 == "gx:Track" ) {
  capture = 1
  next
}

/when/ {
  time = $3
  if(DEBUG){
    for(i = 1; i <= NF; ++i) {
      printf("%s %s  :  ", i, $i)
    }
    printf("\\n")
  }
}

( /gx:coord/ && capture == 1) {
  lon = $3
  lat = $4
  alt = $5
  count ++
  if( count == reduce ) {
    print "			"
    print "				"alt""
    print "				"
    print "			"
    count = 0
  }
  if(DEBUG){
    for(i = 1; i <= NF; ++i) {
      printf("%s %s  :  ", i, $i)
    }
    printf("\\n")
  }
  next
}




END {
  print "		"
  print "	"
  print""
}

Pour l'utiliser :

awk -f kml2gpx.awk in.kml > out.gpx

Gravatar de Boutor
Original post of Boutor.Votez pour ce billet sur Planet Libre.