Filters a GTFS object by stop_id
s, keeping (or dropping) relevant entries
in each file. In order to keep the integrity of trips as described in the
stop_times
table, the stop_id
s are actually used to filter trip_id
s,
which are then used to filter the rest of the GTFS object.
filter_by_stop_id(gtfs, stop_id, keep = TRUE)
A GTFS object, as created by read_gtfs()
.
A character vector. The stop_id
s used to filter the data.
A logical. Whether the entries related to the trip_id
s that
passes through the specified stop_id
s should be kept or dropped (defaults
to TRUE
, which keeps the entries).
The GTFS object passed to the gtfs
parameter, after the filtering
process.
Other filtering functions:
filter_by_agency_id()
,
filter_by_route_id()
,
filter_by_route_type()
,
filter_by_service_id()
,
filter_by_sf()
,
filter_by_shape_id()
,
filter_by_time_of_day()
,
filter_by_trip_id()
,
filter_by_weekday()
data_path <- system.file("extdata/spo_gtfs.zip", package = "gtfstools")
gtfs <- read_gtfs(data_path)
stop_ids <- c("18848", "940004157")
object.size(gtfs)
#> 811304 bytes
# keeps entries related to trips that pass through specified stop_ids
smaller_gtfs <- filter_by_stop_id(gtfs, stop_ids)
object.size(smaller_gtfs)
#> 95744 bytes
# drops entries related to trips that pass through specified stop_ids
smaller_gtfs <- filter_by_stop_id(gtfs, stop_ids, keep = FALSE)
object.size(smaller_gtfs)
#> 741512 bytes