diff --git a/R/filter_by_agency_id.R b/R/filter_by_agency_id.R index c6ecbaa..b0ccce1 100644 --- a/R/filter_by_agency_id.R +++ b/R/filter_by_agency_id.R @@ -103,10 +103,15 @@ filter_by_agency_id <- function(gtfs, agency_id, keep = TRUE) { gtfs <- filter_pathways_from_stop_id(gtfs, relevant_stops, `%chin%`) gtfs <- filter_stops_from_stop_id(gtfs, relevant_stops, `%chin%`) - # 'stops' allows us to filter by 'level_id' + # 'stops' allows us to filter by 'level_id' and 'zone_id' + relevant_zones <- unique(gtfs$stops$zone_id) relevant_levels <- unique(gtfs$stops$level_id) + # 'fare_rules' (zone_id) + + gtfs <- filter_fare_rules_from_zone_id(gtfs, relevant_zones, `%chin%`) + # 'levels' (level_id) gtfs <- filter_levels_from_level_id(gtfs, relevant_levels, `%chin%`) diff --git a/R/filter_by_service_id.R b/R/filter_by_service_id.R index bb63fa2..f03ac74 100644 --- a/R/filter_by_service_id.R +++ b/R/filter_by_service_id.R @@ -111,10 +111,15 @@ filter_by_service_id <- function(gtfs, service_id, keep = TRUE) { gtfs <- filter_pathways_from_stop_id(gtfs, relevant_stops, `%chin%`) gtfs <- filter_stops_from_stop_id(gtfs, relevant_stops, `%chin%`) - # 'stops' allows us to filter by 'level_id' + # 'stops' allows us to filter by 'level_id' and 'zone_id' + relevant_zones <- unique(gtfs$stops$zone_id) relevant_levels <- unique(gtfs$stops$level_id) + # 'fare_rules' (zone_id) + + gtfs <- filter_fare_rules_from_zone_id(gtfs, relevant_zones, `%chin%`) + # 'levels' (level_id) gtfs <- filter_levels_from_level_id(gtfs, relevant_levels, `%chin%`) diff --git a/R/filter_by_shape_id.R b/R/filter_by_shape_id.R index b2382ec..5757fed 100644 --- a/R/filter_by_shape_id.R +++ b/R/filter_by_shape_id.R @@ -112,10 +112,15 @@ filter_by_shape_id <- function(gtfs, shape_id, keep = TRUE) { gtfs <- filter_pathways_from_stop_id(gtfs, relevant_stops, `%chin%`) gtfs <- filter_stops_from_stop_id(gtfs, relevant_stops, `%chin%`) - # 'stops' allows us to filter by 'level_id' + # 'stops' allows us to filter by 'level_id' and 'zone_id' + relevant_zones <- unique(gtfs$stops$zone_id) relevant_levels <- unique(gtfs$stops$level_id) + # 'fare_rules' (zone_id) + + gtfs <- filter_fare_rules_from_zone_id(gtfs, relevant_zones, `%chin%`) + # 'levels' (level_id) gtfs <- filter_levels_from_level_id(gtfs, relevant_levels, `%chin%`) diff --git a/R/filter_by_trip_id.R b/R/filter_by_trip_id.R index 38a7183..7fc5846 100644 --- a/R/filter_by_trip_id.R +++ b/R/filter_by_trip_id.R @@ -111,10 +111,15 @@ filter_by_trip_id <- function(gtfs, trip_id, keep = TRUE) { gtfs <- filter_pathways_from_stop_id(gtfs, relevant_stops, `%chin%`) gtfs <- filter_stops_from_stop_id(gtfs, relevant_stops, `%chin%`) - # 'stops' allows us to filter by 'level_id' + # 'stops' allows us to filter by 'level_id' and 'zone_id' + relevant_zones <- unique(gtfs$stops$zone_id) relevant_levels <- unique(gtfs$stops$level_id) + # 'fare_rules' (zone_id) + + gtfs <- filter_fare_rules_from_zone_id(gtfs, relevant_zones, `%chin%`) + # 'levels' (level_id) gtfs <- filter_levels_from_level_id(gtfs, relevant_levels, `%chin%`)