Чтение файлов GTFS в реальном времени с помощью R?

Я хочу анализировать файлы GTFS в реальном времени с помощью R, по сравнению со статической GTFS, эти файлы скомпилированы, и их чтение сложнее.

Погуглив, я нашел только этот пакет для работы с GTFS https://github.com/ropenscilabs/gtfsr

Но опять же, это только для статической GTFS.

Знаете ли вы о пакете cran/github R, который работает с GTFS в реальном времени?

Альтернативным решением было бы преобразовать GTFS-RT в более читаемый формат, такой как json потоковая передача данных gtfs в реальном времени в удобочитаемый формат


person Xavier Prudent    schedule 09.02.2017    source источник
comment
Другим вариантом может быть база данных результатов с использованием GTFSrDB или аналогичного. github.com/mattwigway/gtfsrdb . Затем подключитесь через библиотеку базы данных по вашему выбору.   -  person Tony Laidig    schedule 10.02.2017


Ответы (1)


Я заметил, что вы уже нашли путь к моему пакету разработки, gtfsway. В частности, пример в выпуске 1 показывает, как работает пакет и как он анализирует ленту в реальном времени

devtools::install_github("SymbolixAU/gtfsway")
library(gtfsway)
url <- "https://gtfsrt.api.translink.com.au/Feed/SEQ"

response <- httr::GET(url)

FeedMessage <- gtfs_realtime(response)

## the function gtfs_tripUpdates() extracts the 'trip_update' feed
lst <- gtfs_tripUpdates(FeedMessage)  

## The results will obviously change depending on when you read the data
lst[[32]]
# $dt_trip_info
# trip_id start_time start_date route_id
# 1: 8959814-SBL 16_17-SBL_FUL-Friday-04   12:21:00   20170303  709-739
# 
# $dt_stop_time_update
#     stop_sequence stop_id arrival_time arrival_delay departure_time departure_delay
#  1:             1  318944   1488504104         -3556     1488507660               0
#  2:             2  318946   1488507741            21     1488507741              21
#  3:             3  300444   1488507903             3     1488507903               3
#  4:             4  300058   1488507977            17     1488507977              17
#  5:             5  300059   1488508022             2     1488508022               2
#  6:             6  300060   1488508094           -46     1488508094             -46
#  7:             7  300061   1488508115           -25     1488508115             -25
#  8:             8  300062   1488508148           -52     1488508148             -52
#  9:             9  300063   1488508175           -85     1488508175             -85
# 10:            10  300005   1488508299          -141     1488508299            -141
# 11:            11  300053   1488508398          -102     1488508398            -102
# 12:            12  300054   1488508458          -102     1488508458            -102
# 13:            13  300056   1488508638          -102     1488508638            -102
# 14:            14  300055   1488508758          -102     1488508758            -102
# 15:            15  300272   1488508998          -102     1488508998            -102
# 16:            16  319160   1488509058          -102     1488509058            -102

Я открыт для вкладов и предложений по пакету, если они у вас есть.

person SymbolixAU    schedule 03.03.2017
comment
Благодарю. Если у меня есть файлы pb VehiclePositions.pb и tripUpdates.pb, находящиеся в каталоге, как я могу их открыть? - person Xavier Prudent; 16.03.2017
comment
@XavierPrudent Я не совсем уверен, о чем вы спрашиваете. Я думаю, вам следует либо открыть новый вопрос здесь, либо задать его мне на странице github если это касается конкретно gtfsway? - person SymbolixAU; 16.03.2017
comment
Учитывает ли gtfsway только tripUpdates или VehiclePositions? - person Xavier Prudent; 28.03.2017
comment
@XavierPrudent - на данный момент только TripUpdates. Я планирую добавить VehiclePositions, но пока не успел. - person SymbolixAU; 30.03.2017
comment
@XavierPrudent - Если вы хотите добавить его в пакет, не стесняйтесь отправить запрос на извлечение на github. - person SymbolixAU; 30.03.2017
comment
@XavierPrudent - я обновил gtfsway, чтобы включить функцию gtfs_vehiclePosition(), которая возвращает основную информацию, связанную с положением автомобиля. - person SymbolixAU; 03.05.2017