Kinodioraptor : un omnivore qui bouffe aussi des bouts de GPX
Préparatifs
Ma bête restait encore sur sa faim, alors je lui ai ajouté un bouton dans l’onglet [Video Trimming & GPX Smoothing]. Ça va lui donner à manger deux choses de plus : (1) les doublons des fichiers GPX et (2) les sections inutiles qui correspondent aux bouts de vidéo coupés avec le bouton [Découper la vidéo] qui existe déjà. Voici à quoi ressemble maintenant cet onglet au design très sobre.

Avec ce nouveau bouton, j’ai voulu m’émanciper complètement de GpsPrune pour manipuler mes fichiers GPX d’une manière entièrement personnalisée. Je n’y croyais pas vraiment, pour dire vrai, mais au bout de 24 heures de discussions enflammées avec l’IA, j’ai déjà ce que je voulais. Il ne reste plus qu’à tester en situation réelle dans les prochains jours.
Le bouton [GPX Cutter], donc, lance un fichier python complètement indépendant qui fonctionne parfaitement sans le Kinodioraptor, au cas où quelqu’un s’intéresserait éventuellement à ce petit programme sans prendre toute la bête avec.
Cliquer sur ce bouton ouvre d’abord une fenêtre de sélection du fichier GPX.

Jusqu’ici, rien de bien sorcier. On choisit le fichier, puis la carte désirée. Dans mon cas, ce sont des cartes du Japon, fournies gratuitement par le GSI (Geospatial Information Authority of Japan). J’utilise les photos aériennes ou la carte standard, selon les besoins du moment.

Il ne reste plus qu’à spécifier le niveau de zoom (détail) de la carte.

Le programme télécharge alors les tuiles de la région géographique nécessaire, en les mettant en cache pour ne pas avoir à les retélécharger chaque fois. C’est donc un peu lent la première fois (quelques minutes), et rapide à partir de la deuxième.
Une fois les tuiles téléchargées, le fichier est épuré pour enlever tous les doublons (points de latitude et longitude identiques sur la carte), histoire d’alléger le fichier, puis le tracé s’affiche, comme ceci. Point important, le fichier est modifié pour commencer à 00:00:00, quelle que soit l’heure de la journée à laquelle j’ai commencé à rouler.

Je me retrouve dans une interface qui fonctionne exactement comme je voulais pour manipuler mon tracé, comme l’indique la légende tout en haut : déplacements sur la carte à l’aide de la souris et des touches de clavier, zoom -+ avec le clavier, indication des intervalles de 5 minutes sur la carte pour faciliter les grands sauts temporels avec la souris, et deux boutons (en bas) pour spécifier les points de début et de fin de la partie de la balade qu’il est prévu de mettre sur Kinomap. Avec ça, j’ai tout ce qu’il faut pour manipuler le fichier, sans fonctions ni menu inutiles.
Au début, le tracé complet s’affiche. Dans ce cas précis, j’ai roulé tout l’avant-midi à partir de la gare de Takahashi, près du lac Kasumigaura. Ce fichier étant très long, je vais le couper pour enlever les parties inutiles, ce qui va l’alléger et rendre du même coup l’interface plus réactive, chose importante avec mon modeste ordinateur.
Pour cela, je vais me déplacer et zoomer sur la carte jusqu’au point désiré et définir ce point comme nouveau début du tracé.

J’ai commencé à filmer ma deuxième vidéo du matin une trentaine de minutes après mon départ de la gare, donc je me déplace jusque-là en me repérant d’abord sur les points verts, puis je zoome et trouve le point exact d’où je veux partir.
Laissez-moi zoomer encore plus pour vous montrer d’où je pars pour cette deuxième vidéo.

