- soil map unit: (possibly disjoint) geographic area that is associated with soil component percentage / arial coverage
- soil series: collection of related soil components
- soil component: description of various soil properties at specific depth intervals
- simple features: https://r-spatial.github.io/sf/index.html
- well-known geometry: https://paleolimbot.github.io/wk/
- R package for querying soilDB: https://ncss-tech.github.io/soilDB/
- dplyr: https://dplyr.tidyverse.org/
Input: a specific point in lat/lon, and a set of depth intervals.
- Query for all map units within 1km of the point.
- Fall back to STATSGO at 10km if SSURGO is incomplete, or else declare not available if area not surveyed.
- Associate each map unit with its polygons' minimum distance to the point in question.
- Infill missing components by rescaling them to sum to 100.
- Calculate the component probabilities by, for each component, dividing the distance-weighted sum of that component's probability in each map unit by the total distance-weighted sum of each component's probability in each map unit.
- Limit to components in the top 12 component series by probability.
- Query the local database for the component horizons.
- Return the individual probabilities of data at each horizon based on the weighted sum of each component's data at each horizon.
• This folder contains the data schema and processed soil database tables that are ingested into the mySQL database.
• https://nrcs.app.box.com/s/vs999nq9ruyetb9b4l7okmssdggh8okn
• https://www.nrcs.usda.gov/resources/data-and-reports/ssurgo/stats2go-metadata
• https://nrcs.app.box.com/v/soils/folder/17971946225
There is a small suite of integration tests which can be run with the make test
command, and gets run regularly by CI.
There is a large suite of integration tests which takes many hours to run. It comes in the format of two scripts:
- Run
make generate_bulk_test_results
to run the algorithm over a collection of 3000 soil pits, which will accumulate the results in a log file. - Run
RESULTS_FILE=$RESULTS_FILE make process_bulk_test_results
to view statistics calculated over that log file.
-
Beaudette, D., Roudier, P., Brown, A. (2023). aqp: Algorithms for Quantitative Pedology. R package version 2.0.
-
Beaudette, D.E., Roudier, P., O'Geen, A.T. Algorithms for quantitative pedology: A toolkit for soil scientists, Computers & Geosciences, Volume 52, March 2013, Pages 258-268, ISSN 0098-3004.
-
soilDB: Beaudette, D., Skovlin, J., Roecker, S., Brown, A. (2024). soilDB: Soil Database Interface. R package version 2.8.3.