
get dimensions from stars object
st_dimensions(.x, ...)# S3 method for stars
st_dimensions(.x, ...)
st_dimensions(x) <- value
# S3 method for stars
st_dimensions(x) <- value
# S3 method for stars_proxy
st_dimensions(x) <- value
# S3 method for list
st_dimensions(x) <- value
# S3 method for array
st_dimensions(.x, ...)
# S3 method for default
st_dimensions(
.x,
...,
.raster,
affine = c(0, 0),
cell_midpoints = FALSE,
point = FALSE
)
st_set_dimensions(
.x,
which,
values = NULL,
point = NULL,
names = NULL,
xy,
...
)
st_get_dimension_values(.x, which, ..., where = NA, max = FALSE, center = NA)
the dimensions
attribute of x
, of class dimensions
object to retrieve dimensions information from
further arguments
object of class dimensions
new object of class dimensions
, with matching dimensions
length 2 character array with names (if any) of the raster dimensions
numeric; specify parameters of the affine transformation
logical; if TRUE
AND the dimension values are strictly regular, the values are interpreted as the cell midpoint values rather than the cell offset values when calculating offset (i.e., the half-cell-size correction is applied); can have a value for each dimension, or else is recycled
logical; does the pixel value (measure) refer to a point (location) value or to an pixel (area) summary value?
integer or character; index or name of the dimension to be changed
values for this dimension (e.g. sfc
list-column), or length-1 dimensions
object; setting special value NULL
removes dimension values, for instance to remove curvilinear raster coordinates
character; vector with new names for all dimensions, or with the single new name for the dimension indicated by which
length-2 character vector; (new) names for the x
and y
raster dimensions
character, one of 'start', 'center' or 'end'. Set to NA (default) to ignore and use max
and center
explictly. This argument provides a convenient alternative to setting max
and center
.
logical; if TRUE
return the end, rather than the beginning of an interval
logical; if TRUE
return the center of an interval; if NA
return the center for raster dimensions, and the start of intervals in other cases
dimensions can be specified in two ways. The simplest is to pass a vector with numeric values for a numeric dimension, or character values for a categorical dimension. Parameter cell_midpoints
is used to specify whether numeric values refer to the offset (start) of a dimension interval (default), or to the center; the center case is only available for regular dimensions. For rectilinear numeric dimensions, one can specify either a vector with cell borders (start values), or a data.frame with two columns named "start" and "end", with the respective interval start and end values. In the first case, the end values are computed from the start values by assuming the last two intervals have equal width.
x = read_stars(system.file("tif/L7_ETMs.tif", package = "stars"))
# Landsat 7 ETM+ band semantics: https://landsat.gsfc.nasa.gov/the-enhanced-thematic-mapper-plus/
# set bands to values 1,2,3,4,5,7:
(x1 = st_set_dimensions(x, "band", values = c(1,2,3,4,5,7), names = "band_number", point = TRUE))
# set band values as bandwidth
rbind(c(0.45,0.515), c(0.525,0.605), c(0.63,0.69), c(0.775,0.90), c(1.55,1.75), c(2.08,2.35)) %>%
units::set_units("um") -> bw # or: units::set_units(µm) -> bw
# set bandwidth midpoint:
(x2 = st_set_dimensions(x, "band", values = 0.5 * (bw[,1]+bw[,2]),
names = "bandwidth_midpoint", point = TRUE))
# set bandwidth intervals:
(x3 = st_set_dimensions(x, "band", values = make_intervals(bw), names = "bandwidth"))
m = matrix(1:20, nrow = 5, ncol = 4)
dim(m) = c(x = 5, y = 4) # named dim
(s = st_as_stars(m))
st_get_dimension_values(s, 'x', where = "start")
st_get_dimension_values(s, 'x', center = FALSE)
st_get_dimension_values(s, 'x', where = "center")
st_get_dimension_values(s, 'x', center = TRUE)
st_get_dimension_values(s, 'x', where = "end")
st_get_dimension_values(s, 'x', max = TRUE)
Run the code above in your browser using DataLab