On 09/10/2023 6:56 p.m., Keshav, Krishna wrote:
Outdir is either a directory like getwd(), tempdir() etc or empty/null. If it is empty/null, then I set it to tempdir().

That doesn't answer the question, and the link you provided doesn't answer it either, as far as I can see. In the test and the vignette that generated the errors, something specific was passed as outdir. But what? If it was getwd(), that's bound to fail -- you don't have permission to write there. tempdir() should have worked, but Berry pointed out some other things that might be problems.

Duncan Murdoch


/if (is.null(outdir) || length(outdir) == 0) {
     outdir <- tempdir()/

/}///

I am not sure how to debug when running it in Rbuilder. But you can look at results here - https://builder.r-hub.io/status/geohabnet_1.0.0.tar.gz-a2eaa40ccf1d026bbebf5077bfb482d5 <https://builder.r-hub.io/status/geohabnet_1.0.0.tar.gz-a2eaa40ccf1d026bbebf5077bfb482d5>

Best Regards,

Krishna Keshav

*From: *Duncan Murdoch <murdoch.dun...@gmail.com>
*Date: *Monday, October 9, 2023 at 4:08 PM
*To: *Keshav, Krishna <kkes...@ufl.edu>, r-package-devel@r-project.org <r-package-devel@r-project.org>
*Subject: *Re: [R-pkg-devel] Error: [writeRaster] cannot write file

[External Email]

What were you using as "outdir"?


On 09/10/2023 2:59 p.m., Keshav, Krishna wrote:
Hi,

I am developing an R package where I need to save Raster file with .tif 
extension to the tempdir(). I am using terra::writeRaster for the same. While 
it works through R CMD check in mac, it is failing in R hub builder.
Snippet �V
.saverast <- function(typ, rast, outdir) {

    if (is.null(outdir) || length(outdir) == 0) {
      outdir <- tempdir()
    }

    # Save the plot as a raster file
    fp <- file.path(outdir, paste("plots", "/",
                                  typ, "_",
                                  stringr::str_replace_all(Sys.time(), "[^a-zA-Z0-9]", 
""),
                                  ".tif", sep = ""))
      # Create the "plots" directory if it doesn't exist
    if (!dir.exists(fp)) {
      dir.create(fp, recursive = TRUE)
    }

    terra::writeRaster(rast, overwrite = TRUE,
                       filename = fp,
                       gdal = c("COMPRESS=NONE"))
    message(paste("raster created", fp, sep = ": "), "\n")
}

Error �V

    Error: [writeRaster] cannot write file
     12.         �|�wgeohabnet:::.saverast(typ, rast, outdir)
     13.           �u�wterra::writeRaster(rast, overwrite = TRUE, filename = fp, gdal = 
c("COMPRESS=NONE"))
     14.           �|�wterra::writeRaster(rast, overwrite = TRUE, filename = fp, gdal = 
c("COMPRESS=NONE"))
     15.             �|�wterra (local) .local(x, filename, ...)
     16.               �|�wterra:::messages(x, "writeRaster")
     17.                 �|�wterra:::error(f, x@pnt$getError())



Best Regards,
Krishna Keshav

       [[alternative HTML version deleted]]


______________________________________________
R-package-devel@r-project.org mailing list
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-package-devel&data=05%7C01%7Ckkeshav%40ufl.edu%7Cddd83781762040d664dc08dbc9038ec7%7C0d4da0f84a314d76ace60a62331e1b84%7C0%7C0%7C638324789348072931%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=mBzV%2BSJoOTTnSpRzu0EvLT8sZ2NJ1OlhSGXqNCvGWB4%3D&reserved=0
 <https://stat.ethz.ch/mailman/listinfo/r-package-devel>


______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to