Perbedaan penerapan antara Jadwal GTFS dan Google Transit

Halaman ini menjelaskan perbedaan utama penerapan spesifikasi antara Jadwal GTFS resmi dan Google Transit dalam hal berikut:

  • Spesifikasi resmi yang diabaikan: Kolom ini adalah bagian dari GTFS resmi. Google Transit menyerap data ini tanpa error, tetapi tidak menggunakan data tersebut secara proaktif.

  • Perbedaan penafsiran: Kolom ini memuat bagian-bagian GTFS resmi yang ditafsirkan Google Transit secara berbeda dari definisinya di GTFS.

  • Dukungan kolom eksperimental: Kolom ini merupakan kolom eksperimental dalam penerapan Google Transit. Jika Anda ingin menerapkan kolom eksperimental baru, hubungi tim Google Transit.

  • Ekstensi yang didukung Google Transit: Ekstensi ini bukan bagian dari GTFS resmi. Ekstensi yang didukung Transit mencakup ekstensi publik dan ekstensi khusus Google Transit. Semua partner dapat mengirimkan informasi ini ke Transit di feed mereka.

Transportasi umum statis

Bagian berikut mendokumentasikan perbedaan utama penerapan feed statis antara GTFS resmi dan Google Transit.

Spesifikasi resmi yang diabaikan di feed statis

Beberapa spesifikasi resmi yang diabaikan oleh Transit masih dalam tahap uji coba. Untuk mempelajari lebih lanjut, buka gtfs.org.

Tabel 1 mencantumkan file GTFS yang tidak didukung oleh Transit di feed statis. Selain itu, semua kolom yang terdapat dalam file ini tidak didukung oleh Transit.

Tabel 1. File GTFS yang tidak didukung di feed statis
areas.txt
fare_leg_rules.txt
fare_products.txt
fare_transfer_rules.txt
levels.txt
stop_areas.txt

Tabel 2 mencantumkan semua kolom yang didefinisikan GTFS yang diabaikan oleh Transit di feed statis.

Tabel 2. Kolom GTFS yang diabaikan di feed statis
Nama file Kolom yang diabaikan yang didefinisikan dalam GTFS Jenis kolom
fare_attributes.txt payment_method Enum
feed_info.txt default_lang Kode bahasa
feed_info.txt feed_publisher_name Teks
pathways.txt max_slope Float
routes.txt continuous_drop_off Enum
routes.txt continuous_pickup Enum
routes.txt network_id ID
routes.txt route_desc Teks
routes.txt route_sort_order Bilangan bulat non-negatif
stops.txt level_id ID
stops.txt stop_desc Teks
stops.txt stop_url URL
stops.txt tts_stop_name Teks
stops.txt bikes_allowed Enum

Perbedaan penafsiran di feed statis

Meskipun Transit menerima kolom tertentu yang didefinisikan GTFS, penafsiran yang dilakukan Transit berbeda dari GTFS.

Tabel 3 menunjukkan kolom di feed statis yang diterapkan oleh Transit secara berbeda dari yang dijelaskan di GTFS.

Tabel 3. Kolom feed statis yang diterapkan secara berbeda
Nama file Kolom yang didefinisikan di GTFS Jenis kolom Diwajibkan oleh Google Transit? Detail penerapan Google Transit
fare_attributes.txt transfers Enum Wajib

Ekstensi Google Transit.

GTFS publik membatasi nilai ke dalam rentang dari 0 hingga 2. Google Transit menerima nilai dari 0 hingga 5.

Gunakan kolom ini untuk menetapkan jumlah maksimum transfer yang diizinkan dengan tarif tersebut. Jumlah maksimum ini tidak mencakup transfer blok, yang juga dikenal sebagai transfer tanpa pindah. Jika Anda tidak ingin menetapkan batas jumlah transfer untuk suatu tarif, kosongkan kolom transfers.

pathways.txt pathway_mode Enum Opsional Saat kolom pathway_mode ditentukan, jika dibiarkan kosong, Google Transit akan menerimanya dan memperlakukannya sebagai tidak diketahui.
stop_times.txt arrival_time Waktu Wajib bersyarat Jam dibatasi ke nilai dari 00 hingga 99, yang lebih dari cukup untuk perjalanan selama tiga hari.
transfers.txt transfer_type Enum Wajib

Nilai 4 dan 5 tidak didukung dan akan diabaikan.

Google Transit mendukung nilai 0, 1, 2, dan 3.

trips.txt block_id ID Opsional Untuk mempelajari lebih lanjut, lihat Contoh transfer blok.

Dukungan kolom eksperimental di feed statis

Jika memerlukan dukungan untuk mengintegrasikan kolom eksperimental baru dalam kategori ini, hubungi Google Transit.

Ekstensi yang didukung Google Transit di feed statis

