您的位置:首页 > 其它

ArcGIS教程:山体阴影

2015-09-29 17:05 796 查看
  摘要

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

  插图

  



  用法

  · 山体阴影工具可根据某栅格创建地貌晕渲栅格。将照明源视为位于无穷远处。

  · 山体阴影栅格的整数值范围为 0 到 255。

  · 可以输出两种地貌晕渲栅格。如果模拟阴影选项不可用(取消选中),则输出栅格仅会考虑本地光照入射角度。如果该选项启用(选中),则输出栅格会同时考虑本地光照入射角度和阴影。

  · 通过计入本地地平线对各像元的影响完成阴影分析。将处于阴影之中的栅格像元的值指定为零。

  · 若只想创建阴影区域的栅格,请使用条件函数、重分类或按属性提取工具将为零的山体阴影值与其他山体阴影值分离。山体阴影工具必须已启用模拟阴影选项。

  · 如果输入栅格位于球面坐标系中(如十进制度球面坐标系),则生成的山体阴影可能看起来很独特。这是因为水平地面单位与高程 z 单位之间的测量值存在差异。由于经度的长度随着纬度而变化,因此需要为该纬度指定一个适当的 z 因子。如果x,y 单位是十进制度而 Z 单位是米,特定纬度的一些合适的 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 叠加输出栅格,从而创建山体阴影表面的动态三维视图。

  代码实例

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

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

  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")

  山体阴影示例 2(独立脚本)

  在本例中将生成含有阴影的山体阴影栅格。设置特定方位角和高度角,并且 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")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息