Skip To Content

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

Image Server で利用可

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

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

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

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

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

[サーフェス パラメーター] ツールの [傾斜角] オプションは、各デジタル標高モデル (DEM) セルの標高の変化率を計算します。 これは DEM の一次微分です。 ただし、前述のように、セルを移動するときにその傾斜角にどのように達するかが重要です。 移動者は、コスト サーフェスで急斜面が割り当てられたセルを回避することができます。 これは、場合によっては、移動者がセルを移動中に斜面を上がっている場合に有効です。 ただし、移動者がセルを移動中に斜面を下っているか横切っている場合は、移動の際にそのセルが優先される可能性があります。

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

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

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

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

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

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

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

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

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

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

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

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

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

鉛直方向ファクターを組み込んだラスターを作成するには、次の手順を実行します。

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

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

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

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

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

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

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

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

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

VRMA の計算

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

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

VRMA の計算

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

VF 乗数の特定

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

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

線形グラフの VF と VRMA

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

注意:

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

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

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

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

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

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

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

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

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

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

Tobler のハイキング関数

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

Tobler のハイキング関数

ここでのd は傾斜角が計算される角度です。

グラフ化すると、速度関数 W は次のように表されます。

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

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

ペース関数

ここでのd は傾斜角が計算される角度です。

ハイキング時間と呼ばれるペース関数は、次のように表されます。

ペース関数に変換された Tobler の速度関数のグラフ
Tobler の速度関数の逆数は、1 メートルあたりの時間で表されるペース関数で、度単位の傾斜角の関数としてプロットされます。

ハイキング時間マップを作成するには、次の手順を実行します。

  1. [距離累積] ツールを開きます。
  2. [入力ラスター、またはフィーチャ ソース データ] パラメーター値としてハイキングの開始場所を指定します。
  3. [出力距離累積ラスター] パラメーター値に名前を指定します。
  4. [入力サーフェス ラスター] パラメーターで標高サーフェスを指定します。
  5. [鉛直方向の移動を基準としたコスト] パラメーター カテゴリを展開して、次の操作を実行します。
    1. [入力鉛直方向ラスター] パラメーターに標高ラスターを入力します。
    2. [鉛直方向ファクター] パラメーター値を [ハイキング時間] に設定します。
    3. [最小カット アングル] および [最大カット アングル] パラメーターをデフォルト値として設定します。
  6. [ソースの特性] カテゴリを展開し、[移動方向] パラメーター値を [ソースから移動] に設定します。
  7. [実行] をクリックします。

生成された累積ラスターで任意の場所をクリックすると、ソースから、クリックした場所までのハイキング時間 (時間単位) を検出できると同時に、最適なルートを取得できます。 移動方向を含めることは重要です。これは、勾配を上るハイキングが、同じ勾配を下るハイキングよりも遅い速度で行われるためです。

[鉛直方向ファクター] パラメーターには、[双方向のハイキング時間] オプションという追加のオプションを使用できます。これもまた Tobler のハイキング関数に基づいています。 この設定では、最適なルートを使用した往復ハイキング トレイルでの一方向のハイキングの平均時間を検出します。 最適な往復トレイルを見つける場合、これが、最適なルートを決定するための最も優れた方法です。 このオプションを使用した場合、結果は双方向の平均になるため、[移動方向] パラメーターは結果に影響を及ぼしません。

追加情報

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

鉛直方向ファクター

鉛直方向ファクター関数を定義するには、グラフのリストが提供されるか、または ASCII ファイルを使用してカスタム関数を作成できます。 以下の鉛直方向ファクター関数は、[距離累積)] ツールで使用できます。

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

関数ゼロ ファクター最小カット アングル最大カット アングル傾斜角PowerCos 累乗Sec 累乗
バイナリ

1

-30

30

なし

なし

なし

なし

線形

1

-90

90

1.111E-02

なし

なし

なし

逆リニア

1

-45

45

-2.222E-02

