10 votos

Manera más simple para limitar la memoria que la trama paquete utiliza en R

¿Cuál es la manera más fácil para limitar la memoria de la raster paquete utiliza en R 5 gb de RAM? Idealmente quiero cualquier trama que supera este tamaño por escrito a la unidad de disco duro y analizados a partir de un archivo temporal.

Estoy usando Windows 7 (64 bits) y R versión 3.0.3.

Aquí un poco de código que he estado jugando en un equipo con 16 GB de memoria RAM, pero se mantiene el gasto excesivo como estoy lidiando con grandes rásteres:

require(raster)

memory.limit(size = 5000)
rasterOptions(format="GTiff",overwrite=TRUE,datatype="INT1S",
              tmpdir="C:/Research/BIN",tmptime=1.1,progress="text",chunksize=1000,
              maxmemory=1000)
rasterTmpFile("delete_me_")

r <- raster("myraster.tif")
r[r==0] <- NA

Es en esta etapa en la secuencia de comandos que el uso de RAM aumenta a tomar todas las de 16GB y luego deja de funcionar y se cancela la función.

¿Qué necesito para cambiar aquí?

Cualquier ayuda la agradezco mucho.

9voto

Lucas Puntos 128

Usted necesita leer los rásteres en trozos en lugar de todos a la vez. Consulte la documentación de la trama del paquete, en particular, a la Escritura de funciones para grandes archivos ráster.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X