mobility
mobility copied to clipboard
Évolutions de l'utilisation de gtfs_traveltimes
Je lie dans cette issue trois problématiques différentes, mais je pense que c'est mieux de les traiter ensemble :
- usage statistique des résultats issus de gtfs_traveltimes pour le calcul des coûts ;
- temps de calcul lié à gtfs_traveltimes (même si ça semble loin d'être le plus dimensionnant actuellement) ;
- capacité à connaître les gares empruntées par les voyageurs afin de reconstruire leur fréquentation.
Actuellement, le code utilise gtfs_traveltimes pour calculer les temps de trajet de tous les arrêts du GTFS à tous les arrêts du GTFS, ce qui demande donc un certain temps. Pour calculer le temps entre deux zones de transport, on prenait la médiane de tous ces trajets. Cela donnait des résultats médiocres sur Genève, à mon avis parce que cela correspond à beaucoup d'itinéraires suboptimaux qui ne sont en pratiques pas empruntés par les utilisateurs (aller d'un arrêt peu fréquenté à un autre arrêt peu fréquenté n'est pas représentatif, et le réseau TC n'est pas optimisé pour cela). Je l'ai remplacé par l'utilisation du minimum, qui marche beaucoup mieux, mais qui n'est pas exempt de problèmes (c'est l'itinéraire entre les deux arrêts les plus proches, donc forcément sous-estimé pour les communes proches entre elles... ce que le forfait-temps d'accès au réseau ne compense pas).
Néanmoins, cette approche de tous les arrêts à tous les arrêts me paraît un peu overkill dans la mesure où nous ne réfléchissons de toute façon qu'à l'échelle communale pour l'instant (et même à l'échelle des IRIS, ça me paraît beaucoup). Enfin, il me semble que ça ne permet pas de savoir quels ont été les gares/stations empruntées, car ça ne fait pas partie des sorties de gtfs_traveltimes.
Je me demande si l'approche suivante pourrait marcher :
- Sélection d'un point unique (mairie ?) ou plutôt d'un ensemble de points (échantillonnage du bâti OSM ? arrêts de transport les plus desservis ? intersections aléatoires sur le réseau routier ?) pour chaque zone de transport
- Calcul des itinéraires de ces points vers tous les autres points sélectionnés de toutes les zones de transport (d'une façon similaire à gtfs_traveltimes mais avec un sous-ensemble, ce qui limiterait le temps de calcul)
- Grâce aux itinéraires détaillés, identification des gares empruntées
Est-ce que gtfsrouter est le plus approprié pour cette approche ? Vu la réduction du nombre de requêtes, peut-être que R5R marcherait également, dans la perspective où l'on veut également s'adapter aux déplacements en rabattement, où R5R pourrait peut-être être utile ?