Wednesday, May 11, 2011

Topographic Profile From Basemap Contours, not a DEM

There are times when USGS DEMs do not match topography on basemaps.  I have a basemap that does not appear to be derived from any presently available USGS products.  DEMs are often interpolated from 7.5' quads, by using air photo stereopairs, SRTM, and so on.  The topography on the basemap I have is much more detailed than any DEM or USGS 7.5' topo I have come across.  So it was probably drafted by someone else.  Thus I set out to extract a topographic profile line using the basemap and Arc.  This is a pretty simple process, and it relies on geostatistics to interpolate elevation in between captured points.  The following instructions assumes you are familiar with principals of GIS.
  1. Plot your cross section line
  2. Capture elevation points on each contour that crosses your cross section line
    1. It is best to turn on edge-snapping if you're using Arc Desktop 10
    2. Make sure you capture the start and end points of your cross section line; you may have to interpolate elevation yourself.  In fact, there may times along the cross section line where it would make sense to estimate elevation, such as at bottoms of streams or tops of ridges.
  3. Krig your elevation points or use an interpolation method that you're comfortable with 
  4. Use Spatial Analyst or 3D Analyst (or open source equivalents) to generate a profile line along the resultant raster
  5. The more elevation points you capture, the better.
  6. Export the profile data to tabular format and use as desired (see blog post on Illustrator and profile lines)
  7. Rejoice in avoiding drafting a profile line by hand!
I ended up with very reasonable results in a much shorter time than by hand.  Now my topographic profile matches the basemap and it is is much more accomodating of the geology I mapped!  The lesson here is to compare USGS DEMs to your basemap before trusting DEM derived products.  Attention to detail is always key.