Aller au contenu

Exécuter le pipeline

La reprise recommandée se fait d'abord dans les notebooks, avec vérification des paramètres en haut de chaque fichier. Les scripts servent ensuite à relancer une chaîne stabilisée, contrôler un run ou régénérer les sorties.

Modes d'exécution

Mode Usage Commande principale
notebooks relire, ajuster, comprendre les choix ouvrir Notebooks/ dans Jupyter
run borné vérifier que l'installation fonctionne scripts/run_pipeline.py --config config/default.yaml
run complet avec cache régénérer les sorties sans recalculer le routage scripts/run_pipeline.py --config config/full_waypoints.yaml ...
routage forcé recalculer OSRM/xyt_routing uniquement si le routeur local est disponible

Run borné de contrôle

Ce run utilise la configuration légère. Il sert à vérifier l'environnement et la cohérence des chemins.

source .venv-parking-search/bin/activate
python scripts/run_pipeline.py \
  --config config/default.yaml

Ajouter PL23 seulement si les données PL23 sont présentes localement :

python scripts/run_pipeline.py \
  --config config/default.yaml \
  --include-pl23

Run complet avec cache de routage

Pour la version de données d'août 2026, le routage a déjà été produit localement. Si le cache Output/data/routing_results.parquet est présent, le pipeline peut reprendre les résultats routés sans contacter OSRM/xyt_routing.

python scripts/run_pipeline.py \
  --config config/full_waypoints.yaml \
  --include-pl23 \
  --include-geometric-complements \
  --include-routing \
  --include-network-relut \
  --include-territorial-indicators

Ne pas ajouter --force-routing dans ce cas.

Fichiers utiles à transmettre pour une reprise sans routeur local :

Output/data/routing_results.parquet
Output/data/routing_candidates.parquet
Output/data/routing_candidates_with_results.parquet
Output/data/routing_geometry_correspondence.parquet
Output/data/spatial_declic_candidates_routed.parquet
Output/data/pl23_spatial_candidates_routed.parquet
Output/reports/routing_xyt_summary.json
Output/reports/routing_dist_excess_summary.json

Run complet avec recalcul du routage

Recalculer le routage seulement si le cache est absent, incomplet ou obsolète. Il faut alors disposer d'une instance OSRM/xyt_routing locale configurée avec le graphe régional transfrontalier.

Le principe méthodologique reste limité au tronçon final : le pipeline route le segment entre l'entrée dans le rayon final et la fin de leg voiture. Il ne route pas toute la leg.

Commande :

python scripts/run_pipeline.py \
  --config config/full_waypoints.yaml \
  --include-pl23 \
  --include-geometric-complements \
  --include-routing \
  --force-routing \
  --include-network-relut \
  --include-territorial-indicators

Séquence logique

01 préparation Déclic
21 exploration spatiale Déclic
22 détection spatiale Déclic
23 détection spatiale PL23, optionnelle
24 compléments géométriques, optionnels
25 préparation des candidates de routage
26 routage local ou reprise du cache
27 application de dist_excess aux candidates
31 exploration temporelle Déclic
32 détection temporelle ReLUT
41 résultats par temps de méthode
42 consolidation spatial + temporel sur Déclic
43 spatialisation des probabilités ReLUT
44 indicateurs territoriaux

Le résumé du run est écrit dans :

Output/reports/pipeline_run_summary.json

Exécution étape par étape

Les mêmes étapes peuvent être lancées séparément :

python scripts/01_prepare_inputs_declic.py --config config/default.yaml
python scripts/21_spatial_eda_declic.py --config config/default.yaml
python scripts/22_spatial_detection_declic.py --config config/default.yaml
python scripts/23_spatial_detection_pl23.py --config config/default.yaml
python scripts/24_geometric_complements.py --config config/default.yaml
python scripts/25_prepare_routing_candidates.py --config config/default.yaml
python scripts/26_route_dist_excess_xyt.py --config config/default.yaml
python scripts/27_apply_routing_dist_excess.py --config config/default.yaml
python scripts/31_temporal_eda_declic.py --config config/default.yaml
python scripts/32_temporal_detection_relut_declic.py --config config/default.yaml
python scripts/41_results_by_approach.py --config config/default.yaml
python scripts/42_compare_spatial_temporal_declic.py --config config/default.yaml
python scripts/43_routed_network_relut.py --config config/default.yaml
python scripts/44_territorial_indicators.py --config config/default.yaml

Pour limiter un test de routage :

python scripts/26_route_dist_excess_xyt.py \
  --config config/default.yaml \
  --max-requests 100

Pour forcer un recalcul complet du routage :

python scripts/26_route_dist_excess_xyt.py \
  --config config/default.yaml \
  --force

Dépendances entre étapes

Étape Dépendance principale Sorties clés
01 waypoints Déclic + legs.parquet waypoints_caronly.parquet, prepared_relut_points.parquet
21 legs Déclic figures et diagnostics spatiaux
22 legs Déclic spatial_declic_candidates.parquet
23 données PL23 pl23_spatial_candidates.parquet
24 sorties 22 et 23 courbes, H3, survey, communes si configuré
25 candidates spatiales routing_candidates.parquet
26 sortie 25 + cache ou routeur local routing_results.parquet
27 sortie 26 candidates routées et correspondance géométrique
31 sortie 01 diagnostics temporels
32 sortie 01 + modèle ReLUT relut_predictions.parquet
41 sorties 22, 23, 32 et 27 si disponible synthèses par temps de méthode
42 sorties 22 et 32 consolidation par leg_id
43 sorties 27 et 32 cartes ReLUT et réseau agrégé
44 sorties consolidées indicateurs territoriaux

Avant interprétation globale

Vérifier explicitement :

  • la couverture réelle des fichiers de waypoints Déclic ;
  • la présence du cache de routage ou la validité du recalcul ;
  • les valeurs extrêmes de dist_excess_m ;
  • le périmètre géographique retenu côté Déclic ;
  • l'absence de comparaison directe entre Déclic et PL23 comme bases statistiques équivalentes.