2

How best can I parallelize this? year_ras is a spatRaster while sh_fields_base is an sf object.

yearStats <- lapply(year_list, function(year){

    year_ras <- terra::rast(paste0(datadir, "/Mark_", year, "_Slut.tif"))
    
    fields_baseStats <- lapply(nfields_base, function(p){
      
      IMK_polygon <- fields_base$IMK_ID[p]
      sh_fields_base <- subset(fields_base, fields_base$IMK_ID == IMK_polygon)
      
      year_extract <- exactextractr::exact_extract(year_ras, sh_fields_base, fun="majority")
      
      year_extract_df <- data.frame(base_id=IMK_polygon, year_id=year, poly_id=year_extract)
      
      return(year_extract_df)
      
    })
    
    fields_baseStats_df <- purrr::map_df(fields_baseStats, data.frame)
    return(fields_baseStats_df)
    
})
jmutua
  • 290
  • 1
  • 12

0 Answers0