## ---- echo=FALSE, include=FALSE----------------------------------------------- library(knitr) opts_chunk$set(fig.width = 5, fig.height = 5, fig.cap = '', collapse = TRUE) ## ---- raster-1a--------------------------------------------------------------- library(raster) # RasterLayer with the default parameters x <- raster() x ## ---- raster-1b--------------------------------------------------------------- x <- raster(ncol=36, nrow=18, xmn=-1000, xmx=1000, ymn=-100, ymx=900) ## ---- raster-1c--------------------------------------------------------------- res(x) res(x) <- 100 res(x) ## ---- raster-1d--------------------------------------------------------------- ncol(x) ncol(x) <- 18 ncol(x) res(x) ## ---- raster-1e--------------------------------------------------------------- projection(x) <- "+proj=utm +zone=48 +datum=WGS84" x ## ---- raster-1h--------------------------------------------------------------- r <- raster(ncol=10, nrow=10) ncell(r) hasValues(r) ## ---- raster-1i--------------------------------------------------------------- values(r) <- 1:ncell(r) ## ---- raster-1j--------------------------------------------------------------- set.seed(0) values(r) <- runif(ncell(r)) hasValues(r) inMemory(r) values(r)[1:10] plot(r, main='Raster with 100 cells') ## ---- raster-1x--------------------------------------------------------------- hasValues(r) res(r) dim(r) xmax(r) ## ---- raster-1y--------------------------------------------------------------- xmax(r) <- 0 hasValues(r) res(r) dim(r) ## ---- raster-1z--------------------------------------------------------------- ncol(r) <- 6 hasValues(r) res(r) dim(r) xmax(r) ## ---- raster-2a1-------------------------------------------------------------- filename <- system.file("external/test.grd", package="raster") filename ## ---- raster-2a2-------------------------------------------------------------- r <- raster(filename) filename(r) hasValues(r) inMemory(r) plot(r, main='RasterLayer from file') ## ---- raster-2b1-------------------------------------------------------------- r1 <- r2 <- r3 <- raster(nrow=10, ncol=10) # Assign random cell values values(r1) <- runif(ncell(r1)) values(r2) <- runif(ncell(r2)) values(r3) <- runif(ncell(r3)) ## ---- raster-2b2-------------------------------------------------------------- s <- stack(r1, r2, r3) s nlayers(s) ## ---- raster-2b3-------------------------------------------------------------- b1 <- brick(r1, r2, r3) ## ---- raster-2b4-------------------------------------------------------------- b2 <- brick(s) ## ---- raster-2b5-------------------------------------------------------------- filename <- system.file("external/rlogo.grd", package="raster") filename b <- brick(filename) b nlayers(b) ## ---- raster-2b6-------------------------------------------------------------- r <- raster(b, layer=2) ## ---- raster-2b7-------------------------------------------------------------- r <- raster(filename, band=2) ## ---- raster-3a1-------------------------------------------------------------- r <- raster(ncol=10, nrow=10) values(r) <- 1:ncell(r) ## ---- raster-3a2-------------------------------------------------------------- s <- r + 10 s <- sqrt(s) s <- s * r + 5 r[] <- runif(ncell(r)) r <- round(r) r <- r == 1 ## ---- raster-3b--------------------------------------------------------------- s[r] <- -0.5 s[!r] <- 5 s[s == 5] <- 15 ## ---- raster-3c--------------------------------------------------------------- r <- raster(ncol=5, nrow=5) r[] <- 1 s <- stack(r, r+1) q <- stack(r, r+2, r+4, r+6) x <- r + s + q x ## ---- raster-3d--------------------------------------------------------------- a <- mean(r,s,10) b <- sum(r,s) st <- stack(r, s, a, b) sst <- sum(st) sst ## ---- raster-3e--------------------------------------------------------------- cellStats(st, 'sum') cellStats(sst, 'sum') ## ---- raster-5, fig.width=9, fig.height=4------------------------------------- r <- raster() r[] <- 1:ncell(r) ra <- aggregate(r, 20) rd <- disaggregate(ra, 20) ## ---- raster-5b, fig.width=9, fig.height=4------------------------------------ r1 <- crop(r, extent(-50,0,0,30)) r2 <- crop(r, extent(-10,50,-20, 10)) m <- merge(r1, r2, filename='test.grd', overwrite=TRUE) plot(m) ## ---- echo=FALSE, include=FALSE----------------------------------------------- ff <- list.files(patt="^test") file.remove(ff) ## ---- raster-6a--------------------------------------------------------------- r <- raster(ncol=3, nrow=2) r[] <- 1:ncell(r) getValues(r) ## ---- raster-6b--------------------------------------------------------------- s <- calc(r, fun=function(x){ x[x < 4] <- NA; return(x)} ) as.matrix(s) ## ---- raster-6c--------------------------------------------------------------- w <- overlay(r, s, fun=function(x, y){ x / (2 * sqrt(y)) + 5 } ) as.matrix(w) ## ---- raster-6d--------------------------------------------------------------- u <- mask(r, w) as.matrix(u) ## ---- raster-6e--------------------------------------------------------------- v <- u==s as.matrix(v) ## ---- raster-6f--------------------------------------------------------------- cvr <- cover(w, r) as.matrix(w) ## ---- raster-6g--------------------------------------------------------------- x <- reclassify(w, c(0,2,1, 2,5,2, 4,10,3)) as.matrix(x) ## ---- raster-6h--------------------------------------------------------------- y <- subs(x, data.frame(id=c(2,3), v=c(40,50))) as.matrix(y) ## ---- raster-7---------------------------------------------------------------- r <- raster(nrow=45, ncol=90) r[] <- round(runif(ncell(r))*3) a <- area(r) zonal(a, r, 'sum') ## ---- raster-10a-------------------------------------------------------------- r <- raster(ncol=36, nrow=18) r[] <- runif(ncell(r)) cellStats(r, mean) ## ---- raster-10b-------------------------------------------------------------- s <- r s[] <- round(runif(ncell(r)) * 5) zonal(r, s, 'mean') ## ---- raster-10c-------------------------------------------------------------- freq(s) freq(s, value=3) ## ---- raster-10d-------------------------------------------------------------- ctb <- crosstab(r*3, s) head(ctb) ## ---- raster-15--------------------------------------------------------------- library(raster) r <- raster(ncol=36, nrow=18) ncol(r) nrow(r) ncell(r) rowFromCell(r, 100) colFromCell(r, 100) cellFromRowCol(r,5,5) xyFromCell(r, 100) cellFromXY(r, c(0,0)) colFromX(r, 0) rowFromY(r, 0) ## ---- raster-20--------------------------------------------------------------- r <- raster(system.file("external/test.grd", package="raster")) v <- getValues(r, 50) v[35:39] getValuesBlock(r, 50, 1, 35, 5) ## ---- raster-21--------------------------------------------------------------- cells <- cellFromRowCol(r, 50, 35:39) cells extract(r, cells) xy <- xyFromCell(r, cells) xy extract(r, xy) ## ---- raster-32--------------------------------------------------------------- r[cells] r[1:4] filename(r) r[2:3] <- 10 r[1:4] filename(r) ## ---- raster-33--------------------------------------------------------------- r[1] r[2,2] r[1,] r[,2] r[1:3,1:3] # keep the matrix structure r[1:3,1:3, drop=FALSE] ## ---- raster-120-------------------------------------------------------------- r1 <- raster(ncol=36, nrow=18) r2 <- r1 r1[] <- runif(ncell(r1)) r2[] <- runif(ncell(r1)) s <- stack(r1, r2) sgdf <- as(s, 'SpatialGridDataFrame') newr2 <- raster(sgdf, 2) news <- stack(sgdf)