knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE, results = 'asis')
library(sf)
library(soilDB, quietly = TRUE)

sf::sf_use_s2(FALSE)

x <- soilDB::get_site_data_from_NASIS_db(SS = params$selected_set,
                                         nullFragsAreZero = params$null_frags_are_zero)
f <- sf::st_as_sf(
  x,
  crs = "OGC:CRS84",
  na.fail = FALSE,
  coords = c("longstddecimaldegrees", "latstddecimaldegrees")
)

cat("Loaded", nrow(f), "sites from NASIS", paste0("(selected set: ", params$selected_set, ")"))

if (nchar(params$ssa_filter) > 0) {
  ssas <- toupper(trimws(strsplit(params$ssa_filter, ",")[[1]]))

  ssa_b <- soilDB::fetchSDA_spatial(ssas, by.col = "areasymbol", geom.src = "sapolygon")

  if (!is.null(ssa_b) && !inherits(ssa_b, 'try-error')) {
    f <- subset(f, as.logical(sf::st_intersects(f, ssa_b)))
  }
  cat("\n\nFiltered to", nrow(f), "sites in ", params$ssa_filter)
}
st_write(f, params$output_path, append = FALSE)


ncss-tech/soilReports documentation built on April 25, 2024, 1:03 a.m.