ArcGIS教程:山体阴影工作原理

 时间:2024-10-02 12:21:37

山体阴影工具通过为栅格中的每个像元确定照明度,来获取表面的假定照明度。通过设置假定光源的位置和计算与相邻像元相关的每个像元的照明度值,即可得出假定照明度。进行分析或图形显示时,特别是使用透明度时,“山体阴影”工具可大大增强表面的可视化。默认情况下,阴影和光线是与介于0和255之间的整数相关的灰度梯度(从黑色渐变为白色)。

工具/原料

ArcGIS

山体阴影

方法/步骤

1、山体阴影参数在为任何特定位置创建山体阴影地图时,所要考虑的主要因素是太阳在天空中的位置。方位角方向角指的是太阳的角度方向,是以北为基准方向在0到360度范围内按顺时针进行测量的。90º的方位角为东。默认方向角为315º(NW)。高度高度指的是照明源高出地平线的角度或坡度。高度的单位为度,范围为0(位于地平线上)到90(位于头上)之间。默认值为45度。下面的山体阴影示例的方位角为315º,高度为45º。

ArcGIS教程:山体阴影工作原理

2、将山体阴影用于显示通过将高程栅格放置在山体阴影栅格的顶部,然后对高程栅格的透明度进行调整,您可以轻松地创建出外观精美的地表地貌图。您可以添加其他图层(如土地使用类型、植被、道路或河流),从而进一步丰富显示中的信息内容。

ArcGIS教程:山体阴影工作原理

3、在分析中使用山体阴影通过对阴影进行建模(默认选项),可计算局部照明度以及像元是否落入阴影内。通过对阴影进行建模,可在一天的特定时间对将要落入其他像元阴影的各个像元进行识别。位于其他像元的阴影中的像元编码为0;所有其他像元的编码为介于1和255之间的整数。可将所有大于1的值重分类为1,从而生成二进制输出栅格。在以下示例中,黑色区域位于阴影内。两张图像中的相位角相同,只是太阳角度(高度)被进行了修改。

ArcGIS教程:山体阴影工作原理

4、如何计算山体阴影要计算阴影值,首先需溴溢菏确要提供光照源的高度和方向角。在计算坡度和坡向的同时会处理这些值,从而确定输出栅格中每个像元的最嘏钱侯薰终山体阴影值。山体阴影算法用于计算山体阴影值的算法如下:(1)Hillshade=255.0*((cos(Zenith_rad)*cos(Slope_rad))+(sin(Zenith_rad)*sin(Slope_rad)*cos(Azimuth_rad-Aspect_rad)))请注意,如果山体阴影值的计算结果<0,则输出像元值将=0。计算入射角度以高于地平线的角度指定照明源的高度。但是,用于计算山体阴影值的公式要求以弧度为单位表示角度且从垂直方向偏转角度。将垂直于表面的方向(头顶正上方)标注为天顶。天顶角是从天顶点到照明源的方向测量而来的角度,是高度的90°余角。要计算入射角度,第一步是将高度角转换为天顶角。第二步是将天顶角转换为弧度。将高度转换为天顶角:(2)Zenith_deg=90-Altitude转换为弧度:(3)Zenith_rad=Zenith*pi/180.0计算入射方向以度为单位指定照明源的方向和天顶。山体阴影公式要求天顶角采用弧度作为单位。首先,将天顶角从地理单位(罗盘方向)转换为数学单位(直角)。然后,将天顶角转换为弧度。转换天顶角的方法:(4)Azimuth_math=360.0-Azimuth+90请注意,如果Azimuth_math>=360.0,则:(5)Azimuth_math=Azimuth_math-360.0转换为弧度:(6)Azimuth_rad=Azimuth_math*pi/180.0计算坡度和坡向移动的3x3窗口会访问输入栅格中的每个像元,窗口中心的每个像元的坡向和坡度将使用包含该像元的八个相邻像元的值的算法进行计算。这些像元使用字母a至i进行标识,其中e表示当前正在计算坡向的像元。像元e在x方向上的变化率使用以下算法计算:(7)[dz/dx]=((c+2f+i)-(a+2d+g))/(8*cellsize)像元“e”在y方向上的变化率使用以下算法计算:(8)[dz/dy]=((g+2h+i)-(a+2b+c))/(8*cellsize)坡度是从表面中的每个像元开始的最陡坡降。以下算法用于计算以弧度为单位的坡度(其中包含z因子):(9)Slope_rad=ATAN(z_factor*√([dz/dx]2+[dz/dy]2))最陡坡降的方向就是坡向的朝向。使用范围为0到2pi之间的弧度来定义坡向,其中0表示朝东。根据以下算法中的规则确定坡向:(10)If[dz/dx]isnon-zero:Aspect_rad=atan2([dz/dy],-[dz/dx])ifAspect_rad<0thenAspect_rad=2*pi+Aspect_radIf[dz/dx]iszero:if[dz/dy]>0thenAspect_rad=pi/2elseif[dz/dy]<0thenAspect_rad=2*pi-pi/2elseAspect_rad=Aspect_rad