Tabel 4 menyediakan informasi tentang ekstensi Google Transit. Kolom ini bukan bagian dari GTFS resmi.

Tabel 4. Ekstensi feed statis yang didukung
Nama file Kolom Jenis kolom Diwajibkan oleh Google Transit? Detail penerapan Google Transit
fare_attributes.txt ic_price Float Opsional

Ekstensi Google Transit ini hanya tersedia untuk partner di Jepang.

Kolom ic_price menunjukkan jumlah tarif hasil diskon yang harus dibayarkan dengan kartu smart. Jika tidak ada diskon untuk tarif ini, atau kartu smart tidak didukung, nilai kolom ic_price harus -1.

fare_rules.txt contains_route_id ID Opsional

Ekstensi Google Transit.

Tarif ini hanya berlaku untuk perjalanan yang mengunjungi serangkaian rute yang pasti yang diidentifikasi oleh nilai route_id di semua baris untuk kombinasi kolom fare_id, origin_id, dan destination_id.

Jika kolom contains_route_id tidak ada, atau semua nilai untuk tarif ini adalah null, berarti tarif tidak dibatasi dalam parameter ini. Jika suatu tarif diberikan contains_route_id, kolom route_id harus kosong.

routes.txt checkin_duration Bilangan Bulat Opsional

Ekstensi Google Transit.

Kolom checkin_duration menentukan kapan penumpang harus tiba sebelum keberangkatan yang dijadwalkan agar mereka dapat melakukan check in dan menaiki pesawat.

Jika keberangkatan berikutnya yang harus dinaiki penumpang terhubung melalui transfer, waktu transfer yang telah ditentukan akan menggantikan nilai checkin_duration.

Nilai checkin_duration hanyalah rekomendasi yang biasanya diberikan oleh operator transportasi umum. Nilai ini mungkin tidak mengindikasikan waktu maksimal bagi penumpang untuk check in dan tetap dapat menaiki kendaraan.

routes.txt route_type Enum Wajib

Ekstensi Google Transit.

Untuk mempelajari cara Google Transit memperluas opsi nilai route_type yang diterima GTFS, lihat Jenis rute GTFS diperluas.

stop_times.txt stop_direction_name Teks Opsional

Ekstensi Google Transit.

Kolom stop_direction_name menunjukkan arah perjalanan bagi penumpang. Rute disimpan sebagai nilai direction_name keberangkatan dari perhentian ini.

Jika kolom stop_direction_name kosong, kolom trip_direction_name yang didukung Transit akan digunakan. Jika kolom trip_direction_name dan stop_direction_name kosong, penyedia transportasi umum akan membiarkan kolom tersebut kosong. Dalam kasus ini, partner dapat menggunakan nilai stop_headsign atau trip_headsign sebagai gantinya. Huruf besar kecil untuk nilai kolom stop_direction_name akan disesuaikan dengan kaidah kebahasaan.

stops.txt signposted_as Teks Opsional

Ekstensi Google Transit.

Kolom signposted_as berisi teks verbatim yang tertera di papan nama untuk peron terkait. Contohnya adalah "Menuju Pusat" dan "Bagian Timur & Brooklyn".

Kolom platform_code GTFS dan kolom signposted_as yang didukung Transit dapat ditetapkan secara bersamaan.

Perbedaan antara kolom platform_code dan signposted_as antara lain:

  • Jarak. Kolom platform_code biasanya berisi angka atau huruf seperti 2 atau C.
  • Bahasa. Kolom platform_code tidak memiliki bahasa, tetapi nilai signposted_as dapat memiliki terjemahan.
  • Stabilitas. Kolom platform_code jauh lebih jarang berubah daripada kolom signposted_as.
stops.txt vehicle_type Bilangan Bulat Opsional

Ekstensi Google Transit.

Kolom vehicle_type menentukan jenis kendaraan yang digunakan pada perhentian. Kolom ini menerima jenis rute Hierarchical Vehicle Type (HVT). Nilai HVT berasal dari standar Transport Protocol Experts Group (TPEG) Eropa.

agency.txt ticketing_deep_link_id ID Opsional

Ekstensi penjualan tiket Google Transit.

Dalam file agency.txt, kolom ticketing_deep_link_id menunjukkan deep link yang digunakan untuk menjual tiket perjalanan dari perusahaan transportasi umum ini.

routes.txt ticketing_deep_link_id ID Opsional

Ekstensi penjualan tiket Google Transit.

Dalam file routes.txt, kolom ticketing_deep_link_id menunjukkan deep link yang digunakan untuk menjual tiket perjalanan untuk rute ini.

stop_times.txt ticketing_stop_time_id ID Opsional

Ekstensi penjualan tiket Google Transit.

Jika ada ID untuk waktu perhentian dalam file stop_times.txt, kolom ticketing_stop_time_id akan menggantikan ID yang menunjukkan waktu perhentian tersebut untuk penjualan tiket dengan deep link.

