etalab / transport-site

Rendre disponible, valoriser et améliorer les données transports
https://transport.data.gouv.fr
194 stars 30 forks source link

BO - Pouvoir associer un flux GTFS-RT ou SIRI à une autre ressource (GTFS ou NETEX static) #3035

Closed cyrilmorin closed 1 year ago

cyrilmorin commented 1 year ago

Hello,

Il existe plusieurs cas de figure ou plusieurs GTFS static sont présents dans un même JDD pour différentes raisons Par exemple

  1. gouvernance : Région publie plusieurs GTFS sur 1 dataset
  2. contraintes techniques : un GTFS tram et 1 GTFS Bus OU plusieurs SAE pour un même réseau OU gestion des calendriers ...

image

Il serait intéressant de pouvoir associer un ou plusieurs flux TR à 1 ressource static dans un même dataset. Cela permettrait de gérer dans un même dataset la configuration du couple ressource théorique/ ressource TR. Si je ne dis pas de bêtise, aujourd'hui nous sommes "bloqués" dès qu'il y a plus d'1 jeu théorique dans un dataset

A dispo pour échanger sur le sujet peut-être pas si simple !!!

AntoineAugusti commented 1 year ago

Voir https://github.com/etalab/transport-site/issues/2138

AntoineAugusti commented 1 year ago

Les JDD suivants ont plus d'un GTFS.

