Отмывка (Spatial Analyst)
Резюме
Создаёт рельеф с тенью из растровой поверхности, принимая во внимание угол источника освещения и тени.
Рисунок
Использование
-
Инструмент Отмывка (Hillshade) создает из растра растр рельефа с отмывкой. Предполагается, что источник света находится в бесконечности.
-
Растр отмывки содержит целочисленные значения в диапазоне от 0 до 255.
-
Выходными могут быть два типа растров отмывки рельефа. Если отключена опция Моделировать тени, в выходном растре учитывается только локальный угол освещения. Если опция включена, выходной растр учитывает и расположение источника света, и эффекты теней.
-
Анализ теней выполняется путем учета эффектов местного горизонта для каждой ячейки. Ячейкам растра в тени присваивается нулевое значение.
-
Чтобы создать растр только для участков, находящихся в тени, воспользуйтесь инструментами Условие (Con), Переклассифицировать (Reclassify) или Извлечь по атрибутам (Extract By Attribute) для выделения из выходных значений отмывки нулевого значения. При запуске инструмента Отмывка (Hillshade) должна быть отмечена опция Моделировать тени.
-
Если входной растр имеет сферическую систему координат, например, десятичные градусы, результаты от запуска инструмента Отмывка (Hillshade) могут выглядеть необычно. Это происходит из-за разницы в единицах измерения горизонтальных (наземных) координат и вертикальных 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
-
Вы можете создавать впечатляющие трехмерные виды поверхности отмывки рельефа с наложением тематических слоев на выходной растр с использованием дополнительного модуля ArcGIS ArcScene.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной растр поверхности. | Raster Layer |
azimuth (дополнительно) |
Азимут положения источника света. Азимут выражается в положительных градусах от 0 до 360, измеряемых по часовой стрелке от направления на север. Значение по умолчанию равно 315 градусам. | Double |
altitude (дополнительно) |
Угол высоты источника света над горизонтом. Высота выражается в положительных градусах, при этом считается, что значение, равное 0 градусов, соответствует линии горизонта, а значение 90 градусов соответствует положению источника света непосредственно над головой. Значение по умолчанию равно 45 градусам. | Double |
model_shadows (дополнительно) |
Тип создаваемой отмывки рельефа.
| Boolean |
z_factor (дополнительно) | Количество наземных единиц измерения координат x,y в одной единице измерения z-значения поверхности. Коэффициент z (z-factor) приводит в соответствие единицы измерения z-значений в том случае, если они отличаются от единиц измерения координат x,y входной поверхности. При вычислении результирующей выходной поверхности z-значения входной поверхности умножаются на коэффициент по z. Если координаты x,y и z-значения приведены в одной и той же системе координат, коэффициент z равен 1. Это значение используется по умолчанию. Если координаты x,y и z-значения приведены в отличающихся единицах измерения, для коэффициента по z должно быть задано соответствующее значение, или же результаты будут некорректными. Например, если единицы измерения для z-значений – футы, а координаты x,y приведены в метрах, для преобразования z-значений из футов в метры вы должны использовать коэффициент по z, равный 0,3048 (1 фут = 0,3048 метра). | Double |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр отмывки. Растр отмывки содержит целочисленные значения в диапазоне от 0 до 255. | Raster |
Пример кода
В этом примере создается растр отмывки, включающий тени. Заданы определенные углы азимута и широты.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outHillShade = HillShade("elevation", 180, 75, "SHADOWS", 1)
outHillShade.save("C:/sapyexamples/output/outhillshd01")
В этом примере создается растр отмывки, включающий тени. Заданы определенные углы азимута и широты, а также задан коэффициент z для конвертации z единиц из футов в метры.
# Name: HillShade_Ex_02.py
# Description: Computes hillshade values for a raster surface.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster = "elevation"
azimuth = 180
altitude = 75
modelShadows = "SHADOWS"
zFactor = 0.348
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute HillShade
outHillShade = HillShade(inRaster, azimuth, altitude, modelShadows, zFactor)
# Save the output
outHillShade.save("C:/sapyexamples/output/outhillshd02")