垂直方向ファクターを使用した到達距離の調整

Spatial Analyst のライセンスで利用可能。

調整された直線距離が計算された後に、垂直方向ファクターを使用して、その距離に達する速度を制御することができます。 また、コスト サーフェス移動者の特性、および水平方向ファクターを使用しても速度を制御できます。

垂直方向ファクターは、地表の斜面を移動する労力を表します。 この労力は、その距離にどのように達するかに影響します。 坂を上る場合は労力が大きくなり、坂を下る場合は労力が小さくなります。また、斜面を横切る場合はその中間程度の労力になります。 調整された直線距離を、この労力を考慮して変更すると、移動者がその距離に達する速度を得るのに役立ちます。

坂を下るハイカー
下り坂では消費エネルギーが少なくなるので、移動者はより速い速度でその距離を進むことができます。

斜面に対応するための労力を表す垂直方向ファクターと、サーフェス距離を混同しないでください。サーフェス距離は、地表で上昇と下降をしながら移動者が進む実際の距離を表すための、直線距離に対する調整です。

斜面は、多くの場合、コスト距離解析に関連します。 直観的に、急斜面への対応は、緩やかな斜面よりもコストがかかります。 通常は、Spatial Analyst[傾斜角 (Slope)] ツールを使用して傾斜角ラスターを生成しますが、その傾斜角ラスターがコスト サーフェスに不正に入力されることがあります。

[傾斜角 (Slope)] ツールは、8 つの近傍セルのそれぞれについて最も大きい降下傾斜を計算します。 ただし、前述のように、セルを移動するときにその傾斜角にどのように達するかが重要です。 移動者は、コスト サーフェスで急斜面が割り当てられたセルを回避することができます。 これは、場合によっては、移動者がセルを移動中にその斜面を上がっている場合に有効です。 ただし、移動者がセルを移動中にその斜面を下っているか横切っている場合は、移動の際にそのセルが優先される可能性があります。

垂直方向ファクターの標高ラスターを使用して、斜面に対応する労力を考慮することができます。 傾斜角に達する方向が重要な場合は、コスト サーフェスに傾斜角ラスターを含めないでください。

傾斜角が垂直方向ファクターで計算される方向は、[移動方向] ソース特性パラメーターでも変更できます。 つまり、ソースに向かうあるいはソースから遠ざかる移動によっては、移動者がセルに入る方向が変わり、その結果として傾斜角にどのように達するかが変わります。

垂直方向ファクター (VF) の組み込みは、調整された直線距離計算に対する乗数修飾子です。 垂直方向ファクターの計算方法の詳細については、「距離累積アルゴリズム」をご参照ください。

垂直方向ファクターの使用例

垂直方向ファクターは、次のようなさまざまなシナリオで使用できます。

  • 最短パスをまっすぐ登るより、距離は長いがより楽に横切って進める、2 つのキャンプ場間の新しいハイキング トレイルを検索します。
  • 周辺の植生の健全性に対する、冬季に道路にまかれた塩の影響を調べます。 道路から下る方向にある植生は、塩の流出の影響がより大きくなります。
  • 塩分濃度の変化に応じて異なる海洋生物の移動を調べます。

垂直方向ファクターの組み込み

距離の解析は、概念的に、次の関連機能領域に分けることができます。

2 つ目の機能エリアから、下図のように、垂直方向ファクターによってその距離に達する速度を決定します。 シナリオには、4 つの森林管理事務所のコレクション (紫のドット) と数本の河川 (青いライン) が含まれています。

4 つの管理事務所からの累積コスト距離のマップ
各セルから最寄りの管理事務所までの最小コスト距離には、バリア、サーフェス ラスター、およびコスト サーフェスが組み込まれています。

森林管理者が斜面を登る労力を組み込むため、垂直方向ファクターが指定されます。 標高サーフェスが垂直方向ラスターとして使用されます。

垂直方向ファクターが追加された累積コスト距離のマップ

各セルから最寄りの管理事務所までの最小コスト距離。バリア、サーフェス ラスター、およびコスト サーフェスを持つ上のマップに垂直方向ファクターを組み込んでいます。 垂直方向ファクターは、特に分析範囲の中央に影響します。

垂直方向ファクターを使用した距離ラスターの作成

