Closed mdsumner closed 1 year ago
created by gdal_raster_data() under parallel
library(vapour) src <- "/vsicurl/https://opentopography.s3.sdsc.edu/raster/COP30/COP30_hh.vrt" info <- vapour_raster_info(src) ## target prj <- "EPSG:3577" ex0 <- c(110, 158, -43.2, -8) ex1 <- reproj::reproj_extent(info$extent, prj, source = "OGC:CRS84") ## pick resolution ex <- vaster::snap_extent(ex1, 30) dm <- diff(ex)[c(1, 3)]/30 ## now let's tile it index <- grout::tile_index(grd <- grout::grout(dm, ex, c(1024, 1024) * 2)) ## make the function fun <- local({ prj <- prj src <- src exs <- split(as.matrix(t(index[, c("xmin", "xmax", "ymin", "ymax")])), rep(1:nrow(index), each = 4)) dms <- split(as.matrix(t(index[, c("ncol", "nrow")])), rep(1:nrow(index), each = 2)) function(i = 1) { out <- vapour::gdal_raster_dsn(src, target_crs = prj, target_ext = exs[[i]], target_dim = dms[[i]])[[1L]] out } }) #library(furrr) #options(future.rng.onMisuse = "ignore") #plan(multisession) l <- unlist(lapply(sample(nrow(index), 10), fun)) #plan(sequential) whatarelief:::imfun(gdal_raster_data(l[1])) ## crash
not crashing now
created by gdal_raster_data() under parallel