Summary
Creates a color 3D representation of the terrain by merging the images from the elevation-coded and hillshade methods.
Discussion
For more information about how this function works, see the Shaded Relief raster function.
The referenced raster dataset for the raster object is temporary. To make it permanent, you can call the raster object's save method.
Syntax
ShadedRelief (raster, azimuth, altitude, {z_factor}, {colormap}, {colorramp}, {slope_type}, {ps_power}, {psz_factor}, {remove_edge_effect})
Parameter | Explanation | Data Type |
raster | The input DEM. | Raster |
azimuth | Azimuth is the sun's relative position along the horizon (in degrees). This position is indicated by the angle of the sun measured clockwise from due north. An azimuth of 0 degrees indicates north, east is 90 degrees, south is 180 degrees, and west is 270 degrees. (The default value is 315) | Double |
altitude | Altitude is the sun's angle of elevation above the horizon and ranges from 0 to 90 degrees. A value of 0 degrees indicates that the sun is on the horizon, that is, on the same horizontal plane as the frame of reference. A value of 90 degrees indicates that the sun is directly overhead. (The default value is 45) | Double |
z_factor | The z-factor is a scaling factor used to convert the elevation values for two purposes:
If the x,y units and z units are in the same units of measure, the z-factor should be set to 1. The z-values of the input surface are multiplied by the z-factor when calculating the final output surface. (The default value is 1) | Double |
colormap [colormap,...] | The color map used to render the raster. This can be provided as a list or dictionary. (The default value is None) | List |
colorramp | The name of the color ramp. This can be provided as a string specifying a color ramp name supported in ArcGIS Pro, such as Yellow to Red, or Slope. This can also be provided as a dictionary. For more information, see Color ramp objects. (The default value is Elevation #1) | String |
slope_type | The inclination of slope can be output as either a value in degrees, or percent rise. Specify one of the following: DEGREE, PERCENTRISE, or SCALED. For more information, see Slope function. (The default value is DEGREE) | String |
ps_power | Accounts for the altitude changes (or scale) as the viewer zooms in and out on the map display. It is the exponent applied to the pixel size term in the equation that controls the rate at which the z-factor changes to avoid significant loss of relief. This parameter is only valid when the slope_type is SCALED. (The default value is 0.664) | Double |
psz_factor | Accounts for changes in scale as the viewer zooms in and out on the map display. The value controls the rate at which the z-factor changes. This parameter is only valid when the slope_type is SCALED. (The default value is 0.024) | Double |
remove_edge_effect |
Using this option will avoid any resampling artifacts that may occur along the edges of a raster. The output pixels along the edge of a raster or beside pixels without a value will be populated with NoData; therefore, it is recommended that this option be used only when there are other rasters with overlapping pixels available. When overlapping pixels are available, these areas of NoData will display the overlapping pixel values instead of being blank.
(The default value is False) | Boolean |
Data Type | Explanation |
Raster | The output raster. |
Code sample
This example creates a shaded relief:
# Import system modules
import arcpy
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/data"
# input raster
inRasters= = "input_raster.tif"
# use built-in colorramp slope
colorramp_name = "Slope"
# Execute arcpy.sa.ShadedRelief
shadedRelief = ShadedRelief(imagePath1, azimuth=315, altitude=45, z_factor=1, colorramp=colorramp_name, slope_type = "SCALED",
ps_power=0.664, psz_factor=0.024, remove_edge_effect=False)
shadedRelief.save("C:/output/shadedrelief_output2.tif")
This example creates a shaded relief:
# Import system modules
import arcpy
from arcpy.sa import *
import random
# Set environment settings
env.workspace = "C:/data"
# input raster
inRasters= = "input_raster.tif"
# generate a color map list
color_map = []
for i in range(1, 255):
# generate random color
red = random.randrange(0, 256)
green = random.randrange(0, 256)
blue = random.randrange(0, 256)
value = i
color_map.append([value, red, green, blue])
# Execute Sample
shadedRelief = ShadedRelief(imagePath1, azimuth=315, altitude=45, z_factor=1, colormap=315, slope_type = "DEGREE")
shadedRelief.save("C:/output/shadedrelief_output.tif")