ArcGIS中栅格计算器的sin计算出来的结果不正确,输入公式为sin(“slope”* 3.1415926 / 180),哪里出错

想用栅格计算器的sin来计算坡度的sin值,可是计算出来的结果一定不正确,还出现了负值。坡度是角度制,因为sin后面跟弧度,所以我把角度转化成弧度“slope” * 3.1415926 / 180,再用sin计算,结果还是不正确。请问应该怎样求?谢谢!!!

你需要知道你的坡度是什么表示方式:



坡度工具用于为每个像元计算值在从该像元到与其相邻的像元方向上的最大变化率。实际上,高程随着像元与其相邻的八个像元之间距离的变化而产生的最大变化率可用来识别自该像元开始的最陡坡降。

从概念上讲,该工具会将一个平面与要处理的像元或中心像元周围一个 3 x 3 的像元邻域的 z 值进行拟合。该平面的坡度值通过最大平均值法来计算(请参阅参考书目)。该平面的朝向就是待处理像元的坡向。坡度值越小,地势越平坦;坡度值越大,地势越陡峭。

如果邻域内某个像元位置的 z 值为 NoData,则将中心像元的 z 值指定给该位置。在栅格的边缘上,至少有三个像元(在栅格范围外)的 z 值为 NoData。中心像元的 z 值将被指定给这些像元。最后得出与这些边缘像元拟合的 3 x 3 平面的扁率,这通常会使坡度减小。

输出坡度栅格可使用两种单位计算:度和百分比(高程增量百分比)。如果将高程增量百分比视为高程增量除以水平增量后再乘以 100,就可以更好地理解高程增量百分比。

请考虑下面的三角形 B。当角度为 45 度时,高程增量等于水平增量,所以高程增量百分比为 100%。

如三角形 C 所示,当坡度角接近直角(90 度)时,高程增量百分比开始接近无穷大。






使用度和使用百分比的坡度值比较

   


坡度工具最常用在高程数据集处理中,如下图所示。较陡的坡度在输出坡度栅格上以红色阴影显示。


该工具可与其他类型的连续数据(如人口)配合使用,用来识别值的急剧变化。

坡度算法

坡度取决于表面从中心像元开始在水平 (dz/dx) 方向和垂直 (dz/dy) 方向上的变化率(增量)。用来计算坡度的基本算法是:

slope_radians = ATAN ( √ ([dz/dx]2 + [dz/dy]2) )

坡度通常以度为单位来测量,其算法如下:

slope_degrees = ATAN ( √ ([dz/dx]2 + [dz/dy]2) ) * 57.29578


注:

这里显示的值 57.29578 是对 180/pi 的计算结果进行截断而得到的值。

坡度算法也可以表示为:

slope_degrees = ATAN (rise_run) * 57.29578

其中:


rise_run = √ ([dz/dx]2 + [dz/dy]2]



中心像元及其相邻的八个像元的值确定水平增量和垂直增量。这些相邻的像元使用字母 a 至 i 进行确定,其中 e 表示当前正在计算坡向的像元。



表面分析扫描窗口

   


像元 e 在 x 方向上的变化率将通过以下算法进行计算:

 [dz/dx] = ((c + 2f + i) - (a + 2d + g) / (8 * x_cellsize)


像元 e 在 y 方向上的变化率将通过以下算法进行计算:

 [dz/dy] = ((g + 2h + i) - (a + 2b + c)) / (8 * y_cellsize)


坡度计算示例

例如,将计算如下所示的移动窗口内中心像元的坡度值。



坡度输入示例

   


像元大小为 5 个单位。默认情况下,将使用度来计算坡度。

中心像元 e 在 x 方向上的变化率为:

 [dz/dx] = ((c + 2f + i) - (a + 2d + g) / (8 * x_cellsize)
         = ((50 + 60 + 10) - (50 + 60 + 8)) / (8 * 5)
         = (120 - 118) / 40
         = 0.05


像元 e 在 y 方向上的变化率为:

 [dz/dy] = ((g + 2h + i) - (a + 2b + c)) / (8 * y_cellsize)
         = ((8 + 20 + 10) - (50 + 90 + 50)) / (8 * 5)
         = (38 - 190 ) / 40
         = -3.8


代入 x 方向和 y 方向上的变化率,计算中心像元 e 的坡度:


 rise_run = √ ([dz/dx]2 + [dz/dy]2)
          = √ ((0.05)2 + (-3.8)2)
          = √ (0.0025 + 14.44)
          = 3.80032
 slope_degrees = ATAN (rise_run) * 57.29578
               = ATAN (3.80032) * 57.29578
               = 1.31349 * 57.29578
               = 75.25762


像元 e 的整型坡度值为 75 度。



坡度输出示例

   

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-02
结果是哪里不对,应该看着是没有问题的。
相似回答