Fetch estimated speed data for a single date and sensor from the Mayfly API. Use pull_sensor_ids() to obtain metro sensor IDs. Estimated speed is calculated following methods described here.

pull_sensor_espeed(
  sensor,
  pull_date,
  fill_gaps = TRUE,
  length_ft_min = NULL,
  length_ft_max = NULL,
  headway_sec_min = NULL,
  headway_sec_max = NULL,
  district = "metro",
  .quiet = TRUE
)

Arguments

sensor

character, the sensor ID. See pull_sensor_ids() to obtain metro sensor IDs.

pull_date

character, the date of data to pull. Accepts either "YYYY-MM-DD" or "YYYYMMDD" format.

fill_gaps

logical, whether to fill gaps in the time series with NA values. Default is TRUE

length_ft_min

numeric, minimum vehicle length in feet for filtering. Optional. Default is NULL.

length_ft_max

numeric, maximum vehicle length in feet for filtering (non-inclusive). Optional. Default is NULL.

headway_sec_min

numeric, minimum headway in seconds for filtering. Optional. Default is NULL.

headway_sec_max

numeric, maximum headway in seconds for filtering (non-inclusive). Optional. Default is NULL.

district

character, MnDOT district code. Default is "metro". Use mayfly_get_districts() to see available districts.

.quiet

logical, whether to suppress error messages. Default TRUE

Value

data.table containing variables espeed, sensor, date, hour, min.

Details

Estimated vs Measured Speed

Estimated speed is calculated using free-flow speed and traffic conditions.
Use [pull_sensor_speed()] for measured speed data.

Filtering

The filtering parameters allow filtering of vehicle observations based on
estimated speed, vehicle length, and headway. This can be useful for traffic
analysis or identifying specific traffic patterns.

Examples

if (FALSE) { # \dontrun{
library(tc.sensors)
# Simple example
espeed_data <- pull_sensor_espeed(5474, "2025-10-14")

# With filtering - passenger cars at typical speeds
filtered_data <- pull_sensor_espeed(5474, "2025-10-14",
  length_ft_min = 10,
  length_ft_max = 20
)
} # }