5、山体腌擀释飙阴影计算示例例如,将计算移动窗口内中心像元的山体阴影值。像元大小为5个单位。将使用45度的默认高度和泌驾台佐315度的默认方位角。·入射角度根据等式2计算天顶角所得出的结果为:(2)Zenith_deg=90-Altitude=90-45=45根据等式3将天顶角转换为弧度的计算结果为:(3)Zenith_rad=Zenith_deg*pi/180.0=45*3.1428571429/180=0.7857142857·入射方向使用等式4将天顶角从地理角度转换为数学角度的计算结果为:(4)Azimuth_math=360.0-Azimuth+90=360.0-315+90=135=2.3571428571使用等式6将天顶角转换为弧度的计算结果为:(6)Azimuth_rad=Azimuth_math*pi/180.0=135*3.1438571429/180·坡度和坡向中心像元e在x方向上的变化率的计算结果为:(7)[dz/dx]=((c+2f+i)-(a+2d+g))/(8*cellsize)=((2483+4966+2477)-(2450+4904+2447))/(8*5)=(9926-9801)/40=3.125中心像元e在y方向上的变化率的计算结果为:(8)[dz/dy]=((g+2h+i)-(a+2b+c))/(8*cellsize)=(2447+4910+2477)-(2450+4922+2483)/(8*5)=(9834-9855)/40=-0.525坡度角的计算结果为:(9)Slope_rad=ATAN(z_factor*√([dz/dx]2+[dz/dy]2))=atan(1*sqrt(3.125*3.125+-0.525*-0.525))=1.26511根据规则10计算Aspect_rad角(因为本例中dz/dx为非零值)所得出的结果为:Aspect_rad=atan2([dz/dy],-[dz/dx])=atan2(-0.525,-3.125)=-2.9751469600412由于此值小于0,因此应用该规则的以下部分:Aspect_rad=2*pi+Aspect_rad=2*3.1428571429+-2.9751469600412=3.310567·山体阴影山体阴影的最终计算结果为:Hillshade=255.0*((cos(Zenith_rad)*cos(Slope_rad))+(sin(Zenith_rad)*sin(Slope_rad)*cos(Azimuth_rad-Aspect_rad)))=255.0*((cos(0.7857142857)*cos(1.26511))+(sin(0.7857142857)*sin(1.26511)*cos(2.3571428571-3.310567)))=153.82因为输出栅格为整型,所以中心像元e的阴影值为154。

ArcGIS教程:山体阴影工作原理

GIS怎么绘制道路线条 arcgis中如何改变布局视图的方向以及大小 ARCGIS中图层顺序调节方法 arcgis图例怎么添加教程 arcgis布局视图找不到图的解决办法
热门搜索
蛋糕展示柜图片 在线观看韩国电影 割完包皮后水肿图片 碗柜图片 图片另存为快捷键