Aller au contenu

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 comme email ;
  • Data/Output/0-landed-data/anonymized : version de contrôle avec permutation des user_id et 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