Fetch commonly used site/pedon/horizon data or component from NASIS, returned as a SoilProfileCollection object.
fetchNASIS(from = 'pedons', url = NULL, SS=TRUE, rmHzErrors=TRUE, nullFragsAreZero=TRUE,
soilColorState='moist', lab=FALSE, fill = FALSE,
stringsAsFactors = default.stringsAsFactors()
)getHzErrorsNASIS(strict=TRUE)
determines what objects should fetched? ('pedons' | 'components' | 'pedon_report')
string specifying the url for the NASIS pedon_report (default: NULL)
fetch data from the currently loaded selected set in NASIS or from the entire local database (default: TRUE)
logical: should character vectors be converted to factors? This argument is passed to the uncode() function. It does not convert those vectors that have been set outside of uncode() (i.e. hard coded). The 'factory-fresh' default is TRUE, but this can be changed by setting options(stringsAsFactors = FALSE)
should pedons with horizonation errors be removed from the results? (default: TRUE)
should fragment volumes of NULL be interpreted as 0? (default: TRUE), see details
which colors should be used to generate the convenience field 'soil_color'? ('moist' | 'dry')
should the phlabresults child table be fetched with site/pedon/horizon data (default: FALSE)
(fetchNASIS(from='components') only: include component records without horizon data in result? (default: FALSE)
how strict should horizon boundaries be checked for consistency: TRUE=more | FALSE=less
a SoilProfileCollection class object
This function imports data from NASIS into R as a SoilProfileCollection object. It "flattens" NASIS pedon and component tables, including their child tables, into several more easily manageable data frames. Primarily these functions access the local NASIS database using an ODBC connection. However using the fetchNASIS() argument from = "pedon_report", data can be read from the NASIS Report 'fetchNASIS', as either a txt file or url. The primary purpose of fetchNASIS(from = "pedon_report") is to facilitate importing datasets larger than 8000+ pedons/components.
The value of nullFragsAreZero will have a significant impact on the rock fragment fractions returned by fetchNASIS. Set nullFragsAreZero = FALSE in those cases where there are many data-gaps and NULL rock fragment values should be interpreted as NULLs. Set nullFragsAreZero = TRUE in those cases where NULL rock fragment values should be interpreted as 0.
This function attempts to do most of the boilerplate work when extracting site/pedon/horizon or component data from a local NASIS database. Pedons that are missing horizon data, or have errors in their horizonation are excluded from the returned object, however, their IDs are printed on the console. Pedons with combination horizons (e.g. B/C) are erroneously marked as errors due to the way in which they are stored in NASIS as two overlapping horizon records.
See getHzErrorsNASIS for a simple approach to identifying pedons with problematic horizonation.
See the NASIS component tutorial, and NASIS pedon tutorial for more information.