Compute a compact description of a burn() result in time proportional
to the number of records in its sparse tables, never to the number of
grid cells, so it is cheap even for a national grid of billions of cells.
Arguments
- object
A
controlledburnobject returned byburn().- tiles
Target number of tiles along the longer grid axis for the overview, passed to
overview_burn().- ...
Ignored.
- x
A
summary.controlledburnobject.- ascii
Also print the overview as text.
Details
The pieces are:
overviewa coarse matrix of mean coverage per tile, see
overview_burn(). When the grid is small enough that one tile is one cell, this is the exact coverage.row_marginal,col_marginalexact covered-cell totals per grid row and per grid column, at full resolution.
contentthe extent and 1-based row/col range of touched cells, or
NULLfor an empty burn.areaper-geometry totals in cells:
interior(run cells),boundary(summed edge fractions),lines(summed length, in extent units),points(count).fractionsquantiles of the edge coverage fractions.
recordsrow counts of the sparse tables.
Coverage here means: run cells 1 each, edge cells their fraction, line and point cells 1 each (presence).
The number of geometries is taken as the largest id present, so geometries after the last one that touched the grid are not counted.
Examples
if (requireNamespace("geos", quietly = TRUE)) {
poly <- geos::as_geos_geometry(c("POLYGON ((1 1, 9 1, 9 9, 1 9, 1 1))",
"POLYGON ((2 2, 4 3, 3 5, 2 2))"))
r <- burn(poly, extent = c(0, 10, 0, 10), dimension = c(100L, 100L))
s <- summary(r)
s
s$area
}
#> id interior boundary lines points
#> 1 1 6400 0 0 0
#> 2 2 216 34 0 0