山体阴影 (3D Analyst)

摘要

通过考虑照明源的角度和阴影,根据表面栅格创建地貌晕渲。

了解有关山体阴影工具工作原理的详细信息

插图

Hillshade illustration
Hillshade_3d (InRas1, 99, 33, OutRas)

用法

语法

Hillshade_3d (in_raster, out_raster, {azimuth}, {altitude}, {model_shadows}, {z_factor})
参数说明数据类型
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
(可选)

一个表面 z 单位中地面 x,y 单位的数量。

z 单位与输入表面的 x,y 单位不同时,可使用 z 因子调整 z 单位的测量单位。计算最终输出表面时,将用 z 因子乘以输入表面的 z 值。

如果 x,y 单位和 z 单位采用相同的测量单位;则 z 因子为 1。这是默认值。

如果 x,y 单位和 z 单位采用不同的测量单位,则必须将 z 因子设置为适当的因子,否则会得到错误的结果。例如,如果 z 单位是英尺而 x,y 单位是米,则应使用 z 因子 0.3048 将 z 单位从英尺转换为米(1 英尺 = 0.3048 米)。

Double

代码示例

山体阴影示例 1(Python 窗口)

在本例中将生成含有阴影的山体阴影栅格。设置特定方位角和高度角。

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.HillShade_3d("elevation", "C:/output/outhillshd01", 180, 75, "SHADOWS", 1)
山体阴影示例 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

# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")

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

环境

相关主题

许可信息

ArcView: 需要 3D Analyst 或 Spatial Analyst
ArcEditor: 需要 3D Analyst 或 Spatial Analyst
ArcInfo: 需要 3D Analyst 或 Spatial Analyst

7/10/2012