Доступно с лицензией Spatial Analyst.
Доступно с лицензией 3D Analyst.
Сводка
Создаёт рельеф с тенью из растровой поверхности, принимая во внимание угол источника освещения и тени.
Иллюстрация
Использование
Инструмент 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 (Дополнительный) | Тип создаваемой отмывки рельефа.
| 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 |
Пример кода
В этом примере создается растр отмывки, включающий тени. Заданы определенные углы азимута и высоты.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.HillShade_3d("elevation", "C:/output/outhillshd01", 180, 75, "SHADOWS", 1)
В этом примере создается растр отмывки, включающий тени. Заданы определенные углы азимута и высоты, также задан коэффициент 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)
Environments
Информация о лицензиях
- Basic: Требуется 3D Analyst или Spatial Analyst
- Standard: Требуется 3D Analyst или Spatial Analyst
- Advanced: Требуется 3D Analyst или Spatial Analyst