Ekstensi

Ekstensi

Untuk membantu pengujian fitur baru dan memungkinkan developer menambahkan informasi tambahan ke feed GTFS-realtime, kami akan memanfaatkan fitur Ekstensi Protocol Buffer. Ekstensi memungkinkan kami menentukan ruang nama dalam pesan Protocol Buffer tempat developer pihak ketiga dapat menentukan kolom tambahan tanpa harus memodifikasi definisi proto yang asli.

Jika developer berminat memperluas Spesifikasi GTFS-realtime, mereka harus menghubungi milis GTFS-realtime dan kami akan memberikan id ekstensi berikutnya yang tersedia, yang diambil secara bertahap dari daftar angka yang dimulai dari 1000 dan seterusnya ke atas serta didokumentasikan di bagian Registry Ekstensi yang ada di bawah.

ID ekstensi yang diberikan ini sesuai dengan id tag yang tersedia di ruang nama "ekstensi" untuk setiap definisi pesan GTFS-realtime. Setelah developer memiliki id ekstensi, mereka akan menggunakan id tersebut saat memperluas sebagian dan semua pesan GTFS-realtime. Meskipun developer hanya berencana memperluas 1 pesan, id ekstensi yang telah diberikan tersebut akan disediakan untuk SEMUA pesan.

Bagi developer yang memperluas spesifikasi, model yang disukai adalah menentukan pesan baru seperti "MyTripDescriptorExtension", memperluas pesan GTFS-realtime pokok dengan pesan baru, lalu menempatkan semua kolom baru di sana, dan bukan menambahkan satu kolom baru seperti "string" atau "int32" dengan id ekstensinya. Dengan properti bagus yang dimilikinya, Anda dapat mengelola kolom dalam pesan ekstensi setiap kali diinginkan, tanpa harus memesan id ekstensi baru dari daftar master.

message MyTripDescriptorExtension {
  optional string some_string = 1;
  optional bool some_bool = 2;
  ...
}
extend transit_realtime.TripDescriptor {
  optional MyTripDescriptorExtension my_trip_descriptor = YOUR_EXTENSION_ID;
}

Registry Ekstensi

ID Ekstensi Developer Kontak Detail
1000 OneBusAway onebusaway-developers https://github.com/OneBusAway/onebusaway/wiki/GTFS-Realtime-Resources
1001 New York City MTA mtadeveloperresources http://mta.info/developers/
1002 Google transit-realtime-partner-support@google.com Live Transit Updates dari Google Maps
1003 OVapi gtfs-rt at ovapi.nl http://gtfs.ovapi.nl
1004 Metra William Ashbaugh w.l.ashbaugh@gmail.com
1005 Metro-North Railroad John Larsen
1006 realCity David Varga http://realcity.io
1007 NSW TrainLink Gregory Nicholls Diskusi grup
1008 SEPTA - Southeastern Pennsylvania Transportation Authority Gregory Apessos https://github.com/septadev
1009 Swiftly mike@goswift.ly Diskusi Grup