knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  message = FALSE,
  warning = FALSE
)
library(zonal)
library(geogrids)
library(dplyr)

Define Area of Interest and Aggregation Units

base  = geo_path()
AOI   = AOI::aoi_get(state = "south", county = "all")
plot(AOI$geometry)

Find cached geogrids

lai_files = geo_cache_list() %>% 
  filter(grepl('MOD13A3.006/conus', fullname)) %>% 
  pull(fullname)

soil_files = geo_cache_list() %>% 
  filter(grepl('silt-1m-percent.tif', fullname)) %>% 
  pull(fullname)

Disparate Grids r emo::ji("sad")

make_grid(lai_files[1])
make_grid(soil_files[1])

Warp LAI to soils and execute Zonal

system.time({
  out   = geogrid_warp(lai_files[1], make_grid(soil_files[1]), disk = TRUE)
  w     = zonal::weighting_grid(out, AOI, "geoid")
  oo    = execute_zonal(out, w)
})

head(oo)

Speed with precomputed weights

# Assuming the weight grid is precomputed...
system.time({
  out   = geogrid_warp(lai_files[1], make_grid(soil_files[1]), disk = TRUE)
  oo    = execute_zonal(out, w)
})

Results

a = merge(AOI, oo)
plot(a['X1.km.monthly.NDVI'], border = FALSE)


mikejohnson51/geogrids documentation built on June 16, 2022, 12:36 a.m.