Estoy tratando de recopilar puntos de muestra aleatorios de un área (polígonos) para luego verificar la información de estos puntos en un ráster. Sin embargo, a veces necesito una gran cantidad de puntos. Cuando intento ejecutar mi código, R devuelve un error.

Usé este código, que funcionó muy bien para números pequeños.

#create a set of random point samples

library(raster)
library(sp)
r_sample <- spsample(my_shp, n= 212183, type='random') 

#cross and extract raster information based on previously generated points
 
extrc <- raster::extract(my_raster, r_sample, small=T, na.rm=F) #extrair as quantidades de pixels 

error

> r_sample <- spsample(controle, n= 212183 , type='random')
> Error: Unable to allocate vector of size 1.9 Gb
0
Kledson Lemes 4 mar. 2021 a las 00:46

1 respuesta

La mejor respuesta

Si funciona para números pequeños, puede ejecutarlo un par de veces.

x <- lapply(1:10, function(i) spsample(controle, n= 21218 , type='random'))

Y combínalos así:

y <- do.call(rbind, x)
0
Robert Hijmans 4 mar. 2021 a las 03:45