Сводка
Создает цветное 3D-представление рельефа путем слияния изображений из методов кодирования высот и отмывки.
Описание
Более подробную информацию о работе этой функции см. в растровой функции Цветная отмывка рельефа.
Указанный набор растровых данных является временным для растрового объекта. Чтобы сделать его постоянным, можно вызвать метод save растрового объекта.
Синтаксис
ShadedRelief (raster, azimuth, altitude, {z_factor}, {colormap}, {colorramp}, {slope_type}, {ps_power}, {psz_factor}, {remove_edge_effect})
Parameter | Объяснение | Тип данных |
raster | Входная ЦМР. | Raster |
azimuth | Азимут – это относительное положение источника освещения вдоль горизонта (в градусах). Это положение указано углом источника освещения, измеряемое по часовой стрелке с севера. Азимут 0 градусов указывает на север, 90 градусов – на восток, 180 градусов – на юг, 270 градусов – на запад. (Значение по умолчанию — 315) | Double |
altitude | Высота – это угол превышения источника света над горизонтом в диапазоне от 0 до 90 градусов. Значение 0 градусов указывает, что источник освещения находится на горизонте, т.е. на той же горизонтальной плоскости, что и фрейм привязки. Значение 90 градусов указывает, что солнце находится прямо над головой. (Значение по умолчанию — 45) | Double |
z_factor | z-factor является коэффициентом масштабирования, используемым для конвертации значений высоты для двух целей:
Если координаты x,y и z-значения приведены в одной и той же системе координат, коэффициент z должен быть равен 1. При вычислении результирующей выходной поверхности z-значения входной поверхности умножаются на коэффициент по z. (Значение по умолчанию — 1) | Double |
colormap [colormap,...] | Цветовая карта, использованная для отображения растра. Может быть задан как список или словарь. (Значение по умолчанию — None) | List |
colorramp | Имя цветовой шкалы. Может быть задано в виде строки, задающей имя цветовой шкалы, поддерживаемой в ArcGIS Pro, например Yellow to Red или Slope. Может быть также задано, как словарь. Дополнительные сведения см. в разделе Объекты цветовой шкалы. (Значение по умолчанию — Elevation #1) | String |
slope_type | Угол уклона может быть получен как значение в градусах или как процент подъема. Укажите один из следующих: DEGREE, PERCENTRISE или SCALED. Более подробно см. Функция Уклона. (Значение по умолчанию — DEGREE) | String |
ps_power | Степень размера пиксела учитывает изменения высоты (или масштаба) по мере увеличения и уменьшения масштаба просмотра карты. Это показатель степени, примененный к значению размера пиксела в уравнении, который управляет скоростью, с которой изменяется z-factor, чтобы избежать значительных потерь данных рельефа. Параметр допускается, только если slope_type SCALED. (Значение по умолчанию — 0.664) | Double |
psz_factor | Коэффициент размера пиксела учитывает изменения масштаба по мере увеличения и уменьшения отображения карты. Управляет степенью, при которой изменяется z-factor. Параметр допускается, только если slope_type SCALED. (Значение по умолчанию — 0.024) | Double |
remove_edge_effect | Использование этой опции позволит избежать каких-либо артефактов пересчета, которые могут возникнуть вдоль краев растра. Значения выходных пикселов вдоль краев растра или прилегающих к пикселам без значения будут заполняться как NoData; поэтому рекомендуется, чтобы эта опция использовалась только тогда, когда есть другие растры, дающие наложение пикселов, так чтобы области NoData отображались перекрывающими пикселами, вместо того, чтобы быть пустыми. Когда перекрывающиеся пикселы доступны, эти области NoData будут отображать пересекающие значения пикселов, вместо того, чтобы быть пустыми.
(Значение по умолчанию — False) | Boolean |
Тип данных | Объяснение |
Raster | Выходной растр. |
Пример кода
В этом примере создается цветная отмывка рельефа:
# 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")
В этом примере создается цветная отмывка рельефа:
# 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")