SLASP

Slope and aspect from elevation data


EnvironmentsPYTHON :: EASI :: MODELER
Quick linksDescription :: Parameters :: Parameter descriptions :: Details :: Example :: References

Back to top

Description


Calculates the surface slope and aspect angles for each pixel of an elevation channel. Output can be written to an existing file or to a new file. When values are written to a new file, the slope channel is created first, followed by the aspect channel. The values in the slope channel range between 0 and 90 degrees, and are used to describe the angle of incline or decline at a given pixel. The values in the aspect channel describe the direction in which the slopes are facing. These orientation angles range from 0 to 360 degrees, where 0 degrees represents the top (usually North) and 90 degrees represents the right side (usually East). Pixels without slope (0 degrees) are assigned a special "no aspect" value.
Back to top

Parameters


Name Type Caption Length Value range
FILEDEM* String Input file name 1 - 192  
DBEC Integer Input elevation channel 0 - 1 Default: 1
FILO* String Output file name 1 - 192  
DBOC Integer Output slope and aspect channels 0 - 2  
ELEVUNIT String Units for elevation values 0 - 7 METER | FEET | US_FEET
ELFACTOR Float Elevation offset and scale 0 - 2  
BACKELEV Float Background elevation value 0 - 1  
ZEROSLOP Float Zero slope aspect value 0 - 1 Default: 510.0

* Required parameter
Back to top

Parameter descriptions

FILEDEM

Specifies the name of the input file that contains the elevation data used to compute the slope and aspect maps.

DBEC

Specifies the input channel that contains the elevation data.

FILO

Specifies the name of the output file to receive the computed slope and aspect channels.

If FILO does not exist, a new file will be created.

If FILO already exists, the output file specified must be in a format that is updatable. The specified file must also already contain suitable channels for slope and aspect data. See the DBOC parameter details for more information.

FILO can be the same as FILEDEM, as long as FILEDEM meets the above criteria.

DBOC

Specifies the output channels to receive the slope and aspect data, respectively.

If FILO specifies a new file, DBOC should be left unspecified (defaulted). SLASP will create two new 32R channels, then write the slope data to the first channel and the aspect data to the second channel.

If FILO specifies an existing file, DBOC must specify two existing channels.

The channel receiving the slope data can be 8-, 16- or 32-bit, although a 32-bit channel is recommended to preserve precision. The channel receiving the aspect data must be either 16- or 32-bit. If an 8-bit channel is used to store the aspect data, SLASP will error.

The output channel cannot be the same as that specified by DBEC.

ELEVUNIT

Specifies the units used to describe the elevation values of the input DEM file (FILEDEM).

Supported units are:

This parameter is used to ensure that the vertical (elevation) unit matches the horizontal (projection) unit. If a discrepancy exists, the elevation unit will be converted to the projection unit to calculate slope and aspect. If the projection is lat/long, an on-the-fly conversion from degrees to the unit specified by this parameter is performed before combining them with the elevation values for computing slope and aspect.

If this parameter is not specified, the program checks for an ELEVATION_UNITS metadata tag at the file level, and again at the channel level.

If the elevation unit is not specified or is not found in the metadata, it defaults to METER.

ELFACTOR

Specifies the values used to shift and scale the DEM pixel values to values in the units indicated by the Elevation Units (ELEVUNIT) parameter.

Two values are specified using this parameter: the first number defines the offset, while the second optionally specifies the scale.

The conversion formula is:

elevation_value = scale * (DEM_pixel_value + offset)

If this parameter is not specified, SLASP checks for an ELEVATION_SCALE and ELEVATION_OFFSET metadata tags at the file level, and again at the channel level.

If this value is not specified or found in the metadata, the offset defaults to 0.0 and the scale defaults to 1.0, indicating that there is no offset and that the scale is 1:1.

BACKELEV

Specifies a special value, in the input elevation channel, used to indicate which pixel value is to be handled as no data (no elevation)

If this parameter is not specified, the program checks for a NO_DATA_VALUE metadata tag at the file level, and again at the channel level.

If this value is not specified or found in the metadata, all pixels of the DEM are assumed to be valid.

ZEROSLOP

Specifies the digital value assigned to pixels in the output aspect map, where slope is 0 (No slope). If this parameter is not specified, these pixels are assigned a value of 510.

This parameter is used exclusively for the aspect map.

Back to top

Details

SLASP uses elevation values held in a DEM to calculate the corresponding slope and aspect angles. The slope algorithm used in this function is pixel-based, meaning that there is no second- or third-order polynomial surface fitting process. This also means that the slope and aspect maps may uncover some existing artifacts from the elevation channel. The algorithm is based on the paper cited in References.

Accurate computation of the slope and aspect values depends on the proper specification of the elevation unit (ELEVUNIT), as well as the elevation scale and offset (ELFACTOR). Specifying the elevation unit (ELEVUNIT) allows SLASP to perform a preprocessing check to ensure that the projection unit and elevation unit match and, if necessary, apply an appropriate conversion. If the input DEM has been scaled, the elevation scale and offset (ELFACTOR) parameters should be specified to define how to properly un-scale the elevation values prior to computing slope and aspect.

When a DEM with a lat/long projection is provided, SLASP converts the resolution of a pixel from degrees to the specified elevation unit (ELEVUNIT). This conversion is used solely for the correct computation of slope and aspect and will not affect the georeferencing of the output file.

Back to top

Example

This example calculates the slope and aspect of 16-bit signed elevation data from channel 10 of the demo file irvine.pix and places the output in channels 13 and 14, which had previously been added to the file. Each pixel in the image represents a projected ground area of 30 m x 30 m, and each increment in the gray level of the elevation image corresponds to the default elevation change of 1 m.

EASI>FILEDEM	=	"irvine.pix"	! input file
EASI>DBEC	=	10	! input DEM channel
EASI>FILO	=	"irvine.pix"	! output file
EASI>DBOC	=	13,14	! output slope, aspect channels   
EASI>ELEVUNIT	=	METER	! default elevation units
EASI>ELFACTOR	=	0.0,1.0	! default scale, offset factors
EASI>BACKELEV	=         
EASI>ZEROSLOP	=	510.0	! default

EASI>RUN SLASP
Back to top

References

Corripio, J.; Vectorial algebra algorithms for calculating terrain parameters from DEMs and solar radiation modeling in mountainous terrain. International Journal of Geographical Information Science, 2003, 17 (1), 1-23.

© PCI Geomatics Enterprises, Inc.®, 2024. All rights reserved.