Mexican Spotted Owl, stretching...

ArcGIS Tools
ArcView 3.x Extensions
GIS Consultation
Unit Converter
Jenness Enterprises


Grid Surface Areas

NAME:  Surface Areas and Ratios from Elevation Grid v. 1.2   (Click Name to Download)

Adobe Acrobat Version of Manual:  Surface Area Manual (1.0 mb)

View and Download Surface Area Poster

Aka:  surfgrids.avx

Last modified:  September 3, 2002

Manual modified:  November 18, 2004

Methods used by this extension are described in this peer-reviewed journal article:

Jenness, J. S. 2004. Calculating landscape surface area from digital elevation models. Wildlife Society Bulletin. 32(3):829-839   (Click here for PDF version)

TOPICS:  ArcView 3.x, surface, area, ratio, elevation, polygon, statistics, mean, sum, GRID, analysis, Spatial Analyst, topographic, topography, roughness, convolution, convolutedness

AUTHOR: Jeff Jenness

GIS Analyst

Jenness Enterprises

Flagstaff, AZ, USA 86004

DESCRIPTION: This extension allows you to generate Surface Area and Surface Ratio grids from an existing Elevation grid.  The cell values for these grids 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.

Background: Landscape area is almost always presented in terms of planimetric area, as if a square kilometer in the Himalayas represents the same amount of land area as a square kilometer in the Nebraska. Predicted home ranges for wildlife species generally use planimetric area even when describing mountain-dwelling species such as mountain goats (Oreamnos americanus) and puma (Felis concolor). But if a species’ behavior and population dynamics are a function of available resources, and if those resources are spatially limited, then these resources might be better assessed using surface area of the landscape.

     Surface area also is a basis for a useful measure of landscape topographic roughness. The surface area ratio of any particular region on the landscape can be calculated by dividing the surface area of that region by the planimetric area. For example, Bowden et al. (2003) found that ratio estimators of Mexican spotted owl (Strix occidentalis lucida) population size were more precise using a version of this surface area ratio than with planimetric area.

     There are a variety of methods in the literature for measuring terrain irregularity. Hobson (1972) described some early computational methods for estimating surface area and discussed the concept of surface area ratios. Beasom (1983) described a method for estimating land surface ruggedness based on the intersections of sample points and contour lines on a contour map, and Jenness (2000) described a similar method based on measuring the density of contour lines in an area. Mandelbrot (1983:29, 112–115) described the concept of a “fractal dimension” in which the dimension of an irregular surface lies between 2 (representing a flat plain) and 3 (representing a surface that goes through every point within a volume). Calculating this fractal dimension can be very challenging computationally, and Polidori et al. (1991), Lam and De Cola (1993) and Lorimer et al. (1994) discussed a variety of methods for estimating the fractal dimension for a landscape. An estimate of surface area also could be derived from slope and aspect within a cell (Berry 2002), although Hodgson (1995) demonstrated how most slope-aspect algorithms generate values reflecting an area 1.6–2 times the size of the actual cell. Surface area values derived with this method would, therefore, be unduly influenced by adjacent cells.

REQUIRES ONLY SPATIAL ANALYST:  This extension uses only ESRI's Spatial Analyst functions and does not require you to have a license for the 3D Analyst extension.  This extension also calculates surface areas much faster than 3D Analyst, and with as much accuracy.  However, because the output is in Raster format rather than Vector, surface areas within polygons cannot be determined as precisely as you can do with a TIN.  Surface areas within a polygon are calculated as the sum of the surface area cell values of all those cells whose cell centers lie within the polygon boundaries.

     This method offers the advantage of allowing you to conduct neighborhood analyses on Surface Area grids, such that you can calculate the surface area within a particular range of all the cells in the grid.  This is useful if you want to conduct analyses at different spatial scales.

GRID STATISTICS:  A separate button allows you to calculate statistics for cell values that lie within polygons.  These statistics include the Polygon ID, planimetric area, cell count, mean, minimum, maximum, range, standard deviation and sum for floating point grids, and also include the median, minority, majority and variety for integer grids.  This extension offers two alternatives for calculating these statistics:  the standard "ZonalStatsTable" method used by Spatial Analyst's "Summarize Zones..." menu item, and a modified "ZonalStatsTable" method that corrects for potential inaccuracies in the standard method (please see 'Problems with ZonalStatsTable request' for an explanation).

