GTFS Schedule aprašo suplanuotą transporto paslaugų pasiūlą. GTFS Realtime, dažnai vadinamas GTFS-RT, suteikia atnaujintą informaciją apie paslaugas. GBFS aprašo bendrojo naudojimo mobilumo paslaugas, įskaitant stoteles ir laisvus transporto priemonių vienetus pagal publikuojamus srautus. Pasirinkite formatą pagal problemą, kurią turi spręsti jūsų programa.
Šie formatai organizuoja duomenis; jie negarantuoja jų prieinamumo visur ar kiekvieno srauto kokybės.
GTFS – suplanuotos pasiūlos atvaizdavimui
GTFS Schedule rinkinį sudaro lentelių failai, kuriuose aprašomi operatoriai, stotelės, maršrutai, reisai ir jų pravažiavimai. Kalendoriai nurodo taikomus dienų periodus. Failai susieti per identifikatorius. GTFS Schedule nuoroda.
Šis formatas leidžia atsakyti į klausimus, pavyzdžiui, „kur yra ši stotelė?“ arba „koks reisų grafikas numatytas šiai paslaugai?“. Kad būtų galima naudoti tvarkaraštį, reikia suprasti kalendorių ir failų tarpusavio ryšius.
Viena tik stotelių sąrašo skaitymas neleidžia rekonstruoti reisų grafiko. Kita vertus, stotelės vieta gali būti naudinga ir be tvarkaraščių rodymo.
GTFS-RT – aptarnavimo informacijos atnaujinimui
GTFS Realtime gali teikti informacija apie reisų atnaujinimus, transporto priemonių buvimo vietas ir įspėjimus. Reisų atnaujinimai apima pravažiavimus ir paslaugų pokyčius. Srautai naudojasi Protocol Buffers – struktūrizuoto serializavimo formatu. GTFS Realtime įvadas.
Duomenų teikėjas gali publikuoti tam tikras kategorijas, nesuteikdamas kitų. Buvimas pozicijų sraute negarantuoja, kad bus pateiktos visų stočių prognozės.
Sąsajai svarbu atskirti suplanuotą pravažiavimą nuo atnaujintos prognozės. Mūsų vadovas teoriniai ir realaus laiko tvarkaraščiai paaiškina šį skirtumą vartotojo požiūriu.
GBFS bendram mobilumui
GBFS naudoja JSON srautus bendro naudojimo mobilumo paslaugoms aprašyti. Priklausomai nuo sistemos ir versijos, gali būti pateikta informacija apie stoteles, jų būklę, transporto priemones ir kitas paslaugos savybes. Dokumentacija aiškiai skiria stotelių duomenis ir prieinamumo būsenas. GBFS dokumentacija.
Programoje atskirkite santykinai stabilius vietovių duomenis nuo greitai besikeičiančių būsenų. Vertinkite formatu nurodytą versiją ir atitinkamą laiko žymą interpretuodami duomenis.
Prieinamumo srautas nėra rezervacijos ar atrakto API. Jis padeda atrasti pasiūlymus; nuomos operacija priklauso atitinkamai paslaugai.
Palyginimas pagal naudojimo atvejį
| Poreikis | Tinkamas formatas |
|---|---|
| Aprašyti suplanuotas stoteles ir linijas | GTFS Schedule |
| Interpretuoti suplanuotus pravažiavimus ir paslaugų dienas | GTFS Schedule |
| Atnaujinti pravažiavimus arba gauti paslaugų informaciją | GTFS-RT, pagal publikuojamus srautus |
| Nustatyti bendrojo naudojimo stoteles ar transporto priemones | GBFS, pagal publikuotus duomenis |
Projektavimo pavyzdys: žemėlapis rodo tramvajų stoteles ir dviračių stoteles. Jis naudoja struktūrinius duomenis vietoms bei atnaujintas būsenas dviračių prieinamumui. Šioms dviem sluoksniams reikalingi skirtingi talpyklos ir atnaujinimų poreikiai.
Numatyti kiekvieno šaltinio ribas
Patikrinkite versijas, neprivalomus laukus, aprėptį ir naudojimo teises. Identifikatorius turi prasmę tik savo kontekste: du skirtingi teikėjai gali naudoti identiškus žodinius žymenis skirtingoms reikšmėms.
Taip pat pasiruoškite trūkstamus ar pasenusius duomenis. Tuščias sąrašas iš nepasiekiamo srauto neturėtų būti aiškinamas kaip paslaugos nebuvimas. Venkite tyliai keisti nežinomą informaciją į nulį.
Naudoti srautus tiesiogiai ar API
Tiesioginė integracija reiškia, kad jūs atsakote už šaltinių surinkimą, patikrinimą ir interpretavimą. API gali pasiūlyti bendrą sutartį, tačiau vis tiek reikia perskaityti jos aprėptį, perspėjimus ir sąlygas.
Pirmam ROOTE naudojimo atvejui peržiūrėkite kaip ieškoti artimiausių stočių per API. Pradėkite nuo savo sąsajos poreikio, tada patikrinkite tikrai prieinamus laukus.
Skaityti ištraukas ir pasirinkti architektūrą
GTFS Schedule faile ištrauka iš stop_times.txt sieja reisą, stotelę ir numatytą sustojimą. Žemiau pateiktas sutrumpintas pavyzdys yra mokomasis: jis nėra visas GTFS rinkinys, o jo identifikatoriai turi būti susieti su trips.txt, stops.txt bei kalendoriais.
GTFS Realtime atveju ieškokite naudingos vieneto: TripUpdate gali atnaujinti sustojimą, VehiclePosition aprašo poziciją, o Alert perduoda paslaugos informaciją. Transporto priemonės pozicija ne visada yra atvykimo spėjimas. Transliuojamas formatas yra Protocol Buffers; diagnozės JSON reprezentacija nėra pagrindinis dvejetainio srauto šaltinis.
GBFS faile station_information aprašo stotis, o station_status – jų skelbiamą būseną. Kai kurių skaitiklių pavadinimai ir turimi failai keičiasi priklausomai nuo versijos. Žemiau pateikta JSON ištrauka iliustruoja GBFS 2.3 versiją su laukais num_bikes_available ir num_docks_available; prieš naudodami pavyzdį būtinai patikrinkite versiją.
Vietų žemėlapis gali prasidėti nuo struktūrinių duomenų. Ekranas, rodantis artėjančius sustojimus, vėliau reikalauja atitinkamų atnaujinimų ir numatyto rezervinio varianto. Ekranas, rodantis prieinamus dviračius, turi valdyti skaitiklius, nuomos sąlygas ir laiko galiojimą. Šie trys ekranai automatiškai nesidalina ta pačia talpyklos politika.
# 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
}
Formuoti dviračių prieinamumą ir jo šviežumą
Pasirinkti API arba MCP savo produktui
Dažniausiai užduodami klausimai
Ar GTFS automatiškai apima realaus laiko duomenis?
Ne. GTFS Schedule aprašo suplanuotą pasiūlą; atnaujinta informacija pateikiama per kitus srautus, įskaitant GTFS-RT.
Ar GBFS leidžia atrakinti dviratį?
Jis aprašo paslaugą ir viešus jos duomenis. Nuoma vykdoma per operatoriaus siūlomas galimybes.
Ar standartinis formatas užtikrina pilną aprėptį?
Ne. Formatui būdinga struktūra; aprėptis ir paskelbta informacija priklauso nuo šaltinių.