dylan's blog

Major updates to CA, AZ, NV online soil survey system

Submitted by dylan on Fri, 2006-07-21 23:45.

After a bit of a delay, I have finally migrated all of the USDA-NCSS digital soil survey (AZ, CA, NV), 2005se Tiger, and other misc. data from shapefile format to a PostGIS database. In doing so, seamless access to the entire set of detailed (SSURGO) and generalized (STATSGO) polygon data is now possible through our online soil survey. At the Map unit level, links to adjacent soil polygons, along with a local area calculation are just some of the new possibilities of a spatially-enabled database (PostGIS). Note that DOQQ data is not locally stored for AZ and NV. Clicking on the "print" icon in the map interface at scale of < 1:7000 will fetch DOQQ data from Terraserver in these areas. Also the LandSat mosaic for AZ needs to be re-done with i.landsat.rgb, found in GRASS6.1-CVS. A quick comparison of LandSat channel blending is here. Subsequent changes will include thematic mapping of soil properties and visualizations of difference in soil properties across scales. See a simple summary, in case-study format on the PostGIS website. Thanks to Paul Ramsey for doing the write-up.

Soil Web: Map Access
Fig 1: map interface
Soil Web: Interactive Map 1
Fig 2: UMN Mapserver Application
Soil Web: Interactive Map 2
Fig 3: STATSGO polygon detail
Soil Web: Interactive Map 3
Fig 4: SSURGO polygons
Soil Web: Interactive Map 4
Fig 5: SSURGO polygon detail
Soil Web: Component Detail 1
Fig 6: soil data summary
Soil Web: Component Detail 2
Fig 7: land suitability ratings

Nearly 2 years have elapsed since we put together an online soil survey for AZ, CA, and NV, based entirely on open source tools. GDAL and GRASS were used to pre-process spatial data, MySQL and PostGIS are used to store spatial and attribute data, UMN Mapserver is used to render map images, and PHP-Apache is used to glue it all together. Our first public prototype was advertised just as the USDA-NRCS announced their Web Soil Survey. We often advise parties interested in soils data to use both methods of accessing soil survey information, as each has its respective strong points. Our goal is to provide people a simple means of quickly accessing specific soil properties, with inline definitions to specialized terminology and interpretations. Several methods exists for locating soil data at a given location:

  • clickable map (Fig 1)
  • street address
  • CA zip code
  • latitude longitude from NAD83/WGS84 datum
  • CA PLSS Township, Range, Section, and Section fractions

Example Session
Figures 2 through 7 represent an example session of interactively panning, zoooming, and eventially querying a SSURGO polygon near Fresno, Ca. An AJAX-style UMN Mapserver application was created, based on the excellent dBox sample code provided by the Mapserver team. Once a user has located a soil polygon of interest (SSURGO or STATSGO), attributes associated with this polygon can be queried with the "info" tool . At this point, depending on the scale, the user is presented with a list of soil types (components) found within the queried polygon (SSURGO example). Clicking on of these links brings up a page on that specific soil type (Figs 6 and 7). Graphical summaries of key soil physical and chemical properties assist with quick recognition of key diagnostic features (sample page). A break-down of the US Soil Taxonomy terminology serves as an educational tool for interested parties. Links to outside sources of relevant data are automatically constructed and included in this summary as well:

  • USDA-NRCS Offical Soil Series Descriptions
  • USDA-NCSS Pedon Laboratory Data
  • Nitrate Groundwater Contamination Index
  • definitions of terms and interpretations from the Soil Survey Handbook

Finally, our online soil survey, Soil Web, will be used as the foundation for a new educational website on the soils of Pinnacles National Monument, CA. Details on this project can be found on this page.

Navigating Wilderness Areas with GRASS (Where 2.0 Presentation)

Submitted by dylan on Wed, 2006-06-14 00:06.
Example DRG graphic
Figure 1: area of interest
Features extracted from DRG: lakes
Figure 2: lake features
Features extracted from DRG: trees
Figure 3: wooded areas
Example travel cost map
Figure 4: composite friction map
Graphical Example of least-cost path
Figure 5: least-cost path
vectorized trails
Figure 6: vectorized

PedLogic: An open-source, customizable pedon management system.

Submitted by dylan on Fri, 2006-02-03 04:14.

Sample location density: visualization examples

Submitted by dylan on Fri, 2006-02-03 03:37.

Depicting the relative density of sampling can be an interesting task, especially when the points are highly clustered and sparse. Three simple operations that can reveal subtle patterns in the spatial distribution of sample points were explored:

  • A voronoi tessellation vector operation performed on the actual sample locations.
  • A pseudo-density raster operation based on a count of cells, within proximity to sample points, and within a given radius.
  • A kernel-smoothed density function, based on a given standard deviation of spatial density.
  • A density estimation performed by the density() function from the Spatstat package in R
Sample Location Density - Voronoi
Voronoi tessellation
Sample Location Density - v.neighbors function
Psudo-density calculation
Sample Location Density - v.kernel function detail
Kernel-smoothed density

Spatial density estimation in RSpatial density estimation in R

Flow path modeling from LiDAR data: initial problems, and some solutions.

Submitted by dylan on Thu, 2006-02-02 22:32.
Example LiDAR Data - Hillshade
Example LiDAR dataset
Example LiDAR Data - Stream Network
Stream Network Detail

Raw LiDAR data is so detailed that localized flow routing algorithms often fail to produce meaningful results. The terraflow algorithm is one such method that appears to work well on such massive grid objects (Homepage).

Better tooltips with DHTML JavaScript Tooltips

Submitted by dylan on Mon, 2006-01-02 18:57.


Converting GRASS vectors from 2D into 3D: v.drape

Submitted by dylan on Wed, 2005-09-28 23:12.

More often than not geographic data come in a format that is essentially two-dimensional: i.e. raster grids and vector points, lines, and areas with only (x,y) style coordinates.


Submitted by dylan on Mon, 2005-08-22 22:23.
Adding GRASS vectors to POVRAY Scenes: v.out.pov
GRASS Vectors
povray clipped ssurgo data
SSURGO cutaway
povray slope class cutaway image
Slope class cutaway
PINN Topo-map with POVRAY
McCabe Canyon and Temblor Formation
View of Mt. Defiance from Bear Valley
Near infrared
Over PINN: Geomorphic Features
Geomorphic features.
View of Mt. Defiance from Bear Valley. 2 meter true color
View of Mt. Defiance from Bear Valley, Pinnacles National Monument. Pan Chromatic 2m res.

Thanks to Markus Neteler for initial insight on how to build an appropriate POVRAY script file.

Geologic-Scale Erosion

Submitted by dylan on Thu, 2005-08-11 00:10.

Initial Landform

10 Iterations

100 iterations of mass removal based on preferential flow of water as calculated by r.topidx in GRASS. Notice how landform is cutdown most in stream channels, least at the ridges. The basins between ridges appear to "fill" with sediment near the 50th iteration as the entire landform is lowered to sea level (0m). Absolute change in elevation is visble in the elevation profiles below. Example GRASS commands below. Here is a link to a movie, containing all 100 iterations.

Transect Ideas: The Sierra Nevada Climo-biosequence

Submitted by dylan on Tue, 2005-07-19 21:31.

PDF Version here