subset stars objects
subset stars objects
## S3 method for class 'stars' x[i = TRUE, ..., drop = FALSE, crop = !is_curvilinear(x)] ## S3 replacement method for class 'stars' x[i] <- value st_flip(x, which = 1)
x |
object of class |
i |
first selector: integer, logical or character vector indicating attributes to select, or object of class |
... |
further (logical or integer vector) selectors, matched by order, to select on individual dimensions |
drop |
logical; if |
crop |
logical; if |
value |
array of dimensions equal to those in |
which |
character or integer; dimension(s) to be flipped |
if i
is an object of class sf
, sfc
or bbox
, the spatial subset covering this geometry is selected, possibly followed by cropping the extent. Array values for which the cell centre is not inside the geometry are assigned NA
.
in an assignment (or replacement form, [<-
), argument i
needs to be a stars
object with dimensions identical to x
, and value
will be recycled to the dimensions of the arrays in x
.
st_flip
flips (reverts) the array values along the chosen dimension
without(s) changing the dimension properties
tif = system.file("tif/L7_ETMs.tif", package = "stars") x = read_stars(tif) x[,,,1:3] # select bands x[,1:100,100:200,] # select x and y by range x["L7_ETMs.tif"] # select attribute xy = structure(list(x = c(293253.999046018, 296400.196497684), y = c(9113801.64775462, 9111328.49619133)), .Names = c("x", "y")) pts = st_as_sf(data.frame(do.call(cbind, xy)), coords = c("x", "y"), crs = st_crs(x)) image(x, axes = TRUE) plot(st_as_sfc(st_bbox(pts)), col = NA, add = TRUE) bb = st_bbox(pts) (xx = x[bb]) image(xx) plot(st_as_sfc(bb), add = TRUE, col = NA) image(x) pt = st_point(c(x = 290462.103109179, y = 9114202.32594085)) buf = st_buffer(st_sfc(pt, crs = st_crs(x)), 1500) plot(buf, add = TRUE) buf = st_sfc(st_polygon(list(st_buffer(pt, 1500)[[1]], st_buffer(pt, 1000)[[1]])), crs = st_crs(x)) image(x[buf]) plot(buf, add = TRUE, col = NA) image(x[buf, crop=FALSE]) plot(buf, add = TRUE, col = NA) lc = read_stars(system.file("tif/lc.tif", package = "stars")) x = c(orig = lc, flip_x = st_flip(lc, "x"), flip_y = st_flip(lc, "y"), flip_xy = st_flip(lc, c("x", "y")), along = 3) plot(x)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.