Lewati ke isi

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:

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 baruassigned_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 aturStopTimeUpdate.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 olehTripUpdate.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.