GTFS Schedule descrie oferta de transport planificată. GTFS Realtime, adesea numit GTFS-RT, transmite informații actualizate despre serviciu. GBFS descrie serviciile de mobilitate partajată, inclusiv stațiile și vehiculele disponibile conform fluxurilor publicate. Alege formatul în funcție de întrebarea pe care aplicația ta trebuie să o rezolve.
Aceste formate organizează datele; ele nu garantează disponibilitatea lor în toate locurile sau calitatea fiecărui flux.
GTFS pentru a reprezenta oferta planificată
Un set GTFS Schedule reunește fișiere tabelare care descriu în special operatorii, stațiile, liniile, cursele și trecerile acestora. Calendarele indică zilele relevante. Fișierele sunt legate prin identificatori. Referință GTFS Schedule.
Acesta permite să răspunzi la întrebări precum „unde se află această stație?” sau „ce treceri sunt planificate pentru acest serviciu?”. Pentru a folosi un orar, trebuie să interpretezi calendarul și relațiile dintre fișiere.
Citirea doar a unei liste de stații nu este suficientă pentru a reconstrui trecerile. În schimb, o poziție a unei stații poate fi utilă fără a afișa orarele.
GTFS-RT pentru actualizarea informațiilor de serviciu
GTFS Realtime poate furniza actualizări ale curselor, poziții ale vehiculelor și alerte. Actualizările curselor privesc în special trecerile și schimbările de serviciu. Fluxurile utilizează Protocol Buffers, un format structurat de serializare. Introducere GTFS Realtime.
Un producător poate publica anumite categorii fără a furniza toate celelalte. Prezența unui flux de poziții nu garantează estimări pentru toate stațiile.
Pentru interfață, distinge trecerea planificată de estimarea actualizată. Ghidul nostru orare teoretice și timp real explică această diferență din perspectiva utilizatorului.
GBFS pentru mobilitatea partajată
GBFS folosește fluxuri JSON pentru a descrie un serviciu de mobilitate partajată. În funcție de sistem și versiune, acestea pot informa despre stații, starea lor, vehicule și alte caracteristici ale serviciului. Documentația distinge în special informațiile despre stații și stările de disponibilitate. Documentație GBFS.
Separă în aplicația ta locațiile relativ stabile de stările care evoluează rapid. Păstrează versiunea formatului și marcajul temporal relevant în timpul interpretării.
Un flux de disponibilitate nu este o API de rezervare sau descuiere. Ajută la descoperirea ofertei; operațiunea de închiriere ține de serviciul respectiv.
Compară în funcție de cazul de utilizare
| Necesitate | Format de examinat |
|---|---|
| Descrierea stațiilor și liniilor planificate | GTFS Schedule |
| Interpretarea trecerilor planificate și zilelor de serviciu | GTFS Schedule |
| Actualizarea trecerilor sau primirea informațiilor de serviciu | GTFS-RT, în funcție de fluxurile publicate |
| Localizarea stațiilor sau vehiculelor de mobilitate partajată | GBFS, în funcție de datele publicate |
Exemplu de proiectare: o hartă afișează stații de tramvai și stații de biciclete. Folosește date structurale pentru locuri și stări actualizate pentru disponibilitatea bicicletelor. Cele două straturi au nevoi diferite de caching și actualizare.
Prevederea limitărilor fiecărei surse
Verifică versiunile, câmpurile opționale, acoperirea și drepturile de utilizare. Un identificator are sens doar în contextul său: doi producători pot folosi șiruri identice pentru entități diferite.
Prevede și datele lipsă sau expirate. O listă goală provenită dintr-un flux indisponibil nu trebuie prezentată ca absență a serviciului. Evită să înlocuiești silențios o informație necunoscută cu zero.
Folosește fluxurile direct sau o API
O integrare directă îți lasă responsabilitatea de a colecta, valida și interpreta sursele. O API poate oferi un contract comun, dar trebuie să verifici mereu acoperirea sa, avertismentele și condițiile.
Pentru un prim caz de utilizare ROOTE, consultă cum să cauți stațiile din apropiere cu o API. Începe cu nevoia interfeței tale, apoi verifică câmpurile efectiv disponibile.
Citirea fragmentelor și alegerea unei arhitecturi
În GTFS Schedule, un fragment din stop_times.txt leagă o cursă, o stație și o trecere planificată. Exemplul redus de mai jos este didactic: nu constituie un set complet GTFS și identificatorii săi trebuie legați de trips.txt, stops.txt și calendare.
Pentru GTFS Realtime, căutați entitatea utilă: un TripUpdate poate actualiza o trecere, o VehiclePosition descrie o poziție, iar o Alert transmite o informație de serviciu. Poziția unui vehicul nu este automat o estimare a sosirii. Formatul transmis este Protocol Buffers; o reprezentare JSON pentru diagnostic nu este fluxul binar de referință.
În GBFS, station_information descrie stațiile, în timp ce station_status descrie stările lor publicate. Numele unor contoare și fișierele disponibile variază în funcție de versiune. Fragmentul JSON de mai jos ilustrează GBFS 2.3 și câmpurile sale num_bikes_available și num_docks_available; verificați versiunea înainte de a folosi un exemplu.
O hartă a locurilor poate începe cu datele structurale. Un ecran cu următoarele treceri necesită apoi actualizările corespunzătoare și un fallback planificat explicit. Un ecran cu biciclete disponibile trebuie să gestioneze contoare, condiții de închiriere și o valabilitate temporală. Aceste trei ecrane nu împărtășesc automat aceeași politică de cache.
# Extrait pédagogique de stop_times.txt
trip_id,arrival_time,departure_time,stop_id,stop_sequence
trip_demo,08:10:00,08:10:00,stop_demo,1
# Extrait pédagogique de station_status en GBFS 2.3
{
"station_id": "station_demo",
"num_bikes_available": 3,
"num_docks_available": 7,
"is_installed": true,
"is_renting": true,
"is_returning": true,
"last_reported": 1720000000
}
Formatarea disponibilității bicicletelor și a prospețimii acesteia
Alegerea unui API sau a unui MCP pentru produsul dumneavoastră
Întrebări frecvente
Conține GTFS automat informații în timp real?
Nu. GTFS Schedule reprezintă oferta planificată; informațiile actualizate sunt furnizate de alte fluxuri, inclusiv GTFS-RT.
Permite GBFS descuierea unei biciclete?
Descrie serviciul și datele sale publice. Închirierea se face prin capabilitățile oferite de operator.
Un format standard garantează o acoperire completă?
Nu. Formatul definește o structură; acoperirea și informațiile publicate depind de surse.