Je suis dans la cour de Shokoron Hotel, où il y a des toilettes publiques pour les cyclistes et autres visiteurs, un rack à vélos, un distributeur de boissons et une petite bibliothèque pleine de mangas et livres jeunesse. (vous trouverez un billet si vous faites une recherche avec Shokoron sur la page d’accueil du blog).
Je vais donc cliquer sur ce point, il va devenir rouge, et le temps va s’afficher (32:43). Parfait, j’ai mon point de départ, donc je clique sur [Début] pour couper tout ce qui précède.
Au bout de quelques secondes, la nouvelle carte va s’afficher sans la partie tronquée. Et en zoomant de nouveau sur le tracé, je vais constater qu’il commence bien là où je voulais, et que le temps a été décalé sur 00:00.
Ça tombe bien, parce que j’ai commencé à filmer là ma deuxième séquence de la journée (quelle coïncidence, s’exclameront ceux qui n’ont pas suivi attentivement 😛) , et que je vais ainsi pouvoir identifier facilement sur la carte l’endroit où je me trouve quand je visionne la vidéo.

Je vais ensuite me déplacer sur la carte au point où la vidéo se termine, et couper tout ce qui suit pour alléger encore plus mon fichier GPX (ce n’est pas obligatoire, mais comme je disais, mon ordinateur n’est pas très puissant, alors j’allège tant que je peux).

Voilà, à 34:52 (nouveau temps, pas celui du gros tracé initial), je suis arrivé dans un cul-de-sac et j’ai arrêté de filmer. Je suis ensuite revenu sur mes pas pour faire une pause dans le parc, ce qui explique les trois points verts (intervalles de 5 minutes pendant lesquels je marchais dans le parc).
Mon nouveau fichier GPX d’environ 35 minutes s’affiche alors de nouveau sur la carte, et je suis près pour l’étape de coupure des bouts inutiles (feux rouges, etc.).

Élimination des bouts inutiles
Vers la onzième minute, je suis arrivé devant une barrière, suis revenu sur mes pas pour trouver un autre chemin tout près, nouveau cul-de-sac, ai cherché plus loin (re-cul-de-sac) et, résigné, suis revenu jusqu’à la barrière pour la franchir, porté par mon bipède. Ci-dessous, les cercles rouges indiquent les endroits où j’ai lamentablement erré). Tout ça a été filmé, puis coupé de la vidéo dans Kinodioraptor (voir le billet précédent pour la procédure). Je dois donc enlever ce bout aussi sur le tracé GPX.

Sur ma vidéo, j’ai coupé aux environs de 11:18. Je vais donc couper à 11:18 sur mon fichier GPX, en sélectionnant ce point et en cliquant sur la touche Entrée. Mon point de début de coupure est maintenant encadré en vert.

Juste après 11:18, j’ai un point 13:06. Il se trouve entre les points 11:18 et 11:19, ce qui veut dire que c’est un point par où je suis (re)passé après avoir cherché un autre chemin pendant près de deux minutes. Et comme ce point est vraiment collé sur 11:18, je vais aller au point suivant, 13:07, le sélectionner et taper sur Entrée pour le transformer en nouveau point 11:19 (et tous les points suivants vont se décaler dans le temps).

Carré vert du bas : 11:18, délimitateur de la section à couper. Point juste au-dessus : 13:06. Point suivant : 11:19, qui va être éliminé, ainsi que tous les autres, jusqu’à 13:06. Carré vert du haut : Point 13:07, qui va devenir 11:19.
On répète cette opération à tous les endroits nécessaires du fichier, puis on appuie sur la touche « o » (ouptut) pour produire le nouveau fichier GPX à utiliser sur Kinomap.

Le tracé, sans la partie inutile
Ben voilà, j’en suis là après une journée de labeur, c’est quand même rapide (merci à Perplexity AI en passant). L’essentiel est en place. Rien de ceci n’est nouveau, c’est un assemblage de solutions déjà existantes, que j’ai simplement combinées pour avoir une interface graphique qui fait ce dont j’ai besoin et rien de plus. Tout ça tient, pour l’instant, sur un fichier de 540 lignes de code, dont un grand nombre sont probablement inutiles, car mes échanges avec l’IA se font en mode de combat acharné (elle est érudite, mais bête et têtue), alors le code se désarticule et se trouve projeté en tous sens sous nos coups de poing et de pied respectifs.
À suivre, je crois…
Billet n° 188
Notez le n° de billet qui figure ci-dessus. Le formulaire s'ouvrira dans une nouvelle fenêtre.