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 :
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 :
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 :
Pour forcer un recalcul complet du routage :
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.