Requires:  This extension requires the Spatial Analyst extension and an Elevation grid to generate Surface Area and Surface Ratio grids.  It requires a polygon theme that overlays the grid to generate polygon statistics.  This extension also requires that the file "avdlog.dll" be present in the ArcView/BIN32 directory (or $AVBIN/avdlog.dll) and that the Dialog Designer extension be available in the ArcView/ext32 directory, which they almost certainly are if you're running AV3.1 or higher. You don't have to load the Dialog Designer; it just has to be available.

IMPORTANT:  This extension also requires an elevation grid with elevation values in the same units as the X- and Y-coordinate values. This means that the extension will NOT work on unprojected elevation grids. If your grids are in geographic, unprojected coordinates, with X- and Y-values measured in degrees, then the author recommends that you project your grids into a meter- or foot-based projection (depending on the elevation units of your data) prior to using this extension. ArcInfo or ArcEditor can be used to project grids, or you can use the author’s “Grid Tools” extension (see

Updates: September 3, 2002: The 1.2 update addresses more “ZonalStatsTable” problems and further modifies the “Modified Method” to increase its accuracy.

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

Jenness, J. 2002. Surface Areas and Ratios from Elevation Grid (surfgrids.avx) extension for ArcView 3.x, v. 1.2. Jenness Enterprises. Available at:

General Instructions:

1)  Begin by placing the "surfgrids.avx" file into the ArcView extensions directory (../../Av_gis30/Arcview/ext32/).

2)  After starting ArcView, load the extension by clicking on File --> Extensions… , scrolling down through the list of available extensions, and then clicking on the checkbox next to the extension called "Surface Areas From Elevation Grids"  

3a)  To Generate Surface Area and/or Surface Ratio Grids:

     From your View toolbar, click on the icon. This brings up the Surface Areas from Elevation Grids dialog box:

     The Please Select Elevation Grid: list shows all of the Grid Themes available in the view.  Select the one that contains elevation values.  Next, select one or both of the Surface Grids to create.  Finally, consider what work directory to use to create these grids.

     The Surface Area Grid will be a new, floating point grid whose cell values reflect the surface area of the land surface contained in that cell's boundary.  The Surface Ratio Grid will be a new, floating point grid whose cell values reflect the cell's surface area divided by the planimetric area of that cell.  Surface areas are always greater than or equal to the planimetric area, so surface ratios will always be greater than or equal to 1.  Please see Calculation Methods if you would like to review the calculation methods for determining surface areas and surface ratios.  The author has also tested the accuracy of the output by comparing it to surface areas derived from TINs using 3D Analyst, and you may review the results here.

     Work Directory Space:  Make sure that your work directory contains plenty of room because this process can eat up a tremendous amount of hard drive space as it calculates data.  As an example, the author used an integer elevation grid to generate a Surface Area and Surface Ratio grid.  The Elevation grid measured 4,912 rows by 8,159 columns, contained slightly over 40 million cells, and took up about 60 megs on the hard drive.  At one point during the calculation, this process was using over 1.5 gigs of hard drive space. This example produced two floating point grids that took up about 150 megs each.

     Based on this experience, the author recommends that you look at the size of your Elevation grid, then make sure you have around 25-30 times that amount of space available in your work directory to use during the calculations.  All the intermediate grids are deleted at the end of the process so most of the space is returned to you, but that space needs to be available for the calculations.

     After you click the "OK" button, the extension will go to work and generate the new grids.  The grids will automatically be added to your view.

3b)  To Generate Statistics for Grid Cells Enclosed by Polygons:

     From your View toolbar, click on the icon. This brings up the Grid Statistics for Polygons dialog box:

     Polygon Statistics:  This operation performs a Zonal Statistics Analysis on the selected grid, with the polygons representing the zones. The statistics reflect all those cells whose cell centers are located within the polygon boundary. For each polygon, this operation will calculate the following statistics:

ID Value of Polygon, taken from the ID Field you select.

Count of Cells within polygon.

Planimetric area of cells within polygon.

Minimum cell value within polygon.

Maximum cell value within polygon.

Range of cell values within polygon.

Mean cell value within polygon.

Standard Deviation of cell values within polygon.

Sum of cell values within polygon.

Integer grids will also get:

Minority (value with least number of occurrences)

Majority (value with greatest number of occurrences)


