Note to non-french speaking people: this project has been developed in French, but could easily be translated if necessary. Feel free to open an issue or contribute yourself if you are interested.
KallaxComptages est un programme développé dans le cadre de mon travail de Bachelor à l'Université de Fribourg, 2022-2023. Son but : faciliter la standardisation, le stockage et l'analyse de données de mobilité issues de comptages routiers. Son concept est le suivant :
- L'utilisateur.trice entre un fichier présentant des données issues d'un comptage routier.
- L'utilisateur.trice entre les spécifications propre au fichier : type de données, colonnes à utiliser, localisation du comptage...
- Le programme s'occupe de la standardisation des données et les insère dans sa base de données.
- L'utilisateur.trice a ensuite à sa disposition des possibilités pour trouver facilement les informations voulues (sous forme de graphiques, de cartes, de chiffres bruts...).
- L'application peut aussi offrir des fonctionnalités plus avancées, telles que du data cleaning ou de la détection d'erreurs.
KallaxComptages tourne uniquement sur Windows 8 et plus récent.
MacOS et Linux ne sont malheureusement pas pris en charge pour le moment, mais il vous est possible de compiler le programme (via PyInstaller, voir section "Contribuer") sur ces systèmes d'exploitation.
- Python - Langage dans lequel est entièrement écrite l'application. Librairies utilisées :
- tkinter, tkintermapview, tkcalendar - Interface de l'application
- numpy, pandas - Traitement numérique de l'information
- openpyxl - Support de l'input de fichiers Excel
- datefinder - Analyse de dates en format texte
- pyinstaller - Compilation du programme en exécutable
- SQLite - Moteur de base de données utilisé. La BDD est donc enregistrée sous forme de fichier indépendant
- Toute la partie "sélection des données" pour l'analyse
- Toute la partie analyse
- Fonctionnalités plus avancées (data cleaning, détection d'erreurs...)
- Prise en compte du sens de circulation
- Prise en compte du type de véhicule pour les données agrégées
- Standardisation des types de véhicules (ne donner le choix que parmi une liste établie)
- Esthétique générale
KallaxComptages ne nécessite pas vraiment d'installation. Il suffit de copier le dossier "out" sur votre machine, puis de lancer l'exécutable (main.exe).
Une fois l'exécutable lancé, la fenêtre suivante apparait :
La première étape consiste à choisir le fichier contenant les informations à introduire dans la base de données.
Le fichier peut être au format .xlsx ou .csv.
Si le fichier choisi est au format .xlsx, cette étape consiste à choisir la feuille à utiliser parmi celles contenues dans le fichier.
Si le fichier est au format .csv, le programme détermine automatiquement le séparateur des colonnes et passe à l'étape suivante sans intervention de l'utilisateur.trice.
Cette étape consiste à spécifier le type de données présent dans le fichier. Il y a 3 types de données possibles :
- Données brutes : chaque passage de véhicule est enregistré sur sa propre ligne.
- Données agrégées par temps : chaque ligne représente les passages de véhicule sur une certaine période de temps, par exemple par tranches d'1h.
- Données agrégées par vitesse : chaque ligne représente les passages de véhicule ayant eu une certaine vitesse, par exemple par tranches de 5 km/h.
Si des données brutes sont disponibles, le programme n'a pas besoin de données agrégées, d'où la sélection unique dans le menu. Autrement, il faut spécifier si les données à disposition sont agrégées par temps, par heure, ou si les deux types sont présents.
Cette étape consiste à spécifier les numéros de ligne du fichier à utiliser. Elle permet d'éviter de prendre en compte les éventuels en-têtes et lignes superflues contenues dans le fichier.
Par défaut, les lignes non-vides du fichier sont prises en compte.
Le contenu de la fenêtre varie en fonction des types de données spécifiées à l'étape 3.
Cette étape consiste à spécifier les numéros/lettres des colonnes contenant l'information des tranches de temps et/ou de vitesse (en fonction du type de données agrégées sélectionnées).
Elle est automatiquement passée si le type de données a été défini sur "brutes" à l'étape 3.
La première valeur de chaque colonne (déterminée à partir de la première ligne indiquée à l'étape 4) est aussi affichée, dans le but de faciliter la sélection de la bonne colonne.
Si la cellule à cet endroit est vide, "vide" sera affiché.
Si la date et l'heure sont affichées dans la même colonne, il est possible de sélectionner "Déjà présent dans "Date"" pour la colonne d'heure.
Il en va de même pour le début et la fin de la tranche de vitesse pour les données agrégées par vitesse.
Cette étape consiste à spécifier les numéros/lettres des colonnes contenant les informations présentes dans le fichier.
Le contenu de la fenêtre varie en fonction des types de données spécifiées à l'étape 3.
Si des données agrégées par tranches de vitesse sont présentes, il est également demandé d'entrer le jour où le comptage a été effectué.
La première valeur de chaque colonne est affichée de la même manière qu'à l'étape 5.
Il est possible de spécifier lorsque des données sont déjà présentes dans d'autres colonnes (par exemple l'heure et la date), ainsi que lorsque des données ne sont pas présentes.
Il n'est pas possible de définir certaines données comme absentes, comme le nombre de passages de véhicules par exemple.
Cette étape consiste à préciser la localisation exacte du comptage routier, sous forme de pointeur sur une carte.
Le pointeur est ensuite automatiquement converti en coordonnées géographiques au moment de l'enregistrement dans la base de données.
Cette étape consiste simplement à vérifier si les informations entrées précédemment sont correctes. Pour ce faire, le programme génère un récapitulatif contenant tout ce qui a été spécifié aux étapes précédentes.
Une fois l'étape 8 validée, les données sont envoyées dans la base de données. Ceci peut prendre un peu de temps, en particulier si le comptage contient une grande quantité de données.
Il est recommandé de ne pas fermer le programme tant que la fenêtre "Données envoyées à la base de données !" n'est pas apparu.
À écrire quand le programme le permettra...
Les contributions au projet sont volontiers acceptées, n'ayant pas forcément le temps de mener à bout l'entièreté du développement du programme.
Si vous souhaitez contribuer, veuillez vous référer au fichier "CONTRIBUTING" disponible à la source du répertoire.
Je vous recommande également de passer rapidement en revue la partie écrite du travail, en particulier le chapitre 6 qui concerne le développement de KallaxComptages. Vous pouvez trouver le document sous forme de PDF dans le dossier "thesis" du projet.