Отмывка рельефа (3D Analyst)

Доступно с лицензией Spatial Analyst.

Доступно с лицензией 3D Analyst.

Сводка

Создаёт рельеф с тенью из растровой поверхности, принимая во внимание угол источника освещения и тени.

Более подробно об инструменте HillShade

Иллюстрация

Иллюстрация Отмывки
HillShade_3d (InRas1, 99, 33, OutRas)

Использование

  • Инструмент HillShade создает из растра растр рельефа с отмывкой. Предполагается, что источник света находится в бесконечности.

  • Растр отмывки содержит целочисленные значения в диапазоне от 0 до 255.

  • Выходными могут быть два типа растров отмывки рельефа. Если отключена опция Моделировать тени, в выходном растре учитывается только локальный угол освещения. Если опция включена, выходной растр учитывает эффекты и от локального угла освещения, и от теней.

  • Анализ теней выполняется путем учета эффектов местного горизонта для каждой ячейки. Ячейкам растра в тени присваивается нулевое значение.

  • Чтобы создать растр только для участков, находящихся в тени, воспользуйтесь инструментом Переклассифицировать для выделения из выходных значений отмывки нулевого значения. Для достижения подобного результата опция Моделировать тени должна быть включена.

  • Если входной растр имеет сферическую систему координат, например, десятичные градусы, результаты от запуска инструмента Отмывка могут выглядеть необычно. Это происходит из-за разницы в единицах измерения горизонтальных (наземных) координат и вертикальных z-значений высоты. Так как длина градуса по долготе различна, в зависимости от широты, требуется указать соответствующий Z-коэффициент для широты. Если единицы измерения ваших координат x,y – десятичные градусы, а единицы измерения по z – метры, вам нужно выполнить преобразование.

        Latitude     Z-factor
         0           0.00000898
        10           0.00000912
        20           0.00000956
        30           0.00001036
        40           0.00001171
        50           0.00001395
        60           0.00001792
        70           0.00002619
        80           0.00005156

  • Когда возникает необходимость пересчитать входной растр, используется метод билинейной интерполяции. Например, входной растр может быть пересчитан, когда выходные система координат, экстент или размер ячеек отличаются от входных.

Синтаксис

arcpy.3d.HillShade(in_raster, out_raster, {azimuth}, {altitude}, {model_shadows}, {z_factor})
ParameterОбъяснениеТип данных
in_raster

Входной растр поверхности.

Raster Layer
out_raster

Выходной растр отмывки.

Растр отмывки содержит целочисленные значения в диапазоне от 0 до 255.

Raster Dataset
azimuth
(Дополнительный)

Азимут положения источника света.

Азимут выражается в положительных градусах от 0 до 360, измеряемых по часовой стрелке от направления на север.

Значение по умолчанию равно 315 градусам.

Double
altitude
(Дополнительный)

Угол высоты источника света над горизонтом.

Высота выражается в положительных градусах, при этом считается, что значение, равное 0 градусов, соответствует линии горизонта, а значение 90 градусов соответствует положению источника света непосредственно над головой.

Значение по умолчанию равно 45 градусам.

Double
model_shadows
(Дополнительный)

Тип создаваемой отмывки рельефа.

  • NO_SHADOWSВыходной растр содержит только локальные углы освещения. Эффекты теней не учитываются.Выходные значения могут быть в диапазоне от 0 до 255, где 0 представляет самые темные области, а 255 – самые яркие. Используется по умолчанию.
  • SHADOWSВ выходном растре с отмывкой учитываются локальные углы освещения и тени.Выходные значения могут быть в диапазоне от 0 до 255, где 0 представляет теневые области, а 255 – самые яркие.
Boolean
z_factor
(Дополнительный)

Количество единиц x,y в одной единице поверхности z.

Коэффициент z приводит в соответствие единицы измерения z-значений в том случае, если они отличаются от единиц измерения координат x,y входной поверхности. При вычислении результирующей выходной поверхности z-значения входной поверхности умножаются на коэффициент по z.

Если координаты x,y и z-значения приведены в одной и той же системе координат, коэффициент z равен 1. Это значение по умолчанию

Если единицы x,y и z используют разные единицы измерения, то коэффициент z должен быть задан соответствующим образом, иначе результаты будут некорректными. Например, если z-единицы в футах, а x,y - в метрах, то вам следует использовать z-коэффициент 0.3048 чтобы конвертировать z-единицы из футов в метры (1 фут = 0.3048 метра).

Double

Пример кода

HillShade, пример 1 (окно Python)

В этом примере создается растр отмывки, включающий тени. Заданы определенные углы азимута и высоты.

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.HillShade_3d("elevation", "C:/output/outhillshd01", 180, 75, "SHADOWS", 1)
HillShade, пример 2 (автономный скрипт)

В этом примере создается растр отмывки, включающий тени. Заданы определенные углы азимута и высоты, также задан коэффициент z для конвертации z-единиц из футов в метры.

# Name: HillShade_3d_Ex_02.py
# Description: Computes hillshade values for a raster surface.
# Requirements: 3D Analyst Extension

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "elevation"
outRaster = "C:/output/outhillshd02"
azimuth = 180
altitude = 75
modelShadows = "SHADOWS"
zFactor = 0.348

# Execute HillShade
arcpy.HillShade_3d(inRaster, outRaster, azimuth, altitude, 
                   modelShadows, zFactor)

Информация о лицензиях

  • Basic: Требуется 3D Analyst или Spatial Analyst
  • Standard: Требуется 3D Analyst или Spatial Analyst
  • Advanced: Требуется 3D Analyst или Spatial Analyst

Связанные разделы