Soit le problème « ferroviaire » suivant :
Ce billet explique comment y arriver simplement, à l’aide d’un petit script en Ruby et de Gnuplot.
Je n’ai pas vraiment cherché à automatiser cette étape. J’ai fait des opération de copier-coller à partir du fichier PDF et j’ai tout vérifié à la main… Cela donne un fichier de données pour le sens impair et le sens pair. Dans ces fichiers, la première colonne contient le nom de la gare, la deuxième le point kilométrique correspondant à la gare (trouvé par ailleurs), et enfin les horaires eux-mêmes.
Il faut maintenant générer les séries de données dans un format compréhensible par Gnuplot : il faut donc disposer de couples (heure de passage, point kilométrique). Ces séries sont trivialement déduites des fichiers de données précédents par un petit script Ruby : sens impair, sens pair.
On écrit alors un petit programme Gnuplot :
Et voilà le résultat ! Joli non ? L’intérêt, c’est qu’on y est arrivé de manière reproductible et presque « tout automatique » : on peut donc à loisir et sans effort supplémentaire modifier le résultat, ou utiliser d’autres données d’entrée.
Mise en garde : ce billet donne une méthode pour tracer des graphiques de circulation. Les fichiers de données et le graphique sont donc donnés à titre de simples illustrations. Je ne peux donc pas être tenu responsable de leur contenu, et des inexactitudes qu’ils peuvent contenir. Pour des renseignements fiables sur les horaires des trains, reportez-vous à la SNCF.
Mise à jour : les fichiers fournis en exemple correspondent actuellement aux horaires de l’année civile 2008.
HTML5 valide ? © Christophe Jacquet. ✍ Contact. Mentions légales.