Examples for 'stars::stars_subset'


subset stars objects

Aliases: stars_subset [<-.stars_proxy [.stars [<-.stars st_flip

Keywords:

### ** Examples

tif = system.file("tif/L7_ETMs.tif", package = "stars")
x = read_stars(tif)
x[,,,1:3] # select bands
stars object with 3 dimensions and 1 attribute
attribute(s):
             Min. 1st Qu. Median     Mean 3rd Qu. Max.
L7_ETMs.tif    21      58     70 70.36041      83  255
dimension(s):
     from  to  offset delta                     refsys point x/y
x       1 349  288776  28.5 SIRGAS 2000 / UTM zone 25S FALSE [x]
y       1 352 9120761 -28.5 SIRGAS 2000 / UTM zone 25S FALSE [y]
band    1   3      NA    NA                         NA    NA    
x[,1:100,100:200,] # select x and y by range
stars object with 3 dimensions and 1 attribute
attribute(s):
             Min. 1st Qu. Median     Mean 3rd Qu. Max.
L7_ETMs.tif    13      54     65 67.21531      77  252
dimension(s):
     from  to  offset delta                     refsys point x/y
x       1 100  288776  28.5 SIRGAS 2000 / UTM zone 25S FALSE [x]
y     100 200 9120761 -28.5 SIRGAS 2000 / UTM zone 25S FALSE [y]
band    1   6      NA    NA                         NA    NA    
x["L7_ETMs.tif"] # select attribute
stars object with 3 dimensions and 1 attribute
attribute(s):
             Min. 1st Qu. Median     Mean 3rd Qu. Max.
L7_ETMs.tif     1      54     69 68.91242      86  255
dimension(s):
     from  to  offset delta                     refsys point x/y
x       1 349  288776  28.5 SIRGAS 2000 / UTM zone 25S FALSE [x]
y       1 352 9120761 -28.5 SIRGAS 2000 / UTM zone 25S FALSE [y]
band    1   6      NA    NA                         NA    NA    
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)
plot of chunk example-stars-stars_subset-1
bb = st_bbox(pts)
(xx = x[bb])
stars object with 3 dimensions and 1 attribute
attribute(s):
             Min. 1st Qu. Median     Mean 3rd Qu. Max.
L7_ETMs.tif     3      56     73 70.87303      89  255
dimension(s):
     from  to  offset delta                     refsys point x/y
x     158 268  288776  28.5 SIRGAS 2000 / UTM zone 25S FALSE [x]
y     245 331 9120761 -28.5 SIRGAS 2000 / UTM zone 25S FALSE [y]
band    1   6      NA    NA                         NA    NA    
image(xx)
plot(st_as_sfc(bb), add = TRUE, col = NA)
plot of chunk example-stars-stars_subset-1
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)
plot of chunk example-stars-stars_subset-1
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)
plot of chunk example-stars-stars_subset-1
image(x[buf, crop=FALSE])
plot(buf, add = TRUE, col = NA)
plot of chunk example-stars-stars_subset-1
# with i of class stars:
x[x > 75] # generates lots of NA's; pattern for each band
stars object with 3 dimensions and 1 attribute
attribute(s):
             Min. 1st Qu. Median     Mean 3rd Qu. Max.   NA's
L7_ETMs.tif    76      82     90 94.40052     101  255 443210
dimension(s):
     from  to  offset delta                     refsys point x/y
x       1 349  288776  28.5 SIRGAS 2000 / UTM zone 25S FALSE [x]
y       1 352 9120761 -28.5 SIRGAS 2000 / UTM zone 25S FALSE [y]
band    1   6      NA    NA                         NA    NA    
x[x[,,,1] > 75] # recycles a single band template for all bands
stars object with 3 dimensions and 1 attribute
attribute(s):
             Min. 1st Qu. Median     Mean 3rd Qu. Max.   NA's
L7_ETMs.tif     1      63     79 74.98075      93  255 318960
dimension(s):
     from  to  offset delta                     refsys point x/y
x       1 349  288776  28.5 SIRGAS 2000 / UTM zone 25S FALSE [x]
y       1 352 9120761 -28.5 SIRGAS 2000 / UTM zone 25S FALSE [y]
band    1   6      NA    NA                         NA    NA    
x = read_stars(tif)
# replace, using a logical stars selector: cuts all values above 90 to 90
x[x > 90] = 90
# replace a single attribute when there are more than one:
s = split(x)
names(s) = paste0("band", 1:6)
# rescale only band 1:
s[1] = s[1] * 0.75
# rescale only attribute named "band2":
s["band2"] = s["band2"] * 0.85
# create a new attribute from a numeric vector:
s["rnorm"] = rnorm(prod(dim(s)))
s
stars object with 2 dimensions and 7 attributes
attribute(s):
            Min.    1st Qu.       Median         Mean    3rd Qu.      Max.
band1  35.250000 50.2500000 58.500000000 5.787822e+01 66.7500000 67.500000
band2  27.200000 46.7500000 56.100000000 5.677621e+01 67.1500000 76.500000
band3  21.000000 49.0000000 63.000000000 6.277701e+01 77.0000000 90.000000
band4   9.000000 52.0000000 63.000000000 5.894054e+01 75.0000000 90.000000
band5   1.000000 63.0000000 89.000000000 7.128509e+01 90.0000000 90.000000
band6   1.000000 32.0000000 60.000000000 5.666213e+01 88.0000000 90.000000
rnorm  -4.265164 -0.6741498  0.001616601 1.143511e-04  0.6713612  4.139344
dimension(s):
  from  to  offset delta                     refsys point x/y
x    1 349  288776  28.5 SIRGAS 2000 / UTM zone 25S FALSE [x]
y    1 352 9120761 -28.5 SIRGAS 2000 / UTM zone 25S FALSE [y]
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)
plot of chunk example-stars-stars_subset-1

[Package stars version 0.6-7 Index]