stop_times.txt ticketing_type Enum Opsional

Ekstensi penjualan tiket Google Transit.

Kolom ticketing_type menentukan jenis penjualan tiket yang berlaku untuk waktu perhentian ini.

Google Transit menerima nilai berikut:

  • Empty. Default, seperti yang ditentukan oleh perjalanan.
  • 0. Hanya tersedia jika perusahaan transportasi umum atau rute memiliki deep link penjualan tiket yang aktif.
  • 1. Tidak tersedia.
ticketing_deep_links.txt android_intent_uri URI Opsional

Ekstensi penjualan tiket Google Transit.

Kolom android_intent_uri menunjukkan URI intent yang digunakan untuk deep linking di Android.

ticketing_deep_links.txt ios_universal_link_url URL Opsional

Ekstensi penjualan tiket Google Transit.

Kolom ios_universal_link_url menunjukkan URL link universal yang digunakan untuk deep linking di iOS.

ticketing_deep_links.txt ticketing_deep_link_id ID Wajib

Ekstensi penjualan tiket Google Transit.

Kolom ticketing_deep_link_id menunjukkan ID deep link.

ticketing_deep_links.txt web_url URL Opsional

Ekstensi penjualan tiket Google Transit.

Kolom web_url menunjukkan URL yang digunakan untuk deep linking di web.

ticketing_identifiers.txt agency_id ID Wajib

Ekstensi penjualan tiket Google Transit.

Untuk menentukan perusahaan transportasi umum dari perhentian dalam ticketing_stop_id default, kolom agency_id berisi ID dari file agency.txt GTFS.

ticketing_identifiers.txt stop_id ID Wajib

Ekstensi penjualan tiket Google Transit.

Untuk menentukan perhentian dalam kolom ticketing_stop_id default, kolom stop_id berisi ID dari file stops.txt GTFS.

ticketing_identifiers.txt ticketing_stop_id ID Wajib

Ekstensi penjualan tiket Google Transit.

Kolom ticketing_stop_id berisi ID penjualan tiket yang diterapkan ke perhentian. Secara opsional, perusahaan transportasi umum memenuhi syarat untuk ID ini.

trips.txt ticketing_trip_id ID Opsional

Ekstensi penjualan tiket Google Transit.

Jika ada kolom ticketing_trip_id, nilainya akan menggantikan kolom trip_id untuk mengidentifikasi perjalanan hasil penjualan tiket dengan deep link.

trips.txt ticketing_type Enum Opsional

Ekstensi penjualan tiket Google Transit.

Kolom ticketing_type menentukan jenis penjualan tiket yang berlaku untuk perjalanan ini.

Google Transit menerima nilai berikut:

  • 0. Default. Hanya tersedia jika perusahaan transportasi umum atau rute memiliki deep link penjualan tiket yang aktif.
  • 1. Tidak tersedia.
translations.txt lang Kode Bahasa Opsional

Ekstensi Google Transit.

Kolom lang bukan bagian dari GTFS resmi, tetapi Google Transit akan menggunakan nilai ini jika ada.

Untuk menentukan terjemahan frasa, gunakan kolom lang. Nilai kolom tersebut tidak boleh kosong atau und (bahasa tidak ditentukan).

translations.txt trans_id ID Opsional

Ekstensi Google Transit.

Kolom trans_id bukan bagian dari GTFS resmi, tetapi Google Transit akan menggunakan nilai ini jika ada.

Untuk menentukan token ID dari frasa yang memiliki terjemahan, gunakan kolom trans_id. Setiap baris pada tabel translations.txt berarti bahwa dalam bahasa lang, frasa trans_id diterjemahkan menjadi translation.

trips.txt original_trip_id ID Opsional

Ekstensi Google Transit.

Jika ID ini ada dalam file trips.txt, nilai original_trip_id akan menggantikan nilai trip_id untuk digunakan oleh sistem lain. Contohnya adalah pencocokan realtime.

trips.txt trip_direction_name Teks Opsional

Ekstensi Google Transit.

Kolom trip_direction_name menunjukkan arah perjalanan bagi penumpang. Nilai di kolom ini disimpan sebagai nilai direction_name untuk masing-masing perjalanan.

Jika nilai stop_direction_name dalam tabel stop_times berubah selama perjalanan, nilai tersebut mungkin menggantikan nilai trip_direction_name.

Huruf besar kecil untuk nilai kolom trip_direction_name akan disesuaikan dengan kaidah kebahasaan.

trips.txt vehicle_category_id ID Opsional

Ekstensi Google Transit.

Dalam file trips.txt, kolom vehicle_category_id menunjukkan kendaraan yang ditentukan untuk perjalanan ini. Jika kolom ini berada dalam file trips.txt, nilainya akan menggantikan nilai vehicle_category_id di file routes.txt.