垂直方向ファクターを組み込んだ距離マップを作成するには、次の手順を実行します。

  1. [距離累積 (Distance Accumulation)] ツールを開きます。
  2. [入力ラスター、またはフィーチャ ソース データ] パラメーターにソースを入力します。
  3. 出力距離累積ラスターに名前を付けます。
  4. [垂直方向の移動を基準としたコスト カテゴリ] を展開します。
  5. [入力垂直方向ラスター] パラメーターに垂直方向ラスターを入力します。

    この入力を使用して、セルの移動時に達する傾斜角が計算されます。 通常は、標高ラスターを指定します。

    [垂直方向ファクター] パラメーターが表示されます。

  6. [垂直方向ファクター] パラメーターに設定内容を指定します。

    このパラメーターは、達した傾斜角で移動する労力を考慮して調整すべきコストに適用される乗数を指定します。

  7. [実行] をクリックします。

垂直方向ファクターは、距離に達する速度に影響します

距離に達する速度を変更し、斜面を移動するための移動者の労力を考慮するため、ツールは内部で次の 2 つの操作を実行します。

  • あるセルから次のセルに移動する際に、その傾斜角にどのように達するかを計算します。 これは、垂直方向の相対移動角度 (VRMA) と呼ばれます。
  • VRMA がその距離に達する速度をどのように変えるかを特定します。

VRMA の計算

VRMA は、処理セル (つまり開始セル) から、移動者が向かっているセル (終了セル) までの、傾斜の角度です。 距離は、終了セルを求めるために計算されています。 傾斜角を計算する始点となる高さは、入力垂直方向ラスターによって定義されます。

傾斜角の計算には、ピタゴラスの定理の式 (水平方向の長さが分母、垂直方向の長さが分子) を使用します。 傾斜角を得るために必要な三角形の底辺は、調整された直線距離から得られます。 高さは、終点セルの値からソース セルの値を減算することにより算出されます。 算出された角度が VRMA です。

VRMA の計算

VRMA は角度で指定されます。 VRMA の値の範囲は -90 〜 90 度であり、正および負の両方の傾斜角を構成します。

VF 乗数の特定

VRMA 値は、次に、指定された垂直方向ファクター グラフにプロットされ、終点セルに到達するためのコストを特定する計算で使用される垂直方向ファクター乗数を取得します。 セルを移動するための距離値に、特定された垂直方向ファクターが乗算されます。 垂直方向ファクターが大きければ大きいほど、移動が困難であることを示します。 VF が 1 より大きいと、達するコスト距離が増えます。 VF が 1 未満で 0 より大きいと、移動者は最速でその距離に達することができます。

たとえば、次のグラフは、VF の一次関数の VF と VRMA の関係を示しています。

線形グラフの VF と VRMA
VF と VRMA の関係が線形グラフに表されています。

移動者が達する傾斜角と移動者の相互関係を得ることができる垂直方向ファクター関数には、BinaryLinearInverse linearSymmetric linearSymmetric inverse linearCosSecCos-Sec、および Sec-Cos があります。 各関数の詳細については、後述の「参考情報」セクションをご参照ください。

注意:

垂直方向ファクターは乗数です。 垂直方向ファクターと、コスト サーフェス、ソース特性、または水平方向ファクターを組み合わせた場合、単位を指定する際に注意が必要です。 一般に、コスト サーフェスが入力された場合、垂直方向ファクターは、コスト サーフェスの単位の速度の乗数調整である必要があります。 コスト サーフェスの速度の単位が時間の場合、垂直方向ファクターは時間の修飾子である必要があります。 これらのファクターのいずれか 1 つのみが速度の単位を定義できます。 残りのファクターは単位を持たず、それらの値は指定された単位の乗数修飾子となります。

垂直方向ファクターを使用した適用例

以下に、垂直方向ファクターを使用した適用例を挙げながら説明していきます。

下り坂のバッファーを作成して、植生に対する冬季の塩の影響を理解します。

道路から下る方向にあるエリアおよび 50 メートル以内のエリアを特定します。それらのエリアは、冬季の塩水の流出の影響を受ける可能性があります。 テレインのサーフェスに沿って距離を計測します。 [Binary] 垂直方向ファクターの設定を使用して、[距離累積 (Distance Accumulation)] ツールが道路セルより高いセルを識別しないようにします。 以下に、生成された下り坂のバッファーの例を示します。

