R: Rasterize an sf object of polygons

fasterize {fasterize} | R Documentation

## Rasterize an sf object of polygons

### Description

Rasterize set of polygons

Fast sf-to-raster conversion

### Usage

    fasterize(
      sf,
      raster,
      field = NULL,
      fun = "last",
      background = NA_real_,
      by = NULL
    )

### Arguments

`sf` | an `sf::sf()` object with a geometry column of POLYGON and/or MULTIPOLYGON objects.
`raster` | A raster object. Used as a template for the raster output. Can be created with `raster::raster()`. The fasterize package provides a method to create a raster object from an sf object.
`field` | character. The name of a column in `sf`, providing a value for each of the polygons rasterized. If NULL (default), all polygons will be given a value of 1.
`fun` | character. The name of a function by which to combine overlapping polygons. Currently takes "sum", "first", "last", "min", "max", "count", or "any". Future versions may include more functions or the ability to pass custom R/C++ functions. If you need to summarize by a different function, use `by=` to get a RasterBrick and then `raster::stackApply()` or `raster::calc()` to summarize.
`background` | numeric. Value to put in the cells that are not covered by any of the features of x. Default is NA.
`by` | character. The name of a column in `sf` by which to aggregate layers. If set, fasterize will return a RasterBrick with as many layers as unique values of the `by` column.

### Details

This is a high-performance replacement for `raster::rasterize()`.

The algorithm is based on the method described in course materials provided by Wayne O. Cochran. The algorithm is originally attributed to Wylie et al. (1967).

### Value

A raster of the same size, extent, resolution and projection as the provided raster template.

### References

Wylie, C., Romney, G., Evans, D., & Erdahl, A. (1967). Half-tone perspective drawings by computer. Proceedings of the November 14-16, 1967, Fall Joint Computer Conference. AFIPS '67 (Fall). https://dx.doi.org/10.1145/1465611.1465619

### Examples

    library(sf)
    library(fasterize)
    p1 <- rbind(c(-180,-20), c(-140,55), c(10, 0), c(-140,-60), c(-180,-20))
    hole <- rbind(c(-150,-20), c(-100,-10), c(-110,20), c(-150,-20))
    p1 <- list(p1, hole)
    p2 <- list(rbind(c(-10,0), c(140,60), c(160,0), c(140,-55), c(-10,0)))
    p3 <- list(rbind(c(-125,0), c(0,60), c(40,5), c(15,-45), c(-125,0)))
    pols <- st_sf(value = rep(1,3),
                  geometry = st_sfc(lapply(list(p1, p2, p3), st_polygon)))
    r <- raster(pols, res = 1)
    r <- fasterize(pols, r, field = "value", fun="sum")
    plot(r)

[Package fasterize version 1.0.3 Index]