Result = aspect(dem)

spatial scalar


spatial directional


For each cell, calculates the direction of maximum rate of change in elevation (aspect) on basis of the elevation of its 8 neighbours in a 3 x 3 cells window. The third-order finite difference method is used, proposed by Horn, also used by Skidmore. Result is of a directional data type, with aspect values assigned clockwise; aspect to the top of the map is taken as zero aspect. When using aguila the aspect will be expressed in degrees or radians (depending on the global setting --degrees (default) or --radians).


If a cell has a missing value on dem, a missing value is assigned to Result, in any case.

For each cell, the aspect is calculated using its 8 neighbours in a 3 x 3 cells window. Elevation in all these cells must be known, else the finite difference method can not be performed. It may occur that one of these values is unknown: this is the case if a surrounding cell is a missing value or if the centre cell is at the edge of the map resulting in the absence of some surrounding cells. If this occurs the aspect operator uses a built in neighbourhood interpolator to fill these missing values or absent cells in; this will make calculation of the slope for the centre cell still possible. For each missing value cell or absent cell, the elevation is determined by taking the average elevation of non missing value cells in a 3 x 3 cell window, with the missing value cell or absent cell in the centre of the window.


This operation belongs to the group of Derivatives of elevation maps

See Also



  1. • pcrcalc
    Result =;
    Dem =;
    report Result = aspect(Dem);

    • python
    Dem = readmap(“”)
    Result = aspect(Dem)

    ../../_images/aspect_Result.png ../../_images/slope_Dem.png