st_rasterize function

rasterize simple feature geometries

rasterize simple feature geometries

st_rasterize( sf, template = guess_raster(sf, ...) %||% st_as_stars(st_bbox(sf), values = NA_real_, ...), file = tempfile(), driver = "GTiff", options = character(0), align = FALSE, proxy = FALSE, ... )

Arguments

  • sf: object of class sf
  • template: optional; stars object with desired target geometry, or target geometry alignment if align=TRUE; see details
  • file: temporary file name
  • driver: driver for temporary file
  • options: character; options vector for GDALRasterize
  • align: logical; if TRUE, template is only used for the geometry alignment, informing target resolution and offset
  • proxy: logical; should a proxy object be returned?
  • ...: arguments passed on to st_as_stars

Details

if template is a stars object, non-NA cells that are not covered by sf receive the value in template; see also argument align.

Examples

demo(nc, echo = FALSE, ask = FALSE) (x = st_rasterize(nc)) # default grid: plot(x, axes = TRUE) # a bit more customized grid: (x = st_rasterize(nc, st_as_stars(st_bbox(nc), nx = 100, ny = 50, values = NA_real_))) plot(x, axes = TRUE) (ls = st_sf(a = 1:2, st_sfc(st_linestring(rbind(c(0.1, 0), c(1.1, 1))), st_linestring(rbind(c(0, 0.05), c(1, 0.05)))))) (grd = st_as_stars(st_bbox(ls), nx = 10, ny = 10, xlim = c(0, 1.0), ylim = c(0, 1), values = NA_real_)) # Only the left-top corner is part of the grid cell: sf_extSoftVersion()["GDAL"] plot(st_rasterize(ls, grd), axes = TRUE, reset = FALSE) # ALL_TOUCHED=FALSE; plot(ls, add = TRUE, col = "red") plot(st_rasterize(ls, grd, options = "ALL_TOUCHED=TRUE"), axes = TRUE, reset = FALSE) plot(ls, add = TRUE, col = "red") # add lines to existing 0 values, summing values in case of multiple lines: (grd = st_as_stars(st_bbox(ls), nx = 10, ny = 10, xlim = c(0, 1.0), ylim = c(0, 1), values = 0)) r = st_rasterize(ls, grd, options = c("MERGE_ALG=ADD", "ALL_TOUCHED=TRUE")) plot(r, axes = TRUE, reset = FALSE) plot(ls, add = TRUE, col = "red")