周辺に 50 メートルの下り坂のバッファーが設けられた道路
冬季の塩水の流出の影響を受ける可能性がある道路の下り方向のエリアが特定されました。 垂直方向ファクターにバイナリが設定された [距離累積 (Distance Accumulation)] を使用して、道路から 50 メートルのサーフェス距離内の下り坂セルが特定されます (オレンジ色の陰影)。

比較のため、以下に、道路の別の部分を使用して、直線のバッファーと下り坂のバッファーの違いを示します。

50 メートルの直線のバッファーに 50 メートルの下り坂のバッファーがオーバーレイされた道路
下り坂のみのサーフェス距離のバッファー (オレンジの陰影) にオーバーレイされた、直線距離のバッファー (青い陰影)。 後者は、50 メートル下ることができない場所で狭くなっています。

下り坂のバッファーを作成するには、次の手順を実行します。

  1. [距離累積 (Distance Accumulation)] ツールを開きます。
  2. [入力ラスター、またはフィーチャ ソース データ] パラメーターに道路を入力します。
  3. [出力距離累積ラスター] の値を指定します。
  4. [垂直方向の移動を基準としたコスト カテゴリ] を展開します。
  5. [入力垂直方向ラスター] パラメーターに標高ラスターを入力します。
  6. [垂直方向ファクター] パラメーターに [Binary] を設定します。
  7. [ソース特性] カテゴリを展開します。
  8. [最大累積] 距離パラメーターを 50 メートルに設定します。
  9. [実行] をクリックします。

Tobler のハイキング関数

移動方向で達する傾斜角に基づいて歩行速度を調整しながら、地表全体でのハイキング時間を計算することができます。 Tobler のハイキング関数 (1993) は、その調整の実行に使用される経験的モデルです。 モデルで、基本の歩行速度を 6 km/h と仮定します。これは、傾斜の緩い下り坂 (約 3 度) を移動する際の速度です。

Tobler のハイキング関数

ここで S は、S = tan(d π/180) であるような傾斜角 d (度で指定) で定義されます。

速度関数 W は次のように表されます。

Tobler の速度関数のグラフ
度単位の傾斜角の関数としての Tobler の速度関数は、km/h で表されます。 最速の移動速度である 6 km/h は、傾斜の緩い下り坂 (約 3 度) を歩行する際の速度です。

特定の時間内に移動できる距離ではなく、所定の距離 (1 セル) を移動するために必要な時間を調べる場合は、ペースと呼ばれる、速度の逆数を操作する必要があります。 ペースは、1 キロメートルあたりの時間ではなく、(水平距離解析の単位がメートルなので) 1 メートルあたりの時間で表されます。

ペース関数

ペース関数は次のように表されます。

ペース関数に変換された Tobler の速度関数のグラフ
Tobler の速度関数の逆数は、m/h で表されるペース関数で、度単位の傾斜角の関数としてプロットされます。

d の値の範囲の P(S) を特定し、テーブル (以下のテーブル セクションを参照) に保存します。 このテーブルを [テーブル] 垂直方向ファクター関数で使用すると、セルの移動方向を考慮したセルごとのコストが得られます。 セル内を特定方向に移動するコスト (時間) と達する傾斜角 d は、P(S(d)) * セル サイズ (メートル単位) と表されます。

同一の解析で、Tobler のハイキング (ペース) 関数に加えて、方向のない入力コスト摩擦サーフェスを使用する場合は、コスト摩擦入力の単位に注意してください。 各セルで、[距離累積 (Distance Accumulation)] ツールは P(S) * (セルの入力コスト) を乗じるので、値はいずれもペースの単位になりません。 Tobler のペース関数を単なる重みとなるよう修正する (経験的に正当化されると思われる場合は 6 を 1 に置き換える) ことも、コスト入力で単位のない重みを使用することもできます。

参考情報

以下のセクションでは、垂直方向ファクターに関するその他の情報を提供します。

垂直方向ファクター

垂直方向ファクター関数を定義する場合は、提供されたグラフのリストからいずれかを選択するか、ASCII ファイルを使用してカスタム関数を作成することができます。 以下の垂直方向ファクター関数は、[距離累積 (Distance Accumulation)] ツールで使用できます。

