水平方向ファクタと垂直方向ファクタがパス距離に与える影響
パス距離ツールでは、いくつかのパラメータを使用して、水平方向および垂直方向の抵抗係数を制御できます。
このセクションを読む前に、パス距離解析の基礎とパス距離ツールの動作を理解している必要があります。
水平方向ファクタ
水平方向ファクタ
HF(水平方向ファクタ)は、1 つのセルから別のセルへの移動総コスト(難易度)に影響します(移動におけるすべての水平方向の抵抗係数が考慮されます)。
セル間の移動について総 HF を計算するには、処理セルの中心から終点のセルのエッジまでのリンクの線分長の HF、および終点のセルの端からその中心までのリンクの線分長の HF を特定する必要があります。
各リンクの水平方向のコストの決定は、2 つのステップを持つプロセスです。
- はじめに、優勢な水平方向が設定されます。水平方向は角度で指定され、0 は処理セルの上、つまり北で値は右回りに増加し、360 度で円になり元の位置に戻ります。
水平方向は、入力水平方向ファクタ ラスタの各セル位置に割り当てられた値で指定されます。これは、多くの場合、処理セルに対して水平方向の移動コストが最小の方向を示しますが、必ずしもそうであるとは限りません。
- 水平方向を指定したら、線分の長さに沿う移動の総コストの計算に使用する水平方向ファクタを決定する必要があります。はじめに、水平方向に対する終点セルの位置を確定する必要があります。ソース セルにおける水平方向に対する終点セルの方向は、水平方向の移動、または単純な移動方向です。水平方向ファクタ ラスタにより指定される水平方向から終点セルへの角度は、HRMA(水平方向の相対移動角度)です。
設定した方向のいずれかの側ではなく、設定した水平方向からの角度が関連します。
HRMA を決定したら、グラフを使用して実際の水平方向ファクタを指定します。HF が Y 軸、HRMA が X 軸です。
上の例では、水平方向ファクタを計算するセルの HRMA が、入力水平方向ファクタ ラスタの処理セルに指定されたように、水平方向から 90 度である場合、水平方向ファクタ コストは 1.61 になります。
![]() |
水平方向ファクタ グラフの例 - リニア水平方向ファクタ |
HRMA の値の範囲は -180 ~ 180 度です。ただし、水平方向ファクタ グラフでは X 軸の値の範囲は 0 ~ 180 度で、この理由はグラフが水平方向ファクタの軸に線対称(反転)であると仮定されているからです。つまり、180 度は水平方向ラスタが指定する方向の反対の方向で、90 度は処理セルの左右の方向になります。INF は、値が無限大になることを意味します。
同じプロセスが、終点セルのエッジとそのセルの中心を結ぶ線分長について実行されます。移動方向は同じままですが、計算に使用される水平方向は、終点セルにおける優勢な水平方向です。2 つのセルを結ぶ移動リンクを 2 つの線分長(ソース セル内にある半分の線分長と終点セルにある残り半分の線分長)に分割することにより、より正確な水平方向ファクタが得られます。これは、ソース セルから終点セルへの移動の半分には、ソース セルに関連するコストが関係し、残りの距離は隣接するセルにあり、この部分には異なる水平方向の抵抗があるからです。パス距離の式では、各線分長の水平方向ファクタに、コスト ラスタから得られた対応するコスト ファクタが乗算されます。
水平方向ファクタ キーワード
水平方向ファクタの決定に使用する水平方向ファクタ グラフを指定するには、ソフトウェアが提供するグラフから既存のグラフを選択するか、ASCII ファイルからカスタム グラフを作成します。ソフトウェアが提供する既存のグラフを以下に示します。
- BINARY
HRMA がカット アングルよりも小さい場合、セルのセクションの移動に対する HF はゼロ ファクタに関連付けられている値に設定されます。HRMA がカット アングルよりも大きい場合、そのセクションに対する HF は無限大に設定されます。デフォルトのカット アングルは 45 度です。デフォルトのゼロ ファクタは 1.0 です。
- FORWARD
移動するセクションの HRMA が 45 度未満である場合、HF はゼロ ファクタに関連付けられている値に設定されます。HRMA が 45 度以上、90 度未満である場合、HF はサイド値に設定されます。サイド値が指定されていない場合は、デフォルトのサイド値 1 が使用されます。HRMA が 90 度以上である場合、HF は無限大に設定されます。デフォルトのゼロ ファクタは 0.5 です。
- LINEAR
HF は、HRMA-HF 座標系の直線によって特定されます。HF と衡平なラインの Y 軸切片は、ゼロ ファクタ値に関連付けられている値で指定されます。ラインの傾斜角は SLOPE 修飾子を使用して指定できます。傾斜角が指定されていない場合は、デフォルトの 0.5/45 または 1/90(0.01111 として指定)が使用されます。デフォルトのカット アングルは 181 度であり、これはカットがないことと同じです。デフォルトのゼロ ファクタは 0.5 です。
デフォルトの LINEAR 水平方向ファクタ グラフ - INVERSE_LINEAR
HF は、HRMA-HF 座標系の直線の反転値によって特定されます。HF と衡平なラインの Y 軸切片は、ゼロ ファクタ値に関連付けられている値で指定されます。ラインの傾斜角は SLOPE 修飾子で指定できます。傾斜角が指定されていない場合は、デフォルトの -2/180 または -1/90(0.01111 として指定)が使用されます。デフォルトのカット アングルは 181 度であり、これはカットがないことと同じです。デフォルトのゼロ ファクタは 2.0 です。
デフォルトの INVERSE_LINEAR 水平方向ファクタ グラフ - TABLE
グラフは、テキスト エディタで作成された ASCII ファイルで定義できます。このファイルでは、各行で 2 列の値を指定します。1 番めの値は度単位の HRMA、2 番めの値は HF です。ファイル内の各行は、グラフ上のポイントを指定します。2 つの連続するポイントが、HRMA-HF 座標系の線分長を定義します。HRMA の角度は、昇順で入力する必要があります。最初の(最小)入力値よりも小さい、または最後の(最大)入力値よりも大きい HRMA の HF は無限大に設定されます。無限大の HF は、ASCII ファイルでは -1 で表されます。水平方向ファクタの ASCII テーブルのサンプルを次に示します。
0 1.40 10 2.43 20 2.30 30 3.44 40 1.25 50 1.02 60 0.90 70 0.86 80 0.25 90 0.78 100 1.49 110 2.35 120 3.32 130 2.39 140 3.18 150 2.13 160 1.89 170 1.20 180 2.034
水平方向ファクタの修飾子
HRMA のいくつかのキーワード パラメータには、さまざまな所望の結果を得るためのオプションを指定できます。LINEAR 関数と INVERSE_LINEAR 関数の勾配、FORWARD 関数のサイド値、およびゼロ ファクタにより入力関数の Y 軸切片を変更でき、任意の HRMA 関数のカット アングルはすべて制御できます。この時点で修飾子の効果に詳しくない場合は、気にする必要はありません。ニーズに合わせて HRMA グラフをさらに制御できることのみを知っておいてください。
- ZEROFACTOR
このファクタは、指定された関数の Y 軸切片を配置するために使用されます。これは、すべての水平方向ファクタ関数と組み合わせて使用できます。
- CUTANGLE
HF を無限大に設定する基準となる HRMA の閾値を設定します。CUTANGLE は、FORWARD 以外のすべての水平方向ファクタ キーワードで使用できます。FORWARD 関数は、当然のことながら、独自のカット アングルを設定します。
水平方向ファクタの CUTANGLE 修飾子の例 - SLOPE
LINEAR および INVERSE_LINEAR キーワードを使用する場合に HRMA–HF 座標系の直線の傾斜角を指定します。傾斜角は、水平方向の長さを分母、垂直方向の長さを分子として指定されます(たとえば、30 度の傾斜角は 1/30 であり、0.03333 として指定されます)。LINEAR HRMA グラフで傾斜角が 1/90 のラインの例を確認できます。
- SIDEVALUE
FORWARD 水平方向ファクタ キーワードが使用される場合に、45 度以上、90 度未満の HRMA に割り当てられる HF 値を指定します。サイド値が 1 の FORWARD HRMA グラフをご参照ください。
- TABLE_NAME
TABLE 水平方向ファクタ キーワードで使用する必要のある ASCII ファイルの名前を指定します。
垂直方向ファクタ
垂直方向ファクタ
VF(垂直方向ファクタ)は、1 つのセルから別のセルへの移動の難易度を特定します(移動に影響をおよぼす可能性のある垂直エレメントが考慮されます)。
1 つのセルから別のセルへの移動における VF を特定することは、水平方向ファクタを特定することと似ていますが、VF は、HF を計算するときとは異なり、2 つの線分長に分割されません。これは、2 つのセルの中心の間には傾斜角が 1 つしかないため、VRMA(垂直方向の相対移動角度)も 1 つしかないからです。
1 つのセルから別のセルへの移動に対する VF を特定するためには、ソース セルと終点セルの間の傾斜角が入力垂直方向ファクタ ラスタで定義されている値から計算されます。結果として算出される傾斜角が VRMA であり、これは垂直方向ファクタ グラフにプロットされ、セル間移動のパス距離計算の垂直方向ファクタに使用される値を示します。この垂直方向ファクタは、ソース セルの中心から終点セルの中心への垂直方向ファクタを設定します。垂直方向ファクタが大きければ大きいほど、移動が困難であることを示します。
VRMA は、ソース セルから終点セルへの傾斜角です。傾斜角の計算には、ピタゴラスの定理の式(水平方向の長さが分母、垂直方向の長さが分子)を使用します。傾斜角を得るために必要な三角形の底辺は、セル サイズから得られます。高さは、終点セルの値からソース セルの値を減算することにより算出されます。算出された角度が VRMA です。
![]() |
VRMA は角度で指定されます。VRMA の値の範囲は -90 ~ 90 度であり、正および負の両方の傾斜角を補正します。VRMA 値は、次に、指定された垂直方向ファクタ グラフにプロットされ、終点セルに到達するためのコストを特定する計算で使用される垂直方向ファクタを取得します。VRMA の解像度は 0.25 度です。
例として、次の図は、LINEAR タイプのグラフの VF と VRMA の関係を示しています。
![]() |
LINEAR タイプのグラフの VF と VRMA の関係 |
垂直方向ファクタ キーワード
VF の特定に使用する垂直方向ファクタ グラフを指定する手順は、水平方向ファクタ グラフの指定と同じです。グラフは、ソフトウェアが用意したグラフのリストから選択することも、ASCII ファイルのカスタム グラフを作成することもできます。ArcGIS Spatial Analyst が提供する垂直方向ファクタ グラフを示します。
BINARY
VRMA が下限カット アングルよりも大きく、上限カット アングルよりも小さい場合、2 つのセルの間の移動に対する VF はゼロ ファクタに関連付けられている値に設定されます。VRMA がカット アングルよりも大きい場合、VF は無限大に設定されます。デフォルトのカット アングルは、値が指定されていない場合は、30 度です。
![]() |
デフォルトの BINARY 垂直方向ファクタ グラフ |
LINEAR
VF は、VRMA-VF 座標系の直線によって特定されます。VF と衡平なラインの Y 軸切片は、ゼロ ファクタ値に関連付けられている値で指定されます。ラインの傾斜角は SLOPE 修飾子を使用して指定できます。傾斜角が指定されていない場合は、デフォルトの 1/90(0.01111 として指定)が使用されます。デフォルトの下限カット アングルは -90 度で、デフォルトの上限カット アングルは 90 度です。
![]() |
デフォルトの LINEAR 垂直方向ファクタ グラフ |
SYM_LINEAR
SYM_LINEAR は、VF(Y)軸と対称をなす VRMA に相対的な 2 つの線形関数で構成されます。両方のラインの Y 軸切片は、ゼロ ファクタに関連付けられている VF 値で指定されます。ラインの傾斜角は、垂直方向ファクタの SLOPE 修飾子を使用して、負の VRMA を反転する正の VRMA に相対的な単一の傾斜角として定義されます。デフォルトの傾斜角は 1/90 です(0.01111 として指定されます)。デフォルトの下限カット アングルは -90 度で、デフォルトの上限カット アングルは 90 度です。
![]() |
デフォルトの SYM_LINEAR 垂直方向ファクタ グラフ |
INVERSE_LINEAR
VF は、VRMA-VF 座標系の直線の反転値によって特定されます。VF と衡平なラインの Y 軸切片は、ゼロ ファクタ値に関連付けられている値で指定されます。ラインの傾斜角は SLOPE 修飾子で指定されていると特定できます。傾斜角が指定されていない場合は、デフォルトの -1/45(0.02222 として指定)が使用されます。デフォルトの下限カット アングルは -45 度で、デフォルトの上限カット アングルは 45 度です。
![]() |
デフォルトの INVERSE_LINEAR 垂直方向ファクタ グラフ |
SYM_INVERSE_LINEAR
SYM_INVERSE_LINEAR は、その名前が示すように、SYM_LINEAR 垂直方向ファクタ キーワードを反転したものです。これは、VF(Y)軸と対称をなす VRMA に相対的な 2 つの反転線形関数で構成されます。両方のラインの Y 軸切片は、値が 1 の VF で指定されます。ラインの傾斜角は、垂直方向ファクタの SLOPE 修飾子を使用して、負の VRMA を反転する正の VRMA に相対的な単一の傾斜角として定義されます。デフォルトの傾斜角は -1/45 です(0.02222 として指定されます)。デフォルトの下限カット アングルは -45 度で、デフォルトの上限カット アングルは 45 度です。
![]() |
デフォルトの SYM_INVERSE_LINEAR 垂直方向ファクタ グラフ |
COS
VF は VRMA のコサイン関数によって決定されます。デフォルトの下限カット アングルは -90 度で、デフォルトの上限カット アングルは 90 度です。デフォルトの COSPOWER は 1.0 です。
![]() |
デフォルトの COS 垂直方向ファクタ グラフ - デフォルト値(1.0) |
SEC
VF は VRMA の正弦関数によって決定されます。デフォルトの下限カット アングルは -90 度で、デフォルトの上限カット アングルは 90 度です。デフォルトの SECPOWER は 1.0 です。
![]() |
デフォルトの SEC 垂直方向ファクタ グラフ |
COS_SEC
VRMA が負の値である場合、VF は VRMA の余弦関数によって決定されます。VRMA が正の値である場合、VF は VRMA の正弦関数によって決定されます。デフォルトの下限カット アングルは -90 度で、デフォルトの上限カット アングルは 90 度です。デフォルトの COSPOWER と SECPOWER は 1.0 です。
![]() |
デフォルトの COS_SEC 垂直方向ファクタ グラフ |
SEC_COS
VRMA が負の値である場合、VF は VRMA の正弦関数によって決定されます。VRMA が正の値である場合、VF は VRMA の余弦関数によって決定されます。デフォルトの下限カット アングルは -90 度で、デフォルトの上限カット アングルは 90 度です。デフォルトの COSPOWER と SECPOWER は 1.0 です。
![]() |
デフォルトの SEC_COS 垂直方向ファクタ グラフ |
TABLE
このテーブルは、各行に 2 つの列がある ASCII ファイルです。これは、水平方向ファクタ グラフの TABLE オプションと似ています。
1 番めの列では VRMA を度単位で指定し、2 番めの列では VF を指定します。各行はポイントを指定します。2 つの連続するポイントが、VRMA-VF 座標系の線分長を生成します。角度は昇順で入力する必要があります。最初の(最小)入力値よりも小さい、または最後の(最大)入力値よりも大きい VRMA の VF は無限大に設定されます。無限大の VF は、ASCII テーブルでは -1 で表されます。
垂直方向ファクタの ASCII テーブルのサンプル
0 1.40 10 2.43 20 2.30 30 3.44 40 1.25 50 1.02 60 0.90 70 0.86 80 0.25 90 0.78 100 1.49 110 2.35 120 3.32 130 2.39 140 3.18 150 2.13 160 1.89 170 1.20 180 2.034
垂直方向ファクタの修飾子
HRMA グラフと同様に、VRMA グラフの特徴は、垂直方向ファクタを調整できるオプションによりさらに制御できます。たとえば、閾値を設定して、VRMA がこの角度を超えると、コストが非常に大きくなるため移動のバリアとなるようにできます。この閾値をカット アングルと呼びます。VF は、VRMA がこの値を超えると無限大に設定されます。
カット アングルが 1 つしかない水平方向ファクタ グラフとは対照的に、垂直方向ファクタ グラフには下限カット アングルと上限カット アングルがあります。
カット アングルは各関数に指定できます。三角関数曲線は累乗できます。三角関数以外の関数では、ゼロ ファクタにより Y 軸切片を変更できます。さらに、線形関数の勾配を指定できます。
- LCUTANGLE
下限閾値を定義する VRMA であり、これを下回ると、指定されている垂直方向ファクタ キーワードに関係なく、VF は無限大に設定されます。
- HCUTANGLE
上限閾値を定義する VRMA であり、これを上回ると、指定されている垂直方向ファクタ キーワードに関係なく、VF は無限大に設定されます。
垂直方向ファクタの LCUTANGLE 修飾子と HCUTANGLE 修飾子の例 - SLOPE
LINEAR、INVERSE_LINEAR、SYM_LINEAR、および SYM_INVERSE_LINEAR キーワードを使用する場合に VRMA–VF 座標系の直線の傾斜角を指定します。傾斜角は、水平方向の長さを分母、垂直方向の長さを分子として指定されます(たとえば、30 度の傾斜角は 1/30 であり、0.03333 として指定されます)。LINEAR VRMA グラフで傾斜角が 1/90 の線形関数の例を確認できます。
- COSPOWER
COS VRMA 関数の値に適用する累乗を指定します。VF は次の式によって決定されます。
VF = cos(VRMA)power
- SECPOWER
SEC VRMA 関数の値に適用する累乗を指定します。VF は次の式によって決定されます。
VF = sec(VRMA)power
- TABLE_NAME
TABLE 垂直方向ファクタ キーワードで使用される ASCII ファイルの名前を指定します。