Installation
Get the stable version from CRAN:
install.packages('soilDB', dependencies = TRUE)
Get the development version from GitHub:
remotes::install_github("ncss-tech/soilDB", dependencies = FALSE, upgrade = FALSE, build = FALSE)
soilDB 2.6.0
Notices on Database Interfaces
NASIS
- low-level functions return empty
data.frame
objects when local database (or selected set) is empty
-
fetchNASIS()
is now a wrapper around pedon and component “fetch” functions
-
uncode()
is now used in all queries to local NASIS database
Soil Data Access (SDA)
-
SDA_query
returns a try-error
for queries with invalid syntax or on network error; empty results are an empty data.frame()
-
fetchSDA_spatial
can return STATSGO gsmmupolygon
or Soil Survey Area sapolygon
data; and can join to the legend
table
Functions by Data Source
- SDA
- SSURGO Local Geodatabases
- NASIS local database
- ROSETTA
- SSURGO/KSSL via SoilWeb
- NASIS WWW interface
- SCAN/SNOTEL
- Henry Mount Soil and Water Database
- SoilGrids
Tutorials and Demonstrations
Examples
Load Soil Packages
library(aqp)
library(soilDB)
library(sharpshootR)
Get Official Series Description Data
# get morphology + extended summaries
soils <- c('cecil', 'altavista', 'lloyd', 'wickham', 'woodbridge', 'chewacla', 'congaree')
s <- fetchOSD(soils, extended = TRUE)
Visualize Soil-Landscape Relationships
# viz of hillslope position, from SSURGO component records
res <- vizHillslopePosition(s$hillpos, annotation.cex = 0.9)
print(res$fig)

Make Profile Sketches
par(mar = c(0, 1, 0, 4), xpd = NA)
plotSPC(
s$SPC,
plot.order = res$order,
cex.names = 1,
axis.line.offset = -0.1,
width = 0.2
)

Identify Tabular “Siblings”
s <- 'Amador'
amador <- siblings(s, only.major = FALSE, component.data = TRUE)
# limit to named soil series
sib.data <- subset(amador$sib.data, !compkind %in% c('Miscellaneous area', 'Family', 'Taxon above family'))
# get parsed OSD records
sibs <- fetchOSD(c(s, unique(amador$sib$sibling)), extended = TRUE)
Plot Dendrograms with Taxonomic Relationships
# invert colors
par(mar = c(0, 0, 0, 0),
fg = 'white',
bg = 'black')
SoilTaxonomyDendrogram(
sibs$SPC,
dend.width = 1.5,
y.offset = 0.4,
scaling.factor = 0.02,
width = 0.2,
cex.taxon.labels = 1,
cex.names = 1
)

Dependency Graph
