AQP

Hillslope Position by Soil Series

Submitted by dylan on Wed, 2013-06-05 18:34.

Soil survey data are typically built upon a foundation of soil-landscape relationships that have been verified in the field.

New AQP Tutorials

Submitted by dylan on Fri, 2013-01-04 22:17.

Soil Series ExtentSoil Series Extent

Several new AQP-related tutorials have been posted to the R-Forge project page.

  1. SoilProfileCollection class/method documentation
  2. soil series extent mapping examples
( categories: )

Basic Simulation of Soil Profile Data in R via AQP

Submitted by dylan on Wed, 2012-12-19 18:59.

Something fun to play with before the new year: experimental code in aqp for simulating soil profile data from a single "template" profile. The basic idea: simulate horizon thickness data using a family of Gaussian functions with mean defined by horizon thickness values found in the template and standard deviation defined by the user. Larger hz.sd values will yield more drastic variation in the simulated results. Note that only "horizonation" (e.g. the sequence of horizons and their respective thickness) is simulated; horizon attributes (e.g. texture, pH, etc.) are copied from the "template" profile.

Basic usage is demonstrated below, see package manual page for details. This function is only available in the version of aqp hosted by R-Forge. It should be on CRAN by the new year.

Simulated ProfilesSimulated Profiles

Automated OSD Lookup and Display via SoilWeb and AQP

Submitted by dylan on Thu, 2012-11-08 00:06.

Automated OSD lookup and displayAutomated OSD lookup and display

 
UPDATED 2013-04-08


This functionality it now available in the soilDB and sharpshootR packages. All code on this page is now superseded by the fetchOSD() and SoilTaxonomyDendrogram() functions.

 
UPDATED 2012-11-07

I have been thinking about a URL-based interface to basic Official Soil Series Description (OSD) data for a while now... something that when fed a URL, would return CSV-formatted records to the calling process. These type of interfaces can later be used to support more complicated systems, such as our smartphone interface to SoilWeb. URLs can be accessed like files in R, making it possible to do something like this:

AQP Demo: Applying a Function to Each Soil Profile in a Collection with profileApply()

Submitted by dylan on Tue, 2012-06-19 23:35.

Here is a quick demonstration of how functionality from the AQP package can be used to answer complex soils-related questions. In these examples the profileApply() function is used to iterate over a collection of soil profiles, and compute several metrics of soil development:

  • depth of maximum clay content
  • clay/RF content within the PCS
  • clay content within the argillic horizon
  • thickness of argillic horizon
  • depth to argillic horizon

soilDB Demo: Processing SSURGO Attribute Data with SDA_query()

Submitted by dylan on Thu, 2012-04-26 23:18.

Mapping near Paloma, CAMapping near Paloma, CA This image has nothing to do with the following content.

A quick example of how to use the USDA-NRCS soil data access query facility (SDA), via the soilDB package for R. The following code describes how to get component-level soils data for Yolo County (survey area CA113) from SDA and compute representative sub-order level classification for each map unit. This example requires an understanding of SQL, US Soil Taxonomy and the SSURGO database.

( categories: )

Dissimilarity Between Soil Profiles: A Closer Look

Submitted by dylan on Fri, 2012-03-23 19:35.

Continuing the previous discussion of pair-wise dissimilarity between soil profiles, the following demonstration (code, comments, and figures) further elaborates on the method. A more in-depth discussion of this example will be included as a vignette within the 1.0 release of AQP.

Profile Dissimilarity Demo: MVO SoilsProfile Dissimilarity Demo: MVO Soils

Profile Dissimilarity Demo: MVO Soils

Submitted by dylan on Fri, 2012-03-23 19:24.
Profile Dissimilarity Demo: MVO Soils

AQP / soilDB Demo: Dueling Dendrograms

Submitted by dylan on Wed, 2012-03-14 21:55.

 
UPDATE 2013-04-08: This functionality is now available in the sharpshootR package.

Previously, soil profile comparison methods from the aqp package only took into account horizon-level attributes. As of last week the profile_compare() function can now accommodate horizon and site-level attributes. In other words, it is now possible to compute pair-wise dissimilarity between soil profiles using a combination of horizon-level properties (soil texture, pH, color, etc.) and site-level properties (surface slope, vegetation, soil taxonomy, etc.)-- continuous, categorical, or boolean.

An example is presented below which is based on the loafercreek sample data set included with the soilDB package. Be sure to use the latest version of soilDB, 0.5-5 or later. Dissimilarity matrices created from horizon and site+horizon data are compared by placing their respective dendrograms back-to-back. Code from the ape package is used to facilitate dendrogram plotting, manipulation, and indexing. Blue line segments connect matching nodes from each dendrogram. Soil profiles with paralithic contact are marked with orange squares for clarity.

Dueling DendrogramsDueling Dendrograms