Skip to content

Repository files navigation

Temps de régulation aux terminus

Visualise, à partir d'un GTFS, combien de véhicules attendent à une gare de terminus entre le dernier arrêt d'une course et le premier arrêt de la course suivante — et combien de quais sont nécessaires pour absorber les départs.

Par défaut : réseau Car Jaune (La Réunion, ZIP d'août 2026 embarqué dans public/gtfs/), lignes E1, E1X, E2, E3, Gare de St-Denis, le 2 septembre 2026.

Lancer

npm install
npm run dev

Règles de calcul

  • Les arrêts sont identifiés par leur nom (stop_name), pas par leur id : les quais d'une même gare sont regroupés.
  • Les courses d'un même service voiture sont chaînées par block_id. Si le block se termine par chiffres + lettre (/[0-9]+[A-Z]$/), la lettre finale est retirée : SCO07M et SCO07A → même véhicule SCO07 (idem SO-15M).
  • Un véhicule attend en gare si sa course suivante repart de la même gare moins de 1 h 30 (réglable de 20 min à 6 h) après son arrivée. Au-delà, il est réputé quitter la gare (dépôt / haut-le-pied). Un enchaînement dont l'arrivée et le départ ne sont pas dans la même gare n'est pas compté.
  • Chaque départ mobilise un quai 15 min (réglable de 5 à 60 min) avant l'heure de départ ; un véhicule à quai n'est plus compté en attente. L'arrivée n'occupe pas de quai (dépose instantanée).
  • Les courses sans block_id sont des véhicules indépendants : jamais en attente, mais elles occupent un quai avant leur départ.

Architecture

  • Vite + React 19 + TypeScript + Tailwind CSS v4
  • Le GTFS est chargé dans une base SQLite en mémoire par gtfs-sqljs (adaptateur sql.js), exécuté dans un Web Worker exposé via comlink (src/worker/gtfs.worker.ts).
  • Le worker renvoie les courses du jour réduites à leurs extrémités ; le moteur d'analyse (src/lib/analysis.ts) tourne côté interface et recalcule instantanément quand on bouge les curseurs.
  • Changement de source GTFS via react-gtfs-selector (fichier local, URL, transport.data.gouv.fr, Mobility Database). Les URL bloquées par CORS passent automatiquement par le proxy gtfs-proxy.sys-dev-run.re.

Vues

  1. Véhicules en attente — courbe en escalier 00:00 → 24:00, tooltip listant les véhicules (block_id normalisé, course d'arrivée → course de départ).
  2. Quais occupés — même axe, tooltip listant les départs à quai.
  3. Roulement des véhicules — Gantt : un rang par véhicule, courses colorées par ligne avec leur trip_short_name, attentes (bleu) et quais (orange).
  4. Tableau des départs — vue dépliable, accessible sans survol.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages