Как создать фид GTFS_RT из фальшивого фида AVL в формате csv - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь создать поток данных в реальном времени GTFS из данных AVL, которые предоставляет транзитное агентство. Дело в том, что между официальными данными GTFS и этим набором данных AVL нет никакой связи.

Данные о местоположении и «задержке» транспортного средства находятся под URL /gps_full.txt и обновляются каждые 5-7 секунд. Формат данных следующий:

TransportType,RouteShortName,TransitId,VehicleNumber,Longitude,Latitude,Speed,Azimuth,TripStartTime,DeviationInSeconds,MeasurementTime,VehicleType,
Bus,20,9790770943,7031,25206880,54644738,0,232,583,0,39179,KZ,
Trolleybus,6,9733751022,1681,25279878,54687890,0,18,622,93,39175,KZ,

Единственный первичный ключ, о котором я мог подумать, это составной ключ (RouteShortName, TripStartTime), но я не уверен, не вызовет ли это некоторые коллизии.

Есть ли лучший способ сделать это? Может быть, у кого-то была такая же проблема с данными из других транзитных агентств и могли бы указать мне на некоторые ресурсы?

Я пытался самостоятельно искать ресурсы, но, похоже, почти у всех была какая-то связь между каналами AVL и статическими данными GTFS.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 01 сентября 2018

Если на самом деле нет идентификаторов, которые позволили бы вам связаться с GTFS, лучшее, что вы можете сделать, - это угадать, по какому маршруту / маршруту находится каждое транспортное средство.

TheTransitClock (версия Transitime с открытым исходным кодом, которая продолжает обновляться и поддерживаться) - это проект, который пытается это сделать: https://github.com/TheTransitClock/transitime. Я никогда не использовал его сам.

Однако, если вы знаете маршрут и время начала поездки, тогда вы сможете определить запланированное путешествие (например, если путешествие началось в 09:00, посмотрите расписание GTFS для поездок по этому маршруту, начиная в 09:00). Логика для этого может быть довольно сложной (и, по сути, вероятностной) - это, по сути, упрощенная версия того, что делает TheTransitClock. Я вижу, что ваши данные содержат поле TripStartTime, хотя я не понимаю единицы измерения.

Возможно, самый простой подход - это связаться с транзитным агентством и спросить, могут ли они добавить идентификаторы поездки GTFS к данным AVL.

...