ArcGIS教程:坡度的工作原理
1、 坡度工具用于为每个像元计算值在从该像元到与其相邻的像元方向上的字斤谯噌最大变化率。实际上,高程随着像元与其相邻的八个像元之间距离的变化洹彭岣啬而产生的最大变化率可用来识别自该像元开始的最陡坡降。 从概念上讲,该工具会将一个平面与要处理的像元或中心像元周围一个3 x 3的像元邻域的z值进行拟合。该平面的坡度值通过最大平均值法来计算。该平面的朝向就是待处理像元的坡向。坡度值越小,地势越平坦;坡度值越大,地势越陡峭。 如果邻域内某个像元位置的z值为NoData,则将中心像元的z值指定给该位置。在栅格的边缘上,至少有三个像元(在栅格范围外)的z值为NoData。中心像元的z值将被指定给这些像元。最后得出与这些边缘像元拟合的3 x 3平面的扁率,这通常会使坡度减小。 输出坡度栅格可使用两种单位计算:度和百分比(高程增量百分比)。如果将高程增量百分比视为高程增量除以水平增量后再乘以100,就可以更好地理解高程增量百分比。请考虑下面的三角形B。当角度为45度时,高程增量等于水平增量,所以高程增量百分比为100%。如三角形C所示,当坡度角接近直角(90度)时,高程增量百分比开始接近无穷大。 坡度工具最常用在高程数据集处理中,如下图所示。较陡的坡度在输出坡度栅格上以红色阴影显示。 该工具可与其他类型的连续数据(如人口)配合使用,用来识别值的急剧变化。
2、坡度算法 坡度取决于表面从中心像元开始在水平(dz/dx)方向和垂直(dz/dy)方向上的变化率(增量)。用来计算坡度的基本算法是:slope_radians= ATAN ( √ ([dz/dx]2+ [dz/dy]2) ) 坡度通常以度为单位来测量,其算法如下:slope_degrees= ATAN ( √ ([dz/dx]2+ [dz/dy]2) ) * 57.29578 坡度算法也可以表示为: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)
3、坡度塥骈橄摆计算示例 例如,将计算如下所示的移动窗口内中心像元的坡度值。 像元大小为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度。