SSA-Statistical-Team-Projects / GeoLink

GeoLink package
0 stars 1 forks source link

Add a function to measure electricity access called geolink_electaccess() #24

Open ifeanyi588 opened 3 months ago

ifeanyi588 commented 3 months ago

@DianaJaganjac,

Please write a function that uses the HREA electrification access data on microsoft planetary computer. I wrote the following to do this in Mozambique:

download and read in electrification data from the HREA system

pacman::p_load(rstac, magrittr, raster)

s_obj <- stac("https://planetarycomputer.microsoft.com/api/stac/v1")

it_obj <- s_obj %>% stac_search(collections = "hrea", bbox = sf::st_bbox(shp_dt)) %>% get_request() %>% items_sign(sign_fn = sign_planetary_computer())

raster_list <- list(paste0("/vsicurl/", it_obj$features[[5]]$assets$light-composite$href), paste0("/vsicurl/", it_obj$features[[5]]$assets$lightscore$href), paste0("/vsicurl/", it_obj$features[[5]]$assets$night-proportion$href), paste0("/vsicurl/", it_obj$features[[5]]$assets$estimated-brightness$href))

raster_list <- lapply(raster_list, terra::rast)

raster_list <- lapply(raster_list, raster)

mapply(FUN = function(x, y){

raster::writeRaster(x = x, filename = paste0("inst/extdata/","hrea", y, ".tif"))

}, SIMPLIFY = FALSE, x = raster_list, y = c("rade9lnmu_2019", "lightscore_sy_2019", "prplit_conf90_sy_2019", "set_zscore_sy_2019"))

raster_list <- lapply(X = paste0("inst/extdata/","hrea", c("rade9lnmu_2019", "lightscore_sy_2019", "prplit_conf90_sy_2019", "set_zscore_sy_2019"), ".tif"), raster::raster)

then you can extract the 4 rasters into the output object shapefile. You can set this up for postdownload processor.

Best regards, Ify