Make Google Traffic Raster Based on Grid of Coordinates
Source:R/gt_make_raster_from_grid.R
gt_make_raster_from_grid.RdMake a raster of Google traffic data, where each pixel has one of four values indicating traffic volume (no traffic, light, moderate, and heavy).
Usage
gt_make_raster_from_grid(
grid_param_df,
google_key,
traffic_color_dist_thresh = 4.6,
traffic_color_dist_metric = "CIEDE2000",
webshot_zoom = 1,
webshot_delay = NULL,
return_list_of_rasters = FALSE,
print_progress = TRUE
)Arguments
- grid_param_df
Grid parameter dataframe produced from
gt_make_grid()- google_key
Google API key, where the Maps JavaScript API is enabled. To create a Google API key, follow these instructions.
- traffic_color_dist_thresh
Google traffic relies on four main base colors:
#63D668for no traffic,#FF974Dfor medium traffic,#F23C32for high traffic, and#811F1Ffor heavy traffic. Slight variations of these colors can also represent traffic. By default, the base colors and all colors within a 4.6 color distance of each base color are used to define traffic; by default, theCIEDE2000metric is used to determine color distance. A value of 2.3 is one threshold used to define a "just noticeable distance" (JND) between colors (by default, 2 X JND is used). This parameter changes the color distance from the base colors used to define colors as traffic. For more information, see here.- traffic_color_dist_metric
See above; this parameter changes the metric used to calculate distances between colors. By default,
CIEDE2000is used;CIE76andCIE94can also be used. For more information, see here.- webshot_zoom
How many pixels should be created relative to height and width values. If
heightandwidthare set to100andwebshot_zoomis set to2, the resulting raster will have dimensions of about200x200(default:1).- webshot_delay
How long to wait for Google traffic layer to render. Larger height/widths require longer delay times. If
NULL, the following delay time (in seconds) is used:delay = max(height,width)/200.- return_list_of_rasters
Instead of merging traffic rasters produced for each grid together into one large raster, return a list of rasters (default:
FALSE)- print_progress
Whether to print function progress (default:
TRUE)
Value
Returns a georeferenced raster. Raster pixels can contain the following values: 1 = no traffic; 2 = medium traffic; 3 = high traffic; 4 = heavy traffic.
References
Markus Hilpert, Jenni A. Shearston, Jemaleddin Cole, Steven N. Chillrud, and Micaela E. Martinez. Acquisition and analysis of crowd-sourced traffic data. CoRR, abs/2105.12235, 2021.
Pavel Pokorny. Determining traffic levels in cities using google maps. In 2017 Fourth International Conference on Mathematics and Computers in Sciences and in Industry (MCSI), pages 144–147, 2017.
Examples
if (FALSE) {
## Grab polygon of Manhattan
us_sp <- raster::getData('GADM', country='USA', level=2)
ny_sp <- us_sp[us_sp$NAME_2 %in% "New York",]
## Make Grid
grid_df <- gt_make_grid(polygon = ny_sp,
height = 2000,
width = 2000,
zoom = 16)
## Make raster from grid
r <- gt_make_raster_from_grid(grid_param_df = grid_clean_df,
google_key = "GOOGLE-KEY-HERE")
}