Есть ли способ определить, в какой день происходит поездка с помощью GTFS?

Я пытаюсь создать веб-сайт, который может показать пользователю карту маршрута и расписание на этот день. Проблема в том, что в файле stop_times.txt показано время каждой остановки на каждой остановке, но не день, в который это происходит. Как я могу выяснить, в какой день происходит поездка?

Например, вот некоторые данные, которые я отсортировал:

trip_id,arrival_time,departure_time,stop_id,stop_sequence,stop_headsign,pickup_type,drop_off_type,shape_dist_traveled,timepoint
'16873083', '05:52:00', '05:52:00', '9257', '31', '79 Century Park', '0', '0', '9535.3', '0'
'16873084', '06:23:00', '06:23:00', '9257', '31', '79 Century Park', '0', '0', '9535.3', '0'
'16873085', '06:52:00', '06:52:00', '9257', '31', '79 Century Park', '0', '0', '9535.3', '0'
...
'16873119', '23:44:00', '23:44:00', '9257', '31', '79 Century Park', '0', '0', '9535.3', '0'
'16873120', '24:44:00', '24:44:00', '9257', '31', '79 Century Park', '0', '0', '9535.3', '0'
'16873124', '06:36:00', '06:36:00', '9257', '31', '79 Century Park', '0', '0', '9535.3', '0'
'16873125', '07:08:00', '07:08:00', '9257', '31', '79 Century Park', '0', '0', '9535.3', '0'
'16873126', '16:11:00', '16:11:00', '9257', '31', '79 Century Park', '0', '0', '9535.3', '0'

Затем это повторяется один раз, а затем есть множество других моментов, которые, я думаю, являются графиком выходных:

'16861123', '05:43:00', '05:43:00', '9257', '31', '79 Century Park', '0', '0', '9535.3', '0'
'16861124', '06:43:00', '06:43:00', '9257', '31', '79 Century Park', '0', '0', '9535.3', '0'
'16861125', '07:43:00', '07:43:00', '9257', '31', '79 Century Park', '0', '0', '9535.3', '0'
...

Я разделил данные из файла stop_times.txt на отдельные файлы для каждой остановки. Однако, как вы можете видеть выше, было бы очень сложно вручную определить, какой день представляет каждая часть файла для более чем 6000 остановок/файлов.

Есть ли способ это сделать?


person ASTRO    schedule 05.04.2020    source источник


Ответы (1)


Как видно на диаграмме поездок, значение trip_id для stop_times ссылается на таблицу trips. В таблице trips service_id ссылается на таблицу календаря, в которой указано, в какие дни поездка проходит между указанными датами начала и окончания. Это можно дополнительно настроить, указав исключения, такие как праздничные дни, в calendar_dates. Для полного понимания спецификации на

https://developers.google.com/transit/gtfs/reference

следует прочитать.

Диаграмма взаимосвязей объектов GTFS

person paulh    schedule 05.04.2020
comment
Будет ли работать calendar_dates вместо этого? В данных транспортного агентства, которые я использую, нет файла календаря. - person ASTRO; 06.04.2020
comment
Да. Некоторые небольшие агентства или агентства с более простым расписанием просто используют calendar_dates и игнорируют календарь. Они добавляют записи для каждой услуги на каждый день, охватываемый текущим расписанием. - person paulh; 06.04.2020