## 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.

( categories: )

## Summarizing Circular Data in R: Aspect Angle

Submitted by dylan on Wed, 2012-10-10 15:26.

The orientation of terrain surface (aspect) can have dramatic effects on landscape-scale variation in soil temperature and moisture. Summarizing aspect angle is complicated by the fact that sampled values are measured on a circular scale. The circular package for R can be used to summarize, model, and visualize this type of data.

An example function is presented below that demonstrates several components of the circular package: special data structures, summary functions, plotting functions and their application to circular data derived from measurements collected by compass. Spread and central tendency are depicted with a combination of circular histogram and kernel density estimate. The circular mean, and relative confidence in that mean are depicted with an arrow: longer arrow lengths correspond to greater confidence in the mean.

Circular Histogram

( categories: )

## Logistic Power Peak (LPP) Simulated Soil Profiles

Submitted by dylan on Sat, 2011-11-12 21:01.

A friend of mine recently published a very interesting article on the pedologic interpretation of asymetric peak functions fit to soil profile data (Myers et al., 2011). I won't bother summarizing or paraphrasing the article here, as the original article is very accessible, rather I thought I would share some new functionality in AQP that was inspired by the article. While reading the article I thought that it would be interesting to use one of these peak functions, the logistic power peak (LPP) function, to simulate soil property depth-functions. Simulated values could be used to evaluate new algorithms with a set of tightly controlled properties that vary with depth. One of the nice aspects of these peak functions is that they can create a wide range of shapes that mimic common anisotropic depth-functions associated with pedogenic processes such as illuviation, ferrolysis, or seasonal fluctuation of groundwater levels. An example R session demonstrating the use of LPP-simulated soil property depth-functions is presented below.

LPP-simulated Profiles

( categories: )

## Terrain Classification Experiment 2: GRASS, R, and the raster package

Submitted by dylan on Tue, 2011-05-24 16:37.

Quick post on terrain classification, based on some trouble folks were having with a previous example on Windows. With the spgrass6 package, raster stacks are created by loading several GRASS files at once: x <- readRAST6(vname=c('beam_sum_mj','ned10m_ccurv','ned10m_pcurv','ned10m_slope')). This works well on UNIX-like operating systems and in cases where the entire collection of raster maps can fit within the system memory. A different strategy is needed when working with massive raster stacks or on other (less useful) operating systems. This post outlines one possible strategy that should work on massive data sets, and across operating systems.

Outline

1. export terrain surfaces from GRASS to intermediate files
2. import into R with raster package
3. perform unsupervised classification on a sample of the cells using PAM
4. apply clustering to unsampled cells with randomForest
5. save results to intermediate file
6. import results into GRASS for post-processing

Terrain Classification Example

## Terrain Classification Example

Submitted by dylan on Tue, 2011-05-24 16:22.

## Visualizing Terrain Surface Indicies with Scaled Arrows

Submitted by dylan on Sat, 2011-04-30 22:30.

Hamish Bowman recently posted a new GRASS module (d.barb) that can be used to depict the direction and magnitude components of some vector (e.g. wind) field along a raster surface or at points in space. An example (c/o Hamish):

( categories: )

## Terrain shape indices depicted by scaled arrows

Submitted by dylan on Sat, 2011-04-30 14:57.
( categories: )

## Katelin's Page

Submitted by vbullard on Thu, 2011-03-03 19:13.

Contact Information

Department of Land, Air and Water Resources
PES 2150
(971) 506-2721

( categories: )

## AQP Examples: Profile Visualization

Submitted by dylan on Tue, 2010-09-21 03:27.

Two examples of the output from the profile_plot() function, using data from the Sierra Foothill Region, CA.

## Using R and r.mapcalc (GRASS) to Estimate Mean Topographic Curvature

Submitted by dylan on Tue, 2010-08-03 20:51.

Recently I was re-reading a paper on predictive soil mapping (Park et al, 2001), and considered testing one of their proposed terrain attributes in GRASS. The attribute, originally described by Blaszczynski (1997), is the distance-weighted mean difference in elevation applied to an n-by-n window of cells:

Equation 4 from (Park et al, 2001)

where n is the number of cells within an (odd-number dimension) square window excluding the central cell, z is the elevation at the central cell, z_{i} is the elevation at one of the surrounding cells i, d_{i} is the horizontal distance between the central cell and surrounding cell i. I wasn't able to get a quick answer using r.neighbors or r.mfilter, so I cooked up a simple R function to produce a solution using r.mapcalc. The results are compared with the source DEM below; concave regions are blue-ish, convex regions are red-ish. The magnitude and range are almost identical to mean curvature derived from v.surf.rst, with a Pearson's correlation coefficient of 0.99. I think that it would be of general interest to add functionality to r.neighbors so that it could perform distance-weighted versions of commonly used focal functions.

Elevation surface (left) and resulting mean curvature estimate (right)