Aller au contenu

Des données GPS brutes aux données de mobilité

Par Marc-Edouard Schultheiss, chercheur et gérant du Bureau Action Située. Développement issu de thèse de doctorat, recherches postdoctorales et recherche appliquée soutenues financièrement respectivement par la faculté ENAC de l’EPFL, le SNSF et plus récemment par la Fondation MODUS.

xyt_gps

Package Python pour transformer des exports GPS en données de mobilité structurées, contrôlables et exploitables pour l’analyse.

Chaîne de transformation

xyt_gps est organisé comme une chaîne courte : préparer les fichiers d’entrée, transformer les exports GPS, contrôler la qualité, produire les indicateurs, puis exporter une base propre pour l’analyse ou un dashboard.

1. Entrée

Préparer les fichiers

Homogénéiser les sources GPS, vérifier les colonnes, retirer les champs sensibles et produire une base landed.

Fonctions principales
expected_gps_schema(), check_raw_import_columns(), load_gps_export()
Sorties
landing_dir, manifest, user_presence

2. Transformation

Construire les tables mobilité

Parser les dates et géométries, appliquer les mappings, séparer legs et staypoints, puis relier trips, journeys et users.

Fonctions principales
run_mobility_pipeline(), prepare_mobility_dataset(), mode_purpose_mapping()
Sorties
MobilityDataset, transformed_dir

3. Qualité

Contrôler et filtrer

Mesurer la participation, les jours manquants, les valeurs extrêmes, le signal GPS et les critères de sélection utilisateurs.

Fonctions principales
build_weekly_participation_grid(), build_user_selection_table(), add_signal_quality_flags()
Sorties
rapports qualité, filtres utilisateurs, zones et contrôles cartographiques

4. Indicateurs

Enrichir et résumer

Ajouter les enrichissements transversaux, calculer les indicateurs personne-jour, personne-période et population.

Fonctions principales
compute_mobility_indicators(), build_person_day_indicators(), plot_indicator_bars()
Sorties
enriched_dir, figures HTML, carte d’identité des indicateurs

5. Exports

Préparer l’analyse

Consolider les tables propres et produire les formats interrogeables ou cartographiables pour notebooks, SQL ou dashboard.

Fonctions principales
write_mobility_dataset(), build_spatial_analytics_tables(), write_duckdb_spatial_database()
Sorties
clean_dir, CSV, Parquet, GeoParquet, H3, DuckDB

Utilisation en projet

Le package fournit les fonctions de transformation, de contrôle, d'indicateurs et d'export. Les notebooks de production comme 00_data_landing, 01_data_loading ou 04_enrich_indicators vivent dans un repo projet et utilisent xyt_gps comme dépendance ; pour un exemple autonome inclus avec le package, ouvrir package-xyt-gps/examples/demo-fil-rouge-pipeline.ipynb.

Parcours recommandé

  1. Installer l’environnement.
  2. Définir la structure de projet.
  3. Lire le notebook court package-xyt-gps/examples/demo-fil-rouge-pipeline.ipynb.
  4. Créer ou utiliser le test set.
  5. Lire l’API recommandée.
  6. Comprendre le workflow de transformation.

Périmètre

Le package s’arrête à la production d’une base de mobilité analysable : tables structurées, contrôles qualité, enrichissements transversaux et indicateurs génériques. Les analyses thématiques détaillées se font ensuite dans des notebooks, rapports ou applications dédiées.

Licence et citation

Le code est placé sous PolyForm Noncommercial License 1.0.0. La documentation est placée sous CC BY-NC 4.0. Le jeu de données testset dispose de conditions spécifiques. Les usages commerciaux nécessitent un accord écrit préalable de Bureau Action Située.