Ekstensi Google Transit ke GTFS

Pengantar

Tim Google Transit terus berupaya meningkatkan General Transit Feed Specification (GTFS) untuk mengakomodasi kebutuhan partner kami. Beberapa ekstensi telah diusulkan untuk disertakan dalam spesifikasi GTFS yang sementara ini dapat digunakan oleh partner dalam feed yang dikirimkan ke Transit di Google Maps. Di bawah, Anda dapat menemukan daftar lengkap fitur tersebut.

Jika Anda memiliki proposal sendiri untuk memperluas spesifikasi GTFS, lihat proses Perubahan GTFS resmi.

Jumlah transfer maksimum untuk tarif tertentu

Untuk mendukung atribut tarif dalam feed dengan beberapa perusahaan transportasi umum, ekstensi berikut telah diusulkan:

Nama Kolom Wajib Detail
transfers Opsional Google Transit menerima nilai dari 0 hingga 5; spesifikasi GTFS menyatakan bahwa nilai dari 0 hingga 2 dapat diterima. Gunakan kolom ini untuk menetapkan jumlah maksimum transfer (kecuali transfer blok) yang diizinkan dengan tarif tersebut.

Harga kartu IC (Jepang)

Kartu sirkuit terintegrasi (IC) adalah kartu pintar prabayar isi ulang yang digunakan hanya di Jepang untuk tarif kereta, kereta bawah tanah, bus, dan monorel. Sebagian besar kartu IC, seperti Pasmo dan Super Urban Intelligent Card (SUICA), sering menawarkan diskon kepada penumpang. Ekstensi khusus Google berikut mendukung pembuatan model tarif untuk kartu IC.

fare_attributes.txt

Nama Kolom Wajib Detail
ic_price Opsional Jika diskon ditawarkan kepada pengguna kartu IC, nilainya adalah biaya tarif berdiskon. Jika tidak ada diskon yang ditawarkan kepada pengguna kartu IC, tetapkan nilai tersebut ke -1. Jika kartu IC tidak didukung oleh perusahaan transportasi umum, tetapkan nilai tersebut ke -1.

Jenis Rute Tambahan

GTFS saat ini menentukan jumlah jenis rute yang dapat digunakan guna mendeskripsikan jenis layanan untuk rute tertentu (mis., bus vs kereta vs feri). Untuk mendukung kumpulan jenis yang lebih beragam, ekstensi untuk kolom route_type routes.txt telah diusulkan. Untuk mendapatkan detail lebih lanjut, lihat Jenis Rute GTFS Diperluas.

Jenis kendaraan stasiun

Ekstensi telah diusulkan untuk menetapkan jenis kendaraan yang melayani perhentian tertentu.

stops.txt

Nama Kolom Wajib Detail
vehicle_type Opsional

Gunakan kolom ini untuk mendeskripsikan jenis transportasi yang digunakan di perhentian. Kolom ini menerima nilai route_type routes.txt, termasuk nilai Jenis Rute GTFS Diperluas.

Pengalihan Perjalanan

Sebaiknya tunjukkan perjalanan yang beroperasi di luar jadwal reguler atau dialihkan dari rute biasa karena ada acara khusus atau gangguan yang telah direncanakan (seperti pekerjaan jalan, dsb). Kami mengusulkan ekstensi ke trips.txt untuk menunjukkan layanan khusus tersebut.

trips.txt

Nama Kolom Wajib Detail
exceptional Opsional

Tetapkan kolom ini ke 1 untuk menunjukkan pengecualian layanan, seperti layanan yang ditambahkan karena acara khusus atau layanan yang dialihkan dari rute biasa karena gangguan yang direncanakan (pekerjaan jalan). Tetapkan kolom ini ke 0 untuk layanan reguler.

Transfer rute-ke-rute dan perjalanan-ke-perjalanan