Variety (number of unique values)

     BASIC vs. MODIFIED ZonalStatsTable REQUEST:  Spatial Analyst's 'ZonalStatsTable' request is a quick and simple way to derive statistics for polygons that overlay a grid.  Users can access this function by clicking the 'Analysis' menu item, then 'Summarize Zones...'. The 'Basic ZonalStatsTable Request' in this dialog does the exact same thing as the 'Summarize Zones' menu item.  However, the author has occasionally seen this request produce odd results, apparently using cells that were outside the polygon boundary (see 'Problems with ZonalStatsTable Request' for details), so I offer an alternative, modified version of the 'ZonalStatsTable' request.

     The Modified version takes each polygon in the theme and converts it into a grid with the same cell size as the Input Grid, producing a grid of "1" values in the shape of the polygon. It then multiplies that grid by the Input Grid, thereby converting all cells outside of the polygon into "No Data" cells while retaining the original cell values inside the polygon. Finally, this extension uses the 'ZonalStatsTable' request on the modified input grid to generate statistics for that single polygon. This process eliminates the possibility that the 'ZonalStatsTable' request will select cells outside of the polygon boundary by converting all cells outside of the polygon boundary into "No Data" values.  I believe this process produces more reliable results, but it does take considerably longer to calculate than the basic 'ZonalStatsTable' request.

     IMPORTANT:  An important difference between the Basic 'ZonalStatsTable' request and the modified version presented here is that the basic version will combine polygons with identical Field ID values and provide you with statistics representing the combined areas, such that each record in the Statistics Table will represent a unique zone. The modified version will offer statistics on each polygon separately regardless of whether they have identical Field ID values.

     Calculate Statistics for Polygons with 'No Data' values:  If you select this option, then this extension will generate statistics for all polygons that include at least 1 grid cell with data. Statistics will reflect ONLY those grid cells with data. If a polygon has only one cell with actual data in it, then these statistics will all be based on that single cell.  If you do not select this option, then this extension will not generate statistics for any polygons that include any cells with "NO DATA" values.

     Once you click the "OK" button, you will be prompted to specify the name and location to save your output table(s).  These are standard ArcView Dialog Boxes and should be familiar to most users.  The Statistics tables are permanent tables and will not be deleted when ArcView is shut down.  These tables will also appear in your Project and in your project's List of Tables with the names:

Zonal Stats: 'Polygon theme name' by 'Grid theme name'

Zonal Stats (modified): 'Polygon theme name' by 'Grid theme name'

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

            Jeff Jenness                            

            3020 N. Schevene Blvd.

            Flagstaff, AZ  86004


More Online Documentation for "Surface Areas and Ratios from Elevation Grid" extension....

Surface Area Calculation Methods
TIN vs. Grid Surface Area Comparisons
Problems with 'ZonalStatsTable' Request...
Surface Area Poster


Beasom, S. L. 1983. A technique for assessing land surface ruggedness. Journal of Wildlife Management. 47: 1163–1166.

Berry, J. K. 2002. Use surface area for realistic calculations. Geoworld 15(9): 20–1.

Bowden, D. C., G. C. White, A. B. Franklin, and J. L. Ganey. 2003. Estimating population size with correlated sampling unit estimates. Journal of Wildlife Management 67: 1–10

Hobson, R. D. 1972. Chapter 8 - surface roughness in topography: quantitative approach. Pages 221-245 in R. J. Chorley, editor. Spatial analysis in geomorphology. Harper & Row, New York, New York, USA.

Hodgson, M. E. 1995. What cell size does the computed slope/aspect angle represent? Photogrammetric Engineering & Remote Sensing 61: 513-517.

Jenness, J. 2000. The effects of fire on Mexican spotted owls in Arizona and New Mexico. Thesis, Northern Arizona University, Flagstaff, Arizona, USA.

Lam, N. S. N., and L. DeCola. 1993. Fractals in Geography. PTR Prentice-Hall, Englewood Cliffs, New Jersey, USA.

Lorimer, N. D., R. G. Haight, and R. A. Leary. 1994. The fractal forest: fractal geometry and applications in forest science. United States Department of Agriculture Forest Service, North Central Forest Experiment Station, General Technical Report; NC-170. St. Paul, Minnesota, USA.

Mandelbrot, B. B. 1983. The fractal geometry of nature. W. H. Freeman and Company, New York, New York, USA.

Polidori, L., J. Chorowicz, and R. Guillande. 1991. Description of terrain as a fractal surface, and application to digital elevation model quality assessment. Photogrammetric Engineering & Remote Sensing 57: 1329–1332.

Please visit Jenness Enterprises ArcView Extensions site for more ArcView Extensions and other software by the author.  We also offer customized ArcView-based GIS consultation services to help you meet your specific data analysis and application development needs.