Reputation: 89
I am using the package CropscapeR to get Cropland Data Layer (CDL) rasters. However, when I try to mask this raster using reclassify I sometimes run into issues. Since I am a Linux user (for R and OS specs see below), I have to do a distinct process to access the data than windows/mac users which involves the package httr and a tif file. This is the standard process recommended by the CropscapeR creator. If I then run raster::reclassify
in my data, I have no problems. However, if I save the my RData and then reopen/restart R, and try to run raster::reclassify
, it does not work. In particular, I get the following error message: Error: C stack usage 7977940 is too close to the limit
. Also, I have a bunch of warnings of the sort:
1: In new_CppObject_xp(fields$.module, fields$.pointer, ...) :
GDAL Error 4: /tmp/Rtmpf7yIsG/file28f21b32987a.tif: File or folder does not exist
Here is the code I am trying to run:
library(CropScapeR)
library(httr)
library(raster)
library(sf)
#Skip the SSL check
httr::set_config(httr::config(ssl_verifypeer = 0L))
#Automatically generate a temporary path to save the data
tif_file <- tempfile(fileext = '.tif')
#Download the raster TIF file into specified path, also read into R
ST_CDL <- GetCDLData(aoi = '34007', year = 2021, type = 'f', save_path = tif_file)
#The output file ST_CDL I get is a Formal class RasterLayer.
#This is the way I am trying to mask the values of the raster I do not want.
#Notice, again, that this code runs if I do it in sequence, I only get into
#trouble if I first get ST_CDL, then save it as RData, reopen/restart R and
#then try to run the code below directly without getting ST_CDL again through
#the above process.
ST_CDL_blueberries <-
raster::reclassify(ST_CDL,
c(-0.1,241.9,NA,
242.1,255.1,NA),
progress="text")
My specs:
Thanks for your help!
I got my data, saved it, restarted R and tried to run the code from there (without getting the data again). Supposedly this should work, but it did not.
Upvotes: 1
Views: 81
Reputation: 89
I managed to solve the problem by writing my raster. Namely, I did the following:
library(CropScapeR)
library(httr)
library(raster)
library(sf)
#Skip the SSL check
httr::set_config(httr::config(ssl_verifypeer = 0L))
#Automatically generate a temporary path to save the data
tif_file <- tempfile(fileext = '.tif')
#Download the raster TIF file into specified path, also read into R
ST_CDL <- GetCDLData(aoi = '34007', year = 2021, type = 'f', save_path = tif_file)
#Now I write and save the raster, so it is available next time I open R
writeRaster(ST_CDL, "ST_CDL.tif", overwrite=TRUE)
ST_CDL = raster("ST_CDL.tif")
ST_CDL_blueberries <- raster::reclassify(ST_CDL,
c(-0.1,241.9,NA,
242.1,255.1,NA),
progress="text")
Upvotes: 0