GTFS Realtime Referensi¶
SEBUAHGTFS Realtime feed memungkinkan agen transit memberikan informasi waktu nyata kepada konsumen tentang gangguan pada layanan mereka (stasiun ditutup, jalur tidak beroperasi, penundaan penting, dll.) lokasi kendaraan mereka, dan perkiraanarrival waktu.
Versi 2.0 dari spesifikasi feed dibahas dan didokumentasikan di situs ini. Versi yang valid adalah "2.0", "1.0".
Definisi Istilah¶
Yg dibutuhkan¶
DiGTFS -realtime v2.0 dan lebih tinggi, kolom Wajib menjelaskan bidang apa yang harus disediakan oleh produsen agar data transit valid dan masuk akal untuk aplikasi yang sedang digunakan.
Nilai berikut digunakan di bidang yang diperlukan :
- Wajib diisi : Kolom ini harus diisi oleh aGTFS -produsen pakan waktu nyata.
- Wajib bersyarat : Bidang ini wajib diisi dalam kondisi tertentu, yang diuraikan dalam bidang Deskripsi . Di luar kondisi ini, bidang ini opsional.
- Opsional : Bidang ini opsional dan tidak wajib diterapkan oleh produsen. Namun, jika data tersedia dalam otomatis yang mendasarinyavehicle sistem lokasi (misalnya,VehiclePositiontimestamp ) direkomendasikan bahwa produsen menyediakan bidang opsional ini jika memungkinkan.
Perhatikan bahwa persyaratan semantik tidak didefinisikan dalamGTFS -versi realtime 1.0, dan karena itu memberi makan dengangtfs_realtime_version dari 1
mungkin tidak memenuhi persyaratan ini (lihat proposal untuk persyaratan semantik untuk detailnya).
Kardinalitas¶
Kardinalitas mewakili jumlah elemen yang dapat disediakan untuk bidang tertentu, dengan nilai berikut:
- Satu - Satu elemen tunggal dapat disediakan untuk bidang ini. Ini memetakan ke Protocol Buffer yang diperlukan dan kardinalitas opsional .
- Banyak - Banyak elemen (0, 1, atau lebih) dapat disediakan untuk bidang ini. Ini memetakan ke Protocol Buffer kardinalitas berulang .
Selalu rujuk bidang Wajib dan Deskripsi untuk melihat kapan bidang wajib diisi, wajib bersyarat, atau opsional. Silakan referensi GTFS -waktu nyata/proto/GTFS -realtime.proto">GTFS GTFS -realtime.proto
untuk kardinalitas Protocol Buffer.
Tipe data Penyangga Protokol¶
Tipe data buffer protokol berikut digunakan untuk mendeskripsikan elemen feed:
- message : Tipe kompleks
- enum : Daftar nilai tetap
Bidang eksperimental¶
Bidang berlabel eksperimental dapat berubah dan belum secara resmi diadopsi ke dalam spesifikasi. Bidang eksperimental dapat diadopsi secara formal di masa depan.
Indeks Elemen¶
Elemen¶
messageFeedMessage¶
Isi feedmessage . Setiapmessage dalam aliran diperoleh sebagai respons terhadap permintaan GET HTTP yang sesuai. Umpan waktu nyata selalu ditentukan dengan kaitannya dengan yang sudah adaGTFS memberi makan. Semuaentity id diselesaikan sehubungan denganGTFS memberi makan.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
header | FeedHeader | Yg dibutuhkan | Satu | Metadata tentang umpan dan umpan inimessage . |
entity | FeedEntity | Diperlukan kondisional | Banyak | Isi umpan. Jika ada nyata-time informasi yang tersedia untuk sistem transit, bidang ini harus disediakan. Jika bidang ini adalahEMPTY , konsumen harus berasumsi tidak adatime informasi yang tersedia untuk sistem. |
messageFeedHeader¶
Metadata tentang feed, termasuk dalam pesan feed.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
gtfs_realtime_version | string | Yg dibutuhkan | Satu | Versi spesifikasi umpan. Versi saat ini adalah 2.0. |
Incrementality | Incrementality | Yg dibutuhkan | Satu | |
timestamp | uint64 | Yg dibutuhkan | Satu | Initimestamp mengidentifikasi momen ketika konten umpan ini telah dibuat (di servertime ). Di POSIXtime (yaitu, jumlah detik sejak 1 Januari 1970 00:00:00 UTC). Menghindaritime condong antara sistem yang memproduksi dan menggunakan informasi waktu nyata, sangat disarankan untuk diturunkantimestamp daritime server. Sangat dapat diterima untuk menggunakan Stratum 3 atau bahkan server strata yang lebih rendah karenatime perbedaan hingga beberapa detik dapat ditoleransi. |
enumIncrementality¶
Menentukan apakah pengambilan saat ini bersifat inkremental.
- FULL_DATASET : pembaruan umpan ini akan menimpa semua informasi waktu nyata sebelumnya untuk umpan. Dengan demikian update ini diharapkan dapat memberikanFULL snapshot dari semua informasi realtime yang diketahui.
- DIFFERENTIAL : saat ini, mode ini tidak didukung dan perilaku tidak ditentukan untuk umpan yang menggunakan mode ini. Ada diskusi di GTFS -waktu nyata">GTFS Realtime milis sekitar sepenuhnya menentukan perilakuDIFFERENTIAL mode dan dokumentasi akan diperbarui ketika diskusi tersebut diselesaikan.
Nilai
Nilai |
---|
FULL_DATASET |
DIFFERENTIAL |
messageFeedEntity¶
Definisi (atau pembaruan) dari sebuahentity dalam umpan transit. jikaentity tidak sedang dihapus, tepat satu dari 'trip_update ', 'vehicle ', 'Alert ' dan 'Shape ' bidang harus diisi.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
id | string | Yg dibutuhkan | Satu | Pengidentifikasi unik umpan untuk inientity . Id hanya digunakan untuk menyediakanIncrementality mendukung. Entitas aktual yang direferensikan oleh feed harus ditentukan oleh pemilih eksplisit (lihatEntitySelector di bawah ini untuk lebihINFO ). |
is_deleted | bool | Opsional | Satu | Apakah inientity akan dihapus. Harus disediakan hanya untuk pakan denganIncrementality dariDIFFERENTIAL - bidang ini TIDAK boleh disediakan untuk umpan denganIncrementality dariFULL_DATASET . |
trip_update | TripUpdate | Diperlukan kondisional | Satu | Data tentang waktu nyatadeparture keterlambatantrip . Setidaknya salah satu bidangtrip_update ,vehicle ,Alert , atauShape harus disediakan - semua bidang ini tidak bolehEMPTY . |
vehicle | VehiclePosition | Diperlukan kondisional | Satu | Data tentang waktu nyataPosition dari avehicle . Setidaknya salah satu bidangtrip_update ,vehicle ,Alert , atauShape harus disediakan - semua bidang ini tidak bolehEMPTY . |
Alert | Alert | Diperlukan kondisional | Satu | Data tentang waktu nyataAlert . Setidaknya salah satu bidangtrip_update ,vehicle ,Alert , atauShape harus disediakan - semua bidang ini tidak bolehEMPTY . |
Shape | Shape | Diperlukan kondisional | Satu | Data tentang waktu nyataADDED bentuk, seperti untukDETOUR . Setidaknya salah satu bidangtrip_update ,vehicle ,Alert , atauShape harus disediakan - semua bidang ini tidak bolehEMPTY . Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
messageTripUpdate¶
Pembaruan waktu nyata tentang kemajuan avehicle bersamatrip . Silakan juga merujuk ke diskusi umum perjalanan -update">trip memperbarui entitas .
Tergantung pada nilaiScheduleRelationship , sebuahTripUpdate dapat menentukan:
- SEBUAHtrip yang berlangsung sesuai jadwal.
- SEBUAHtrip yang berjalan di sepanjang rute tetapi tidak memiliki jadwal tetap.
- SEBUAHtrip itu sudahADDED atau dihapus sehubungan dengan jadwal.
- barutrip itu adalah salinan dari yang sudah adatrip dalam keadaan statisGTFS . Ini akan berjalan pada tanggal layanan dantime ditentukan dalamTripProperties .
Pembaruan bisa untuk masa depan, diprediksiarrival /departure peristiwa, atau untuk peristiwa masa lalu yang sudah terjadi. Dalam kebanyakan kasus informasi tentang peristiwa masa lalu adalah nilai yang terukur sehinggauncertainty nilai direkomendasikan untuk menjadi 0. Meskipun mungkin ada kasus ketika ini tidak berlaku sehingga diperbolehkan untuk memilikiuncertainty nilai yang berbeda dari 0 untuk peristiwa masa lalu. Jika pembaruanuncertainty bukan 0, baik pembaruan tersebut merupakan perkiraan perkiraan untuk atrip yang belum selesai atau pengukuran yang tidak tepat atau pembaruan adalah prediksi untuk masa lalu yang belum diverifikasi setelah peristiwa terjadi.
Jika sebuahvehicle melayani beberapa perjalanan dalam blok yang sama (untuk informasi lebih lanjut tentang perjalanan dan blok, silakan merujuk keGTFStrips.txt ):
- pakan harus menyertakan aTripUpdate Untuktrip saat ini dilayani olehvehicle . Produsen didorong untuk menyertakan TripUpdates untuk satu atau lebih perjalanan setelah saat initrip di dalamvehicle 's block jika produsen yakin dengan kualitas prediksi untuk masa depan initrip (s). Termasuk beberapa TripUpdates untuk hal yang samavehicle menghindari prediksi "pop-in" untuk pengendara sebagaivehicle transisi dari satutrip ke yang lain dan juga memberi pengendara pemberitahuan sebelumnya tentang penundaan yang berdampak pada perjalanan hilir (misalnya, ketika diketahuidelay melebihi waktu singgah yang direncanakan antara perjalanan).
- yang bersangkutanTripUpdate entitas tidak diharuskan untuk menjadiADDED ke umpan dalam urutan yang sama dengan merekaSCHEDULED di blok. Misalnya, jika ada perjalanan dengan
trip_ids
1, 2, dan 3 yang semuanya termasuk dalam satu blok, danvehicle perjalanantrip 1, makatrip 2, dan kemudiantrip 3, itutrip_update entitas dapat muncul dalam urutan apa pun - misalnya, menambahkantrip 2, makatrip 1, dan kemudiantrip 3 diperbolehkan.
Perhatikan bahwa pembaruan dapat menjelaskantrip yang sudah selesai. Untuk iniend , cukup memberikan pembaruan untuk perhentian terakhirtrip . jikatime dariarrival di perhentian terakhir di masa lalu, klien akan menyimpulkan bahwa keseluruhantrip ada di masa lalu (mungkin, meskipun tidak penting, untuk juga menyediakan pembaruan untuk pemberhentian sebelumnya). Opsi ini paling relevan untuk atrip yang telah selesai lebih cepat dari jadwal, tetapi sesuai dengan jadwal,trip masih berlangsung saat initime . Menghapus pembaruan untuk initrip dapat membuat klien berasumsi bahwatrip masih berlangsung. Perhatikan bahwa penyedia umpan diperbolehkan, tetapi tidak diharuskan, untuk menghapus pembaruan sebelumnya - ini adalah satu kasus di mana hal ini akan berguna secara praktis.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
trip | TripDescriptor | Yg dibutuhkan | Satu | Itutrip bahwa inimessage berlaku untuk. Paling banyak bisa satuTripUpdateentity untuk setiap aktualtrip contoh. Jika tidak ada, berarti tidak ada informasi prediksi yang tersedia. memang_ bukan_ berarti bahwatrip berjalan sesuai jadwal. |
vehicle | VehicleDescriptor | Opsional | Satu | Informasi tambahan tentangvehicle yang melayani initrip . |
stop_time_update | StopTimeUpdate | Diperlukan kondisional | Banyak | Pembaruan StopTimes untuktrip (baik masa depan, yaitu prediksi, dan dalam beberapa kasus, masa lalu, yaitu yang sudah terjadi). Pembaruan harus diurutkan berdasarkanstop_sequence , dan berlaku untuk semua pemberhentian berikut daritrip hingga yang ditentukan berikutnyastop_time_update . Setidaknya satustop_time_update harus disediakan untuktrip kecuali jikatrip .schedule_relationship adalahCANCELED atauDUPLICATED - jikatrip adalahCANCELED , tidak ada stop_time_updates yang perlu disediakan. jikatrip adalahDUPLICATED , stop_time_updates mungkin disediakan untuk menunjukkan real-time informasi untuk yang barutrip . |
timestamp | uint64 | Opsional | Satu | Momen terbaru di manavehicle itu nyata-time kemajuan diukur untuk memperkirakan StopTimes di masa depan. Ketika StopTimes di masa lalu disediakan,arrival /departure kali mungkin lebih awal dari nilai ini. Di POSIXtime (yaitu, jumlah detik sejak 1 Januari 1970 00:00:00 UTC). |
delay | int32 | Opsional | Satu | Penyimpangan jadwal saat ini untuktrip .delay seharusnya hanya ditentukan ketika prediksi diberikan relatif terhadap beberapa jadwal yang ada diGTFS . delay (dalam detik) bisa positif (artinyavehicle terlambat) atau negatif (artinyavehicle lebih cepat dari jadwal).delay dari 0 berartivehicle tepat ditime . delay informasi di StopTimeUpdates mengambil preseden daritrip -tingkatdelay informasi, sehinggatrip -tingkatdelay hanya disebarkan sampai pemberhentian berikutnya di sepanjangtrip denganStopTimeUpdatedelay nilai yang ditentukan. Penyedia pakan sangat dianjurkan untuk memberikanTripUpdate .timestamp nilai yang menunjukkan kapandelay nilai terakhir diperbarui, untuk mengevaluasi kesegaran data. Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
trip_properties | TripProperties | Opsional | Satu | Menyediakan properti yang diperbarui untuktrip . Peringatan: inimessage masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
messageStopTimeEvent¶
Informasi waktu untuk satu peristiwa yang diprediksi (baikarrival ataudeparture ). Waktu terdiri daridelay dan/atau diperkirakantime , danuncertainty .
- delay harus digunakan ketika prediksi diberikan relatif terhadap beberapa jadwal yang ada diGTFS .
- time harus diberikan apakah ada jadwal yang diprediksi atau tidak. Jika keduanyatime dandelay ditentukan,time akan didahulukan (walaupun biasanya,time , jika diberikan untukSCHEDULEDtrip , harus sama denganSCHEDULEDtime diGTFS +delay ).
uncertainty berlaku sama untuk keduanyatime dandelay . Ituuncertainty secara kasar menentukan kesalahan yang diharapkan dalam truedelay (tetapi perhatikan, kami belum mendefinisikan makna statistik yang tepat). Itu mungkin untukuncertainty menjadi 0, misalnya untuk kereta api yang digerakkan di bawah kendali waktu komputer.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
delay | int32 | Diperlukan kondisional | Satu | delay (dalam detik) bisa positif (artinyavehicle terlambat) atau negatif (artinyavehicle lebih cepat dari jadwal).delay dari 0 berartivehicle tepat ditime . Salah satudelay atautime harus disediakan dalamStopTimeEvent - kedua bidang tidak bolehEMPTY . |
time | int64 | Diperlukan kondisional | Satu | Acara sebagai mutlaktime . Di POSIXtime (yaitu, jumlah detik sejak 1 Januari 1970 00:00:00 UTC). Salah satudelay atautime harus disediakan dalamStopTimeEvent - kedua bidang tidak bolehEMPTY . |
uncertainty | int32 | Opsional | Satu | Jikauncertainty dihilangkan, itu ditafsirkan sebagai tidak diketahui. Untuk menentukan prediksi yang benar-benar pasti, aturuncertainty ke 0. |
messageStopTimeUpdate¶
Pembaruan waktu nyata untukarrival dan/ataudeparture acara untuk perhentian tertentu pada atrip . Silakan juga merujuk ke diskusi umum stoptime update di pesan -tripdescriptor">TripDescriptor dan perjalanan -update">trip memperbarui dokumentasi entitas .
Pembaruan dapat diberikan untuk peristiwa masa lalu dan masa depan. Produser diperbolehkan, meskipun tidak diharuskan, untuk membatalkan peristiwa masa lalu.
Pembaruan ditautkan ke perhentian tertentu baik melaluistop_sequence ataustop_id , jadi salah satu bidang ini harus disetel. Jika samastop_id dikunjungi lebih dari sekali dalamtrip , kemudianstop_sequence harus disediakan di semua StopTimeUpdates untuk itustop_id tentang itutrip .
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
stop_sequence | uint32 | Diperlukan kondisional | Satu | Harus sama seperti distop_times.txt dalam yang sesuaiGTFS memberi makan. Salah satustop_sequence ataustop_id harus disediakan dalamStopTimeUpdate - kedua bidang tidak bolehEMPTY .stop_sequence diperlukan untuk perjalanan yang mengunjungi tempat yang samastop_id lebih dari sekali (misalnya, satu lingkaran) untuk memperjelas tujuan perhentian prediksi tersebut. JikaStopTimeProperties.assigned_stop_id terisi, makastop_sequence harus berpenduduk. |
stop_id | string | Diperlukan kondisional | Satu | Harus sama seperti distops.txt dalam yang sesuaiGTFS memberi makan. Salah satustop_sequence ataustop_id harus disediakan dalamStopTimeUpdate - kedua bidang tidak bolehEMPTY . JikaStopTimeProperties.assigned_stop_id diisi, lebih disukai untuk dihilangkanstop_id dan gunakan sajastop_sequence . JikaStopTimeProperties.assigned_stop_id danstop_id berpenduduk,stop_id harus cocokassigned_stop_id . |
arrival | StopTimeEvent | Diperlukan kondisional | Satu | Jikaschedule_relationship adalahEMPTY atauSCHEDULED , salah satuarrival ataudeparture harus disediakan dalamStopTimeUpdate - kedua bidang tidak bolehEMPTY .arrival dandeparture mungkin keduanyaEMPTY Kapanschedule_relationship adalahSKIPPED . Jikaschedule_relationship adalah NO_DATA,arrival dandeparture harusEMPTY . |
departure | StopTimeEvent | Diperlukan kondisional | Satu | Jikaschedule_relationship adalahEMPTY atauSCHEDULED , salah satuarrival ataudeparture harus disediakan dalamStopTimeUpdate - kedua bidang tidak bolehEMPTY .arrival dandeparture mungkin keduanyaEMPTY Kapanschedule_relationship adalahSKIPPED . Jikaschedule_relationship adalah NO_DATA,arrival dandeparture harusEMPTY . |
departure_occupancy_status | OccupancyStatus | Opsional | Satu | Prediksi keadaan okupansi penumpang untukvehicle segera setelahdeparture dari perhentian yang diberikan. Jika disediakan,stop_sequence harus disediakan. Untuk menyediakandeparture_occupancy_status tanpa memberikan real-timearrival ataudeparture prediksi, isi kolom ini dan aturStopTimeUpdate .schedule_relationship = NO_DATA. Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
schedule_relationship | ScheduleRelationship | Opsional | Satu | Hubungan defaultnya adalahSCHEDULED . |
stop_time_properties | StopTimeProperties | Opsional | Satu | Pembaruan waktu nyata untuk properti tertentu yang ditentukan dalamGTFSstop_times.txt Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
enumScheduleRelationship¶
Hubungan antara StopTime ini dan jadwal statis.
Nilai
Nilai | Komentar |
---|---|
SCHEDULED | Ituvehicle sedang berjalan sesuai dengan jadwal perhentiannya yang statis, meskipun tidak harus sesuai dengan waktu dari jadwal tersebut. Ini adalah bawaan perilaku. Setidaknya satu dariarrival dandeparture harus disediakan. Perjalanan berbasis frekuensi (GTFSfrequencies.txt dengan exact_times = 0) seharusnya tidak memiliki aSCHEDULED nilai dan harus digunakanUNSCHEDULED alih-alih. |
SKIPPED | Pemberhentiannya adalahSKIPPED , yaituvehicle tidak akan berhenti di halte ini.arrival dandeparture adalah opsional. Saat disetelSKIPPED tidak disebarkan ke pemberhentian berikutnya di tempat yang samatrip (yaitu,vehicle akan berhenti di perhentian berikutnya ditrip kecuali perhentian itu juga memilikistop_time_update denganschedule_relationship: SKIPPED ).delay dari perhentian sebelumnya ditrip_ melakukan_ menyebar di atasSKIPPED berhenti. Dengan kata lain, jikastop_time_update dengan sebuaharrival ataudeparture prediksi tidak diatur untuk berhenti setelahSKIPPED berhenti, prediksi huluSKIPPED stop akan disebarkan ke stop setelahSKIPPED berhenti dan pemberhentian berikutnya ditrip sampaistop_time_update untuk pemberhentian berikutnya disediakan. |
TIDAK ADA DATA | Tidak ada data yang diberikan untuk pemberhentian ini. Ini menunjukkan bahwa tidak ada informasi waktu nyata yang tersedia. Saat disetel, NO_DATA disebarkan melalui pemberhentian berikutnya, jadi ini adalah cara yang disarankan untuk menentukan dari pemberhentian mana Anda tidak memiliki informasi waktu waktu nyata. Ketika NO_DATA tidak disetelarrival juga bukandeparture harus disediakan. |
UNSCHEDULED | Ituvehicle mengoperasikan berbasis frekuensitrip (GTFSfrequencies.txt dengan waktu_tepat = 0). Nilai ini tidak boleh digunakan untuk perjalanan yang tidak ditentukan dalamGTFSfrequencies.txt , atau perjalanan diGTFSfrequencies.txt dengan waktu_tepat = 1. Perjalanan yang mengandungstop_time_updates denganschedule_relationship: UNSCHEDULED juga harus mengaturTripDescriptorschedule_relationship: UNSCHEDULED Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
messageStopTimeProperties¶
Pembaruan waktu nyata untuk properti tertentu yang ditentukan dalamGTFSstop_times.txt .
Perhatian: inimessage masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
assigned_stop_id | string | Opsional | Satu | Mendukung nyata-time berhenti tugas. Mengacu padastop_id didefinisikan dalamGTFSstops.txt .Yang baru assigned_stop_id seharusnya tidak menghasilkan perbedaan yang signifikantrip pengalaman untukend pengguna daripadastop_id didefinisikan dalamGTFSstop_times.txt . Dengan kata lain,end pengguna tidak boleh melihat yang baru inistop_id sebagai "perubahan yang tidak biasa" jika perhentian baru disajikan dalam aplikasi tanpa konteks tambahan apa pun. Misalnya, bidang ini dimaksudkan untuk digunakan untuk penetapan platform dengan menggunakan astop_id yang termasuk dalam stasiun yang sama dengan perhentian yang semula ditentukan diGTFSstop_times.txt .Untuk menetapkan berhenti tanpa memberikan real-timearrival ataudeparture prediksi, isi kolom ini dan atur StopTimeUpdate.schedule_relationship = NO_DATA .Jika kolom ini diisi, StopTimeUpdate.stop_sequence harus diisi danStopTimeUpdate.stop_id tidak harus berpenduduk. Berhenti tugas harus tercermin dalam lainnyaGTFS bidang -realtime juga (misalnya,VehiclePosition.stop_id ).Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
messageTripProperties¶
Mendefinisikan properti yang diperbarui daritrip
Perhatian: inimessage masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan.
.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
trip_id | string | Diperlukan kondisional | Satu | Mendefinisikan pengidentifikasi barutrip itu adalah duplikat dari yang sudah adatrip didefinisikan dalam (CSV)GTFStrips.txt tapi maustart pada tanggal layanan yang berbeda dan/atautime (didefinisikan menggunakanTripProperties.start_date danTripProperties.start_time ). Lihat definisi daritrips.trip_id di (CSV)GTFS . Nilainya harus berbeda dari yang digunakan dalam (CSV)GTFS . Kolom ini wajib diisi jikaschedule_relationship adalahDUPLICATED , jika tidak, kolom ini tidak boleh diisi dan akan diabaikan oleh konsumen.Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
start_date | string | Diperlukan kondisional | Satu | Tanggal layanan di manaDUPLICATEDtrip akan dijalankan. Harus disediakan dalam format YYYYMMDD. Kolom ini wajib diisi jikaschedule_relationship adalahDUPLICATED , jika tidak, kolom ini tidak boleh diisi dan akan diabaikan oleh konsumen.Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
start_time | string | Diperlukan kondisional | Satu | Mendefinisikandeparturestarttime daritrip kapan?DUPLICATED . Lihat definisi daristop_times.departure_time di (CSV)GTFS .SCHEDULEDarrival dandeparture kali untukDUPLICATEDtrip dihitung berdasarkan offset antara yang aslitripdeparture_time dan bidang ini. Misalnya, jikaGTFStrip telah berhenti A dengandeparture_time dari10:00:00 dan hentikan B dengandeparture_time dari10:01:00 , dan bidang ini diisi dengan nilai10:30:00 , berhenti B diDUPLICATEDtrip akan memilikiSCHEDULEDdeparture_time dari10:31:00 . Nyata-time ramalandelay nilai diterapkan pada jadwal yang dihitung initime untuk menentukan prediksitime . Misalnya, jikadeparturedelay dari30 disediakan untuk perhentian B, maka prediksideparturetime adalah10:31:30 . Nyata-time ramalantime nilai tidak memiliki offset yang diterapkan padanya dan menunjukkan prediksitime seperti yang disediakan. Misalnya, jikadeparturetime mewakili 10:31:30 disediakan untuk perhentian B, maka prediksideparturetime adalah10:31:30 .Bidang ini wajib diisi jikaschedule_relationship adalahDUPLICATED , jika tidak, kolom ini tidak boleh diisi dan akan diabaikan oleh konsumen.Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
shape_id | string | Opsional | Satu | MenentukanShape darivehicle jalur perjalanan untuk initrip bila berbeda dengan aslinya. Mengacu padaShape didefinisikan dalam (CSV)GTFS atau baruShapeentity secara nyata-time memberi makan. Lihat definisi daritrips.shape_id di (CSV)GTFS .Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
messageVehiclePosition¶
Informasi pemosisian waktu nyata untuk yang diberikanvehicle .
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
trip | TripDescriptor | Opsional | Satu | Itutrip bahwa inivehicle sedang melayani. DapatEMPTY atau sebagian jikavehicle tidak dapat diidentifikasi dengan yang diberikantrip contoh. |
vehicle | VehicleDescriptor | Opsional | Satu | Informasi tambahan tentangvehicle yang melayani initrip . Setiap entri harus memiliki unikvehicleid . |
Position | Position | Opsional | Satu | Saat iniPosition inivehicle . |
current_stop_sequence | uint32 | Opsional | Satu | Indeks urutan berhenti dari pemberhentian saat ini. Arti daricurrent_stop_sequence (yaitu, perhentian yang dimaksud) ditentukan olehcurrent_status . Jikacurrent_status hilangIN_TRANSIT_TO diasumsikan. |
stop_id | string | Opsional | Satu | Mengidentifikasi pemberhentian saat ini. Nilainya harus sama dengan distops.txt dalam yang sesuaiGTFS memberi makan. JikaStopTimeProperties.assigned_stop_id digunakan untuk menetapkanstop_id , bidang ini juga harus mencerminkan perubahan dalamstop_id . |
current_status | VehicleStopStatus | Opsional | Satu | Status yang tepat darivehicle sehubungan dengan berhenti saat ini. Diabaikan jikacurrent_stop_sequence hilang. |
timestamp | uint64 | Opsional | Satu | Momen dimanavehicle 'sPosition diukur. Di POSIXtime (yaitu, jumlah detik sejak 1 Januari 1970 00:00:00 UTC). |
congestion_level | CongestionLevel | Opsional | Satu | |
occupancy_status | OccupancyStatus | _ Opsional_ | Satu | Keadaan hunian penumpang untukvehicle atau kereta. Jikamulti_carriage_details diisi dengan per gerbongOccupancyStatus , maka bidang ini harus menggambarkan keseluruhanvehicle dengan semua gerbong yang menerima penumpang dipertimbangkan. Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
occupancy_percentage | uint32 | Opsional | Satu | Nilai persentase yang menunjukkan tingkat hunian penumpang divehicle . Nilai 100 harus mewakili total hunian maksimum yangvehicle dirancang untuk, termasuk kapasitas tempat duduk dan berdiri, dan peraturan pengoperasian saat ini memungkinkan. Nilainya dapat melebihi 100 jika ada lebih banyak penumpang dari kapasitas maksimum yang dirancang. Ketepatan darioccupancy_percentage harus cukup rendah sehingga penumpang individu tidak dapat dilacak naik atau turun darivehicle . Jikamulti_carriage_details diisi dengan per gerbongoccupancy_percentage , maka bidang ini harus menggambarkan keseluruhanvehicle dengan semua gerbong yang menerima penumpang dipertimbangkan. Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
multi_carriage_details | CarriageDetails | Opsional | Banyak | Detail dari beberapa gerbong yang diberikan inivehicle . Kejadian pertama mewakili kereta pertama darivehicle , mengingat arah perjalanan saat ini . Banyaknya kejadianmulti_carriage_details bidang mewakili jumlah gerbongvehicle . Ini juga termasuk gerbong non-boardable, seperti mesin,MAINTENANCE gerbong, dll... karena memberikan informasi berharga kepada penumpang tentang di mana harus berdiri di atas peron. Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
enumVehicleStopStatus¶
Nilai
Nilai | Komentar |
---|---|
INCOMING_AT | Ituvehicle baru saja akan tiba di perhentian (pada tampilan perhentian,vehicle simbol biasanya berkedip). |
STOPPED_AT | Ituvehicle sedang berdiri di halte. |
IN_TRANSIT_TO | Ituvehicle telah meninggalkan perhentian sebelumnya dan sedang transit. |
enumCongestionLevel¶
CONGESTION tingkat yang mempengaruhi inivehicle .
Nilai
Nilai |
---|
UNKNOWN_CONGESTION_LEVEL |
RUNNING_SMOOTHLY |
STOP_AND_GO |
CONGESTION |
SEVERE_CONGESTION |
enumOccupancyStatus¶
Keadaan hunian penumpang untukvehicle atau kereta.
Produser individu tidak boleh mempublikasikan semuaOccupancyStatus nilai-nilai. Oleh karena itu, konsumen tidak boleh berasumsi bahwaOccupancyStatus nilai mengikuti skala linier. Konsumen harus mewakiliOccupancyStatus nilai-nilai sebagai keadaan yang ditunjukkan dan dimaksudkan oleh produsen. Demikian juga, produsen harus menggunakanOccupancyStatus nilai yang sesuai dengan yang sebenarnyavehicle negara-negara hunian.
Untuk menggambarkan tingkat hunian penumpang pada skala linier, lihatoccupancy_percentage .
Perhatian: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan.
Nilai
Nilai | Komentar |
---|---|
EMPTY | _ Ituvehicle dianggapEMPTY oleh sebagian besar tindakan, dan memiliki sedikit atau tidak ada penumpang di dalamnya, tetapi masih menerima penumpang._ |
MANY_SEATS_AVAILABLE | _ Ituvehicle atau gerbong memiliki banyak kursi yang tersedia. Jumlah kursi gratis dari total kursi yang tersedia untuk dianggap cukup besar untuk masuk dalam kategori ini ditentukan berdasarkan kebijaksanaan produsen._ |
FEW_SEATS_AVAILABLE | _ Ituvehicle atau gerbong memiliki sejumlah kecil kursi yang tersedia. Jumlah kursi gratis dari total kursi yang tersedia untuk dianggap cukup kecil untuk masuk ke dalam kategori ini ditentukan berdasarkan kebijaksanaan produsen._ |
STANDING_ROOM_ONLY | _ Ituvehicle atau gerbong saat ini hanya dapat menampung penumpang yang berdiri._ |
CRUSHED_STANDING_ROOM_ONLY | _ Ituvehicle atau gerbong saat ini hanya dapat menampung penumpang yang berdiri dan memiliki ruang terbatas untuk mereka._ |
FULL | _ Ituvehicle dianggapFULL oleh sebagian besar tindakan, tetapi mungkin masih mengizinkan penumpang untuk naik._ |
NOT_ACCEPTING_PASSENGERS | _ Ituvehicle atau kereta tidak menerima penumpang. Ituvehicle atau gerbong biasanya menerima penumpang untuk boarding._ |
NO_DATA_AVAILABLE | _ Ituvehicle atau gerbong tidak memiliki data hunian yang tersedia pada saat itutime ._ |
NOT_BOARDABLE | _ Ituvehicle atau kereta tidak dapat dinaiki dan tidak pernah menerima penumpang. Berguna untuk kendaraan atau gerbong khusus (mesin,MAINTENANCE gerbong, dll...)._ |
messageCarriageDetails¶
Detail khusus gerbong, digunakan untuk kendaraan yang terdiri dari beberapa gerbong.
Perhatian: inimessage masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
id | string | Opsional | Satu | Identifikasi gerbong. Harus unik pervehicle . Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
label | string | Opsional | Satu | Pengguna terlihatlabel yang mungkin ditunjukkan kepada penumpang untuk membantu mengidentifikasi kereta. Contoh: "7712", "Mobil ABC-32", dll... Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
occupancy_status | OccupancyStatus | Opsional | Satu | Status hunian untuk gerbong yang diberikan ini, dalam hal inivehicle . Default diatur keNO_DATA_AVAILABLE .Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
occupancy_percentage | int32 | Opsional | Satu | Persentase hunian untuk gerbong yang diberikan ini, dalam hal inivehicle . Mengikuti aturan yang sama seperti "VehiclePosition.occupancy_percentage". Gunakan -1 jika data tidak tersedia untuk carriage yang diberikan ini. Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
carriage_sequence | uint32 | Yg dibutuhkan | Satu | Mengidentifikasi urutan gerbong ini sehubungan dengan gerbong lain divehicle daftar CarriageStatus. Kereta pertama dalam arah perjalanan harus memiliki nilai 1. Nilai kedua sesuai dengan kereta kedua dalam arah perjalanan dan harus memiliki nilai 2, dan seterusnya. Misalnya, gerbong pertama dalam arah perjalanan memiliki nilai 1. Jika gerbong kedua dalam arah perjalanan memiliki nilai 3, konsumen akan membuang data untuk semua gerbong (mis.multi_carriage_details bidang). Gerbong tanpa data harus direpresentasikan dengan validcarriage_sequence nomor dan bidang tanpa data harus dihilangkan (sebagai alternatif, bidang tersebut juga dapat dimasukkan dan disetel ke nilai "tidak ada data"). Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
messageAlert¶
SebuahAlert , menunjukkan semacam insiden di jaringan angkutan umum.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
active_period | TimeRange | Opsional | Banyak | time ketikaAlert harus ditunjukkan kepada pengguna. Jika hilang,Alert akan ditampilkan selama itu muncul di feed. Jika beberapa rentang diberikan,Alert akan ditampilkan selama mereka semua. |
informed_entity | EntitySelector | Yg dibutuhkan | Banyak | Entitas yang penggunanya harus kami beri tahu tentang iniAlert . Setidaknya satuinformed_entity harus disediakan. |
Cause | Cause | Opsional | Satu | |
Effect | Effect | Opsional | Satu | |
url | TranslatedString | Opsional | Satu | Ituurl yang memberikan informasi tambahan tentangAlert . |
header_text | TranslatedString | Yg dibutuhkan | Satu | header UntukAlert . Dataran ini-textstring akan disorot, misalnya dalam huruf tebal. |
description_text | TranslatedString | Yg dibutuhkan | Satu | Deskripsi untukAlert . Dataran ini-textstring akan diformat sebagai badan dariAlert (atau ditampilkan pada permintaan "perluas" eksplisit oleh pengguna). Informasi dalam deskripsi harus menambah informasi tentangheader . |
tts_header_text | TranslatedString | Opsional | Satu | text mengandungAlert 'sheader digunakan untuktext implementasi -to-speech. Bidang ini adalahtext versi -to-speech dariheader_text . Itu harus berisi informasi yang sama denganheader_text tetapi diformat sedemikian rupa sehingga dapat dibaca sebagaitext -to-speech (misalnya, singkatan dihapus, angka dieja, dll.) |
tts_description_text | TranslatedString | Opsional | Satu | text berisi deskripsi untukAlert digunakan untuktext implementasi -to-speech. Bidang ini adalahtext versi -to-speech daridescription_text . Itu harus berisi informasi yang sama dengandescription_text tetapi diformat sedemikian rupa sehingga dapat dibaca sebagaitext -to-speech (misalnya, singkatan dihapus, angka dieja, dll.) |
severity_level | SeverityLevel | Opsional | Satu | Tingkat keparahanAlert . |
image | TranslatedImage | Opsional | Satu | TranslatedImage untuk ditampilkan di sepanjangAlerttext . Digunakan untuk menjelaskan secara visualAlertEffect dari aDETOUR , penutupan stasiun, dllimage harus meningkatkan pemahaman tentangAlert dan tidak boleh menjadi satu-satunya lokasi informasi penting. Jenis gambar berikut tidak disarankan:image mengandung terutamatext , gambar pemasaran atau bermerek yang tidak menambahkan informasi tambahan. Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
image_alternative_text | TranslatedString | Opsional | Satu | text menggambarkan penampilan yang ditautkanimage dalamimage bidang (misalnya, dalam kasusimage tidak dapat ditampilkan atau pengguna tidak dapat melihatimage untuk alasan aksesibilitas). Lihat HTML-nya spesifikasi untuk altimagetext .Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
enumCause¶
Cause iniAlert .
Nilai
Nilai |
---|
UNKNOWN_CAUSE |
OTHER_CAUSE |
TECHNICAL_PROBLEM |
STRIKE |
DEMONSTRATION |
ACCIDENT |
HOLIDAY |
WEATHER |
MAINTENANCE |
CONSTRUCTION |
POLICE_ACTIVITY |
MEDICAL_EMERGENCY |
enumEffect¶
ItuEffect masalah ini pada yang terkena dampakentity .
Nilai
Nilai |
---|
NO_SERVICE |
REDUCED_SERVICE |
SIGNIFICANT_DELAYS |
DETOUR |
ADDITIONAL_SERVICE |
MODIFIED_SERVICE |
OTHER_EFFECT |
UNKNOWN_EFFECT |
STOP_MOVED |
NO_EFFECT |
ACCESSIBILITY_ISSUE |
enumSeverityLevel¶
Tingkat keparahanAlert .
Perhatian: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan.
Nilai
Nilai |
---|
UNKNOWN_SEVERITY |
INFO |
WARNING |
SEVERE |
messageTimeRange¶
SEBUAHtime selang. Interval dianggap aktif padatime t
jika t
lebih besar atau sama denganstarttime dan kurang dariendtime .
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
start | uint64 | Diperlukan kondisional | Satu | starttime , dalam POSIXtime (yaitu, jumlah detik sejak 1 Januari 1970 00:00:00 UTC). Jika hilang, interval dimulai pada minus tak terhingga. Jika sebuahTimeRange disediakan, baikstart atauend harus disediakan - kedua bidang tidak bolehEMPTY . |
end | uint64 | Diperlukan kondisional | Satu | endtime , dalam POSIXtime (yaitu, jumlah detik sejak 1 Januari 1970 00:00:00 UTC). Jika hilang, interval berakhir pada plus tak terhingga. Jika sebuahTimeRange disediakan, baikstart atauend harus disediakan - kedua bidang tidak bolehEMPTY . |
messagePosition¶
Sebuah geografisPosition dari avehicle .
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
latitude | float | Yg dibutuhkan | Satu | Derajat Utara, dalam sistem koordinat WGS-84. |
longitude | float | Yg dibutuhkan | Satu | Derajat Timur, dalam sistem koordinat WGS-84. |
bearing | float | Opsional | Satu | bearing , dalam derajat, searah jarum jam dari Utara Sejati, yaitu, 0 adalah Utara dan 90 adalah Timur. Ini bisa menjadi kompasbearing , atau arah menuju perhentian berikutnya atau lokasi perantara. Ini tidak boleh disimpulkan dari urutan posisi sebelumnya, yang dapat dihitung klien dari data sebelumnya. |
odometer | double | Opsional | Satu | odometer nilai, dalam meter. |
speed | float | Opsional | Satu | Sejenakspeed diukur denganvehicle , dalam meter per detik. |
messageTripDescriptor¶
Sebuah deskriptor yang mengidentifikasi satu contoh dari aGTFStrip .
Untuk menentukan satutrip misalnya, dalam banyak kasus atrip_id dengan sendirinya sudah cukup. Namun, kasus berikut memerlukan informasi tambahan untuk diselesaikan menjadi satu:trip contoh:
- Untuk perjalanan yang ditentukan dalamfrequencies.txt ,start_date danstart_time diperlukan selaintrip_id
- jikatrip berlangsung selama lebih dari 24 jam, atau tertunda sedemikian rupa sehingga akan bertabrakan denganSCHEDULEDtrip pada hari berikutnya, makastart_date diperlukan selaintrip_id
- jikatrip_id bidang tidak dapat disediakan, makaroute_id ,direction_id ,start_date , danstart_time semua harus disediakan
Dalam semua kasus, jikaroute_id disediakan selaintrip_id , makaroute_id harus samaroute_id seperti yang ditugaskan untuk diberikantrip diGTFStrips.txt .
Itutrip_id bidang tidak dapat, dengan sendirinya atau dalam kombinasi dengan yang lainTripDescriptor bidang, digunakan untuk mengidentifikasi beberapatrip contoh. Misalnya,TripDescriptor seharusnya tidak pernah menentukantrip_id dengan sendirinya untukGTFSfrequencies.txt tepat_times=0 perjalanan karenastart_time juga diperlukan untuk menyelesaikan satutrip contoh mulai dari yang spesifiktime hari. jikaTripDescriptor tidak memutuskan untuk satutrip contoh (yaitu, menyelesaikan ke nol atau kelipatantrip contoh), itu dianggap sebagai kesalahan danentity mengandung kesalahanTripDescriptor dapat dibuang oleh konsumen.
Perhatikan bahwa jikatrip_id tidak diketahui, maka id urutan stasiun dalamTripUpdate tidak cukup, dan stop_ids juga harus disediakan. Selain itu, mutlakarrival /departure waktu harus disediakan.
TripDescriptor .route_id tidak dapat digunakan dalamAlertEntitySelector untuk menentukan rute-lebarAlert yang memengaruhi semua perjalanan untuk suatu rute - gunakanEntitySelector .route_id alih-alih.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
trip_id | string | Diperlukan kondisional | Satu | Itutrip_id dariGTFS feed yang dirujuk oleh pemilih ini. Untuk perjalanan berbasis non-frekuensi (perjalanan tidak ditentukan dalamGTFSfrequencies.txt ), bidang ini cukup untuk mengidentifikasi secara uniktrip . Untuk perjalanan berbasis frekuensi yang ditentukan dalamGTFSfrequencies.txt ,trip_id ,start_time , danstart_date semua diperlukan. UntukSCHEDULED -perjalanan berbasis (perjalanan tidak ditentukan dalamGTFSfrequencies.txt ),trip_id hanya dapat dihilangkan jikatrip dapat diidentifikasi secara unik dengan kombinasiroute_id ,direction_id ,start_time , danstart_date , dan semua bidang tersebut disediakan. Kapanschedule_relationship adalahDUPLICATED dalamTripUpdate , itutrip_id mengidentifikasitrip dari statisGTFS menjadiDUPLICATED . Kapanschedule_relationship adalahDUPLICATED dalamVehiclePosition , itutrip_id mengidentifikasi duplikat barutrip dan harus berisi nilai untuk yang sesuaiTripUpdate .TripProperties .trip_id . |
route_id | string | Diperlukan kondisional | Satu | Ituroute_id dariGTFS bahwa pemilih ini mengacu. Jikatrip_id dihilangkan,route_id ,direction_id ,start_time , dan schedule_relationship=SCHEDULED semua harus diatur untuk mengidentifikasi atrip contoh.TripDescriptor .route_id tidak boleh digunakan dalamAlertEntitySelector untuk menentukan rute-lebarAlert yang memengaruhi semua perjalanan untuk suatu rute - gunakanEntitySelector .route_id alih-alih. |
direction_id | uint32 | Diperlukan kondisional | Satu | Itudirection_id dariGTFS memberi makantrips.txt file, yang menunjukkan arah perjalanan untuk perjalanan yang dirujuk oleh pemilih ini. Jikatrip_id dihilangkan,direction_id harus disediakan. Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
start_time | string | Diperlukan kondisional | Satu | awalnyaSCHEDULEDstarttime initrip contoh. Ketikatrip_id sesuai dengan non-frekuensi berbasistrip , bidang ini harus dihilangkan atau sama dengan nilai dalamGTFS memberi makan. Ketikatrip_id sesuai dengan frekuensi berbasistrip didefinisikan dalamGTFSfrequencies.txt ,start_time diperlukan dan harus ditentukan untuktrip pembaruan danvehicle posisi. jikatrip sesuai dengan tepat_waktu=1GTFS merekam, makastart_time harus beberapa kelipatan (termasuk nol) dari headway_sec lebih lambat darifrequencies.txtstart_time untuk yang sesuaitime Titik. jikatrip sesuai dengan tepat_waktu=0, makastart_time mungkin sewenang-wenang, dan pada awalnya diharapkan menjadi yang pertamadeparture daritrip . Setelah didirikan,start_time dari waktu_tepat berbasis frekuensi ini=0trip harus dianggap tidak berubah, bahkan jika yang pertamadeparturetime perubahan -- itutime perubahan mungkin tercermin dalam aStopTimeUpdate . Jikatrip_id dihilangkan,start_time harus disediakan. Format dan semantik bidangnya sama denganGTFS /frequencies.txt /start_time , misalnya, 11:15:35 atau 25:15:35. |
start_date | string | Diperlukan kondisional | Satu | Itustart tanggal initrip contoh dalam format YYYYMMDD. UntukSCHEDULED perjalanan (perjalanan tidak ditentukan dalamGTFSfrequencies.txt ), bidang ini harus disediakan untuk memperjelas perjalanan yang sangat terlambat sehingga bertabrakan denganSCHEDULEDtrip pada hari berikutnya. Misalnya, untuk kereta api yang berangkat pukul 8:00 dan 20:00 setiap hari, dan terlambat 12 jam, akan ada dua perjalanan berbeda pada rute yang sama.time . Bidang ini dapat disediakan tetapi tidak wajib untuk jadwal di mana tabrakan tersebut tidak mungkin - misalnya, layanan yang berjalan pada jadwal per jam di manavehicle yaitu terlambat satu jam dianggap tidak berhubungan dengan jadwal lagi. Bidang ini diperlukan untuk perjalanan berbasis frekuensi yang ditentukan dalamGTFSfrequencies.txt . Jikatrip_id dihilangkan,start_date harus disediakan. |
schedule_relationship | ScheduleRelationship | Opsional | Satu | Hubungan antara initrip dan jadwal statis. JikaTripDescriptor disediakan dalamAlertEntitySelector , ituschedule_relationship bidang diabaikan oleh konsumen saat mengidentifikasi pencocokantrip contoh. |
enumScheduleRelationship¶
Hubungan antara initrip dan jadwal statis. Jika sebuahtrip dilakukan sesuai dengan jadwal sementara, tidak tercermin dalamGTFS , maka itu tidak boleh ditandai sebagaiSCHEDULED , tetapi ditandai sebagaiADDED .
Nilai
Nilai | Komentar |
---|---|
SCHEDULED | trip yang berjalan sesuai denganGTFS Schedule , atau cukup dekat denganSCHEDULEDtrip untuk dikaitkan dengannya. |
ADDED | Tambahantrip itu adalahADDED selain jadwal berjalan, misalnya untuk mengganti yang rusakvehicle atau untuk menanggapi beban penumpang yang tiba-tiba. CATATAN: Saat ini, perilaku tidak ditentukan untuk umpan yang menggunakan mode ini. Ada diskusi tentangGTFS GitHub (1) (2) (3) sekitar sepenuhnya menentukan atau mencelaADDED perjalanan dan dokumentasi akan diperbarui ketika diskusi tersebut diselesaikan. |
UNSCHEDULED | SEBUAHtrip yang berjalan tanpa jadwal yang terkait dengannya - nilai ini digunakan untuk mengidentifikasi perjalanan yang ditentukan dalamGTFSfrequencies.txt dengan waktu_tepat = 0. Seharusnya tidak digunakan untuk menggambarkan perjalanan yang tidak didefinisikan dalamGTFSfrequencies.txt , atau perjalanan diGTFSfrequencies.txt dengan waktu_tepat = 1. Perjalanan denganschedule_relationship: UNSCHEDULED juga harus mengatur semua StopTimeUpdatesschedule_relationship: UNSCHEDULED |
CANCELED | SEBUAHtrip yang ada dalam jadwal tetapi telah dihapus. |
DUPLICATED | barutrip itu sama dengan yang adaSCHEDULEDtrip kecuali untuk layananstart tanggal dantime . Digunakan denganTripUpdate.TripProperties.trip_id ,TripUpdate.TripProperties.start_date , danTripUpdate.TripProperties.start_time untuk menyalin yang sudah adatrip dari statisGTFS tetapistart pada tanggal layanan yang berbeda dan/atautime . Menggandakantrip diperbolehkan jika layanan terkait dengan aslinyatrip di (CSV)GTFS (dicalendar.txt ataucalendar_dates.txt ) beroperasi dalam 30 hari ke depan. Itutrip menjadiDUPLICATED diidentifikasi melaluiTripUpdate.TripDescriptor.trip_id .Pencacahan ini tidak mengubah yang sudah adatrip direferensikan oleh TripUpdate.TripDescriptor.trip_id - jika produser ingin membatalkan aslinyatrip , itu harus menerbitkan terpisahTripUpdate dengan nilaiCANCELED . Perjalanan ditentukan dalamGTFSfrequencies.txt denganexact_times itu adalahEMPTY atau sama dengan0 tidak bisaDUPLICATED . ItuVehiclePosition.TripDescriptor.trip_id untuk yang barutrip harus berisi nilai yang cocok dariTripUpdate.TripProperties.trip_id danVehiclePosition.TripDescriptor.ScheduleRelationship juga harus disetel keDUPLICATED .Produsen dan konsumen yang ada yang menggunakanADDED pencacahan untuk mewakiliDUPLICATED perjalanan harus mengikuti panduan migrasi untuk transisi keDUPLICATED pencacahan. |
messageVehicleDescriptor¶
Informasi identifikasi untukvehicle melakukantrip .
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
id | string | Opsional | Satu | Identifikasi sistem internal darivehicle . Seharusnya unik pervehicle , dan digunakan untuk melacakvehicle karena berlangsung melalui sistem. Iniid tidak boleh terlihat olehend -pengguna; untuk tujuan itu gunakanlabel bidang |
label | string | Opsional | Satu | Pengguna terlihatlabel , yaitu, sesuatu yang harus ditunjukkan kepada penumpang untuk membantu mengidentifikasi yang benarvehicle . |
license_plate | string | Opsional | Satu | Plat nomorvehicle . |
dapat diakses kursi roda | Dapat Diakses Kursi Roda | Opsional | Satu | Jika disediakan, dapat menimpa_ dapat diakses kursi roda_ nilai dari statisGTFS . |
enum Dapat Diakses Kursi Roda¶
Jika tertentutrip dapat diakses oleh kursi roda. Jika tersedia, nilai ini harus menimpa nilai yang dapat diakses kursi roda dari statisGTFS .
Nilai
Nilai | Komentar |
---|---|
TIDAK BERNILAI | Itutrip tidak memiliki informasi tentang aksesibilitas kursi roda. Ini adalah bawaan perilaku. Jika statisGTFS mengandung_ dapat diakses kursi roda_ nilai, itu tidak akan ditimpa. |
TIDAK DIKENAL | Itutrip tidak memiliki nilai aksesibilitas yang ada. Nilai ini akan menimpa nilai dariGTFS . |
WHEELCHAIR_ACCESSIBLE | Itutrip dapat diakses kursi roda. Nilai ini akan menimpa nilai dariGTFS . |
WHEELCHAIR_INACCESSIBLE | Itutrip adalah bukan dapat diakses kursi roda. Nilai ini akan menimpa nilai dariGTFS . |
messageEntitySelector¶
Sebuah pemilih untukentity di sebuahGTFS memberi makan. Nilai bidang harus sesuai dengan bidang yang sesuai diGTFS memberi makan. Setidaknya satu penentu harus diberikan. Jika beberapa diberikan, mereka harus ditafsirkan sebagai bergabung dengan operator logika AND
. Selain itu, kombinasi penentu harus cocok dengan informasi yang sesuai diGTFS memberi makan. Dengan kata lain, agarAlert untuk melamar keentity diGTFS itu harus cocok dengan semua yang disediakanEntitySelector bidang. Misalnya, anEntitySelector itu termasuk bidangroute_id route_id : "5"
danroute_type route_type : "3"
hanya berlaku untukroute_id route_id : "5"
- tidak berlaku untuk rute lainroute_type route_type : "3"
. Jika seorang produser menginginkanAlert untuk melamarroute_id route_id : "5"
sertaroute_type route_type : "3"
, itu harus menyediakan dua EntitySelectors terpisah, satu referensiroute_id route_id : "5"
dan referensi lainroute_type route_type : "3"
.
Setidaknya satu penentu harus diberikan - semua bidang dalamEntitySelector tidak bisaEMPTY .
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
agency_id | string | Diperlukan kondisional | Satu | Ituagency_id dariGTFS feed yang dirujuk oleh pemilih ini. |
route_id | string | Diperlukan kondisional | Satu | Ituroute_id dariGTFS bahwa pemilih ini mengacu. Jikadirection_id disediakan,route_id juga harus disediakan. |
route_type | int32 | Diperlukan kondisional | Satu | Ituroute_type dariGTFS bahwa pemilih ini mengacu. |
direction_id | uint32 | Diperlukan kondisional | Satu | Itudirection_id dariGTFS memberi makantrips.txt file, digunakan untuk memilih semua perjalanan dalam satu arah untuk suatu rute, ditentukan olehroute_id . Jikadirection_id disediakan,route_id juga harus disediakan. Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
trip | TripDescriptor | Diperlukan kondisional | Satu | Itutrip contoh dariGTFS bahwa pemilih ini mengacu. IniTripDescriptor harus memutuskan untuk satutrip contoh diGTFS data (misalnya, produsen tidak dapat memberikan hanyatrip_id untuk waktu_tepat=0 perjalanan). jikaScheduleRelationship bidang diisi di dalam iniTripDescriptor itu akan diabaikan oleh konsumen ketika mencoba mengidentifikasiGTFStrip . |
stop_id | string | Diperlukan kondisional | Satu | Itustop_id dariGTFS feed yang dirujuk oleh pemilih ini. |
messageTranslatedString¶
Terinternasionalisasimessage mengandung per-language versi cuplikan daritext atauurl . Salah satu string dari amessage akan dijemput. Resolusi berjalan sebagai berikut: Jika UIlanguage cocok denganlanguage kodeTranslation , pencocokan pertamaTranslation dipetik. Jika UI defaultlanguage (misalnya, bahasa Inggris) cocok denganlanguage kodeTranslation , pencocokan pertamaTranslation dipetik. Jika beberapaTranslation memiliki tidak ditentukanlanguage kode, ituTranslation dipetik.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
Translation | Translation | Yg dibutuhkan | Banyak | Setidaknya satuTranslation harus disediakan. |
messageTranslation¶
Terlokalisasistring dipetakan kelanguage .
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
text | string | Yg dibutuhkan | Satu | UTF-8string mengandungmessage . |
language | string | Diperlukan kondisional | Satu | BCP-47language kode. Dapat dihilangkan jikalanguage tidak diketahui atau jika tidak ada internasionalisasi yang dilakukan sama sekali untuk umpan. Paling banyak satuTranslation diperbolehkan untuk memiliki yang tidak ditentukanlanguage tag - jika ada lebih dari satuTranslation , itulanguage harus disediakan. |
messageTranslatedImage¶
Terinternasionalisasimessage mengandung per-language versi dari sebuahimage . Salah satu gambar dari amessage akan dijemput. Resolusi berjalan sebagai berikut: Jika UIlanguage cocok denganlanguage kodeTranslation , pencocokan pertamaTranslation dipetik. Jika UI defaultlanguage (misalnya, bahasa Inggris) cocok denganlanguage kodeTranslation , pencocokan pertamaTranslation dipetik. Jika beberapaTranslation memiliki tidak ditentukanlanguage kode, ituTranslation dipetik.
Perhatian: inimessage masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
localized_image | LocalizedImage | Yg dibutuhkan | Banyak | Setidaknya satu dilokalkanimage harus disediakan. |
messageLocalizedImage¶
Terlokalisasiimageurl dipetakan kelanguage .
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
url | string | Yg dibutuhkan | Satu | string mengandungurl menghubungkan keimage . Ituimage tertaut harus kurang dari 2 MB. Jikaimage perubahan dalam cara yang cukup signifikan sehingga pembaruan diperlukan di sisi konsumen, produsen harus memperbaruiurl ke yang baru. Ituurl harus sepenuhnya memenuhi syaraturl yang mencakup http:// atau https://, dan karakter khusus apa pun diurl harus lolos dengan benar. Lihat berikut ini https://www.w3.org/Addressing/url /4_URI_Recommentations.html untuk deskripsi tentang cara membuat sepenuhnya memenuhi syaraturl nilai-nilai. |
media_type | string | Yg dibutuhkan | Satu | Jenis media IANA untuk menentukan jenisimage untuk ditampilkan. Jenisnya harusstart dengan "gambar/" |
language | string | Diperlukan kondisional | Satu | BCP-47language kode. Dapat dihilangkan jikalanguage tidak diketahui atau jika tidak ada internasionalisasi yang dilakukan sama sekali untuk umpan. Paling banyak satuTranslation diperbolehkan untuk memiliki yang tidak ditentukanlanguage tag - jika ada lebih dari satuTranslation , itulanguage harus disediakan. |
messageShape¶
Menjelaskan jalur fisik yang avehicle mengambil ketikaShape bukan bagian dari (CSV)GTFS , seperti untuk ad-hocDETOUR . Bentuk milik Trips dan terdiri dari polyline yang disandikan untuk transmisi yang lebih efisien. Bentuk tidak perlu mencegat lokasi Perhentian dengan tepat, tetapi semua Perhentian pada atrip harus terletak dalam jarak kecil dariShape untuk itutrip , yaitu dekat dengan segmen garis lurus yang menghubungkanShape poin
Perhatian: inimessage masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan.
.
bidang
Nama Bidang | Jenis | Yg dibutuhkan | Kardinalitas | Keterangan |
---|---|---|---|---|
shape_id | string | Yg dibutuhkan | Satu | pengenal dariShape . Harus berbeda dari apapunshape_id didefinisikan dalam (CSV)GTFS .Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |
encoded_polyline | string | Yg dibutuhkan | Satu | Representasi polyline yang disandikan dariShape . Polyline ini harus berisi setidaknya dua titik. Untuk informasi lebih lanjut tentang polyline yang disandikan, lihat https://developers.google.com/maps/documentation/utilities/polylinealgorithm Peringatan: bidang ini masih eksperimental , dan dapat berubah. Ini mungkin secara resmi diadopsi di masa depan. |