gt_make_raster_from_polygon {googletraffic}R Documentation

Make Google Traffic Raster Based on Polygon

Description

Make 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_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
)

Arguments

polygon

Polygon (sf object or SpatialPolygonsDataframe) in WGS84 CRS

zoom

Zoom level; integer from 5 to 20. For more information about how zoom levels correspond to pixel size, see here and here.

google_key

Google API key, where the Maps JavaScript API is enabled. To create a Google API key, follow these instructions.

height_width_max

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

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.

width

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.

traffic_color_dist_thresh

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.

traffic_color_dist_metric

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.

webshot_zoom

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).

webshot_delay

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.

reduce_hw

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).

return_list_of_rasters

Whether to return a list of raster tiles instead of mosaicing together. (Default: FALSE).

mask_to_polygon

Whether to mask raster to polygon. (Default: TRUE).

print_progress

Show progress for which grid / API query has been processed. (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

## Not run: 
## 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")

## End(Not run) 


[Package googletraffic version 0.1.6 Index]