垂直方向ファクターオプション、修飾子、およびデフォルト値

関数ゼロ ファクターLow cut angleHigh cut angle傾斜角 (Slope)累乗Cos powerSec power
バイナリ

1

-30

30

なし

なし

なし

なし

ライン

1

-90

90

1.111E-02

なし

なし

なし

Inverse linear

1

-45

45

-2.222E-02

なし

なし

なし

Symmetric linear

1

-90

90

1.111E-02

なし

なし

なし

Symmetric inverse linear

1

-45

45

-2.222E-02

なし

なし

なし

Cos

なし

-90

90

なし

1

なし

なし

Sec

なし

-90

90

なし

1

なし

なし

Cos – Sec

なし

-90

90

なし

なし

1

1

Sec – Cos

なし

-90

90

なし

なし

1

1

バイナリ

VRMA が下限カット アングルよりも大きく、上限カット アングルよりも小さい場合、2 つのセルの間の移動に対する VF はゼロ ファクターに関連付けられている値に設定されます。 VRMA がカット アングルよりも大きい場合、VF は無限大に設定されます。 デフォルトのカット アングルは、値が指定されていない場合は、30 度です。

デフォルトの BINARY 垂直方向ファクター グラフ

ライン

VF は、VRMA-VF 座標系の直線によって特定されます。 VF と衡平なラインの Y 軸切片は、ゼロ ファクター値で指定されます。 ラインの傾斜角は Slope 修飾子を使用して指定できます。 傾斜角が指定されていない場合は、デフォルトの 1/90 (0.01111 として指定) が使用されます。 デフォルトの下限カット アングルは -90 度で、デフォルトの上限カット アングルは 90 度です。

デフォルトの LINEAR 垂直方向ファクター グラフ

Inverse linear

VF は、VRMA-VF 座標系の直線の反転値によって特定されます。 VF と衡平なラインの Y 軸切片は、ゼロ ファクター値で指定されます。 ラインの傾斜角は Slope 修飾子で指定されていると特定できます。 傾斜角が指定されていない場合は、デフォルトの -1/45 (0.02222 として指定) が使用されます。 デフォルトの下限カット アングルは -45 度で、デフォルトの上限カット アングルは 45 度です。

デフォルトの INVERSE_LINEAR 垂直方向ファクター グラフ

Symmetric linear

この垂直方向ファクターは、VF (Y) 軸と対称をなす VRMA に相対的な 2 つの線形関数で構成されます。 両方のラインの Y 軸切片は、ゼロ ファクターに関連付けられている VF 値で指定されます。 ラインの傾斜角は、垂直方向ファクターの Slope 修飾子を使用して、負の VRMA を反転する正の VRMA に相対的な単一の傾斜角として定義されます。 デフォルトの傾斜角は 1/90 です (0.01111 として指定されます)。 デフォルトの下限カット アングルは -90 度で、デフォルトの上限カット アングルは 90 度です。

デフォルトの SYM_LINEAR 垂直方向ファクター グラフ

Symmetric inverse linear