Nom du JDD URL Nombre GTFS
Agrégat de réseaux urbains et interurbains de la Métropole Aix-Marseille https://transport.data.gouv.fr/datasets/reseaux-de-transports-en-commun-de-la-metropole-daix-marseille-provence-et-des-bouches-du-rhone 14
Agrégat de réseaux urbains et interurbains de l'Oise (60) https://transport.data.gouv.fr/datasets/arrets-horaires-et-parcours-theoriques-gtfs-des-differents-reseaux-de-transport-membres-du-synd3-1 14
Transport à la demande - TAO Orléans https://transport.data.gouv.fr/datasets/description-de-loffre-tad-tao-2022-gtfs-flex-orleans-metropole 12
Réseau urbain DK'BUS https://transport.data.gouv.fr/datasets/offre-de-transports-reseau-dk-bus-de-la-communaute-urbaine-de-dunkerque-gtfs 7
Réseau interurbain Mobigo https://transport.data.gouv.fr/datasets/reseau-de-transport-interurbain-mobigo-en-bourgogne-franche-comte 7
Réseau interurbain et scolaire de l'Oise (60) https://transport.data.gouv.fr/datasets/arrets-horaires-et-parcours-theoriques-gtfs-du-reseau-routier-regional-de-transport-18 7
Réseau interurbain Cars de Haute Corse  (2B) https://transport.data.gouv.fr/datasets/gtfs-donnees-transport-cars-de-haute-corse 6
Réseau scolaire Aléop https://transport.data.gouv.fr/datasets/arrets-horaires-et-circuits-des-lignes-de-transports-aleop-scolaires-en-pays-de-la-loire-gtfs 6
Réseaux interurbains Aléop - Pays de la Loire https://transport.data.gouv.fr/datasets/arrets-horaires-et-circuits-des-lignes-de-transports-aleop 6
Réseau urbain du Grand Albigeois https://transport.data.gouv.fr/datasets/offre-de-transports-du-grand-albigeois-gtfs 5
Réseau interurbain et scolaire du Nord (59) https://transport.data.gouv.fr/datasets/arrets-horaires-et-parcours-theoriques-gtfs-du-reseau-routier-regional-de-transport-35 5
Région SUD - Réseau ZOU ! https://transport.data.gouv.fr/datasets/lignes-des-reseaux-de-transport-zou-en-provence-alpes-cote-dazur 4
Réseau urbain Twisto https://transport.data.gouv.fr/datasets/donnees-de-transport-theoriques-du-reseau-twisto 4
Réseau interurbain de l'Isère (38) https://transport.data.gouv.fr/datasets/reseau-cars-region-isere-38 3
Réseau interurbain TIG https://transport.data.gouv.fr/datasets/reseau-interurbain-tig 3
Réseau urbain Mouv'enbus https://transport.data.gouv.fr/datasets/reseau-de-transport-mouvenbus-de-lagglomeration-provence-verte 3
Réseau urbain Horizon https://transport.data.gouv.fr/datasets/reseau-de-bus-urbain-horizon 3
Réseau urbain Envia https://transport.data.gouv.fr/datasets/reseau-envia 3
Réseau urbain Tisséo https://transport.data.gouv.fr/datasets/tisseo-offre-de-transport-gtfs 2
Réseau urbain SEMTM https://transport.data.gouv.fr/datasets/gtfs-de-la-societe-de-transport-urbain-du-grand-montauban-semtm 2
Réseau urbain et scolaire Sillages https://transport.data.gouv.fr/datasets/lignes-regulieres-de-transports-en-pays-de-grasse 2
Réseau urbain Le VIB https://transport.data.gouv.fr/datasets/reseau-de-transport-urbain-de-la-ville-de-vierzon 2
Réseau urbain Côte&Bus https://transport.data.gouv.fr/datasets/offre-de-transport-de-la-c-a-beaune-cote-sud-gtfs 2
Réseau urbain TCAT https://transport.data.gouv.fr/datasets/donnees-tcat-troyes-champagne-metropole-1 2
Réseau urbain T'CAP https://transport.data.gouv.fr/datasets/reseau-urbain-interurbain-et-scolaire-de-la-communaute-dagglomeration-privas-centre-ardeche 2
Réseau urbain Tanéo https://transport.data.gouv.fr/datasets/reseau-taneo-1 2
Réseau urbain STAR https://transport.data.gouv.fr/datasets/versions-des-horaires-theoriques-des-lignes-du-reseau-star-au-format-gtfs-1 2
Réseau interurbain Cars de Corse du Sud (2A) https://transport.data.gouv.fr/datasets/gtfs-transport-horaires-cars-de-corse-du-sud 2
Réseau des Chemins de fer Corse https://transport.data.gouv.fr/datasets/gtfs-transport-horaires-chemins-de-fer-corse 2
Réseau urbain et interurbain  TEDbus https://transport.data.gouv.fr/datasets/tedbus-horaires 2
Réseau urbain Ametis https://transport.data.gouv.fr/datasets/ametis 2
Réseau interurbain du Cantal (15) https://transport.data.gouv.fr/datasets/reseau-interurbain-cars-region-cantal-15 2
Réseaux urbains et interurbains d'Île-de-France Mobilités https://transport.data.gouv.fr/datasets/horaires-prevus-sur-les-lignes-de-transport-en-commun-dile-de-france-gtfs-datahub 2
Réseau urbain TCL https://transport.data.gouv.fr/datasets/horaires-theoriques-du-reseau-transports-en-commun-lyonnais 2
Réseau urbain REZO'BUS https://transport.data.gouv.fr/datasets/reseau-urbain-caux-seine-mobilite-rezobus 2
Réseau urbain de la 3CM https://transport.data.gouv.fr/datasets/3cm-horaires-theoriques-du-reseau-de-transport-urbain 2
Réseau urbain CTRL https://transport.data.gouv.fr/datasets/horaires-theoriques-du-reseau-ctrl-format-gtfs-de-lorient-agglomeration-1 2
Réseau urbain TBM https://transport.data.gouv.fr/datasets/offres-de-services-bus-et-tramway-gtfs 2
Réseau urbain EVA'D https://transport.data.gouv.fr/datasets/donnees-du-reseau-evad-1 2
AntoineAugusti commented 1 year ago

@cyrilmorin Tu pourrais préciser ce que tu entends par

Il serait intéressant de pouvoir associer un ou plusieurs flux TR à 1 ressource static dans un même dataset. Cela permettrait de gérer dans un même dataset la configuration du couple ressource théorique/ ressource TR.

