1 - Objectifs 2 - Travail à faire - Moodle ENSAT

publicité
- TD5 : Module : Algorithmique et programmation. Langage : Python
TD5 : Usage de bibliothèques prédéfinies (matplotlib, math, os, glob) ou
personnalisées (BiblioFichiers)
Thème : Randonnée pédestre : affichage et sauvegarde de tracés graphiques
1 - Objectifs
On veut créer, pour une randonnée définie par
un fichier CSV tel qu’utilisé jusqu’à présent,
d’une part son tracé « vu du ciel » (en X-Y),
d’autre part son « profil » (altitude en fonction
de la distance 2D depuis le début de la
randonnée).
2 - Travail à faire
2.1 - Trace "Vue du ciel" de la randonnée
La trace "Vue du ciel" correspondra à une courbe représentant les latitudes des points en fonction de leur
longitude, chaque point étant relié à son prédécesseur par un segment de droite.
Voici un exemple de ce que l’on pourra obtenir in fine :
Ouvrir le programme LireFichierRandonnee5_GraphiquesDebut.py où le code des TD précédent est
déjà saisi. La réalisation de cette figure s’effectue avec la bibliothèque prédéfinie matplotlib de Python,
dont les possibilités de base sont illustrées dans le fichier MatplotlibExemples.py qui vous est mis à
disposition. Lire attentivement les spécifications de ce fichier-exemple qui illustre quelques fonctions de
base de matplotlib, dont la fonction fondamentale plot qui trace un graphique dans une fenêtre graphique
(dénommée "figure" dans matplotlib) et quelques procédures et paramètres de mise en forme.
INP Toulouse
Claude MONTEIL - Marc SOUQUES
Ecole Nationale Supérieure Agronomique de Toulouse page 1/3
- TD5 : Module : Algorithmique et programmation. Langage : Python
Ce fichier illustre également la bibliothèque prédéfinie math utilisant des fonctions (sin, exp) et constante
trigonométrique (pi).
On se centrera pendant le TD sur l’affichage de la courbe, d’une part à l’écran dans un premier temps, et
d’autre part en la sauvegardant ensuite sous forme de fichier jpg. (avec le même nom principal que celui
du fichier csv de la randonné). Pour générer un nom Randonnee02-07-2011.jpg à partir de Randonnee0207-2011.csv, on utilisera la syntaxe : NOM_FICHIER.replace("csv","jpg"). La marque des points
horaires n’est pas demandée pour le TD. Elle est indiquée ici à titre illustratif d’autres possibilités de
matplotlib.
NOTA : bien vérifier le paramétrage de votre
environnement SPYDER pour afficher les figures
dans des fenêtre séparées et interactives :

Dans menu Outils / Préférences (ou
),
Console IPython, paramétrer comme cidessous pour afficher les graphiques dans des
fenêtres Windows indépendantes à la place de
l'affichage dans la fenêtre IPython ci-dessus:

Redémarrer le noyau pour que ce paramétrage
soit pris en compte : Fenêtre IPython, menu en
haut à droite
2.2 - Profil de la randonnée
Le profil de la randonné correspond à la courbe représentant son altitude (en ordonnée) en fonction de la
distance 2D depuis le début de la randonnée (en abscisse). On l’associera à la vitesse instantanée entre le
point courant et son prédécesseur affichée en dessous du profil (usage de la procédure subplot).
INP Toulouse
Claude MONTEIL - Marc SOUQUES
Ecole Nationale Supérieure Agronomique de Toulouse page 2/3
- TD5 : Module : Algorithmique et programmation. Langage : Python
Ici encore, on se centrera sur les 2 "sous-graphiques" (subplot) sans se préoccuper de la superposition des
traits verticaux horaires. La figure sera sauvegardée sous forme de fichier png (et non jpg comme
précédemment), ce qui permet de garder le même nom principal.
Ci-dessous, seulement s'il reste du temps pour le TD, nouveau travail à faire ou bien plutôt un exemple de
possibilités à retrouver dans la correction.
2.3 - Création des graphiques pour toutes les randonnées du
dossier courant.
Il s’agira de parcourir tous les fichiers-randonnées CSV du dossier courant pour créer automatiquement les
graphiques JPG et PNG associés à chacun d’eux. On pourra aussi inclure la création du fichier TXT des
informations de synthèse, et du fichier KML permettant d’ouvrir la trace en 3D sous Google Earth.
On utilisera pour cela la bibliothèque BiblioFichiers.py mise à disposition. Elle est un exemple très simple
de bibliothèque personnalisée que l’on peut créer soi-même (elle ne contient qu’une seule fonction), et qui
utilise d’autres bibliothèques prédéfinies :
 os = "Operating System" pour la gestion du système d'exploitation, dont on utilise ici les fonctions
listdir, path.isdir, path.isfile
 glob = "Filename globbing utility" pour l’usage des caractères "jokers" * et ? dans la définition d’un
filtre de recherche comme "*.csv" ou "annee20??.txt"
INP Toulouse
Claude MONTEIL - Marc SOUQUES
Ecole Nationale Supérieure Agronomique de Toulouse page 3/3
Téléchargement