傾斜角(Slope)の仕組み
[傾斜角(Slope)] ツールは、対象セルとその近隣セルとを比較し、それらの値の最大変化率を計算します。原則として、対象セルとその 8 つの近隣セルの高度を比較したとき、距離に対するそれらの最大高度変化が、対象セルからの最も急な降下傾斜となります。
理論的には、処理対象セルを中心とする 3 x 3 近傍セルの Z 値に合わせた平面を想定します。この平面の傾き値は、平均最大法を用いて計算されます(「参考文献」を参照)。この平面の向きは、処理対象セルの傾斜方向になります。傾斜角の値が小さくなるほど地表は平らになり、傾斜角の値が大きくなるほど地表が急勾配になります。
いずれかの近傍セルの Z 値が NoData である場合、中央セルの Z 値がそのセル位置に割り当てられます。ラスタの端では、少なくとも 3 つのセル(ラスタ範囲の外側)の Z 値が NoData になります。これらのセルには中央セルの Z 値が割り当てられます。その結果、ラスタの端のセルに合わせた平坦な 3 x 3 平面が形成され、通常は傾きが減少します。
出力傾斜角ラスタは、「度」と「パーセント(傾斜率)」の 2 種類の単位で計算できます。傾斜率は、「高低差÷距離 × 100」で求めることができます。たとえば、下図の三角形 B の場合、角度 45 度なので「高低差」と「距離」が等しく、傾斜率は 100% になります。三角形 C のように、傾斜角が垂直(90 度)に近づくほど傾斜率が大きくなります。
多くの場合、[傾斜角(Slope)] ツールは、次の図に示すように標高データセットに対して実行されます。出力傾斜角ラスタでは、傾斜の急な斜面が赤色で表示されています。
人口データなど、他の種類の連続データでこのツールを使用して、値(人口)の急激な変化を調べることもできます。
傾斜角(Slope)のアルゴリズム
中央セルから水平方向(dz/dx)および垂直方向(dz/dy)へのサーフェスの変化率(差分)が傾斜角を決定します。傾斜角(slope_radians)を計算するための基本的なアルゴリズムは次のとおりです。
slope_radians = ATAN ( √ ([dz/dx]2 + [dz/dy]2) )
通常、傾斜角は「度」で計測され、このアルゴリズムでもこの単位を使用しています。
sope_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]
中央セルの値、およびそれを囲む 8 つのセルの値は、横方向の差分と縦方向の差分を決定します。隣接セルは 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 の傾斜角を計算します。
rse_run = √ ([dz/dx]2 + [dz/dy]2) = √ ((0.05)2 + (-3.8)2) = √ (0.0025 + 14.44) = 3.80032
sope_degrees = ATAN (rise_run) * 57.29578 = ATAN (3.80032) * 57.29578 = 1.31349 * 57.29578 = 75.25762
セル e の傾斜角値(整数)は 75 度になります。
参考文献
Burrough, P. A., and McDonell, R. A., 1998. Principles of Geographical Information Systems (Oxford University Press, New York), 190 pp.