В этой статье перечислены сообщения об ошибках и предупреждения, появляющиеся при проверке фида GTFS Static, а также приведены советы по устранению неполадок.
Сообщения об ошибках при проверке фида GTFS Static
Ошибки, возникающие при проверке фида, блокируют его корректную обработку системой Google, поэтому их необходимо устранять.
В этом вам поможет информация, приведенная в таблице ниже.
- В столбце "Сообщение об ошибке" приводится текст сообщения, который показывается в отчете о проверке на Панели инструментов Google Транспорта. Это краткое описание проблемы.
- В столбце "Файлы" указываются файлы, в которых необходимо исправить ошибку.
- В столбце "Советы по устранению неполадок" рассказывается, как решить проблему.
Сообщение об ошибке | Файлы | Советы по устранению неполадок |
---|---|---|
Для агентств указаны разные языки | agency.txt |
Убедитесь, что в столбце agency_lang для всех агентств указано одно и то же значение agency_lang . |
Для агентств указаны разные часовые пояса | agency.txt |
Убедитесь, что в столбце agency_timezone для всех агентств указано одно и то же значение agency_timezone . |
Язык агентства не совпадает с языком фида | agency.txt , feed_info.txt |
Убедитесь, что в следующих столбцах обоих файлов указан один и тот же код языка:
|
Для фида не указан язык | agency.txt , feed_info.txt |
Убедитесь, что в одном из следующих столбцов указан код языка:
|
Отсутствует обязательный столбец | Все | Добавьте недостающий столбец в нужный текстовый (.txt ) файл. |
Устаревший столбец в файле attributions.txt |
attributions.txt |
Удалите устаревший столбец attribution_text . |
У фида с истекшим сроком действия очень короткий период обслуживания | calendar.txt |
Убедитесь, что значения в столбцах фида start_date и end_date не устарели и имеют смысл. |
В правиле тарификации используются оба идентификатора маршрута | fare_rules.txt |
Проверьте столбцы route_id и contains_id . Вы можете задать правила тарификации с помощью только одного идентификатора: route_id или contains_id . Указывать значения в обоих столбцах не требуется. |
Сведения о фиде содержат более одной записи | feed_info.txt |
Убедитесь, что файл feed_info.txt содержит только одну запись. |
Регулярные рейсы накладываются друг на друга | frequencies.txt |
Проверьте значения в столбцах trip_id , start_time и end_time . Убедитесь, что интервалы start_time – end_time для строк с одинаковым значением trip_id не накладываются друг на друга. |
Пересадка между регулярными рейсами | frequencies.txt , transfers.txt |
Убедитесь, что значения from_stop_id и to_stop_id в файле transfers.txt не относятся к рейсам, для которых в файле frequencies.txt задано exact_times=0 . |
Отсутствует обязательный столбец для путей | pathways.txt |
Убедитесь, что файл pathways.txt содержит столбцы pathway_mode и is_bidirectional . |
Отсутствует обязательное значение для путей | pathways.txt |
Убедитесь, что столбцы pathway_mode и is_bidirectional содержат допустимые значения. |
Требуется короткое или длинное название маршрута | routes.txt |
Проверьте столбцы route_short_name и route_long_name . Убедитесь, что для каждого маршрута задано по крайней мере одно из этих значений. |
Слишком много записей | routes.txt , stops.txt |
Убедитесь, что записи в файлах routes.txt и stops.txt содержат точную информацию, которая соответствует действующей системе общественного транспорта. |
Заданы не все значения пройденного расстояния | shapes.txt |
Проверьте столбец shape_dist_traveled . Если определены какие-либо значения shape_dist_traveled , то их необходимо определить для всех точек траектории. В противном случае не указывайте их совсем. |
Местоположение точки слишком близко к пункту отправления (0,0) | shapes.txt , stops.txt |
Убедитесь, что следующие столбцы содержат точные значения широты и долготы, а не (
|
Местоположение точки слишком близко к Северному/Южному полюсу | shapes.txt , stops.txt |
Убедитесь, что следующие столбцы содержат точные значения широты и долготы, а не (
|
Время прибытия на следующую остановку предшествует времени отправления с предыдущей | stop_times.txt |
Проверьте столбцы stop_sequence , arrival_time и departure_time . Убедитесь, что ни одно значение departure_time не предшествует значению arrival_time из предыдущей записи. |
Для остановки задано только время прибытия или отправления | stop_times.txt |
Укажите для остановки и arrival_time , и departure_time . |
Слишком отдаленное время отправления | stop_times.txt |
Отсортируйте столбец stop_sequence в порядке возрастания. Чтобы проверить рейс, посмотрите значение trip_id в первой записи. Убедитесь, что связанное значение departure_time обоснованно. |
Слишком длительный рейс | stop_times.txt |
Убедитесь, что в столбцах departure_time и arrival_time указаны разумные значения, которые отражают реальные условия. |
Рейс с несогласованным временем прибытия | stop_times.txt |
Проверьте столбцы arrival_time и stop_sequence . Возможно, одно или несколько значений не согласованы с предыдущей записью. Значения arrival_time и stop_sequence всегда должны быть больше указанных в предыдущей записи. |
Рейс с несогласованным временем отправления | stop_times.txt |
Проверьте столбцы departure_time и stop_sequence . Возможно, одно или несколько значений не согласованы с предыдущей записью. Значения departure_time и stop_sequence всегда должны быть больше указанных в предыдущей записи. |
Рейс с несогласованным пройденным расстоянием | stop_times.txt |
Проверьте столбец shape_dist_traveled . Возможно, одно или несколько значений не согласованы с предыдущей записью для этого trip_id . Значение shape_dist_traveled всегда должно быть больше указанного в предыдущей записи. |
Местоположение без родительской станции | stops.txt |
Проверьте значения 2 (вход/выход), 3 (общий узел) и 4 (посадочная зона) в столбце location_type . Убедитесь, что для каждого из них задано связанное значение в столбце parent_station . |
Родительская станция с неправильным типом местоположения | stops.txt |
Проверьте столбцы parent_station и location_type . Убедитесь, что для станций в столбце location_type указано значение 1 . |
Станция с родительской станцией | stops.txt |
Проверьте столбцы location_type и parent_station . Убедитесь, что ни для одной из станций (location_type=1 ) не указано значение parent_station . |
Остановка с родительской станцией и часовым поясом | stops.txt |
Проверьте столбцы parent_station и stop_timezone . Остановка, у которой есть родительская станция, наследует ее часовой пояс. Поэтому в случае, когда значение в столбце parent_station задано, значение в столбце stop_timezone должно быть пустым. |
Не удалось найти ни одной остановки | stops.txt |
Убедитесь, что файл stops.txt существует и содержит одну или несколько строк с допустимыми значениями. |
Местоположение с переопределением времени остановки | stops.txt , stop_times.txt |
Убедитесь, что следующие столбцы определяют местоположения, которые являются остановками (
|
Местоположение со временем остановки | stops.txt , stop_times.txt |
Убедитесь, что следующие столбцы определяют местоположения, которые являются остановками (
|
Пересадка с недопустимыми маршрутом и рейсом | transfers.txt |
Проверьте столбцы from_route_id , to_route_id , from_trip_id и to_trip_id . Убедитесь, что в каждой записи, ссылающейся на маршрут и рейс, задан рейс, относящийся к указанному маршруту. |
Повторяющиеся пересадки | transfers.txt |
Убедитесь, что в файле transfers.txt нет повторяющихся записей. |
Минимальное время пересадки с недопустимым типом пересадки | transfers.txt |
Убедитесь, что для значений в столбце min_transfer_time задано значение 2 в столбце transfer_type . Это необходимо, поскольку минимальное время между прибытием и отправлением требуется только для пересадок этого типа. |
Пересадка между остановкой и станцией | transfers.txt |
Проверьте столбцы from_stop_id и to_stop_id . Убедитесь, что в файле transfers.txt нет пересадок с остановки на станцию и наоборот. В частности, не должно быть пересадок ни с первой станции на остановку второй станции, ни с остановки первой станции на вторую станцию. |
Непредвиденное значение перевода | translations.txt |
Убедитесь, что столбцы, которые должны быть пустыми, не содержат значений. |
У рейсов, входящих в блок, пересекается время остановок | trips.txt |
Проверьте столбец block_id .
Если рейсы входят в один блок и выполняются в один и тот же день, время их остановок не должно пересекаться. В частности, последнее время отправления предыдущего рейса не должно быть больше первого времени прибытия следующего. |
Повторяющийся файл GTFS | ZIP-файл, который содержит все текстовые (.txt ) файлы |
Старайтесь не загружать на Панель инструментов Google Транспорта одинаковые ZIP-файлы. Добавляйте файл только тогда, когда в нем появляются новые данные. |
Не удается открыть файл GTFS | ZIP-файл, который содержит все текстовые (.txt ) файлы |
Напрямую добавьте все текстовые файлы в ZIP-архив и ещё раз загрузите его на Панель инструментов Google Транспорта. |
Предупреждения при проверке фида GTFS Static
Предупреждения – это сообщения, появляющиеся при проверке, которые указывают на потенциальные проблемы с фидом. Такие проблемы важно устранять. В противном случае данные из фида могут некорректно отображаться на Google Картах.
Чтобы устранить проблемы, указанные в предупреждениях, воспользуйтесь приведенной ниже таблицей.
- В столбце "Предупреждение" приводится текст сообщения, который показывается в отчете о проверке на Панели инструментов Google Транспорта. Это краткое описание проблемы.
- В столбце "Файлы" указываются файлы, которые нужно изменить.
- В столбце "Советы по устранению неполадок" рассказывается, как решить проблему.
Предупреждение | Файлы | Советы по устранению неполадок |
---|---|---|
Для фида не указан язык | agency.txt |
Добавьте столбец agency_lang в файл agency.txt или же добавьте файл feed_info.txt . |
Недопустимый номер телефона | agency.txt и attributions.txt |
Убедитесь, что значения в следующих столбцах соответствуют правилам написания телефонных номеров:
|
Неизвестный столбец | Все | Откройте файл, указанный в предупреждении, найдите ошибки в названии столбца, а затем исправьте название или удалите столбец. |
Неизвестный файл | Все | Откройте файл, указанный в предупреждении, найдите ошибки в названии файла, а затем исправьте название или удалите файл. |
Начальные или конечные пробелы | Все | Проверьте нужные столбцы и удалите из значений все начальные и конечные пробелы. |
Пустое название столбца | Все | Проверьте нужный файл. Убедитесь, что в нем нет пустых названий столбцов. |
Пустая строка | Все | Проверьте нужный файл и убедитесь, что каждая строка содержит допустимое значение. |
Непредвиденное значение перевода | Все | Проверьте нужный файл. Убедитесь, что столбцы, которые должны быть пустыми, не содержат значений. |
Недопустимый URL |
Любой из следующих файлов:
|
Проверьте, нет ли недопустимых значений URL в следующих столбцах:
|
Устаревший столбец в файле attributions.txt |
attributions.txt |
Найдите и удалите устаревший столбец. |
В фиде нет исключенных дат | calendar_dates.txt |
Если в какие-либо дни, например праздничные, обслуживание не предоставляется, обязательно укажите эти даты. |
В календаре нет активных дней недели | calendar.txt |
Проверьте столбцы с monday по sunday и убедитесь, что в каждой записи есть по крайней мере один активный день недели. |
Окончание обслуживания | calendar.txt |
Убедитесь, что значение end_date в фиде задает период, который включает текущую дату и даты из недалекого будущего. |
Очень короткий период обслуживания | calendar.txt |
Убедитесь, что столбцы start_date и end_date в фиде задают период обслуживания, включающий не менее 14 дней. |
В идентификаторе обслуживания нет активных дат | calendar.txt и calendar_dates.txt |
Убедитесь, что значение service_id для каждого периода обслуживания определяет по крайней мере несколько активных дат. |
В фиде нет дат обслуживания | calendar.txt и calendar_dates.txt |
Убедитесь, что в следующих столбцах заданы активные даты обслуживания:
|
Перерыв в обслуживании | calendar.txt и calendar_dates.txt |
Убедитесь, что в периоде, заданном с помощью следующих столбцов, пропущено не слишком много дат, поскольку это означало бы перерыв в обслуживании:
|
Тарифы с правилами и без них | fare_attributes.txt и fare_rules.txt |
Проверьте столбец fare_id и убедитесь, что все тарифы в файле fare_attributes.txt связаны с правилами в файле fare_rules.txt . |
Несколько тарифов без правил | fare_attributes.txt и fare_rules.txt |
Проверьте столбец fare_id и убедитесь, что все тарифы в файле fare_attributes.txt связаны с правилами в файле fare_rules.txt . |
Ранняя дата начала в сведениях о фиде | feed_info.txt |
Проверьте столбец feed_start_date и убедитесь, что в нем указано правильное время начала обслуживания. |
Обслуживание в будущем | feed_info.txt |
Проверьте столбец |
В сведениях о фиде не указана дата | feed_info.txt |
Проверьте столбцы feed_start_date и feed_start_end . Если один из них содержит значение, укажите значение во втором. |
Перегон длиннее интервала | frequencies.txt |
Проверьте все записи в файле frequencies.txt и убедитесь, что значение headway_secs не больше разницы между значениями end_time и start_time . |
Несогласованное обслуживание на основе частоты | frequencies.txt |
Убедитесь, что в столбце exact_times указано одно и то же значение для всех строк с одинаковым trip_id . |
Низкая частота | frequencies.txt |
Проверьте столбец headway_secs и убедитесь, что в нем указано значение не больше 1800 секунд. Чтобы повысить частоту, сократите интервал с учетом реальных условий. Вы можете смоделировать рейс на основе частоты (для этого задайте exact_times=1 в файле frequencies.txt ) или отдельные рейсы в файле trips.txt . |
Регулярные рейсы накладываются друг на друга | frequencies.txt |
Проверьте все строки с одинаковым trip_id и убедитесь, что интервалы start_time – end_time не накладываются друг на друга. |
Слишком высокая частота | frequencies.txt |
Убедитесь, что рекомендованный перегон, заданный в столбце headway_secs , превышает одну минуту (значение больше 60 ). |
Отсутствуют обратные пути | pathways.txt |
Убедитесь, что столбец is_bidirectional существует и содержит допустимые значения. Убедитесь, что ни в одной из записей значения from_stop_id и to_stop_id не заданы наоборот. |
Отсутствует обязательное значение для путей | pathways.txt |
Убедитесь, что следующие столбцы содержат непустые значения:
|
Путь зациклен | pathways.txt |
Проверьте столбцы from_stop и to_stop и убедитесь, что в каждой отдельной строке они содержат разные значения. Это позволит предоставлять пользователям корректную информацию. |
Неконтрастный цвет маршрута | routes.txt |
Убедитесь, что цвета, заданные в столбцах route_text_color и route_color , контрастируют друг с другом. Это необходимо, поскольку они часто используются как цвета текста и фона при показе названий маршрутов. Подробные сведения о различных соотношениях контраста цветов приведены на этой странице (для текста – 4,5:1). |
Название маршрута содержит специальные символы | routes.txt |
Проверьте столбцы route_long_name и route_short_name .
Удалите или замените все специальные символы. Примеры: ! $ % \ * = _ . |
Повторяющееся название маршрута | routes.txt |
Проверьте столбцы |
Короткое название маршрута совпадает с длинным | routes.txt |
Проверьте столбцы |
Короткое название маршрута является частью длинного | routes.txt |
Убедитесь, что значение route_short_name не является частью значения route_long_name . |
Короткое название маршрута содержит слишком много символов | routes.txt |
Убедитесь, что значение в столбце |
Длинное название маршрута содержит слишком мало символов | routes.txt |
Убедитесь, что столбец route_long_name содержит значимое, а не сокращенное название. |
Название маршрута совпадает с описанием | routes.txt |
Убедитесь, что ни route_short_name , ни route_long_name не совпадает с route_desc . |
Разные типы маршрутов для рейсов, входящих в блок | routes.txt и trips.txt |
Для рейсов с одним и тем же значением block_id в файле trips.txt должны использоваться одинаковые значения route_type в файле routes.txt . |
Значение shape_dist_traveled не возрастает |
shapes.txt |
Убедитесь, что каждое последующее значение shape_dist_traveled больше предыдущего. |
Остановка не соответствует значению shape_dist_traveled |
shapes.txt и stop_times.txt |
Убедитесь, что остановки, заданные в файле stop_times.txt , расположены близко к местоположениям, определенным в столбце shape_dist_traveled файла shapes.txt . |
Остановка находится слишком далеко от траектории маршрута | shapes.txt и stop_times.txt |
Проверьте остановки, заданные в файле stop_times.txt , и точки траектории, заданные в файле shapes.txt . Каждая остановка должна находится не дальше 100 метров от заданного для рейса пути. |
Остановки расположены на траектории в неправильном порядке | shapes.txt и stop_times.txt |
Убедитесь, что для остановок, заданных в файле stop_times.txt , соблюдается порядок прибытия и отправления, определенный в файле shapes.txt . |
У остановки слишком много совпадений с траекторией | shapes.txt и stop_times.txt |
Проверьте запись остановки в файле stop_times.txt и уменьшите количество потенциальных совпадений с путем рейса в соответствии с записью траектории в файле shapes.txt . |
Значения пройденного расстояния указаны для рейса, но не указаны для его траектории | shapes.txt и stop_times.txt |
Проверьте столбец shape_dist_traveled в файле stop_times.txt . Укажите значения shape_dist_traveled в файле shapes.txt для траектории, связанной с рейсом. |
Для рейса с указанием пройденного расстояния не задана траектория | shapes.txt и stop_times.txt |
Проверьте столбец shape_dist_traveled в файле stop_times.txt и столбец shape_id в файле trips.txt . Убедитесь, что для рейса заданы значения shape_dist_traveled и соответствующие значения shape_id . |
Неиспользуемая траектория | shapes.txt и trips.txt |
Проверьте столбцы shape_id в файлах shapes.txt и trips.txt . Убедитесь, что файл trips.txt ссылается на все значения shape_id в файле shapes.txt . |
Быстрое перемещение между далеко расположенными остановками | stop_times.txt |
Проверьте столбцы arrival_time и departure_time в файле stop_times.txt . Убедитесь, что средняя скорость транспортного средства находится в пределах допустимого диапазона, и правильно рассчитайте время перемещения между далеко расположенными остановками. |
Быстрое перемещение между остановками | stop_times.txt |
Проверьте столбцы arrival_time и departure_time в файле stop_times.txt . Убедитесь, что средняя скорость транспортного средства находится в пределах допустимого диапазона, и правильно рассчитайте время перемещения между остановками. |
Название остановки на маршрутоуказателе содержит специальные символы | stop_times.txt |
Проверьте столбец stop_headsign . Удалите или замените все специальные символы. Примеры: ! $ % \ * = _ . |
Длинный интервал между значениями времени прибытия | stop_times.txt |
Проверьте столбец arrival_time . Убедитесь, что разница между значениями времени прибытия на две последующие остановки составляет не более 24 часов. |
Длинный интервал между значениями времени отправления и прибытия | stop_times.txt |
Проверьте столбцы departure_time и arrival_time . Убедитесь, что разница между временем отправления с предыдущей остановки и предполагаемым временем прибытия на следующую составляет не более 24 часов. |
Подозрительное первое время отправления | stop_times.txt |
Убедитесь, что первое время отправления, указанное в столбце departure_time , составляет не более 36 часов. |
Слишком много последовательных остановок с одинаковым временем | stop_times.txt |
Проверьте столбцы departure_time и arrival_time . Убедитесь, что для остановок, далеко расположенных друг от друга, не указано одинаковое время прибытия и отправления. |
Пройденное расстояние указано не для всех остановок | stop_times.txt |
Проверьте столбец shape_dist_traveled . Укажите пройденное расстояние для всех остановок или не указывайте его совсем. |
Не указано время для контрольной точки | stop_times.txt |
Убедитесь, что в столбцах arrival_time и departure_time указано допустимое время для контрольной точки. |
Для рейса не указан метод посадки или высадки | stop_times.txt |
Убедитесь, что в столбцах pickup_type и drop_off_type указаны допустимые значения, или удалите эти столбцы. |
Недоступный для использования рейс | stop_times.txt и trips.txt |
Проверьте столбцы trip_id в файлах trips.txt и stop_times.txt . Убедитесь, что для каждого значения trip_id есть по крайней мере две записи в файле stop_times.txt . |
Неиспользуемый рейс | stop_times.txt и trips.txt |
Проверьте столбцы trip_id в файлах trips.txt и stop_times.txt . Убедитесь, что файл stop_times.txt ссылается на все значения trip_id в файле trips.txt . |
Остановка находится слишком далеко от родительской станции | stops.txt |
Проверьте в столбце
|
Отсутствует код платформы | stops.txt |
Проверьте столбцы stop_name и platform_code . Убедитесь, что для всех значений stop_name с кодом платформы указано соответствующее значение в столбце platform_code . |
Неиспользуемая станция | stops.txt |
Проверьте столбец parent_station . С каждой станцией (location_type=1 ) должна быть связана группа дочерних остановок. |
Станции расположены слишком близко | stops.txt |
Проверьте в столбцах
|
Название остановки содержит специальные символы | stops.txt |
Проверьте столбец stop_name . Удалите или замените все специальные символы. Примеры: ! $ % \ * = _ . |
В названии остановки указан ее код или идентификатор | stops.txt |
Убедитесь, что столбец stop_name не содержит ни stop_code , ни stop_id . |
Остановка расположена слишком близко к станции | stops.txt |
Проверьте, относится ли остановка к этой станции. Если да, свяжите остановку со станцией с помощью столбца parent_station . |
Остановки расположены слишком близко | stops.txt |
Проверьте в столбцах
|
Остановки с одинаковым названием и описанием | stops.txt |
Убедитесь, что в столбцах stop_name и stop_desc для каждой остановки указаны уникальные значения. |
Платформа без родительской станции | stops.txt |
Убедитесь, что для платформ с заданным параметром platform_code указано допустимое значение в поле parent_station . |
Недоступное местоположение на станции | stops.txt |
Проверьте столбец location_type . Убедитесь, что все платформы (location_type=1 ) и общие узлы (location_type=3 ) доступны по крайней мере в одном направлении: от входа или к выходу. |
Непривязанный общий узел | stops.txt |
Проверьте столбец location_type . Общий узел (location_type=3 ) связывает разные пути, поэтому для него должны быть заданы по крайней мере два перехода (определенных в from_stop_id и to_stop_id в файле pathways.txt ). |
Неиспользуемая остановка | stops.txt и stop_times.txt |
Проверьте столбцы stop_id в файлах stops.txt и stop_times.txt . Для каждой остановки должно быть указано время, которое определяет расписание движения транспорта через нее. |
Слишком большое минимальное время пересадки | transfers.txt |
Убедитесь, что столбец min_transfer_time содержит разумные значения: они не должны сильно превышать время, необходимое пассажиру для пересадки пешком. |
Слишком большое расстояние пересадки | transfers.txt |
Проверьте столбцы from_stop_id и to_stop_id . Убедитесь, что для остановок, участвующих в пересадке, указано разумное расстояние: оно не должно быть намного больше того, которое пассажир может преодолеть пешком. |
Слишком высокая скорость пересадки пешком | transfers.txt |
Убедитесь, что столбец min_transfer_time содержит разумные значения: они не должны быть намного меньше реального времени, необходимого пассажиру для пересадки пешком. |
Обнаружен неофициальный формат перевода | translations.txt |
Убедитесь, что столбец table_name существует и содержит допустимые значения. |
Название рейса на маршрутоуказателе содержит длинное название маршрута | trips.txt |
Проверьте столбцы trip_headsign и route_long_name . Поскольку все эти значения показываются на Google Картах, убедитесь, что столбец trip_headsign не содержит значений route_long_name . |
Название рейса на маршрутоуказателе содержит короткое название маршрута | trips.txt |
Проверьте столбцы trip_headsign и route_short_name . Поскольку все эти значения показываются на Google Картах, убедитесь, что столбец trip_headsign не содержит значений route_short_name . |
Название рейса на маршрутоуказателе содержит специальные символы | trips.txt |
Проверьте столбец trip_headsign . Удалите или замените все специальные символы. Примеры: ! $ % \ * = _ . |
Повторяющиеся рейсы | trips.txt , и, возможно, calendar.txt , calendar_dates.txt , stop_times.txt |
Проверьте, не заданы ли в следующих файлах рейсы с одинаковым временем остановок в одни и те же даты обслуживания:
|
У рейсов, входящих в блок, пересекается время остановок | trips.txt , и, возможно, calendar.txt , calendar_dates.txt , stop_times.txt |
Проверьте, не заданы ли в следующих файлах рейсы с пересекающимся временем остановок в одни и те же даты обслуживания:
|