Automated OSD Lookup and Display via SoilWeb and AQP
Nov 8, 2012 metroadminUPDATED 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:
OSD Site-Level Data
OSD Horizon-Level Data
Simple access to basic OSD site and horizon-level data makes it possible to rapidly assemble OSD data within R. For example, multiple soil profile sketches, based on OSD data, can be quickly arranged into a figure according to their taxonomic membership. With pair-wise dissimilarities computed from categorical variables, cluster analysis reduces to an elegant sorting method and depicted as a dendrogram. Between-profile similarity can be determined graphically, with soils sharing the same taxonomic membership placed along the same terminal branches. In the example below, parent material information, soil depth class, or any number of horizon-level attributes could be combined with the site parameters for a more relevant grouping. The following code could use some clean-up and heuristics for automatically determining some of the fudge factors used to position elements within the figure. Also, it would be nice to annotate branches associated with suborder and greatgroup membership. I'll save that for next time.
Note that these data are a snapshot of the OSD database-- as of a couple years ago. Therefore, recently established soil series are missing, and changes may have been made to existing series since then. Please use these links with this in mind.
Implementation