fetchOSD {soilDB} | R Documentation |
Get Official Series Descriptions and summaries from SoilWeb API
Description
This function fetches a variety of data associated with named soil series, extracted from the USDA-NRCS Official Series Description text files and detailed soil survey (SSURGO). These data are updated quarterly and made available via SoilWeb. Set extended = TRUE
and see the soilweb.metadata
list element for information on when the source data were last updated.
Usage
fetchOSD(soils, colorState = "moist", extended = FALSE)
Arguments
soils |
a character vector of named soil series; case-insensitive |
colorState |
color state for horizon soil color visualization: "moist" or "dry" |
extended |
if |
Details
The standard set of "site" and "horizon" data are returned as a SoilProfileCollection
object (extended = FALSE
). The "extended" suite of summary data can be requested by setting extended = TRUE
. The resulting object will be a list
with the following elements:
- SPC
SoilProfileCollection
containing standards "site" and "horizon" data- competing
competing soil series from the SC database snapshot
- geog_assoc_soils
geographically associated soils, extracted from named section in the OSD
- geomcomp
empirical probabilities for geomorphic component, derived from the current SSURGO snapshot
- hillpos
empirical probabilities for hillslope position, derived from the current SSURGO snapshot
- mtnpos
empirical probabilities for mountain slope position, derived from the current SSURGO snapshot
- terrace
empirical probabilities for river terrace position, derived from the current SSURGO snapshot
- flats
empirical probabilities for flat landscapes, derived from the current SSURGO snapshot
- shape_across
empirical probabilities for surface shape (across-slope) from the current SSURGO snapshot
- shape_down
empirical probabilities for surface shape (down-slope) from the current SSURGO snapshot
- pmkind
empirical probabilities for parent material kind, derived from the current SSURGO snapshot
- pmorigin
empirical probabilities for parent material origin, derived from the current SSURGO snapshot
- mlra
empirical MLRA membership values, derived from the current SSURGO snapshot
- ecoclassid
area cross-tabulation of ecoclassid by soil series name, derived from the current SSURGO snapshot, major components only
- climate
experimental climate summaries from PRISM stack (CONUS only)
- NCCPI
select quantiles of NCCPI and Irrigated NCCPI, derived from the current SSURGO snapshot
- metadata
metadata associated with SoilWeb cached summaries
When using extended = TRUE
, there are a couple of scenarios in which series morphology contained in SPC
do not fully match records in the associated series summary tables (e.g. competing
).
- 1. A query for soil series that exist entirely outside of CONUS (e.g. PALAU).
- Climate summaries are empty
data.frames
because these summaries are currently generated from PRISM. We are working on a solution that uses DAYMET.- 2. A query for data within CONUS, but OSD morphology missing due to parsing error (e.g. formatting, typos).
- Extended summaries are present but morphology missing from
SPC
. A warning is issued.
These last two cases are problematic for analysis that makes use of morphology and extended data, such as outlined in this tutorial on competing soil series.
Value
a SoilProfileCollection
object containing basic soil morphology and taxonomic information.
Note
Requests to the SoilWeb API are split into batches of 100 series names from soils
via makeChunks()
.
Author(s)
D.E. Beaudette, A.G. Brown
References
USDA-NRCS OSD search tools: https://soilseries.sc.egov.usda.gov/
See Also
Examples
library(aqp)
# soils of interest
s.list <- c('musick', 'cecil', 'drummer', 'amador', 'pentz',
'reiff', 'san joaquin', 'montpellier', 'grangeville', 'pollasky', 'ramona')
# fetch and convert data into an SPC
s.moist <- fetchOSD(s.list, colorState='moist')
s.dry <- fetchOSD(s.list, colorState='dry')
# plot profiles
# moist soil colors
par(mar=c(0,0,0,0), mfrow=c(2,1))
plot(s.moist, name='hzname',
cex.names=0.85, axis.line.offset=-4)
plot(s.dry, name='hzname',
cex.names=0.85, axis.line.offset=-4)
# extended mode: return a list with SPC + summary tables
x <- fetchOSD(s.list, extended = TRUE, colorState = 'dry')
par(mar=c(0,0,1,1))
plot(x$SPC)
str(x, 1)