Mexican Spotted Owl, stretching...

DEM Surface Tools

***   Award Winning Software   ***
Current Toolset "DEM Surface Tools"
1st Place, Best Desktop Application

2010 ESRI International User Conference, San Diego, CA, USA

Original Tool "Surface Areas and Ratios"
2nd Place, Best Desktop Application

2009 ESRI International User Conference, San Diego, CA, USA

Topics:  Sphere, geodesic, great circle, surface, area, ratio, elevation, topography, roughness, convolution, convolutedness, rugosity, terrain, geomorphology, slope, aspect, curvature, MDOW, hillshade

Author:  Jeff Jenness

Wildlife Biologist, GIS Analyst

Jenness Enterprises

3020 N. Schevene Blvd.

Flagstaff, AZ, 86004   USA

(928) 607-4638 

Description:  This extension provides you with tools to generate a variety of surface characteristics of a landscape, using both projected and unprojected (i.e. latitude / longitude) digital elevation model (DEM) rasters. These tools include:

  1. Surface Area and Ratio of a landscape
  2. Slope, with 3 slope algorithm options
  3. Aspect, with 3 aspect algorithm options, and an additional tool to apply a traditional directional Aspect symbology to an existing Aspect raster.
  4. Hillshade, with optional hypsometric tinting
  5. Multi-directional Oblique-Weighted Hillshade, with optional hypsometric tinting
  6. Seven types of Landscape Curvature

ArcGIS has many useful tools for calculating slope, aspect, hillshade and curvature from DEM rasters. This extension offers some advantages over these existing tools in that:

bulletThese tools correctly handle Latitude / Longitude Data: The existing ArcGIS tools typically do not work well with data in a geographic coordinate system (i.e. Latitude / Longitude coordinates). They expect the vertical units of a digital elevation model to be the same as the horizontal units, and at best they only allow you to enter in an adjustment factor (generally called a "Z-factor") to adjust your Z-units to your X/Y-units. This Z-factor adjustment method is cumbersome to implement with latitude/longitude coordinate systems because the correct Z-factor is both hard to calculate and changes with latitude. Geographic data is especially confounding because the X-units are not the same as the Y-units. Both are in "degrees", but a degree in latitude (Y-units) is not the same distance as a degree in longitude (X-units).

Unfortunately, most free elevation data available online is only available in latitude/longitude coordinates. This data can be projected, but projecting raster data introduces errors in resolution and precision (see horizontal and vertical artifacts on illustration in manual). This extension modifies the algorithms used to calculate common morphological characteristics of the landscape so that they accurately work with latitude/longitude data without projecting the data or using Z-factor adjustments.

All methods are described in detail in the manual, but in general this extension will always automatically detect the coordinate system of the raster and use the method appropriate for that coordinate system.

bulletThese tools offer several options not available in the standard ArcGIS tools: Including multiple slope and aspect algorithms, optional hypsometric shading for hillshades, the MDOW model for hillshades, and many more options for landscape curvature.
bulletSurface Area and Ratio: This extension allows you to generate Surface Area and Surface Ratio rasters from an existing Elevation raster. The cell values for these new rasters reflect the surface area and (surface area) / (planimetric area) ratio for the land area contained within that cell's boundaries. Both Surface Area and Surface Ratio provide useful indices of topographic roughness and convolutedness, and can give a more realistic estimate of the land area available than you can get from the simple planimetric area.
bulletThese tools do not require Spatial Analyst: This extension uses only standard ArcGIS ArcObjects functions and therefore does not require a license for either Spatial Analyst or 3D Analyst.

Recommended Citation Format: For those who wish to cite this extension, the author recommends something similar to:

Jenness, J. 2013. DEM Surface Tools for ArcGIS (surface_area.exe). Jenness Enterprises. Available at:

Current Citation List (from Google Scholar):

bullet Surface Area Citations
bullet DEM Surface Tools Citations

Requires:  ArcGIS 9.2 or better, at any license level, or ArcGIS 10.

Important:  This extension does not require Spatial Analyst or 3D Analyst.  It will work just fine without any add-on extensions.

