Make a raster of Google traffic data, where each pixel has one of four values indicating traffic volume (no traffic, light, moderate, and heavy).
gt_make_raster_from_polygon(
polygon,
zoom,
google_key,
height_width_max = 2000,
height = NULL,
width = NULL,
traffic_color_dist_thresh = 4.6,
traffic_color_dist_metric = "CIEDE2000",
webshot_zoom = 1,
webshot_delay = NULL,
reduce_hw = 10,
return_list_of_rasters = FALSE,
mask_to_polygon = TRUE,
print_progress = TRUE
)
Returns a georeferenced raster. Raster pixels can contain the following values: 1 = no traffic; 2 = medium traffic; 3 = high traffic; 4 = heavy traffic.
Polygon (sf
object or SpatialPolygonsDataframe
) in WGS84 CRS
Zoom level; integer from 5 to 20. For more information about how zoom levels correspond to pixel size, see here and here.
Google API key, where the Maps JavaScript API is enabled. To create a Google API key, follow these instructions.
Maximum pixel height and width to check using for each API query (pixel length depends on zoom). If the same number of API queries can be made with a smaller height/width, the function will use a smaller height/width. If height
and width
are specified, that height and width will be used and height_width_max
will be ignored. (Default: 2000
)
Height, in pixels, for each API query (pixel length depends on zoom). Enter a height
to manually specify the height; otherwise, a height of height_width_max
or smaller will be used.
Pixel, in pixels, for each API query (pixel length depends on zoom). Enter a width
to manually specify the width; otherwise, a width of height_width_max
or smaller will be used.
Google traffic relies on four main base colors: #63D668
for no traffic, #FF974D
for medium traffic, #F23C32
for high traffic, and #811F1F
for 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, the CIEDE2000
metric 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.
See above; this parameter changes the metric used to calculate distances between colors. By default, CIEDE2000
is used; CIE76
and CIE94
can also be used. For more information, see here.
How many pixels should be created relative to height and width values. If height
and width
are set to 100
and webshot_zoom
is set to 2
, the resulting raster will have dimensions of about 200x200
(default: 1
).
How long to wait for Google traffic layer to render (in seconds). Larger height/widths require longer delay times. If NULL
, the following delay time (in seconds) is used: delay = max(height,width)/200
.
Number of pixels to reduce height/width by. Doing so creates some overlap between grids to ensure there is not blank space between tiles. (Default: 10
).
Whether to return a list of raster tiles instead of mosaicing together. (Default: FALSE
).
Whether to mask raster to polygon
. (Default: TRUE
).
Show progress for which grid / API query has been processed. (Default: TRUE
).
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.
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 raster
r <- gt_make_raster_from_polygon(polygon = ny_sp,
height = 2000,
width = 2000,
zoom = 16,
google_key = "GOOGLE-KEY-HERE")
}
Run the code above in your browser using DataLab