ArcGIS教程:山体阴影
2015-09-29 17:05
796 查看
摘要
通过考虑照明源的角度和阴影,根据表面栅格创建地貌晕渲。
插图
![](http://www.dsac.cn/file/attached/image/20140715/20140715115423_0890.jpg)
用法
· 山体阴影工具可根据某栅格创建地貌晕渲栅格。将照明源视为位于无穷远处。
· 山体阴影栅格的整数值范围为 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")
通过考虑照明源的角度和阴影,根据表面栅格创建地貌晕渲。
插图
![](http://www.dsac.cn/file/attached/image/20140715/20140715115423_0890.jpg)
用法
· 山体阴影工具可根据某栅格创建地貌晕渲栅格。将照明源视为位于无穷远处。
· 山体阴影栅格的整数值范围为 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")
相关文章推荐
- ArcGIS教程之编辑操作常用快捷键列表
- ArcGIS教程:对镶嵌数据集进行色彩平衡
- ArcGIS教程:裁剪数据框
- ArcGIS教程:遥感图像预处理
- ArcGIS教程:3D Analyst 基本词汇
- ArcGIS教程:“交叉协方差云”工具
- ArcGIS教程:检查多个数据集的协变
- ArcGIS教程:关于设置栅格捕捉选项
- ArcMap——简介及操作地图
- ArcGIS教程:投影参数
- ArcGIS教程:地统计模拟的示例
- ArcGIS教程:浏览任务助手管理器
- ArcGIS教程:XY平面坐标值生成地块图斑
- ArcGIS教程:勾勒建成区轮廓
- ArcGIS教程:计算分区河流(管线)总长度
- ArcGIS教程:基于路网的城市间距离计算方法
- ArcGIS教程:基于GIS的旅游辐射区人口统计
- ArcGIS教程:按照固定路径进行三维飞行
- ArcGIS教程:创建“隐形”图层
- ArcGIS之如何计算面要素的宽度?