Saat ini, spesifikasi GTFS memungkinkan perusahaan transportasi umum menentukan semantik transfer menggunakan file transfers.txt, yang mendukung fitur seperti transfer favorit, transfer dengan waktu, dan transfer terbatas. Saat ini, transfer tersebut hanya berlaku untuk perhentian. Google telah menerima masukan dari sejumlah perusahaan transportasi umum yang ingin dapat menentukan informasi transfer yang lebih detail di tingkat rute atau bahkan perjalanan. Bekerja sama dengan perusahaan ini, kami menghadirkan proposal untuk memodelkan transfer rute-ke-rute dan perjalanan-ke-perjalanan dan kami mencari masukan dari komunitas GTFS.

Motivasi

Kami ingin dapat menetapkan transfer antara rute spesifik atau bahkan perjalanan spesifik untuk pasangan perhentian tertentu, tanpa harus menetapkan transfer yang sama untuk semua perjalanan dari pasangan perhentian tersebut.

Contoh:

  • Jika 2 perjalanan tiba di platform yang sama dan saling menunggu, kami ingin menetapkan transfer terjadwal antara 2 perjalanan ini. Namun, kami tidak ingin semua transfer di stasiun kereta ini menjadi transfer terjadwal.

  • Jika kereta diketahui sering telat hingga 30 menit, kami ingin melarang transfer dari kereta ini ke kereta lain jika tersedia waktu kurang dari 35 menit antara kedatangan terjadwal dan keberangkatan.

Detail

Tambahkan 4 kolom opsional ke transfers.txt:

  • from_route_id
  • to_route_id
  • from_trip_id
  • to_trip_id

Kolom from_route_id dan to_route_id dapat berisi route_id (seperti yang ditentukan oleh routes.txt), yang mengurangi cakupan tempat transfer tertentu diterapkan. Jika from_route_id ditentukan, transfer hanya diterapkan ke perjalanan kedatangan dengan id rute tertentu, pada from_stop_id tertentu. Jika to_route_id ditentukan, transfer hanya akan diterapkan ke perjalanan keberangkatan dengan id rute tertentu, pada to_stop_id tertentu.

Kolom from_trip_id dan to_trip_id dapat berisi trip_id, seperti yang ditentukan oleh trips.txt. Jika from_trip_id diberikan, from_route_id diabaikan, dan jika to_trip_id diberikan, to_route_id diabaikan. Jika from_trip_id ditentukan, transfer hanya akan diterapkan ke perjalanan kedatangan dengan id perjalanan tertentu, pada from_stop_id tertentu. Jika to_trip_id ditentukan, transfer hanya akan diterapkan ke perjalanan keberangkatan dengan id perjalanan tertentu, pada to_stop_id tertentu.

Kekhususan transfer

Beberapa transfer lebih spesifik dibandingkan yang lain. Kami ingin mendefinisikan mekanisme peringkat yang sederhana untuk menentukan kapan transfer harus diterapkan. Dengan demikian, kami menentukan "kekhususan" transfer.

Kekhususan sumber transfer adalah 0 jika hanya from_stop_id yang ditentukan, 1 jika from_route_id ditentukan, dan 2 jika from_trip_id ditentukan. Hal yang sama berlaku untuk target: 0 jika hanya to_stop_id yang ditentukan, 1 jika to_route_id ditentukan, dan 2 jika to_trip_id ditentukan. Jumlah dari 2 nilai ini memberikan kekhususan transfer, antara 0 dan 4 inklusif. Untuk pasangan perjalanan kedatangan dan keberangkatan tertentu yang dipesan, transfer dengan kekhususan terbesar yang berlaku antara 2 perjalanan ini dipilih. Jadi untuk pasangan perjalanan mana pun, TIDAK boleh ada 2 transfer dengan kekhususan maksimal yang sama yang dapat diterapkan.

Contoh aturan ambigu:

from_stop_id,to_stop_id,from_route_id,to_route_id,transfer_type
stopFrom,stopTo,routeFrom,,0
stopFrom,stopTo,,routeTo,1

Kedua transfer berikut memiliki kekhususan 1. Namun untuk transfer antara perjalanan dengan id rute routeFrom yang tiba di perhentian stopFrom, ke perjalanan dengan id rute routeTo yang tiba di perhentian stopTo, salah satu dari kedua aturan ini dapat diterapkan.