Perform a buffer operation on a temporary projected CRS
This function solves the problem that buffers will not be circular when used on non-projected data.
geo_buffer(shp, dist = NULL, width = NULL, ...)
shp |
A spatial object with a geographic CRS (e.g. WGS84) around which a buffer should be drawn |
dist |
The distance (in metres) of the buffer (when buffering simple features) |
width |
The distance (in metres) of the buffer (when buffering sp objects) |
... |
Arguments passed to the buffer (see |
Requires recent version of PROJ (>= 6.3.0).
Buffers on sf objects with geographic (lon/lat) coordinates can also
be done with the s2 package.
lib_versions <- sf::sf_extSoftVersion()
lib_versions
if (lib_versions[3] >= "6.3.1") {
buff_sf <- geo_buffer(routes_fast_sf, dist = 50)
plot(buff_sf$geometry)
geo_buffer(routes_fast_sf$geometry, dist = 50)
# on legacy sp objects (not tested)
# buff_sp <- geo_buffer(routes_fast, width = 100)
# class(buff_sp)
# plot(buff_sp, col = "red")
}Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.