この垂直方向ファクターは、[Symmetric 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 度です。 デフォルトの [Cos 乗数] の値は 1.0 です。

デフォルトの COS 垂直方向ファクター グラフ - デフォルト値 (1.0)

Sec

VF は VRMA の正弦関数によって決定されます。 デフォルトの下限カット アングルは -90 度で、デフォルトの上限カット アングルは 90 度です。 デフォルトの [Sec 乗数] の値は 1.0 です。

デフォルトの SEC 垂直方向ファクター グラフ

Cos - Sec

VRMA が負の値である場合、VF は VRMA の余弦関数によって決定されます。 VRMA が正の値である場合、VF は VRMA の正弦関数によって決定されます。 デフォルトの下限カット アングルは -90 度で、デフォルトの上限カット アングルは 90 度です。 デフォルトの [Cos 乗数] および [Sec 乗数] の値は 1.0 です。

デフォルトの COS_SEC 垂直方向ファクター グラフ

Sec - Cos

VRMA が負の値である場合、VF は VRMA の正弦関数によって決定されます。 VRMA が正の値である場合、VF は VRMA の余弦関数によって決定されます。 デフォルトの下限カット アングルは -90 度で、デフォルトの上限カット アングルは 90 度です。 デフォルトの [Sec 乗数] および [Cos 乗数] の値は 1.0 です。

デフォルトの SEC_COS 垂直方向ファクター グラフ

テーブル

このテーブルは、各行に 2 つの列がある ASCII ファイルです。

1 番目の列では VRMA を度単位で指定し、2 番目の列では VF を指定します。 各行はポイントを指定します。 2 つの連続するポイントが、VRMA-VF 座標系の線分長を生成します。 角度は昇順、かつ -90 ~ 90 の範囲で入力する必要があります。 最初の (最小) 入力値よりも小さい、または最後の (最大) 入力値よりも大きい VRMA の VF は無限大に設定されます。 無限大の VF は、ASCII テーブルでは -1 で表されます。

以下は、垂直方向ファクターの ASCII テーブルのサンプルです。 1 番目の列の単位は度、2 番目の列の単位は h/m です。

    -90  -1
    -80  -1
    -70   2.099409721
    -60   0.060064462
    -50   0.009064613
    -40   0.00263818
    -30   0.001055449
    -20   0.000500142
    -10   0.00025934
      0   0.000198541
     10   0.000368021
     20   0.000709735
     30   0.001497754
     40   0.003743755
     50   0.012863298
     60   0.085235529
     70   2.979204206
     80  -1
     90  -1

垂直方向ファクターの修飾子

VRMA 関数は、垂直方向ファクターを調整できる修飾子を使用してさらに制御できます。 たとえば、閾値を設定して、VRMA がそれを超えると、コストが非常に大きくなるため移動のバリアとなるようにできます。 この閾値をカット アングルと呼びます。 VF は、VRMA がこの値を超えると無限大に設定されます。

カット アングルが 1 つしかない水平方向ファクター グラフとは対照的に、垂直方向ファクター グラフには下限カット アングルと上限カット アングルがあります。

これらの修飾子を使用して、カット アングルは各関数に指定できます。三角関数曲線は累乗できます。三角関数以外の関数では、ゼロ ファクターにより Y 軸切片を変更できます。さらに、線形関数の勾配を指定できます。

ゼロ ファクター

この修飾子は、VRMA がゼロのときに使用する垂直方向ファクターを指定します。 このファクターは、指定された関数の Y 軸切片の位置を決めます。

Low cut angle

この修飾子は、下限閾値を定義する VRMA であり、これを下回ると、指定されている垂直方向ファクター キーワードに関係なく、VF は無限大に設定されます。

High cut angle

この修飾子は、上限閾値を定義する VRMA であり、これを上回ると、指定されている垂直方向ファクター キーワードに関係なく、VF は無限大に設定されます。

垂直方向ファクターの LCUTANGLE 修飾子と HCUTANGLE 修飾子の例

傾斜角 (Slope)

この修飾子は、LinearInverse linearSymmetric linear、および Symmetric inverse linear キーワードを使用する場合に VRMA-VF 座標系の直線の傾斜角を指定します。 傾斜角は、水平方向の長さを分母、垂直方向の長さを分子として指定されます (たとえば、30 度の傾斜角は 1/30 であり、0.03333 として指定されます)。 Linear VRMA グラフで傾斜角が 1/90 の線形関数の例を確認できます。

累乗

この修飾子は、値を累乗する乗数です。

Cos power

この修飾子は、Sec-Cos VRMA 関数の非負値および Cos-Sec VRMA 関数の負値を累乗する乗数です。 VF は次の式によって決定されます。

VF = cos(VRMA)power

Sec power

この修飾子は、Cos-Sec VRMA 関数の非負値および Sec-Cos VRMA 関数の負値を累乗する乗数です。 VF は次の式によって決定されます。

VF = sec(VRMA)power

Table name

この修飾子は、[Table] 垂直方向ファクター キーワードで使用される ASCII ファイルの名前を指定します。

参照先

Tobler, Waldo (1993) Three Presentations on Geographical Analysis and Modeling: Non-Isotropic Geographic Modeling; Speculations on the Geometry of Geography; and Global Spatial Analysis (93-1) Retrieved from https://escholarship.org/uc/item/05r820mz

関連トピック