Nothing
## ---- eval=FALSE--------------------------------------------------------------
# cellnumbers(r, q)
## -----------------------------------------------------------------------------
library(raster)
library(tabularaster)
(r <- raster(volcano))
(cell <- cellnumbers(r, cbind(0.5, 0.5)))
## -----------------------------------------------------------------------------
xyFromCell(r, cell$cell_)
raster::extract(r, cell$cell_)
## -----------------------------------------------------------------------------
library(dplyr)
as_tibble(r)
b <- brick(r, r*2)
as_tibble(b)
as_tibble(b, cell = FALSE) %>% arrange(desc(dimindex)) ## leave out the cell index
## -----------------------------------------------------------------------------
btime <- raster::setZ(b, Sys.time() + c(1, 10))
as_tibble(btime) %>% group_by(dimindex) %>% summarize(n = n())
as_tibble(btime, split_date = TRUE)
## -----------------------------------------------------------------------------
library(tabularaster)
## https://gis.stackexchange.com/questions/102870/step-by-step-how-do-i-extract-raster-values-from-polygon-overlay-with-q-gis-or
library(raster)
# Create integer class raster
r <- raster(ncol=36, nrow=18)
r[] <- round(runif(ncell(r),1,10),digits=0)
# Create two polygons
cds1 <- rbind(c(-180,-20), c(-160,5), c(-60, 0), c(-160,-60), c(-180,-20))
cds2 <- rbind(c(80,0), c(100,60), c(120,0), c(120,-55), c(80,0))
polys <- SpatialPolygonsDataFrame(SpatialPolygons(list(Polygons(list(Polygon(cds1)), 1),
Polygons(list(Polygon(cds2)), 2))),data.frame(ID=c(1,2)))
## do extraction in abstract terms
(cn <- cellnumbers(r, polys))
library(dplyr)
## now perform extraction for real
## and pipe into grouping by polygon (object_) and value, and
## calculate class percentage from class counts per polygon
cn %>%
mutate(v = raster::extract(r, cell_)) %>%
group_by(object_, v) %>%
summarize(count = n()) %>%
mutate(v.pct = count / sum(count))
## here is the traditional code used in the stackoverflow example
# Extract raster values to polygons
#( v <- extract(r, polys) )
# Get class counts for each polygon
#v.counts <- lapply(v,table)
# Calculate class percentages for each polygon
#( v.pct <- lapply(v.counts, FUN=function(x){ x / sum(x) } ) )
## -----------------------------------------------------------------------------
library(tabularaster)
data("ghrsst") ## a RasterLayer
data("sst_regions") ## a polygon layer, contiguous with ghrsst
gcells <- cellnumbers(ghrsst, sst_regions) %>% mutate(object_ = as.integer(object_))
result <- gcells %>% mutate(sst = raster::extract(ghrsst, cell_)) %>%
group_by(object_) %>%
summarize_at(vars(sst), funs(mean(., na.rm = TRUE), sd(., na.rm = TRUE), length))
## -----------------------------------------------------------------------------
library(tabularaster)
library(raster)
library(dplyr)
data("rastercano")
data("polycano")
cells <- cellnumbers(rastercano, polycano[4:5, ])
cellnumbers(rastercano, as(polycano[4:5, ], "SpatialLinesDataFrame"))
cellnumbers(rastercano, as(as(polycano[4:5, ], "SpatialLinesDataFrame"), "SpatialPointsDataFrame"))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.