なし

なし

なし

相対リニア

1

-90

90

1.111E-02

なし

なし

なし

相対逆リニア

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

ハイキング時間

なし

-70

70

なし

なし

なし

なし

双方向のハイキング時間

なし

-70

70

なし

なし

なし

なし

バイナリ

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

デフォルトのバイナリ鉛直方向ファクター グラフ

線形

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

デフォルトのリニア鉛直方向ファクター グラフ

逆リニア

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

デフォルトの逆リニア鉛直方向ファクター グラフ

相対リニア

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

デフォルトの相対リニア鉛直方向ファクター グラフ

相対逆リニア

この鉛直方向ファクターは、[相対リニア] 鉛直方向ファクター キーワードを反転したものです。 これは、VF (Y) 軸と対称をなす VRMA に相対的な 2 つの一次逆関数で構成されます。 両方のラインの Y 軸切片は、値が 1 の VF で指定されます。 ラインの傾斜角は、鉛直方向ファクターの [傾斜角] 修飾子を使用して、負の VRMA を反転する正の VRMA に相対的な単一の傾斜角として定義されます。 デフォルトの傾斜角は -1/45 です (0.02222 として指定されます)。 デフォルトの下限カット アングルは -45 度で、デフォルトの上限カット アングルは 45 度です。

デフォルトの相対逆リニア鉛直方向ファクター グラフ

Cos

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

デフォルトの Cos 鉛直方向ファクター グラフ

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 鉛直方向ファクター グラフ

ハイキング時間

VF は Tobler のハイキング関数の逆数であり、結果は時間単位のペースです。 VRMA が約 -3 度のときにコストが最小になります。 デフォルトの下限カット アングルは -70 度で、デフォルトの上限カット アングルは 70 度です。 この式はマップ単位に合わせて調整されます。

Tobler のハイキング関数の式は次のとおりです。

Tobler のハイキング関数

Tobler のハイキング関数の逆数であるハイキング時間関数は次のとおりです。

ペース、つまりハイキング時間関数

ここでのd は傾斜角が計算される角度です。

ハイキング時間の鉛直方向ファクター グラフ

双方向のハイキング時間

この関数は、最適なルートを使用した往復ハイキング トレイルでの一方向のハイキングの平均時間を求めます。 VF は Tobler のハイキング関数の逆数に基づいていますが、平均を使用します。結果は時間単位のペースです。 この式はマップ単位に合わせて調整されます。

Tobler のハイキング関数の式は次のとおりです。

Tobler のハイキング関数

Tobler のハイキング関数の逆数であるハイキング時間関数は次のとおりです。

ペース、つまりハイキング時間関数

双方向のハイキング関数時間は、正と負の角度を使用したハイキング時間の平均です。

双方向のハイキング関数

ここでのd は傾斜角が計算される角度です。

双方向のハイキング時間の鉛直方向ファクター グラフ

テーブル

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

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

以下は、鉛直方向ファクターの ASCII テーブルのサンプルです。 1 番目の列の単位は度、2 番目の列の単位はメートルあたりの時間です。

    -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 軸切片の位置を決めます。

最小カット アングル

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

最大カット アングル

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

鉛直方向ファクターの最小カット アングルと最大カット アングル修飾子の例

傾斜角

この修飾子は、[リニア][逆リニア][相対リニア][相対逆リニア] キーワードを使用する場合に VRMA-VF 座標系の直線の傾斜角を指定します。 傾斜角は、水平方向の長さを分母、鉛直方向の長さを分子として指定します (たとえば、30 度の傾斜角は 1/30 であり、0.03333 として指定します)。 Linear VRMA グラフで傾斜角が 1/90 の線形関数の例を確認できます。

Power

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

Cos 累乗

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

VF = cos(VRMA)power

Sec 累乗

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

VF = sec(VRMA)power

テーブル名

この修飾子は、[テーブル] 鉛直方向ファクター キーワードで使用する 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