fetchNASIS()
andget_site_data_from_NASIS_db()
now return Ecological Site State and Community Phase information (ecostatename, ecostateid, commphasename, commphaseid columns) from Site Observation tablecreateStaticNASIS()
removed workaround for {odbc}/nanoodbc VARCHAR(MAX) columns; now can directly useDBI::dbReadTable()
for all tables via NASIS ODBC connectionfetchNASIS()
changed default behavior tomixColors = FALSE
which returns dominant condition for each moisture state rather than mixing LAB color coordinatesget_colors_from_NASIS_db()
deprecatemixColors
argument, addmethod
argument with options "dominant", "mixed", and "none". New aggregation method"none"
returns long format representation of color data from phcolor table with no aggregation applied.
fetchLDM()
add support forarea_type
argument with local database connections (dsn
argument)fetchSCAN()
updates:- Improved SCAN, CSCAN, SNOTEL, SNOWLITE station metadata (#61) via @jskovlin
- Timezone support for hourly data requested by
fetchSCAN()
(#184) - All above-ground sensors are now returned, instead of just the first of each type (#359)
- Added new help file on NASIS database sources; see
?NASISLocalDatabase
(#360) get_SDA_*()
function updates related to consistent parameters for miscellaneous areas and minor components (#361)fetchSOLUS()
: New function for downloading data from Soil Landscapes of the United States 100-meter (SOLUS100) soil property maps project repository (#362)fetchNASIS()
more consistent QC messages and output for multiple site observations and lab samples- Updated SoilProfileCollection data sets (
loafercreek
,gopheridge
,mineralKing
) for aqp 2.1.x object definition and recent changes tofetchNASIS()
(#363)
createSSURGO()
bug fixes following changes in 2.8.3- generating
gpkg_contents
for GeoPackage files failed to add entries for "features" data_type filename
argument not properly handled in some cases
- generating
SDA_query()
handle another possible failure point in error handling codecreateStaticNASIS()
useodbc::dbListFields()
instead ofodbc::odbcConnectionColumns()
- Updates to SoilWeb web coverage services
- ISSR800 authoritative grid system altered slightly
ISSR800.wcs()
andsoilColor.wcs()
now set color table internally when possible- updated source data: ISSR800 (FY24) and soil color (FY23)
SDA_query()
updates- Better messaging on error
- Handle try-error result more gracefully in high-level functions (#352)
createSSURGO()
: added support for creating DuckDB, PostgreSQL, and other DBI-compatible databases (#352) viaconn
argumentfetchSDA()
andget_chorizon_from_SDA()
concatenate multipletexcl
using a comma when a texture group contains multiple texture classes (e.g. stratified textures) (fixes #353)fetchNASIS()
/.formatLandformString()
: appendgeomfmod
column to landscape, landform, and microfeature strings where present; thanks to Gabriel Benitez for suggestionfetchNASIS()
/get_extended_data_from_NASIS_db()
: fix conversion of codes to labels for microrelieffetchSCAN()
: fix header format; thanks to @dschlaep for reporting and providing a fix
- SoilWeb Web Coverage Service MUKEY grid data source (used for
mukey.wcs()
) and metadata have been updated for FY2024- Note that ISSR800 WCS (
ISSR800.wcs()
source) is still using FY2023/FY2022 data
- Note that ISSR800 WCS (
get_SDA_coecoclass()
default data returned for methods "Dominant Component", "Dominant Condition" and "None" now includelocalphase
columnget_soilseries_from_NASIS()
andget_competing_soilseries_from_NASIS()
: addSS
argument for parity with all other NASIS "get" methods- default to
FALSE
for backward compatibility/common use cases
- default to
get_site_data_from_NASIS_db()
gains Frost Free Days, MAP, REAP, MAAT, MAST, MSAT, MSST, MWAT, MWST, and Parent Material Group Name; thanks to Zach Van Abbema for suggestion- Changes in column names related to Area table /
"areasymbol"
(#272); thanks to Zach Van Abbema for suggestionget_site_data_from_NASIS_db()
: Add state, county, and MLRA areasymbol references ("site_state"
,"site_county"
,"site_mlra"
)get_mapunit_from_NASIS_db()
: Add dominant MLRA areasymbol reference column"lmapunit_mlra"
get_soilseries_from_NASIS()
: replaceareasymbol
column to use relationship-style name"soilseries_typelocst"
(minor breaking change)
fetchSDA_spatial()
: Add support for querying mapunit point ("mupoint"
), mapunit line ("muline"
), special feature point ("featpoint"
), special feature line ("featline"
) bymukey
orfeatkey
, geometry type selectable viageom.src
argumentSDA_spatialQuery()
: Add support for querying mapunit point ("mupoint"
), mapunit line ("muline"
), special feature point ("featpoint"
), special feature line ("featline"
) for a spatial extent, geometry type selectable viawhat
argumentsimplifyFragmentData()
/simplifyArtifactData()
efficiency improvement when all records are missing data
get_mapunit_from_NASIS()
,get_lmuaoverlap_from_NASIS()
andget_legend_from_NASIS()
gainareatypename
argument used for filtering legends byareatypename
.- Default results include
"Non-MLRA Soil Survey Area"
and"MLRA Soil Survey Area"
. Set toNULL
for no filter.
- Default results include
- Fixed bugs in
waterDayYear()
andsummarizeSoilTemperature()
for leap years (#333) fetchSoilGrids()
upgrades- Fixed a bug with
data.frame
output - Requests for more than 5 sites now include a call to
Sys.sleep()
to conform with ISRIC "Fair Use" policy - Upgraded SoilProfileCollection spatial promotion for aqp 2.0+
- Added 10 kPa, 33 kPa and 1500 kPa water content estimates to default variable sets for point and grid queries
- Fixed a bug with
fetchSDA_spatial()
gains ability to query mapunit delineations by Ecological Site ID (by.col="ecoclassid"
)get_SDA_coecoclass()
defaultecoclasstypename
is nowc("NRCS Rangeland Site", "NRCS Forestland Site")
, as this is the most common type of aggregation and is least prone to producing unusual composition-related errors due to duplications- Fixed bug related to merging tables/integer data type
- Fixed bug in calculation of "Not assigned" fraction of mapunits which could result in negative aggregate component percentages below the default threshold
- Minimum {aqp} version set to v2.0.2. This is due to changes in the namespace related to
aqp::col2Munsell()
, to "encourage" users to update to the more efficient routines provided in {aqp} 2+ (if they haven't already), and prepare for future updates in the 2.x series. - Fix bugs in
get_SDA_interpretation()
whendsn
refers to a local SQLite source and in concatenation of reason string whenwide_reason=TRUE
createSSURGO()
updates:- Breaking change: Now uses the standard SSURGO layer names for spatial data (e.g.
"mupolygon"
rather than"soilmu_a"
). - Creates indices for foreign keys and other columns important for data analysis, dramatically improving the performance of standard queries on SQLite sources.
- Now works properly on STATSGO data sets for individual states or CONUS. Previously tabular data would be transferred but spatial data were not.
- Breaking change: Now uses the standard SSURGO layer names for spatial data (e.g.
downloadSSURGO()
gainsdb
argument which gives ability to download STATSGO by state or all of US from Web Soil Survey. Thanks to Meghan Krueger for suggestion.get_SDA_property()
: weighted average/dominant component numeric methods now returnmukey
in first column position; for parity with otherget_SDA*
methods recently updated/already doing this, making it easier to use these columns for raster attribute tables viaterra::set.levels()
fetchNASIS(lab=TRUE)
fixed a bug when multiplephlabresults
records are present for a single horizon, but one or both is missing bottom depth. Thanks to Meyer Bohn (@MollicMeyer) for reporting.- SoilProfileCollection objects now include a time stamp in their metadata, accessed as:
metadata(x)$created
(#235) - Added
area_type
argument tofetchLDM()
for non-SSA area queries (#328) - Added
grid
argument tofetchSoilGrids()
for downloading Cloud-Optimized GeoTIFF subsets for spatial extent (#329) fetchOSD()
now automatically batches requests into sets of 100 series, allowing arbitrarily large requests to be made (#239)
-
fetchSDA_spatial()
gainsgeom.src="mlrapolygon"
for obtaining Major Land Resource Area (MLRA) polygon boundaries. When using this geometry sourcex
is a vector ofMLRARSYM
(MLRA Symbols).- The geometry source is the MLRA Geographic Database v5.2 (2022) which is not (yet) part of Soil Data Access. Instead of SDA, GDAL utilities are used to read a zipped ESRI Shapefile from a remote URL: https://www.nrcs.usda.gov/sites/default/files/2022-10/MLRA_52_2022.zip. Therefore, most additional
fetchSDA_spatial()
arguments are not currently supported for the MLRA geometry source. In the future amlrapolygon
table may be added to SDA (analogous tomupolygon
andsapolygon
), and the function will be updated accordingly at that time.
- The geometry source is the MLRA Geographic Database v5.2 (2022) which is not (yet) part of Soil Data Access. Instead of SDA, GDAL utilities are used to read a zipped ESRI Shapefile from a remote URL: https://www.nrcs.usda.gov/sites/default/files/2022-10/MLRA_52_2022.zip. Therefore, most additional
-
Web coverage services and related raster attribute tables provided by SoilWeb (
mukey.wcs()
etc.) are now using the SoilWeb load-balancer URL -
get_SDA_coecoclass()
gainsmethod="all"
for aggregating information about ecological sites and related components. The method performs a condition-based aggregation for each ecological site condition in the map unit, producing a "wide" data.frame result with as many columns as needed to portray all site conditions. -
fetchLDM()
gains new argumentWHERE
for supplying a custom SQL where clause for selecting sites of interest. For example:fetchLDM(WHERE = "CASE WHEN corr_name IS NOT NULL THEN LOWER(corr_name) ELSE LOWER(samp_name) END = 'musick'")
- Added new
method
options forfetchSDA_spatial()
. Aggregation grouping is controlled by theby.col
argument. This works for mapunit and survey area polygon geometries, aggregating all polygons in the group for eachmukey
,nationalmusym
,lkey
, orareasymbol
extent.method="extent"
method calculates a bounding rectanglemethod="convexhull"
calculates the convex hullmethod="union"
returns a MULTIPOLYGONmethod="collection"
returns a GEOMETRYCOLLECTION
-
Bug fix for
get_vegplot_transpoints_from_NASIS_db()
; using wrong record ID for transect points -
get_NASIS_table_name_by_purpose()
now includes"pointplantcoverdetails"
,"plantprodquadratdetails"
in the"vegetation"
table purpose group
-
Added new SoilWeb "Web Coverage Service" vignette (https://ncss-tech.github.io/soilDB/articles/wcs-ssurgo.html) related to creating thematic maps using grids of mapunit keys from SoilWeb with aggregated tabular data from Soil Data Access.
-
get_SDA_*()
functions now all returnmukey
values in first column -
mukey.wcs()
gains a 30m gridded version of Hawaii and Puerto Rico SSURGO data viadb="HI_SSURGO"
anddb="PR_SSURGO"
, respectively. -
get_vegplot_data_from_NASIS_db()
: now uses LEFT join to plant table so that empty records can be diagnosed; thanks to @natearoe for suggestion -
Added new NASIS query functions for vegetation transect point and quadrat details:
get_vegplot_prodquadrats_from_NASIS_db()
andget_vegplot_transpoints_from_NASIS_db()
-
get_SDA_property(method="Dominant Component (Numeric)")
now includes minors by default, fixing issues with STATSGO mapunits that have no major components flagged. (@dylanbeaudette) -
get_component_data_from_NASIS_db()
: removed duplicatedhydricrating
column, also now includes climate columns with standard names. This is a continuation of the idea that custom aliases for standard NASIS columns are deprecated (#242) -
.pickBestEcosite()
now considersrecord_when_last_updated
in lieu of correlation date; this stabilizes sort order from SQLite snapshot v.s. NASIS local database sources (#295) -
get_component_from_GDB()
: fixes for batching over component geomorphic description and parent material group -
get_mapunit_from_SDA()
: handle possibility of mapunit-level SDA query failure
-
fetchNASIS(from="pedons")
andget_site_data_from_NASIS_db()
now returnsiteobsiid
column (@natearoe) -
mukey.wcs()
gains experimental gridded STATSGO layer (300m) -
Add
get_NASIS_table_metadata()
for returning information about columns in NASIS tables. -
simplifyFragment/ArtifactData()
: downgrade warnings -
get_cosoilmoist_from_SDA()
:mukey
andcokey
now included whenduplicates=TRUE
; thanks to @andypaolucci for catching this -
fetchSoilGrids()
-
Add
SpatVector
coercion for input locations (already supported sf/sp classes) -
Add handling for messages from API about erroneous input
-
-
Add
fetchNASIS("pedons")
columns vignette -
Add
get_NASIS_table_metadata()
and optional argumentinclude_description
forget_NASIS_metadata()
andget_NASIS_column_metadata()
-
get_SDA_cosurfmorph()
+get_SDA_pmgroupname()
: support for including or excluding misc. areas viamiscellaneous_areas
argument -
get_site_data_from_NASIS_db()
:-
Omit "multiple horizontal datums" warning
-
Remove calculated X/Y long/lat + add proper NASIS alias for long/lat
-
Add
siteothvegclass
id/name - add tables to default lookup/site sets
-
-
dbQueryNASIS(..., close=TRUE)
now callsdbDisconnect()
on.exit()
(ensuring connections get closed on error) -
fetchSCAN()
:-
2x requests when
timeseries
argument not specified -
Account for no results (e.g. year = 1800)
-
Bug fix in vectorization when daily + hourly data requested
-
-
downloadSSURGO()
:-
Handle
SDA_query()
with invalid syntax inWHERE
clause -
Fix for
include_template=FALSE
-
-
createSSURGO()
- Attribute tables are now added to
gpkg_contents
when outputfilename
is a GeoPackage
- Attribute tables are now added to
-
Fix for
.get_comonth_from_SDA()
-
Fix selected set (
SS
argument) forget_ecosite_history_from_NASIS_db()
inget_site_data_from_NASIS_db()
-
get_SDA_pmgroupname
: returnNA
(not "NULL") for empty/missingpmgroupname
whensimplify=TRUE
-
SDA_spatialQuery()
:-
geomIntersection=TRUE
withdb="SAPOLYGON"
now correctly labels theareasymbol
column (previously wasmukey
) to matchgeomIntersection=FALSE
and SDA schema -
Bounding box extent polygons are now only calculated for
SpatRaster
(notSpatVector
) input
-
-
All references to
soilDB.env
have been replaced with a function that returns that environment object (get_soilDB_env()
); thanks to @MollicMeyer for identifying this as a problem in #277. This object used to be exported but was unintentionally omitted from NAMESPACE; this has been fixed. -
fetchNASIS(lab=TRUE)
bug fix related to many:1 relationships between lab samples and morphologic horizons with all-missing columns having logical datatype (#277) -
Added
get_SRI()
andfetchSRI()
functions for accessing USFS Region 6 Soil Resource Inventory information from https://ecoshare.info/; thanks to @joshualerickson for the contribution (#274) -
fetchLDM()
now sets the horizon designation metadata like other fetch* functions that return SoilProfileCollection objects (@dylanbeaudette) -
mukey.wcs()
fix spurious warnings occasionally given due to minor differences (rounding) of grid dimensions -
{curl} has been moved from Suggests to Imports
-
simplfyFragmentData()
alias forsimplifyFragmentData()
removed (@infotroph)
-
Updates to SSURGO File Geodatabase functions (
fetchGDB()
and related) by @smroecker -
Added
soilColor.wcs()
to access a web coverage service for soil color at various depths by @dylanbeaudette -
waterDayYear()
: fix for CRAN and different timezones; now defaults totz="UTC"
#268summarizeSoilTemperature()
: set default timezone totz="UTC"
-
Fix for
uncode()
on pre-decoded values when ChoiceName and ChoiceLabel overlap #273- Fix for
NASISChoiceList()
related to #273
- Fix for
-
get_soilseries_from_NASIS()
: Removeareaacres
andobterm
for #272 by @smroecker -
Fix for
get_OSD(..., fix_ocr_errors = TRUE)
with empty typical profile for #271 by @dylanbeaudette -
fetchNASIS()
drops non-representative and additional whendropNotRepresentative
/dropAdditional
are set (@natearoe) -
Fix for
as.POSIXct()
in R 4.3+; for #265 -
Fix for "status was 'SSL connect error" for
fetchKSSL()
and other functions that download JSON (@kramdog)- Now uses standard soilDB {curl} handle, which includes a longer timeout and
ssl_verifyhost=0
- Now uses standard soilDB {curl} handle, which includes a longer timeout and
-
Fixes for compatibility with {jsonlite} >1.8.1 that now uses {base} rather than {curl}
-
Update row count expectations for end of FY22 SSURGO refresh
-
uncode()
replaced\(x)
syntax inadvertently included in a recent update to fix R < 4.1 compatibility; thanks to @cbrueffer for catching this (#262)! -
get_SDA_property()
fixes for weighted average method (#229, #261) -
fetchOSD()
now automatically encodes horizon distinctness codes to default depth offsets, stored in hz-level attr:hzd
-
get_SDA_property()
all methods now supportmiscellaneous_areas
argument. This defaults toFALSE
for the methods it was previously implemented for--so be aware that queries using"Dominant Component"
or"Dominant Condition"
(which previously did not respond tomiscellaneous_areas
) may have the number of rows in result reduced due to omission of miscellaneous land types. If this is unexpected or undesired, please usemiscellaneous_areas=TRUE
. (#257) -
Adds
get_NASIS_metadata()
and helper methodget_NASIS_column_metadata()
and other new tools for working withuncode()
, factors and NASIS metadata cached in the package. -
Bug fix for
get_cosoilmoist_from_SDA()
; thanks to Monika Shea @monikashea for reporting the problem (#253) -
fetchNASIS_report()
now works with the output from"get_site_from_NASIS"
report (useful for site records without associated pedons) -
createSSURGO()
gains argumentsquiet
andinclude_spatial
to toggle messages and inclusion of spatial data in created SQLite database, respectively -
downloadSSURGO()
now handles queries againstsacatalog
that return no results more gracefully -
get_OSD()
: Addfix_ocr_errors
argument forresult='json'
to fix common optical character recognition errors associated with horizon designations and colors (NOTE: does NOT fix depths) -
fetchSCAN()
gainstimeseries
argument to support batch downloads of hourly data. Additional arguments (...
) are passed as a raw request, allowing other parameters sent in request to be modified if needed, and bypassing batch functionality. This is similar to thereq
argument syntax used in earlier versions of this function, which had been deprecated for some time now. Thanks to Matthew Morriss for raising the discussion item @morrismc99 (#260). -
{curl} moved from Suggests to Imports;
curl::curl_download()
is now used instead ofutils::download.file()
because it seems to handle SSL certificates better on some networks.
-
fetchNASIS("components')
: Fix and refactor ( breaking change from 2.7.1, which introduced a bug/inconsistency) of recent change;duplicates
argument is now required to merge in data from mapunit/legend tables (where many:1 relationships between legend/mapunit and datamapunit are possible). In 2.7.1 possibly incomplete mapunit/legend tables could be joined to SoilProfileCollection result (if and only if the tables were populated in selected set/local DB). Does not change historic (<=2.7.0) default behavior. Thanks to @dylanbeaudette for suggesting use ofget_component_correlation_data_from_NASIS_db()
here. -
Several fixes for Roxygen documentation (notably for
ROSETTA()
and various NASIS web report related functions) that were missing@export
tags. Several previously-exported functions missed being explicitly exported in the new Roxygen-generate NAMESPACE. These unintentional omissions from 2.7.1 NAMESPACE have been resolved. -
Fixes an old bug in
fetchSDA()
/get_chorizon_from_SDA()
related to LEFT OUTER versus RIGHT JOIN tochtexture
table
get_SDA_coecoclass()
better handling ofNULL
ecoclassref
; support for filtering onecoclasstypename
;not_assigned_value
now applies toecoclassname
,ecoclasstypename
andecoclassref
columns in addition toecoclassid
; Thanks to Andy Paolucci and Jason Nemecek. Also, added additional columns from legend/mapunit tables (areasymbol
,lkey
,muname
).fetchNASIS(from="components")
now returns mapunit and legend information (if loaded in local NASIS database); results now containmustatus
andrepdmu
which can be used to remove components from additional mapunits and non-representative data mapunits; thanks to Nathan Roe- Convert UTF-8 strings in
us_ss_timeline
result to ASCII SDA_query()
: Fixed POST request that could produce unhandled errors on network failure (now returnstry-error
like other error-causing code)SDA_query()
: In the event of a syntax error, error contents are now returned as a message, not a warning.uncode()
andcode()
now work withdata.table
andtibble
objects.- Various fixes to tests and error handling code to reduce likelihood of thrown errors from network problems or missing suggested packages.
- Spatial
- Dropped imports from
sp
andraster
which meanssoilDB
no longer requires the soon-to-retirergdal
package. - All spatial data processing has been moved to
sf
andterra
, which have been added to Suggests.- (breaking change) Classes from these packages (e.g.
sf
,SpatRaster
) will be returned by default rather thanSpatial*DataFrame
orRasterLayer
fromsp
andraster
. - (breaking change) Spatial functions that take spatial input will return the same class type as the input unless otherwise specified.
fetchSDA_spatial()
andSDA_spatialQuery()
gainas_Spatial
argument; whenTRUE
equivalent (backward compatible)sp
andraster
data types are returned.- Alternately, you may set
options(soilDB.return_Spatial=TRUE)
- (breaking change) Classes from these packages (e.g.
mukey.wcs()
andISSR800.wcs()
bug fix for some instances where the target extent was miscalculated, resulting in slight differences from requested resolution (res
argument) of result.mukey.wcs()
gains a new possible data sourcedb="RSS"
which accesses a Web Coverage Service containing grids from Raster Soil Surveys in the United States.- See: #229 for more details on what has changed.
- Dropped imports from
- NASIS
- (breaking change)
rmHzErrors
argument now defaults toFALSE
. Please let us know if allowing horizon errors results in unexpected behavior so we can repair various interfaces that rely on no errors being present. Seeaqp::checkHzDepthLogic()
for more information on the types of things that used to result in profiles being removed from results and for guidelines on how to fix. - Added several new columns from the
plotplantinventory
table toget_vegplot_species_from_NASIS_db()
result; thanks to Zachary Van Abbema for suggestion and feedback - Local NASIS metadata used for
uncode()
are now cached within an R session which results in faster query processing times for users with a local NASIS database connection set up.- The
db
argument touncode()
has been deprecated. Now,code()
anduncode()
can useChoiceName
and/orChoiceLabel
in coding and decodingChoiceValue
for all data sources.
- The
- Rock fragment and artifact sieving now uses <76mm as the upper boundary for gravel fraction, and a related QC message has been removed
- (breaking change)
- SSURGO / Soil Data Access
- Added
get_SDA_cosurfmorph()
: a new function in "SSURGO On Demand" style. Users can customize the WHERE clause, target tables and the grouping variable used to calculate proportions (defaultby="compname"
)- "cosurfmorphgc" summarizes "geomposmntn", "geomposhill", "geomposflats", "geompostrce"
- "cosurfmorphhpp" summarizes "hillslopeprof"
- "cosurfmorphss" summarizes "shapeacross", "shapedown", and concatenated "surfaceshape"
- Several fixes for logic of
get_SDA_property()
withmethod="weighted average"
andinclude_minors=TRUE
/miscellaneous_areas=TRUE
, thanks to Andy Paolucci and Dylan Beaudette for testing and providing feedback on the queries. - All
get_SDA_*()
methods (exceptget_SDA_metrics()
) now support input of customWHERE
clause in lieu ofmukeys
/areasymbols
arguments and gain adsn
argument for specifying a local SQLite database or DBIConnection. - Added
downloadSSURGO()
for downloading/extraction of the SSURGO data by survey area from Web Soil Survey. - Added
createSSURGO()
for building of local databases as SQLite/Geopackage from one or more SSURGO exports.- Exports can be obtained via
downloadSSURGO()
, from NASIS or downloaded from other sources such as https://datagateway.nrcs.usda.gov/GDGHome_DirectDownLoad.aspx.
- Exports can be obtained via
- Added
fetchNASIS()
- New
mixColors
argument used to toggle color mixing for pedon horizons with multiple colors per moisture state.- Default
TRUE
mixes colors based on reported color percentage viaestimateColorMixture()
.FALSE
returns the dominant color in each moisture state, or first record for cases withoutcolorpct
populated.
- Default
- Added
taxreaction
andtaxfamhahatmatcl
to extended taxonomic information - Added new option (
soilDB.NASIS.skip_uncode
) to bypassuncode()
in NASIS functions (mostly used for debugging or special database instances that come pre-decoded) - An instance in
fetchNASIS(from="components")
where local database connection was left open was fixed
- New
- Added
fetchLDM()
function to access Kellogg Soil Survey Lab Data Mart via Soil Data Access or local SQLite snapshot (#243) - Added
get_SDA_metrics()
for accessing usage metrics for Soil Data Access, Web Soil Survey and the Lab Data Mart. Thanks to Jason Nemecek for submitting the base SQL query get_SDA_interpretation(method = "dominant condition")
now includestotal_comppct_*
columns reflecting the summed component percentage of the dominant condition- Updated metadata for SCAN sites that were missing
pedlabsampnum
(KSSL Pedon Sample ID)
waterYearDay()
bug fix for more specific (sub-daily) date-time formatsfetchSCAN()
better handling of empty results in multi-site queries- Updates to queries, metadata and sample datasets for NASIS 7.4.1 Database Model
fetchNASIS("pedons")
no longer includespmweathering
fetchNASIS("components")
no longer includesecositeorigin
- New Component Ecological Site attributes added
stringsAsFactors
argument to soilDB functions has been deprecated in favor of a package option- Default behavior for NASIS domains is to return character labels rather than coded factors
- Use
NASISDomainsAsFactor(TRUE)
to toggle package optionsoilDB.NASIS.DomainsAsFactor
fetchSDA_spatial
now supportsby.col
"areaname"
,"mlraoffice"
, and"mouagencyresp"
; thanks to suggestion by Jay SkovlinfetchNASIS
fix for multiple site observation records with surface fragments; thanks to bug report from Brianna WegnerwaterYearDay()
use format and timezone for start date conversionfetchNASIS
fix forfrom="components", SS=FALSE
and queries where no NASIS local database is present (e.g. from SQLite source)- Update to
NASIS_table_column_keys
dataset of NASIS primary and foreign keys by table name to include many more tables fetchVegdata()
no longer errors for child table queries unless site/site observation/vegetation plot records are missingfetchOSD(extended=TRUE)
now returns an element"NCCPI"
containing the National Commodity Crop Production Index summaries. The values returned are quantiles at the 1, 5, 25, 50, 75, 95, and 99% levels over all SSURGO components withcompname
matchingseries
for irrigated and non-irrigated condition.
get_SDA_property()
now works with mixed component and horizon-level properties; thanks to Matthieu Stigler for the bug report- Added
get_SDV_legend_elements()
for fetching and parsing XML for Soil Data Viewer / Web Soil Survey-style symbol themes for soil interpretations from Soil Data Access fetchNASIS()
pedon and component geomorphic summaries now include columns for landscape, microfeature, microrelief, 2D/3D morphometry, and slope shapefetchNASIS('pedons')
now usessimplifyFragmentData()
for surface fragments
fetchSDA()
handle NULL component-level results with an informative errorfetchSDA()
now (again) returns mapunit/legend-level information viaget_mapunit_from_NASIS()
createStaticNASIS()
and queries to SQLite NASIS snapshots now preserve date/time using RSQLite 2.2.4+ viaextended_types=TRUE
argument todbConnect()
get_soilseries_from_NASIS()
now returnssoiltaxclasslastupdated
as a date/time and stores the year in calculated columnsoiltaxclassyearlastupdated
- Added several tables to thematic groups in
get_NASIS_table_name_by_purpose()
fetchOSD()
gains surface shape proportions in extendedshape_across
andshape_down
tablesSDA_spatialQuery()
what='mukey'
now works withdb='STATSGO'
- Added metadata to
loafercreek
,gopheridge
andmineralKing
waterYearDay()
pass throughformat
argument for POSIX time conversion
waterDayYear()
and.formatDates()
allow optionalformat
andtz
argument; used for consistent POSIX time conversion in tests where date/time has granularity finer than one dayfetchSDA()
extensions for better handling of components with no horizon dataSDA_spatialQuery()
andprocessSDA_WKT()
fully use {sf}, replacing {sp} in these contextsSDA_spatialQuery()
gains argumentbyFeature
to use multiple single-feature queries and combine the results with a unique feature ID specified byidcol
argument. This allows for specific feature intersection results without secondary spatial overlay of the polygons (#222)dbConnectNASIS()
no longer requires that the NASIS credentials option be set if thedsn
argument is specified.- Rebuilt
loafercreek
,gopheridge
andmineralKing
from latestfetchNASIS()
results.
- Replaced functionality using {plyr}/{reshape2} with {base}/{data.table}
processSDA_WKT()
: replaced {rgeos} with {wk} and {sf}SDA_spatialQuery()
: addedquery_string
argumentget_SDA_property()
: fixes for MIN/MAX aggregation (#219)get_component_from_SDA()
: fragment size thresholds now conform with new (clarified) NSSH definitions
fetchNASIS()
upgrades: use data.table and base internally for data aggregationfetchNASIS("components")
now "sieves" rock fragments and human artifacts using same routines as for pedons; respectsnullFragsAreZero
argumentfetchKSSL(..., returnGeochemicalData = TRUE)
safely returns 0-lengthdata.frame
when no data available
- Removed several packages from Suggests: {gridExtra}, {ggplot2}, {viridisLite}, {mapview}, {rasterVis}
get_OSD()
: Handle "NA" and type conversion for JSON results an convert spaces to underscores for file names as neededfetchSCAN()
: graceful handling of timeout and converted from {plyr} to {data.table}; (#161, #184)get_EDIT_ecoclass_by_geoUnit()
: graceful handling of timeoutget_SDA_muaggatt()
: addquery_string
argument for parity with other "SSURGO on demand" /get_SDA_*()
functions
get_SDA_pmgroupname()
andget_SDA_hydric()
now support alternate aggregation methods.- Default for
get_SDA_pmgroupname()
is"dominant component"
, now also supports"dominant condition"
and"none"
. - Default for
get_SDA_hydric()
is a map unit level aggregation of components and assigns new classes ; now supports"dominant component"
,"dominant condition"
and"none"
- Default for
- API calls that return geometry in projected coordinates (AEA/NAD83) now use ESPG:5070 instead of EPSG:6350
fetchNASIS(from="pedons")
now supportsfill=TRUE
argument just likefrom="components"
to include pedons that have no horizon recordscreateStaticNASIS()
: column order should match NASIS, even if data types require reorder for ODBC driverfetchSoilGrids()
bug fixes, updates to metadata and references in documentation (#201)- Corrected the conversion factor used for predicted
nitrogen
values (conversion from cg/kg to g/kg) - Corrected the conversion factor used for uncertainty in
bdod
andnitrogen
(SoilGrids uncertainty layer always uses factor of 10 to create integers) - Improved error handling
- Added
progress
andverbose
arguments for text progress bar and additional message output - Added support for {sf} and {sp} POINT geometry inputs
- Corrected the conversion factor used for predicted
- Add
get_SDA_coecoclass()
SOD-style method for mapunit/component level summaries of ecological site and other vegetation class information
SDA_query()
and all functions that callSDA_query()
get proper column class handling (related to #190), however:- be careful with the use of CAST(): unknown datatypes may not be correctly interpreted
- previous column classes that were incorrectly guessed by
type.convert()
may have changed (e.g.component.wei
)
SDA_spatialQuery()
can now be used to return soil survey area symbols or geometry usingwhat="areasymbol"
orwhat="sapolygon"
, respectively- Added new columns to soil classification ("SC") table result of
get_soilseries_from_NASIS()
; now including taxonomic mineralogy class which may contain multiple parts for series with strongly contrasting control sections - Updates to
get_SDA_*()
methods- Extends
get_SDA_property(property = ...)
andget_SDA_interpretation(rulename = ...)
vectorization over property/rulename to work with any aggregation method.- Now supports: Dominant Condition, Min, Max, Dominant Component, Weighted Average
- Add
query_string
argument (default:FALSE
). Set asTRUE
to skip submitting query to SDA, instead returning a string of the query that would have been sent instead of data.frame result get_SDA_property
: better handling of NULL, miscellaneous areas, and property-specific weighting- Remove
ISNULL(x, 0)
logic that affected weighted averages in presence of missing data - Conditional calculation of horizon weights considering NULL values for requested properties (unique weights for each property)
- New default argument
include_minors=FALSE
includes only components wheremajcompflag = 'Yes'
in result - New default argument
miscellaneous_areas=FALSE
removes miscellaneous land typescompkind
values from result - Organic and bedrock layers are no longer removed from "Weighted Average", "MIN" or "MAX" aggregations
- Remove
get_SDA_interpretation
: added argument not_rated_value with default value ofNA
to set "not rated"" values across methods/queries. For backwards compatibility with original SQL usenot_rated_value = 99.0
- Standardizing MUKEY column name (and other keys) as lowercase in results
- More informative error messages for bad input / arguments inconsistent with specified method
- Extends
- Thanks to @hammerly who pointed out weighted averaging of NASIS
phlabresults
wasn't working as expected and for highlighting some more improvements (#192) get_OSD()
TXT and HTML formats now supported (in addition to JSON) through a common function interface- Added
get_NASIS_table_key_by_name()
get_NASIS_fkey_by_name()
,get_NASIS_pkeyref_by_name()
,get_NASIS_pkey_by_name()
,get_NASIS_table_name_by_purpose()
methods for helping get information on primary/foreign keys and thematic groups of NASIS tables (useful for creating SQLite/external snapshots of NASIS tables) get_mapunit_from_NASIS()
,get_legend_from_NASIS()
andget_lmuaoverlap_from_NASIS()
now works for "MLRA Survey Area"areatypename
and no longer is limited by constraints onlegendsuituse
ormustatus
- Added
formativeElement
argument totaxaExtent()
(SoilWeb taxon extent function)- "Formative elements" are derived from the dictionary provided by the {SoilTaxonomy} package (https://cran.r-project.org/package=SoilTaxonomy)
- For example:
taxaExtent("abruptic", level = 'subgroup', formativeElement = TRUE)
will get an 800m grid (for SSURGO data in CONUS) showing extent of taxa that have "abruptic" in subgroup-level taxon name
fetchNASIS(from="pedons")
result now contains the"taxclname"
(full family-level taxon name) field from the NASISpedon
table; this value is calculated based on contents ofpetaxhistory
child tableget_SDA_interpretation
andget_SDA_property
now support aggregationmethod="NONE"
allowing for returning properties, classes and ratings for individual components or horizons (#181)ISSR800.wcs
andmukey.wcs
now return a result that inherits fromtry-error
(and a message) if the Web Coverage Service query fails
- Connections to local NASIS and various MS Access databases now use
DBI
andodbc
, replacingRODBC
- New methods
dbConnectNASIS
anddbQueryNASIS
for NASIS access with read-only credentials, fetching query results, and closing the DBIConnection upon completion - NASIS methods use
dsn
argument to specify a local "static" SQLite file containing NASIS tables, or custom DBIConnection to a database with NASIS schema- Default
dsn = NULL
uses"nasis_local"
ODBC connection to local NASIS SQL Server
- Default
- Horizon depth logic checking is now done with
aqp::checkHzDepthLogic()
, powered by {data.table} - Added several new SDA query methods based on https://github.com/ncss-tech/ssurgoOnDemand by @jneme910 and @cferguso:
get_SDA_property
,get_SDA_interpretation
,get_SDA_muaggatt
,get_SDA_hydric
,get_SDA_pmgroupname
OSDquery
gets a new argument (everything
) for searching the entire documentfetchNASIS(..., rmHzErrors=TRUE)
-- spurious removals of data due to missing "extended" records.fetchNASIS
now usesaqp::horizons<-
after building a minimalSoilProfileCollection
from NASIS site and horizon tables. This allowsaqp
integrity methods to trigger where needed--preventing unintentional re-ordering or removals of "valid" horizon data.
HenryTimeLine
moved to {sharpshootR} package- new functions
mukey.wcs()
andISSR800.wcs()
for hitting web coverage service (WCS) for gSSURGO, gNATSGO, and ISSR-800 grids - new function
ROSETTA()
for accessing the new ROSETTA model API (c/o Todd Skaggs, USDA-ARS) fetchOSD(..., extended=TRUE)
gains geographically associated soils, parsed from OSD (thanks AGB)fetchSDA_spatial
now can return soil survey area polygons usinggeom.src = "sapolygon"
withx
as a vector of area symbols (areasymbol
) or legend keys (lkey
). Forsapolygon
results, themethod
andadd.field
arguments work the same as formupolygon
, only now both geometries can be returned with fields from thelegend
table.fetchSDA_spatial
now can return STATSGOgsmmupolygon
geometry withdb = "STATSGO"
; these data are linked tomapunit
and (national)legend
just likemupolygon
.
fetchNASIS
/soilDB:::.rockFragmentSieve
now uses fragment RV,soilDB:::.sieve
uses<
operator (#1)fetchKSSL(..., returnMorphologicData=TRUE)
now returns redoximorphic features by horizon- new function
taxaExtent
returns 800m gridded taxonomic grids for CONUS seriesExtent
can now return 800m gridded series extents for CONUSSDA_spatialQuery
can now retrieve SSURGO and STATSGO geometry c/o dschlaep (#141)- new import:
data.table
; beginning to implement data.table-aware methods in aqp and soilDB
- add
fetchGDB
for querying tabular data from SSURGO/gNATSGO/STATSGO File Geodatabases - add
get_NOAA_GHCND()
andget_NOAA_stations_nearXY()
for batch queries of NOAA Daily Climate Data (requires free API token) - bug fix for
fetchSDA_spatial
withchunk.size
> 1 resulting in duplicate data in result - major improvements to
fetchSDA_spatial
to handle queries that exceed JSON Serialization Limit - add
fetchSoilGrids
for point data queries to SoilGrids v2 API with SoilProfileCollection output fetchKSSL(..., returnGeochemicalData=TRUE)
now returns geochemical, optical and XRD/thermal data
- bug fixes in
fetchKSSL
related to vectorization, all arguments vectorized except forbbox
KSSL_VG_model
output cleaned-up, now returns phi -> theta function
fetchKSSL
is now fully vectorized and builds on new SoilWeb JSON API
- add
get_concentrations_from_NASIS_db()
andget_phfmp_from_NASIS_db()
for fetching Pedon Horizon Concentrations and Field Measured Properties from NASIS local database
- bug fix for
fetchNASIS(from='components', fill=TRUE, rmHzErrors=TRUE)
in context of new::hzDepthTests()
and non-uniquechiid
due toNA
values introduced byfill
- CRAN release
simplifyColorData
andmix_and_clean_colors
always use CIELAB colorspace for weighted averages, and best-available metric for transformation to Munsell notationfetchSDA_spatial
- new fetch function that simplifies getting spatial data associated with a vector ofmukey
ornationalmusym
. The function has options for customizing result attribute table and is designed to automatically usemakeChunks()
to prevent timeout on large queries.aqp::test_hz_logic
is now deprecated -- refactored affected fetch functions
- surface water depth added to
fetchNASIS_pedons()
fetchNASIS()
has @restrictions set automatically if data are populated- new function for accessing pedon RMF in local NASIS DB:
get_RMF_from_NASIS_db()
- CRAN release (https://github.com/ncss-tech/soilDB/releases/tag/2.4)
- documentation updates
- SDA_query() no longer writes temporary files, c/o suggestion from Kyle Bocinsky (#106 / #108)
- fetchOSD() gets a sanity check to protect against going over GET request limits
- makeChunks() added to util functions, useful for splitting data before sending API calls
- loafercreek, gopheridge, and mineralking sample data have been updated with valid place-holder in @sp
- bug fix for
SDA_query()
related to multi-line records (#28)
sharpshootR
added to SUGGESTSfetchHenry()
and fetchSCAN() now include water year/day (Oct 1 -- Sep 30)HenryTimeLine()
convenience function added- bug fix in
fetchOSD(..., extended=TRUE)
when no climate data available - bug fix in
SDA_query()
simplifyFragmentData()
and related functions now 4-5x fasterfetchOSD()
now returns metadata when extended=TRUE
- NAMESPACE and R CMD check fixes
- documentation updates
- soilDB now suggests
stringr
- new tests
- release to CRAN
- bug fix in
fetchNASIS()
related to conversion of NULL fragment volume to 0 fetchKSSL()
can now automatically simplify colors withsimplifyColors = TRUE
- new function for exploring soil series co-occurrence data:
siblings()
fetchOSD(..., extended=TRUE)
gets competing soil series- new tests
- removed old sample gSSURGO chunk and related documentation
- release to CRAN
- new function for spatial queries: SDA_spatialQuery(), still needs testing and documentation
fetchOSD()
gets an overhaul, new API and features
- experimental interface to SoillWeb OSD fulltext search:
OSDquery()
- numerous bug-fixes in simplifyFragmentData() see (#70)
- get_mutext_from_NASIS_db() added for extraction of map unit text notes
- CRAN release
- better bug-fix for fetchSCAN and missing data (#26)
- exposing some of the internal functionality used by fetchHenry
- added more SCAN/SNOTEL metadata (#61)
- generalized local NASIS ODBC authentication, should work on windows 7, 8, 10 #54
- bug fix for subtle change in how SCAN data are returned from webservice
- bug fix for simplifyFragmentData(, nullFragsAreZero=FALSE), still more work to do
- bug fix for simplifyFragmentData() when fragment volume > 100%
- updated
loafercreek
andgopheridge
sample datasets and manual page to reflect latest fetchNASIS
- bug fixes, manual page updates, and stabilization of NASIS interaction
- released to CRAN
- bug fix in fetchHenry(), it is now possible to query only sensor metadata
- temporary bug-fix related to SCAN data (#26)
- re-write of mix_and_clean_colors() so that color mixing happens in CIE LAB space
- re-write of SDA_query(), better error handling, support for multi-part result sets
- fetchHenry() can now access water level data, see manual page
- new function: get_comonth_from_NASIS_db() see manual page for details
- converting all URLs to 'HTTPS', addressing bugs with fetchSCAN() and associated functions
- sanity checks for fetchHenry()
- SCAN_sensor_metadata() vectorized and documented
- unique row names in SPDF returned by seriesExtent()
- converted all links to SoilWeb servers to HTTPS
- converted all NRCS web-service links to HTTPS
- fetchOSD() now returns dry colors and the source "narrative" for each horizon; function gains an argument
- fetchOSD() now returns texture class, coarse fragment modifier, pH, and pH class
- fetchSCAN() re-written, see manual pages and http://ncss-tech.github.io/AQP/soilDB/fetchSCAN-demo.html
- fetchKSSL() can now query basic morphologic data with the argument "returnMorphologicData"
- two new functions for simplifying NASIS color and fragment data:
- simplifyFragmentData()
- simplifyColorData()
- ^^^ these new functions are now used by fetchNASIS() to summarize color and fragment data (vs. SQL)
- NOTE: soilDB now uses reshape2::dcast() instead of reshape::cast()
- bug fix in colors returned by fetchNASIS(), reported by Andy Paolucci
- bug fix in SDA_query(), due to changes in httr::content. Thanks Kyle Bocinsky for the fix!
- SDA_query() now returns SQL errors generated by SDA
- new columns from NASIS site table returned by fetchNASIS()
- NASIS pedon ecosite data now returned by fetchNASIS() (c/o J. Skovlin)
- clean-up in local NASIS queries, removed extra parentheses
- NASIS component query function overhaul: previous code may be broken, details pending
- added temperature class (temp_class) field from the pedon taxonomic history table (NASIS) [addition suggested by J. Baker]
- experimental function for processing SDA queries that return geometry: processSDA_WKT()
- bug fix for poorly specified geomorphic descriptions, caused fetchNASIS() to barf
- fetchKSSL() gains new query filters, see man page
- package re-org, getting ready for soilDB 2.0:
- dropping use of
RCurl
functions in favor ofhttr
alternatives (done) - switch from
reshape
toreshape2
(pending) - possibly move some packages from SUGGESTS to IMPORTS
- dropping use of
- new spatial query helper functions for SDA
- re-named SSURGO_spatial_query() to SoilWeb_spatial_query(), this function may be phased-out due to spatial support now available in SDA
- removed MUKEYS_by_ll_bbox() function, no longer needed and web-service may be disabled at any time
- mapunit_geom_by_ll_bbox() will probably be removed in the near future with an SDA-based alternative
- KSSL data updated (server-side) to June 2015 snapshot, "site_id" column removed from fetchKSSL() results
- soilDB now imports from the
reshape
package, will transition toreshape2
with soilDB 2.0 - fetchHenry() officially added, complete with documentation
- SDA_query() undergoing some upgrades, no longer requires SSOAP / XMLSchema packages
- SSOAP / XMLSchema packages no longer in 'suggests' list
- fetchKSSL() gets an argument for downloading data by MLRA
- updated the
loafercreek
andgopheridge
sample datasets
- nullFragsAreZero argument to fetchNASIS() reset to TRUE, new documentation pending
- consolidate of messages printed when running fetchNASIS()
- introduction of new option "soilDB.verbose" (default is FALSE) for increasing the level of QC information printed
- new tutorial on fetchNASIS()
- RODBC temporarily moved from "suggested" package to "imported" package... not a good idea, reverted to "suggested"
- mix_and_clean_colors() now returns back-transformed, mixed, munsell colors
- added psctopdepth and pscbotdepth back to extended NASIS query (particle size control section depths)
- get_hz_data_from_NASIS_db() no longer assumes fragment volume of NULL = 0
- get_extended_data_from_NASIS_db() no longer assumes fragment volume of NULL = 0
- fetchNASIS() has a new argument, nullFragsAreZero=FALSE; set to TRUE for past NULL -> 0 conversion
- new internally-used function .formatLandformString() for flattening NASIS/PedonPC "landform" records
- new internally-used function .formatParentMaterialString() for flattening NASIS/PedonPC "parent material" records
- fetchNASIS() incorporates the results of these two new functions
- new function SSURGO_spatial_query() queries SSURGO data from SoilWeb (see manual page for details)
- moving most of the hard-to-install packages into
suggests
, and checking for package availability at function runtime. this will make soilDB more portable, as not every user will want or need all functionality.
- fetchNASIS() gains argument rmHzErrors to optionally retain pedons with horizonation errors. use with caution.
- loafercreek sample dataset re-created from new data
- seriesExtent() now utilizes pre-cached GeoJSON files from [http://casoilresource.lawr.ucdavis.edu/see/]
- Changes made to fetch functions to accommodate changes implemented in the NASIS 6.3 data structure
- get_site_data_from_NASIS_db(): in cases where multiple records in site-bedrock exist, retain only the most shallow
- fetchRaCA() has a new argument for querying data by rcasiteid
- SOC concentration and stock values are temporarily disabled in fetchRaCA()
- waiting for new estimates from the Soil Survey Center...
- added new function contributed by J.M. Skovlin: get_veg_from_NPS_PLOTS_db()
- bug fixes in get_extended_data_from_NASIS_db(): results from geomorph tables are now returned
- added new function fetchSCAN() for downloading soil/climate data from USDA-NRCS SCAN stations (still experimental!)
- bug fixing in fetchRaCA():
- "#" characters no longer cause errors
- duplicate IDs in source data have been fixed
- fetchRaCA() function now stable, ready for general usage
- fixed bug in fetchRaCA() function where the presence of single-quote character in horizon designation would throw and error
- new function get_copedon_from_NASIS_db(): returns basic information associated with pedons linked to component data in NASIS
- new function fetchRaCA(): gets data from the Rapid Carbon Assessment project [work in progress]
- get_site_data_from_NASIS_db() no longer has problems when more than 1 site bedrock kind is defined; only the shallowest row is returned
- fetchNASIS() is now much more efficient: faster / less memory used
- new function! fetchKSSL(): experimental interface to (most of) the KSSL data
- queries can be performed by series name or GCS bounding box
- data are delivered via CA Soil Resource Lab server
- fetchOSD() now immune to queries for non-soils
- improved efficiency in fetch* functions
- NASIS-DMU fetching functions now return more information, still not as complete as pedon-queries
- NASIS query functions now return only records from the selected set, please test older code!
- new function get_text_notes_from_NASIS_db() -- still needs proper documentation
- bug fixes to PedonPC and NASIS queries, new data elements returned by extended query functions
- SoilWeb queries via URL are now URL-encoded to allow for spaces in soil series names
- new function: fetchOSD() returns basic OSD data as a SoilProfileCollection
- speed-bump in color-fetching functions from NASIS/pedonPC
- fetchNASIS() now attempts to correct for >1 pedon/site by appending peiid to pedon_id
- new functions for getting / plotting the geographic extent of a soil series, using the SoilWeb query service: +seriesExtent() : fetches extent as a SpatialPolygonDataFrame +seriesExtentAsGmap() : fetches extent and plots on Google Maps (requires dismo package)
- updated functionality in fetchNASIS_component_data() pulls mapunit-level data as well as component-level data
- Munsell 'value' is now returned from PedonPC/NASIS fetching functions
- added a surface fragment summary "surf_frag_summary" to the results of get_extended_data_from_NASIS()
- note: this has not been ported to the related PedonPC queries
- integrated surf_frag_summary data into data returned from fetchNASIS(), stored in @site
- note: this has not been ported to the related PedonPC queries
- minor bug-fix in horizon-level rock fragment summary SQL which previously mis-classified BD as ST in some, rare cases
- note: this has not been ported to the related PedonPC queries
- site-level data: {elev, slope, aspect} are now named {elev_field, slope_field, aspect_field}
- this affects the data returned by fetchNASIS() and fetchPedonPC()
- compatible with NASIS 6.2
- bug fixes
- taxhistory selection method is preserved in the results
- 'taxonname' is used instead of 'sampled_as' / 'correlated_as, seems to work, but needs further testing
- updating for PedonPC 5.0 and NASIS 6.2
- site data contains the best-guessed corresponding row from the taxhistory table, based on:
- most recent record, or 2) record with the least amount of missing data
- taxhistory data are now included in the output from get_extended_data_from_pedon_db()
- site data contains the best-guessed corresponding row from the taxhistory table, based on:
- package is now partially compatible with NASIS 6.2
- tidying up documentation, package dependencies, and NAMESPACE
- adding preliminary functions for querying component data from local NASIS
- fixed minor bug in SDA_query() and added some links to related documentation
- fetchNASIS() and fetchPedonPC() now integrate `extended' data
- warning and error messages cleaned-up
- multiple textures no longer cause duplicate HZ rows (NASIS only)
- extended queries now split frags/para-frags
- silt fraction is estimated from 100-(sand+clay) when possible
- added local NASIS ODBC connection vignette (thanks JMS)
- removed dsn argument from NASIS functions as it should always be 'nasis_local'
- new wide-formatted, boolean representation of diagnostic horizon data
- queries standardized between NASIS/PedonPC
- new fetchNASIS() function for 1-line access to local NASIS data
- new sample data set 'loafercreek'
- basic vignette added, switching to knitr-style vignettes
- SDA_query() now functional on MacOS/UNIX-like OSes with (SSOAP 0.8-1, XMLSchema 0.6-0, and XML 3.7-1), thanks to D.T. Lang for the updates!
- moving hard to find packages to 'suggested' status: SSOAP, RCurl, XML, rgdal
- new wrapper function fetchPedonPC() for typical site/pedon/hz queries
- new function getHzErrorsPedonPC() for ID-ing pedons with problem horizonation
- NOTE: hz data queries will return 2 rows/hz (error) when multiple texture classes are assigned to a single horizon- this is a bug, not a feature!
- NASIS/pedonPC queries synced
- minor bug fixes and documentation updates
- updated query structure, switching over to native NASIS/PedonPC IDs
- extended summaries added: NASIS only
- moved functions out of aqp package
- basic query functionality from local NASIS DB (Jay)
- initial version on r-forge
- functions still exist in aqp package... need to move over completely