Quels sont les blocages actuels ? Qui est impacté par ceci ? Quel est l'intérêt de résoudre ce problème ?

cyrilmorin commented 1 year ago

Hello @AntoineAugusti

Comme il n'existe à ce jour pas de possibilité de lier un GTFS avec 1 ou plusieurs GTFS-RT, dès qu'il y a plus d'un 1 GTFS dans un dataset,, les flux GTFS-RT ne peuvent pas bénéficier de la validation.

https://transport.data.gouv.fr/resources/80583 image

De manière générale plusieurs producteurs utilisent (et utiliseront) 1 dataset pour n GTFS théoriques pour différentes raisons :
1- pour publier plusieurs territoires : https://transport.data.gouv.fr/datasets/reseaux-de-transports-en-commun-de-la-metropole-daix-marseille-provence-et-des-bouches-du-rhone 2- parce qu'ils ne peuvent pas avoir 1 unique GTFS avec toute leur offre https://transport.data.gouv.fr/datasets/offres-de-services-bus-et-tramway-gtfs https://transport.data.gouv.fr/datasets/ametis (le 1er étant avec du TAD ce qui n'est pas inclus dans le second)

De manière plus "conceptuelle", les flux TR sont dépendants des offres théoriques et il semble donc important de pouvoir les lier en config pour préciser cette dépendance. Il serait probablement utile d'afficher quelque part cette relation pour les réutilisateurs d'ailleurs !

On échange sur le sujet prochainement comme prévu :)

Merci

AntoineAugusti commented 1 year ago

Il y actuellement un fonctionnement étonnant où certains JDD peuvent avoir une validation GTFS-RT alors qu'il y a plusieurs GTFS publiés, que les GTFS sont disponibles et à jour.

C'est ce bout de code qui est responsable, il prend le 1er GTFS satisfaisant la condition mais il n'y a pas d'exclusion si > 1.

À noter que le job qui valide régulièrement les GTFS-RT exclut ce type de cas https://github.com/etalab/transport-site/blob/5699856718dbbbcf4814047d615c4a3b37366269/apps/transport/lib/jobs/gtfs_rt_multi_validation_job.ex#L19

AntoineAugusti commented 1 year ago

Les réseaux avec > 1 GTFS et >= 1 GTFS-RT actuellement


select d.custom_title, 'https://transport.data.gouv.fr/datasets/' || d.slug url
from dataset d
join resource r on r.dataset_id = d.id and r.is_available
group by 1, 2
having sum(case when r.format = 'GTFS' then 1 else 0 end) > 1 and sum(case when r.format = 'gtfs-rt' then 1 else 0 end) >= 1
Nom du JDD URL
Réseau urbain Ametis https://transport.data.gouv.fr/datasets/ametis
Réseau interurbain de l'Isère (38) https://transport.data.gouv.fr/datasets/reseau-cars-region-isere-38
Réseau urbain REZO'BUS https://transport.data.gouv.fr/datasets/reseau-urbain-caux-seine-mobilite-rezobus
Réseau urbain CTRL https://transport.data.gouv.fr/datasets/horaires-theoriques-du-reseau-ctrl-format-gtfs-de-lorient-agglomeration-1
AntoineAugusti commented 1 year ago

@cyrilmorin Peux-tu réfléchir à de premières modifications d'UI côté page d'un JDD / page d'une ressource ?

J'ai en tête la suppression du bandeau d'erreur, mais peut-être prévoir d'autres changements?

On s'en parle semaine prochaine 😄

AntoineAugusti commented 1 year ago

@cyrilmorin Me semble qu'on est bons pour une première version de cette fonctionnalité. On peut fermer ?

cyrilmorin commented 1 year ago

@AntoineAugusti je confirme, 1ère étape OK on peut lier des ressources et en plus la notifs permet d'identifier les différents cas ou le GTFS-RT ne sait pas sur quelle ressource se reposer. Merci !