The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

gtfsio

CRAN status gtfsio status badge B status Codecov test coverage Lifecycle: maturing CRAN/METACRAN Total downloads

gtfsio offers tools for the development of GTFS-related packages. It establishes a standard for representing GTFS feeds using R data types based on Google’s Static GTFS Reference. It provides fast and flexible functions to read and write GTFS feeds while sticking to this standard. It defines a basic gtfs class which is meant to be extended by packages that depend on it. And it also offers utility functions that support checking the structure of GTFS objects.

Installation

Stable version:

install.packages("gtfsio")

Development version:

install.packages("gtfsio", repos = "https://dhersz.r-universe.dev")

# or
# install.packages("remotes")
remotes::install_github("r-transit/gtfsio")

Usage

GTFS feeds are read using the import_gtfs() function:

library(gtfsio)

path <- system.file("extdata/ggl_gtfs.zip", package = "gtfsio")

gtfs <- import_gtfs(path)

names(gtfs)
#>  [1] "calendar_dates"  "fare_attributes" "fare_rules"     
#>  [4] "feed_info"       "frequencies"     "levels"         
#>  [7] "pathways"        "routes"          "shapes"         
#> [10] "stop_times"      "stops"           "transfers"      
#> [13] "translations"    "trips"           "agency"         
#> [16] "attributions"    "calendar"

import_gtfs() returns a gtfs object. The gtfs class might be extended by other packages using the constructor, validator and methods provided by gtfsio:

class(gtfs)
#> [1] "gtfs" "list"

Use the export_gtfs() function to write GTFS objects to disk:

tmpf <- tempfile(fileext = ".zip")

export_gtfs(gtfs, tmpf)

zip::zip_list(tmpf)$filename
#>  [1] "calendar_dates.txt"  "fare_attributes.txt"
#>  [3] "fare_rules.txt"      "feed_info.txt"      
#>  [5] "frequencies.txt"     "levels.txt"         
#>  [7] "pathways.txt"        "routes.txt"         
#>  [9] "shapes.txt"          "stop_times.txt"     
#> [11] "stops.txt"           "transfers.txt"      
#> [13] "translations.txt"    "trips.txt"          
#> [15] "agency.txt"          "attributions.txt"   
#> [17] "calendar.txt"

For a more complete demonstration please read the introductory vignette.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.