Sys.setenv(TZ="UTC")
suppressPackageStartupMessages(library(sf))
suppressPackageStartupMessages(library(stars))
tif = system.file("tif/L7_ETMs.tif", package = "stars")
(r = read_stars(tif, proxy = TRUE))
if (interactive()) {
plot(r)
}
dim(r)
r[,,,2:3]
r+r
st_as_stars(sin(r), downsample = 2)
aperm(r, c(3,2,1))
if (interactive()) {
plot(r)
}
(xx = c(r,r))
st_redimension(xx)
st_as_stars(r)
(y = st_apply(r, 1:2, max))
(yy = st_as_stars(y, downsample = 1))
(y = adrop(st_apply(r, c("x", "y"), max)))
(yy = st_as_stars(y, downsample = 1))
plot(yy)
(y = adrop(st_apply(r, c("x", "band"), max)))
(yy = st_as_stars(y, downsample = 1))
rm(yy)
(xx = c(r,r))
names(xx) = c("a", "b")
xx["a"]
pt = st_point(c(x = 290462.103109179, y = 9114202.32594085))
buf = st_buffer(st_sfc(pt, crs = st_crs(r)), 1500)
buf = st_sfc(st_polygon(list(st_buffer(pt, 1500)[[1]], st_buffer(pt, 1000)[[1]])),
crs = st_crs(r))
r = r[buf] # crops
r = r[buf, epsilon = 1e-5] # crops with shrinked bounding box
# c:
f = system.file("netcdf/avhrr-only-v2.19810902.nc", package = "starsdata")
if (FALSE && f != "") {
files = c("avhrr-only-v2.19810901.nc",
"avhrr-only-v2.19810902.nc",
"avhrr-only-v2.19810903.nc",
"avhrr-only-v2.19810904.nc",
"avhrr-only-v2.19810905.nc",
"avhrr-only-v2.19810906.nc",
"avhrr-only-v2.19810907.nc",
"avhrr-only-v2.19810908.nc",
"avhrr-only-v2.19810909.nc")
l = list()
for (f in files) {
from = system.file(paste0("netcdf/", f), package = "starsdata")
l[[f]] = read_stars(from, sub = c("sst", "anom"), proxy = TRUE)
}
ret = do.call(c, l)
print(ret)
all = system.file(paste0("netcdf/", files), package = "starsdata")
ret = read_stars(all, sub = c("sst", "anom"))
print(ret)
print(st_redimension(ret)) # collapse the two attributes into new dimension
try(ret <- c(l[[1]], l[[2]], l[[3]], along = list(times = as.Date("1981-09-01") + 0:2)))
#print(ret)
#ret = adrop(adrop(c(l[[1]], l[[2]], l[[3]], along = "times")))
#print(ret)
ret <- st_redimension(l[[1]], along = list(times = as.Date("1981-09-01") + 0:1))
print(ret)
}
# demonstrate that environments work:
x = read_stars(tif, proxy = TRUE)
f = function(x) {
g = function(xx) {
ndvi = function(z1, z2, z3, z4, z5, z6) (z2-z1)/(z2+z1)
st_apply(xx, 1:2, ndvi)
}
g(x)
}
(x = f(x))
st_as_stars(x)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.