Notebooks de production et de démonstration¶
Cette page résume le rôle des notebooks prêts à l'emploi et des notebooks de démonstration. Elle sert à choisir le bon point d'entrée sans devoir ouvrir tous les fichiers.
Notebooks de production¶
| Notebook | Entrée | Sortie | Rôle |
|---|---|---|---|
Notebooks/Package-ready/00_data_landing.ipynb |
sources brutes du projet | Data/Output/0-landed-data |
prépare une base homogène prête à être ingérée |
Notebooks/Package-ready/01_data_loading.ipynb |
base landed complète ou anonymisée | Data/Output/2-transformed-data |
transforme les tables GPS en tables de mobilité |
Notebooks/Package-ready/02_quality_check.ipynb |
Data/Output/2-transformed-data |
quality-reports/ |
contrôle le suivi, les confirmations et les filtres utilisateurs |
Notebooks/Package-ready/03_spatial_cleaning.ipynb |
Data/Output/2-transformed-data |
spatial-cleaned/ |
applique les contrôles et enrichissements spatiaux optionnels |
Notebooks/Package-ready/04_enrich_indicators.ipynb |
Data/Output/2-transformed-data |
Data/Output/3-enriched-data |
ajoute CO2/santé, indicateurs et exports analytiques |
Notebooks/Package-ready/05_export_cleaned_dataset.ipynb |
Data/Output/2-transformed-data + Data/Output/3-enriched-data |
Data/Output/4-clean-data |
consolide la base propre, les indicateurs, H3 et DuckDB pour analyses thématiques |
Le dossier unique Notebooks/Package-ready/ évite la confusion entre les anciens lots de travail et la chaîne technique réelle.
Démonstrations package¶
| Notebook | Entrée | Sortie | Rôle |
|---|---|---|---|
demo-fil-rouge-pipeline.ipynb |
données synthétiques générées dans le notebook | aucune sortie nécessaire | première lecture recommandée : chemin complet avec run_mobility_pipeline() |
demo-gps-test-set-phases.ipynb |
Data/Output/test-set-gps |
sortie temporaire optionnelle | tutoriel complet sur test set avec phases |
demo-spatial-analytics-test-set.ipynb |
Data/Output/test-set-gps |
Data/Output/test-set-results/spatial-analytics |
prépare H3, GeoParquet et DuckDB pour dashboard |
demo-gps-generic-no-phase.ipynb |
données test sans phase | sortie temporaire optionnelle | montre l'usage simple du package sur un cas générique |
Détail par notebook¶
Notebooks/Package-ready/00_data_landing.ipynb¶
Prépare les données avant usage du package. Le notebook ouvre les sources déclarées, homogénéise les noms de colonnes, concatène les tables GPS, construit user_presence, contrôle le contrat de colonnes et exporte deux versions :
Data/Output/0-landed-data: version complète sans colonnes sensibles directes commeemail;Data/Output/0-landed-data/anonymized: version de contrôle avec permutation desuser_idet altération locale des premiers/derniers points.
Le notebook exporte aussi un README.md, un landing_manifest.json et column_alias_report.csv, qui signale les colonnes équivalentes ou divergentes.
La configuration des expériences est définie dans Notebooks/Package-ready/config/experiments.json. Les fonctions propres au landing sont dans Notebooks/Package-ready/utils/data_landing.py, hors package Python.
Notebooks/Package-ready/01_data_loading.ipynb¶
Il charge les tables landed, vérifie la structure, parse les dates et géométries, applique les mappings modes/motifs, gère les phases si elles existent, resample les jours manquants, construit legs, staypoints, trips, journeys, user_stats et les tables de correspondance.
Les sorties principales sont exportées dans Data/Output/2-transformed-data, avec user_presence, participation_grid, participation_summary, les rapports de validation et les rapports qualité.
Notebooks/Package-ready/02_quality_check.ipynb¶
Isole les contrôles qualité pour ne pas alourdir le notebook principal. Il vérifie la couverture temporelle du suivi, les jours manquants, les confirmations, les longueurs extrêmes et produit une table de sélection utilisateur. Les règles de sélection restent visibles et modifiables.
Notebooks/Package-ready/03_spatial_cleaning.ipynb¶
Regroupe les traitements spatiaux optionnels : nettoyage des géométries, qualité GPS, zones territoriales, origine-destination et classification par rapport à une zone de référence. Dans la configuration Déclic, il utilise les zones communales GIREC du Grand Genève et ajoute origin_id_zone / destination_id_zone aux legs, puis les propage aux trips et journeys. Il est conçu pour être activé seulement quand les couches géographiques et les règles de projet sont disponibles.
Notebooks/Package-ready/04_enrich_indicators.ipynb¶
Ajoute les enrichissements transversaux nécessaires avant analyse : occupation, émissions CO2, métriques santé simples, indicateurs personne-jour, personne-phase et population. Il exporte aussi des contrôles de cohérence et des figures HTML compatibles avec un dashboard.
Notebooks/Package-ready/05_export_cleaned_dataset.ipynb¶
Assemble la base propre finale pour analyses thématiques. Il reprend les tables transformées, les legs enrichis, les colonnes OD spatiales si elles existent, les indicateurs, les tables latérales CO2/santé, les rapports QA, les agrégats H3 et une base DuckDB locale optionnelle. Les formats d'export sont configurés dans le notebook, avec Parquet et CSV par défaut.
La sortie principale est Data/Output/4-clean-data, organisée par usage :
cleaned-base/, indicators/, spatial-analytics/, figures/, qa-reports/,
reference-data/, metadata/ et database/. Les notebooks thématiques doivent
commencer par cleaned-base/.
demo-fil-rouge-pipeline.ipynb¶
Notebook linéaire recommandé pour découvrir le package. Il génère un petit jeu synthétique, crée une ProjectConfig, lance run_mobility_pipeline(), inspecte les tables principales, les contrôles qualité et les indicateurs. Il sert de premier repère avant les démonstrations plus spécialisées.
demo-gps-test-set-phases.ipynb¶
Tutoriel recommandé pour apprendre le package sur un jeu de données plus dense que le sample historique. Il génère ou lit Data/Output/test-set-gps, valide le schéma, transforme les tables GPS, construit une grille de participation et produit les premiers indicateurs.
demo-spatial-analytics-test-set.ipynb¶
Démo ciblée sur les exports spatiaux pour dashboard. Le notebook charge le test set, transforme les tables avec le package, crée une table de points de legs indexés H3 à plusieurs résolutions, agrège la fréquentation par cellule, mode, motif et tranche horaire, génère une table large de counts pour dashboard, crée une carte Folium des cellules les plus fréquentées, écrit les résultats en Parquet et CSV, et construit une base DuckDB locale interrogeable en SQL.
demo-gps-generic-no-phase.ipynb¶
Présente le package sur des données test sans expérimentation ni phase. C'est le notebook d'apprentissage recommandé pour une personne qui découvre le package sans disposer d'un export GPS complet.
Propositions d'amélioration¶
| Sujet | Proposition |
|---|---|
| noms des notebooks | conserver la séquence 00_data_landing, 01_data_loading, 02_quality_check, 03_spatial_cleaning, 04_enrich_indicators, 05_export_cleaned_dataset |
| landing | garder les helpers dans Notebooks/Package-ready/utils/, hors package, car ils sont propres aux fournisseurs et aux exports projet |
| anonymisation | extraire les helpers du notebook dans Notebooks/Package-ready/utils/data_landing_privacy.py si le bloc grossit |
| configuration | ajouter un exemple YAML ou JSON minimal pour projets sans phase et projets avec phases |
| validation | ajouter une fonction publique validate_mobility_dataset_integrity() pour contrôler clés, liens, CRS et volumes |
| exports | conserver write_mobility_dataset(extra_tables=...) pour ajouter des tables de construction sans modifier MobilityDataset |
| tests | créer un petit jeu de test anonymisé ou synthétique stable pour lancer une chaîne complète en CI |
| documentation | conserver peu de pages, mais avec des tableaux d'entrées/sorties et une séquence claire |