Comment est structurée l'application
Le point d'entrée s'appelle merger.py
Il utilise donc trois autres modules annexes, qui sont
shipdict.py, qui implémente les classes
Position qui contient une latitude, une longitude, et un timestamp,
Ship qui modélise un bateau à partir de son id et optionnellement name et country
ShipDict, qui maintient un index des bateaux (essentiellement un dictionnaire)
compare.py qui implémente
la classe Compare qui se charge de comparer les fichiers résultat avec leur version de référence,
kml.py qui implémente
la classe KML dans laquelle sont concentrées les fonctions liées à la génération de KML ; c'est notamment en fonction de nos objectifs pédagogiques que ce choix a été fait.
Lancement
Lorsque le programme est complet et qu'il fonctionne correctement, on le lance comme ceci :
$ python merger.py json/*
Opening ALL_SHIPS.txt for listing all named ships
Opening ALL_SHIPS.kml for ship ALL_SHIPS
Comparing ALL_SHIPS.txt and ALL_SHIPS.txt.ref -> OK
Comparing ALL_SHIPS.kml and ALL_SHIPS.kml.ref -> OK
qui comme on le voit produit
ALL_SHIPS.txt qui résume, par ordre alphabétique les bateaux qu'on a trouvés et le nombre de positions pour chacun, et
ALL_SHIPS.kml qui est le fichier au format KML qui contient toutes les trajectoires.
Partager