For detailed installation and operation instructions, view the on-line PDF version of DEM Surface Tools Manual         


Version 1.0

bulletBuild 1.0.130 (July 7, 2009): Initial Release
bulletBuild 1.0.131 (July 8, 2009):  Fixed web site address in "About" dialog.
bulletBuild 1.0.137 (April 8, 2010): Wrote a work-around for an ArcObjects bug in which the rasters would not be correctly written to the hard drive, even when they showed correctly in the map.
bulletBuild 1.0.138 (May 27, 2010):  Removed code that generated a series of message boxes during the analysis.

Version 2.0

bulletBuild 2.0.230 (July 5, 2010):
bulletFixed an error in which Surface Ratio did not calculate correctly unless Surface Area was calculated at the same time.
bulletAdded functions for Slope, Aspect, Hillshade and Curvature
bulletBuild 2.1.252 (October 10, 2010)
bulletAdded vertical exaggeration factors to the standard and MDOW hillshade tools.
bulletChanged the hillshade symbology to a “Custom Minimum-Maximum Stretch” with options for the minimum and maximum values. Note: The actual calculated minimum and maximum hillshade values can easily be different than the specified maximum because there is no guarantee that a hillshade raster will have both regions of perfect brightness and perfect darkness.
bulletAdded option to calculate “General Curvature”, in order to replicate the ArcGIS “Curvature” function.
bulletIllustrated difference between Evans and Zevenbergen & Thorne Polynomials in manual.
bulletAdded illustrations and additional text to explain curvature units.
bulletBuild 2.1.254 (October 20, 2010)
bulletUpdated the "About" dialog.
bulletAdded ArcGIS 10 installation functions
bulletBuild 2.1.272 (November 16, 2010)
bulletWrote a workaround for an ArcGIS 10 bug in which the GX Dialog was unable to recognize a GRID filter, causing an “ActiveX component can’t create object” error message. This error would only appear in ArcGIS 10, and would always appear when the user clicked the button to specify a new location to save a raster.
bulletBuild 2.1.292 (February 16, 2011)
bulletFixed a bug in which it occasionally crashed with the message "Failed to Create Raster Dataset"
bulletBuild 2.1.292 (February 13, 2011)
bulletWrote additional ArcGIS 10 installation functions to fix problems in Windows Vista and Windows 7, and on 64-bit versions of Windows.
bulletBuild 2.1.298 (June 27, 2011)
bullet Fixed a bug in which spheroidal distances were being calculated incorrectly by a small amount because the spheroid flattening was incorrect. It was being calculated as (a-b)/b instead of (a-b)/a.  This would cause very minor errors in all analyses done on geographic rasters.
bulletBuild 2.1.299 (July 15, 2011)
bulletUpdated internal functions to allow extension to remember data between sessions of an ArcGIS MXD document.
bulletBuild 2.1.305 (February 1, 2012)
bulletFixed a rare bug that would cause the tool to crash with an Automation Error message when any tool was clicked.
bulletBuild 2.1.348 (January 19, 2013)
bulletFixed a bug that caused incorrect calculations when input raster had a coordinate system that did not use meters. This bug affected the Surface Area, Surface Ratio, Curvature, Hillshade, MDOW Hillshade, Aspect and Slope tools.
bulletAdded a tool to apply a traditional 9-category directional Aspect symbology.
bulletBuild 2.1.375 (May 12, 2013)
bulletFixed a bug in the code that generated default unique filenames for rasters. This would crash if it tried to generate a filename inside a file geodatabase.
bulletFixed a bug in various dialogs that would trigger a crash if you typed in an invalid path for the new filename.


Enjoy! Please contact the author if you have problems or find bugs.

            Jeff Jenness                            

            Jenness Enterprises                

            3020 N. Schevene Blvd.                     (928) 607-4638

            Flagstaff, AZ  86004


Please visit Jenness Enterprises ArcGIS Tools site for more ArcGIS tools and other software by the author. We also offer GIS consultation services for both ArcGIS and ArcView 3.x to help you meet your specific data analysis and application development needs.