パスの距離アロケーション (Path Distance) (Spatial Analyst)

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

サマリー

水平コスト係数と垂直コスト係数とともにサーフェス距離を考慮に入れて、コスト サーフェスの最小累積コストに基づき、各セルの最小コスト ソースを計算します。

ヒント:

[Distance Allocation (距離アロケーション)] ツールにより、機能またはパフォーマンスが向上します。

パスの距離ツールの詳細

使用法

  • パスの距離 ツールは、ラスターの各セル位置とソースとの最小累積移動コストを求めるという点ではコスト距離ツールと同等です。 ただし、パスの距離ツールでは、他の水平方向ファクターと垂直方向ファクターに加えて実際のサーフェス距離も考慮されるため、解析がさらに複雑になります。

  • 入力ソース データとして、フィーチャクラスまたはラスターを使用できます。 フィーチャクラスとして、ポイント、ライン、またはポリゴンを使用できます。

  • 入力ソース データがラスターの場合、一連のソース セルは、ソース ラスター内にある有効な値を持つすべてのセルから構成されます。 値が NoData のセルは、ソース セットには含まれません。 値 0 (ゼロ) は、正当なソースと見なされます。 ソース ラスターは、[抽出] ツールを使用して作成できます。

  • 入力ソース データがフィーチャクラスの場合、解析を実行する前に内部でソースの位置がラスターに変換されます。 ラスターの解像度は [セル サイズ] 環境で制御できます。 他のラスターがツールで指定されていない場合、デフォルトの解像度は、入力空間参照において、入力フィーチャの範囲の幅または高さ (どちらか短い方) を 250 で割った値になります。

  • 入力のソース データにフィーチャ データを使用する場合は、出力セル サイズが入力の詳細よりも粗いときの処理方法に注意する必要があります。 内部的なラスター化処理では、[フィーチャ → ラスター (Feature to Raster)] ツールと同じデフォルトの [集約タイプ] 値 (セルの中心メソッド) が使用されます。 つまり、セルの中心に配置されていないデータはラスター化されたソースの中間出力に含まれず、距離の計算では表されません。 たとえば、ソースが出力のセル サイズに比べて小さい一連のポリゴン (建物のフットプリントなど) である場合は、一部のポリゴンだけが出力ラスター セルの中心に分類され、ほとんどのポリゴンが解析で失われたように見える可能性があります。

    この状況を回避するには、中間的な手順として、[フィーチャ → ラスター (Feature to Raster)] ツールを使用して入力フィーチャを直接ラスター化し、[フィールド] パラメーターを設定します。 次に、結果の出力を [距離] ツールの入力として使用します。 また、入力フィーチャから適切な量の情報を捕捉できる小さいセル サイズを選択することもできます。

  • アロケーションを計算するために、ソース位置に値を関連付けることができます。これは [ソース フィールド] パラメーターで指定できます。 入力ソースが整数ラスターである場合、デフォルト フィールドは VALUE です。 入力ソースがフィーチャである場合、デフォルト フィールドは属性テーブルの最初の整数フィールドになります。 入力ソース データが浮動小数点ラスターである場合、整数値ラスターのパラメーターを指定する必要があります。

  • NoData 値のセルは、パスの距離ツールではバリアとして働きます。 NoData 値の背後にあるセルのコスト距離は、NoData バリアを回避するのに必要な累積コストによって計算されます。 いずれかの入力ラスターで NoData が割り当てられたセル位置は、すべての出力ラスターで NoData になります。

  • 入力ソース データとコスト ラスターの範囲が異なる場合、デフォルトの出力範囲は両者の交差部分です。 範囲全体のコスト距離サーフェスを取得するには、出力の [範囲] 環境設定で [入力データのすべての領域] オプションを選択します。

  • [傾斜方向 (Aspect)] ツールの出力は、[入力水平方向ラスター] パラメーターの入力として使用できます。

  • [最大距離] パラメーターの値は、コスト ラスターと同じコストの単位で指定します。

  • 出力距離ラスターの場合、セルと一部ソース位置との最小コスト距離 (または最小累積コスト距離) は、セルから全ソース位置までの最小コスト距離の下限です。

  • 水平方向ファクターの修飾子のデフォルト値は次のとおりです。

    Keywords         Zero factor   Cut angle     Slope   Side value
    --------------   -----------   -----------   -----   ---------
    Binary           1.0            45           ~       ~
    Forward          0.5            45 (fixed)   ~       1.0
    Linear           0.5           181            1/90   ~
    Inverse linear   2.0           180           -1/90   ~
  • 垂直方向ファクターの修飾子のデフォルト値は次のとおりです。

    Keyword                   Zero    Low    High   Slope  Power  Cos    Sec
                              factor  cut    cut                  power  power
                                      angle  angle                             
    ------------------------  ------  -----  -----  -----  -----  -----  -----
    Binary                    1.0     -30    30     ~      ~      ~      ~
    Linear                    1.0     -90    90      1/90  ~      ~      ~
    Symmetric linear          1.0     -90    90      1/90  ~      ~      ~
    Inverse linear            1.0     -45    45     -1/45  ~      ~      ~
    Symmetric inverse linear  1.0     -45    45     -1/45  ~      ~      ~
    Cos                       ~       -90    90     ~      1.0    ~      ~
    Sec                       ~       -90    90     ~      1.0    ~      ~
    Cos_sec                   ~       -90    90     ~      ~      1.0    1.0
    Sec_cos                   ~       -90    90     ~      ~      1.0    1.0
  • ソースの特性、またはソースに対する移動者は、特定のパラメーターで制御できます。 [ソースのコスト乗数] パラメーターは、移動のモードまたはソースの強度を指定します。[ソースの開始コスト] は、移動開始前の開始コストを設定します。[ソースの耐性率] は、ハイカーの疲労度のシミュレーションなど、累積コストの影響を考慮した動的な調整を表します。[ソースのキャパシティ] は、制限に達するまでソースが許容できるコストの量を設定します。 [移動方向] は、移動者がソースを起点としてソース以外の場所に移動するか、ソース以外の場所を起点としてソースへ戻るかを識別します。

  • フィールドを使用してソース特性パラメーターを指定した場合、そのソース特性は、指定されたソース データのフィールド内の情報に従い、ソースごとに適用されます。 キーワードまたは定数値が指定された場合は、すべてのソースに適用されます。

  • [ソースの開始コスト] が指定され、[移動方向][ソースから移動] の場合、出力コスト距離サーフェス上のソース位置が [ソースの開始コスト] の値に設定されます。そうでない場合は、出力コスト距離サーフェス上のソース位置はゼロに設定されます。

  • このツールは、並列処理をサポートしています。 お使いのコンピューターに、複数のプロセッサや、複数のコアを持つプロセッサが搭載されている場合は、特に対象となるデータセットが大きいときにパフォーマンスが向上します。 「Spatial Analyst による並列処理」ヘルプ トピックには、この機能の詳細と設定方法が記載されています。

    並列処理を使用する場合、処理中のデータ チャンクを処理するために一時データが書き込まれます。 デフォルトの一時フォルダーの場所は、ローカルの C: ドライブにあります。 このフォルダーの場所は、TempFolders という名前のシステム環境変数を設定し、使用するフォルダーへのパスを指定することで変更できます (例: E:\RasterCache)。 コンピューター上で管理権限を持っている場合は、レジストリ キー (例: [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]) を使用することもできます。

    デフォルトでは、このツールは使用可能なコアの 50% を使用します。 入力データのサイズが 5,000 セル x 5,000 セルよりも小さい場合、使用されるコア数はそれよりも少なくなります。 並列処理ファクター環境で、ツールが使用するコアの数を制御できます。

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力ラスター、またはフィーチャ ソース データ

入力ソース位置。

出力セル位置ごとの最小累積コスト距離の計算に使用されるセルまたは位置を特定するラスターまたはフィーチャ (ポイント、ライン、ポリゴン) です。

ラスターの場合、入力タイプは整数または浮動小数点数です。

入力ソース ラスターが浮動小数点数の場合、[入力値ラスター] パラメーターで整数のラスターを指定する必要があります。 値ラスターは [ソース フィールド] のパラメーター設定より優先されます。

Raster Layer; Feature Layer
入力コスト ラスター
(オプション)

各セル内を平面的に通過するときにかかるインピーダンスまたはコストを定義するラスター。

各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。 セル内を通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動についても補正します。

コスト ラスターとして、整数値または浮動小数点値を使用できますが、負の値や 0 は使用できません (負またはゼロのコストは指定できません)。

Raster Layer
入力サーフェス ラスター
(オプション)

各セル位置の標高値を定義するラスター。

この値は、セル間を通過するときにたどる実際のサーフェス距離を計算するときに使用されます。

Raster Layer
入力水平方向ラスター
(オプション)

各セルの水平方向を定義するラスター。

ラスター上の値は 0 〜 360 の範囲の整数でなくてはいけません。0 度は北または画面の上方向を示し、値は時計回りに増加します。 平らなエリアには -1 という値を指定します。 各位置の値は [水平方向ファクター] パラメーターと組み合わせて、あるセルから隣接セルに移動するときに発生する水平コストを決定するときに使用されます。

Raster Layer
水平方向ファクター
(オプション)

水平コスト ファクターと水平相対移動角度 (HRMA) の間の関係を指定します。

定義された水平方向ファクター グラフを特定する修飾子付きのファクターが複数存在します。 さらに、テーブルを使用してカスタム グラフを作成することもできます。 グラフは、隣接セルに移動する総コストを計算するときに使用する水平方向ファクターを特定するために使用されます。

以下の説明では、2 つ略語を使用しています。HF は水平方向ファクターを表し、あるセルから次のセルに移動するときに生じる水平移動の難易度を定義します。HRMA は水平相対移動角度を表し、セルからの水平方向と移動方向がなす角度を示します。

[水平方向ファクター] には次のようなオプションがあります。

  • [バイナリ] - HRMA がカット アングルより小さい場合、HF はゼロ ファクターに関連付けられた値に設定され、そうでない場合、HF は無限大に設定されます。
  • [前方] - 前進だけが許されます。 HRMA は 0 度以上 90 度未満 (0 <= HRMA < 90) である必要があります。 HRMA が 0 度より大きく 45 度未満である場合、セルの HF はゼロ ファクターに関連付けられている値に設定されます。 HRMA が 45 度以上である場合、サイド値修飾子の値が使用されます。 HRMA が 90 度以上であると、その HF は無限大に設定されます。
  • [リニア] - HF は HRMA の線形関数です。
  • [逆リニア] - HF は HRMA の逆線形関数です。
  • [テーブル] - テーブル ファイルを使用して、HF の決定に使用される水平方向ファクター グラフを定義します。

水平方向ファクターの修飾子は次のとおりです。

  • [ゼロ ファクター] - HRMA がゼロのときに使用する水平方向ファクター。 このファクターは、任意の水平方向ファクター関数の Y 軸切片の位置を決めます。
  • [カット アングル] - HRMA 角度がこの角度を超えると HF は無限大に設定されます。
  • [傾斜角] - [リニア] および [逆リニア] 水平方向ファクター キーワードで使用される直線の傾斜角。 傾斜角は、水平方向の長さを分母、垂直方向の長さを分子として指定されます (たとえば、45% の傾斜角は 1/45 であり、0.02222 として入力されます)。
  • [サイド値] - [Forward] 水平方向ファクター キーワードが指定されており、HRMA が 45 度以上 90 度未満の場合の HF 値。
  • [テーブル名] - HF を定義するテーブルの名前。
Horizontal Factor
入力垂直方向ラスター
(オプション)

各セル位置の Z 値を定義するラスター。

この値は、あるセルから別のセルに移動するときに生じる垂直方向ファクターを特定する傾斜角を計算するために使用されます。

Raster Layer
垂直方向ファクター
(オプション)

垂直コスト ファクターと垂直相対移動角度 (VRMA) の間の関係を指定します。

定義された垂直方向ファクター グラフを特定する修飾子付きのファクターが複数存在します。 さらに、テーブルを使用してカスタム グラフを作成することもできます。 グラフは、隣接セルに移動する総コストを計算するときに使用する垂直方向ファクターを特定するために使用されます。

以下の説明では、2 つ略語を使用しています。VF は垂直方向ファクターを表し、あるセルから次のセルに移動するときに生じる垂直移動の困難度を定義します。VRMA は垂直相対移動角度を表し、FROM セル (処理中のセル) と TO セルの間の傾斜角度を示します。

[垂直方向ファクター] には次のようなオプションがあります。

  • [バイナリ] - VRMA が最小カット アングルより大きく最大カット アングルより小さい場合、VF はゼロ ファクターに関連付けられた値に設定され、そうでない場合、VF は無限大に設定されます。
  • [リニア] - VF は VRMA の一次関数です。
  • [相対リニア] - VF がそれぞれ VRMA の負の側と正の側で VRMA の一次関数であり、この 2 つの一次関数が VF (Y) 軸に対して対称的です。
  • [逆リニア] - VF は VRMA の一次逆関数です。
  • [相対逆リニア] - VF はそれぞれ VRMA の負の側と正の側で VRMA の一次逆関数であり、この 2 つの一次逆関数が VF (Y) 軸に対して対称的です。
  • [Cos] - VF は VRMA のコサインベースの関数です。
  • [Sec] - VF は VRMA の正割ベースの関数です。
  • [Cos-Sec] - VRMA が負の場合に VF が VRMA の余弦ベースの関数になり、VRMA が負以外の場合に VF が VRMA の正割ベースの関数になります。
  • [Sec-Cos] - VRMA が負の場合に VF が VRMA の正割ベースの関数になり、VRMA が負以外の場合に VF が VRMA の余弦ベースの関数になります。
  • [テーブル] - テーブル ファイルを使用して、VF を決定する垂直方向ファクター グラフを定義します。

垂直方向ファクター キーワードの修飾子は次のとおりです。

  • [ゼロ ファクター] - VRMA がゼロのときに使用する垂直方向ファクター。 このファクターは、指定された関数の Y 軸切片の位置を決めます。 定義上、ゼロ ファクターは垂直三角関数 (COS、SEC、COS-SEC、SEC-COS) には適用されません。 Y 軸切片はこれらの関数によって定義されます。
  • [最小カット アングル] - VRMA 角度がこの角度を下回ると VF は無限大に設定されます。
  • [最大カット アングル] - VRMA 角度がこの角度を上回ると VF は無限大に設定されます。
  • [傾斜角] - [リニア] および [逆リニア] 垂直方向ファクター キーワードで使用される直線の傾斜角。 傾斜角は、水平方向の長さを分母、垂直方向の長さを分子として指定されます (たとえば、45% の傾斜角は 1/45 であり、0.02222 として入力されます)。
  • [テーブル名] - VF を定義するテーブルの名前。
Vertical Factor
最大距離
(オプション)

累積コスト値が超えることのできない閾値。

累積コスト距離がこの値を超える場合、セル位置の出力値は NoData になります。 最大距離は、累積コスト距離を計算する範囲です。

デフォルトは出力ラスターのエッジまでです。

Double
入力値ラスター
(オプション)

各入力ソース位置で使用するゾーン値を特定する入力整数ラスター。

各ソース位置 (セルまたはフィーチャ) について、[入力値ラスター] 値が、計算のためにソース位置に配分されたすべてのセルに割り当てられます。 値ラスターは [ソース フィールド] のパラメーター設定より優先されます。

Raster Layer
ソース フィールド
(オプション)

ソース位置に値を割り当てるために使用するフィールド。 整数タイプでなければなりません。

[入力値ラスター] パラメーターを設定している場合、その入力値は [ソース フィールド] のパラメーター設定より優先されます。

Field
出力距離ラスター
(オプション)

出力パス距離ラスター。

出力パス距離ラスターは、サーフェス距離、水平サーフェス係数、垂直サーフェス係数を考慮に入れて、コスト サーフェス上の特定されたソース位置までの最小累積コスト距離をセルごとに特定します。

ソースは、セル、セル セット、または 1 つ以上のフィーチャ位置です。

出力ラスターのタイプは浮動小数点数です。

Raster Dataset
出力バック リンク ラスター
(オプション)

出力コスト バックリンク ラスター。

バックリンク ラスターは 0 ~ 8 の値を含みます。この値は方向を定義します。つまり、サーフェス距離、水平サーフェス係数、垂直サーフェス係数を考慮に入れて、セルから最小コスト ソースまでの最小累積コスト パスに沿った次の隣接セルを特定します。

パスが右の隣接セルに進む場合、その隣接セルには値 1 が、右下のセルには値 2 が割り当てられ、これが時計回りに続きます。 値 0 はソース セル用とされています。

バックリンク位置
Raster Dataset
コストに適用する乗数
(オプション)

コスト値に適用する乗数。

これを使用すると、移動のモードまたはソースの強度を制御できます。 乗数が大きいほど、各セルの移動コストが大きくなります。

0 より大きい値を指定する必要があります。 デフォルトは 1 です。

Double; Field
開始コスト
(オプション)

コスト計算を開始する際に使用される開始コストです。

ソースに関連付けられた固定コストを指定できます。 コスト アルゴリズムは、コスト 0 から開始する代わりに、[開始コスト] で設定された値から開始します。

値は 0 以上である必要があります。 デフォルトは 0 です。

Double; Field
累積コスト耐性率
(オプション)

このパラメーターは、累積コストの増加に伴う、コストに対処する労力の増加をシミュレートします。 これは、移動者の疲労をモデル化するのに使用されます。 セルに到達するまでに増加した累積コストが耐性率で乗算され、次のセルに移動するコストに追加されます。

これは、複利率の計算式の変更バージョンで、セルの移動による見かけコストの計算に使用されます。 耐性率の値が増えると、後に移動するセルのコストが増加します。 耐性率が大きいほど、次のセルに到達するための追加コストが大きくなります。これは、移動するごとに大きくなります。 耐性率は複利と似ており、累積コストの値は一般に非常に大きいため、耐性率は累積コストの値に応じて 0.02 や 0.005、またはこれより小さいレートをお勧めします。

値は 0 以上である必要があります。 デフォルトは 0 です。

Double; Field
容量
(オプション)

ソースに対する移動者のコスト キャパシティ。

指定した許容値に達するまで、各ソースのコスト計算が続行されます。

0 より大きい値を指定する必要があります。 デフォルトの許容値は出力ラスターのエッジまでです。

Double; Field
移動方向
(オプション)

水平方向ファクター、垂直方向ファクター、およびソース耐性率を適用する際の、移動者の方向を指定します。

[文字列] オプションを選択した場合、始点または終点オプションを選択できます。これは、すべてのソースに適用されます。

[フィールド] オプションを選択した場合、ソース データから、各ソースに使用する方向を決定するフィールドを選択できます。 フィールドには、テキスト文字列 FROM_SOURCE または TO_SOURCE が含まれている必要があります。

  • ソースから移動水平方向ファクター、垂直方向ファクター、およびソース耐性率は、入力ソースを起点としてソース以外のセルに移動する場合に適用されます。 これがデフォルトです。
  • ソースへ移動水平方向ファクター、垂直方向ファクター、およびソース耐性率は、ソース以外の各セルを起点として入力ソースに戻る場合に適用されます。
String; Field

戻り値

ラベル説明データ タイプ
出力アロケーション ラスター

出力パスの距離アロケーション ラスター。

このラスターは、サーフェス距離、水平コスト係数、垂直コスト係数を考慮に入れて、最小累積コストで到着できる各ソース位置 (セルまたはフィーチャ) のゾーンを特定します。

出力ラスターのタイプは整数です。

Raster

PathAllocation(in_source_data, {in_cost_raster}, {in_surface_raster}, {in_horizontal_raster}, {horizontal_factor}, {in_vertical_raster}, {vertical_factor}, {maximum_distance}, {in_value_raster}, {source_field}, {out_distance_raster}, {out_backlink_raster}, {source_cost_multiplier}, {source_start_cost}, {source_resistance_rate}, {source_capacity}, {source_direction})
名前説明データ タイプ
in_source_data

入力ソース位置。

出力セル位置ごとの最小累積コスト距離の計算に使用されるセルまたは位置を特定するラスターまたはフィーチャ (ポイント、ライン、ポリゴン) です。

ラスターの場合、入力タイプは整数または浮動小数点数です。

入力ソース ラスターが浮動小数点数の場合、in_value_raster パラメーターで整数のラスターを指定する必要があります。 値ラスターは source_field のパラメーター設定より優先されます。

Raster Layer; Feature Layer
in_cost_raster
(オプション)

各セル内を平面的に通過するときにかかるインピーダンスまたはコストを定義するラスター。

各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。 セル内を通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動についても補正します。

コスト ラスターとして、整数値または浮動小数点値を使用できますが、負の値や 0 は使用できません (負またはゼロのコストは指定できません)。

Raster Layer
in_surface_raster
(オプション)

各セル位置の標高値を定義するラスター。

この値は、セル間を通過するときにたどる実際のサーフェス距離を計算するときに使用されます。

Raster Layer
in_horizontal_raster
(オプション)

各セルの水平方向を定義するラスター。

ラスター上の値は 0 〜 360 の範囲の整数でなくてはいけません。0 度は北または画面の上方向を示し、値は時計回りに増加します。 平らなエリアには -1 という値を指定します。 各位置の値は horizontal_factor パラメーターと組み合わせて、あるセルから隣接セルに移動するときに発生する水平コストを決定するときに使用されます。

Raster Layer
horizontal_factor
(オプション)

Horizontal Factor オブジェクトは、水平コスト ファクターと水平相対移動角度 (HRMA) の間の関係を定義します。

定義された水平方向ファクター グラフを特定する修飾子付きのファクターが複数存在します。 さらに、テーブルを使用してカスタム グラフを作成することもできます。 グラフは、隣接セルに移動する総コストを計算するときに使用する水平方向ファクターを特定するために使用されます。

以下の説明では、2 つ略語を使用しています。HF は水平方向ファクターを表し、あるセルから次のセルに移動するときに生じる水平移動の難易度を定義します。HRMA は水平相対移動角度を表し、セルからの水平方向と移動方向がなす角度を示します。

オブジェクトには以下の種類があります。

これらの定義とパラメーターは次のとおりです。

  • HfBinary({zeroFactor}, {cutAngle})

    HRMA がカット アングルより小さい場合、HF はゼロ ファクターに関連付けられた値に設定され、そうでない場合、HF は無限大に設定されます。

  • HfForward({zeroFactor}, {sideValue})

    前進だけが許されます。 HRMA は 0 以上 90 未満 (0 <= HRMA < 90) である必要があります。 HRMA が 0 度より大きく 45 度未満である場合、セルの HF はゼロ ファクターに関連付けられている値に設定されます。 HRMA が 45 度以上である場合、サイド値修飾子の値が使用されます。 HRMA が 90 度以上であると、その HF は無限大に設定されます。

  • HfLinear({zeroFactor}, {cutAngle}, {slope})

    HF は HRMA の一次関数です。

  • HfInverseLinear({zeroFactor}, {cutAngle}, {slope})

    HF は HRMA の一次逆関数です。

  • HfTable(inTable)

    テーブル ファイルを使用して、HF の決定に使用される水平方向ファクター グラフを定義します。

水平方向ファクター キーワードの修飾子は次のとおりです。

  • zeroFactor - HRMA が 0 の場合に使用される水平方向ファクター。 このファクターは、任意の水平方向ファクター関数の Y 軸切片の位置を決めます。
  • cutAngle - HF を無限大に設定する基準となる HRMA 角度。
  • slope - HfLinear および HfInverseLinear 水平方向ファクター キーワードで使用される直線の傾斜角。 傾斜角は、水平方向の長さを分母、垂直方向の長さを分子として指定されます (たとえば、45% の傾斜角は 1/45 であり、0.02222 として入力されます)。
  • sideValue - HfForward 水平方向ファクター キーワードが指定され、HRMA が 45 度以上、90 度未満のときの HF 値。
  • inTable - HF を定義するテーブルの名前。

Horizontal Factor
in_vertical_raster
(オプション)

各セル位置の Z 値を定義するラスター。

この値は、あるセルから別のセルに移動するときに生じる垂直方向ファクターを特定する傾斜角を計算するために使用されます。

Raster Layer
vertical_factor
(オプション)

Vertical factor オブジェクトは、垂直コスト ファクターと垂直相対移動角度 (VRMA) の間の関係を定義します。

定義された垂直方向ファクター グラフを特定する修飾子付きのファクターが複数存在します。 さらに、テーブルを使用してカスタム グラフを作成することもできます。 グラフは、隣接セルに移動する総コストを計算するときに使用する垂直方向ファクターを特定するために使用されます。

以下の説明では、2 つ略語を使用しています。VF は垂直方向ファクターを表し、あるセルから次のセルに移動するときに生じる垂直移動の困難度を定義します。VRMA は垂直相対移動角度を表し、FROM セル (処理中のセル) と TO セルの間の傾斜角度を示します。

オブジェクトには以下の種類があります。

これらの定義とパラメーターは次のとおりです。

  • VfBinary({zeroFactor}, {lowCutAngle}, {highCutAngle})

    VRMA が最小カット アングルより大きく最大カット アングルより小さい場合、VF はゼロ ファクターに関連付けられた値に設定され、そうでない場合、VF は無限大に設定されます。

  • VfLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    VF は VRMA の線形関数です。

  • VfInverseLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    VF は VRMA の逆線形関数です。

  • VfSymLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    VF が VRMA の負の側と正の側でそれぞれ VRMA の線形関数になり、これら 2 つの線形関数が VF (Y) 軸に対して対称的になります。

  • VfSymInverseLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    VF が VRMA の負の側と正の側でそれぞれ VRMA の逆線形関数になり、これら 2 つの逆線形関数が VF (Y) 軸に対して対称的になります。

  • VfCos({lowCutAngle}, {highCutAngle}, {cosPower})

    VF は VRMA のコサインベースの関数です。

  • VfSec({lowCutAngle}, {highCutAngle}, {secPower})

    VF は VRMA の正割ベースの関数です。

  • VfCosSec({lowCutAngle}, {highCutAngle}, {cosPower}, {secPower})

    VRMA が負の場合に VF が VRMA の余弦ベースの関数になり、VRMA が負以外の場合に VF が VRMA の正割ベースの関数になります。

  • VfSecCos({lowCutAngle}, {highCutAngle}, {secPower}, {cos_power})

    VRMA が負の場合に VF が VRMA の正割ベースの関数になり、VRMA が負以外の場合に VF が VRMA の余弦ベースの関数になります。

  • VfTable(inTable)

    テーブル ファイルを使用して、VF の決定に使用される垂直方向ファクター グラフを定義します。

垂直方向ファクター パラメーターの修飾子は次のとおりです。

  • zeroFactor - VRMA がゼロのときに使用する垂直方向ファクター。 このファクターは、指定された関数の Y 軸切片の位置を決めます。 定義上、ゼロ ファクターは垂直三角関数 (Cos、Sec、Cos-Sec、Sec-Cos) には適用されません。 Y 軸切片はこれらの関数によって定義されます。
  • lowCutAngle - VRMA 角度がこの角度を下回ると VF は無限大に設定されます。
  • highCutAngle - VRMA 角度がこの角度を超えると VF は無限大に設定されます。
  • slope - VfLinear および VfInverseLinear パラメーターで使用される直線の傾斜角。 傾斜角は、水平方向の長さを分母、垂直方向の長さを分子として指定されます (たとえば、45% の傾斜角は 1/45 であり、0.02222 として入力されます)。
  • inTable - VF を定義するテーブルの名前。
Vertical Factor
maximum_distance
(オプション)

累積コスト値が超えることのできない閾値。

累積コスト距離がこの値を超える場合、セル位置の出力値は NoData になります。 最大距離は、累積コスト距離を計算する範囲です。

デフォルトは出力ラスターのエッジまでです。

Double
in_value_raster
(オプション)

各入力ソース位置で使用するゾーン値を特定する入力整数ラスター。

各ソース位置 (セルまたはフィーチャ) について、in_value_raster 値が、計算のためにソース位置に配分されたすべてのセルに割り当てられます。 値ラスターは source_field のパラメーター設定より優先されます。

Raster Layer
source_field
(オプション)

ソース位置に値を割り当てるために使用するフィールド。 整数タイプでなければなりません。

in_value_raster パラメーターが設定されている場合、その入力値は source_field のパラメーター設定より優先されます。

Field
out_distance_raster
(オプション)

出力パス距離ラスター。

出力パス距離ラスターは、サーフェス距離、水平サーフェス係数、垂直サーフェス係数を考慮に入れて、コスト サーフェス上の特定されたソース位置までの最小累積コスト距離をセルごとに特定します。

ソースは、セル、セル セット、または 1 つ以上のフィーチャ位置です。

出力ラスターのタイプは浮動小数点数です。

Raster Dataset
out_backlink_raster
(オプション)

出力コスト バックリンク ラスター。

バックリンク ラスターは 0 ~ 8 の値を含みます。この値は方向を定義します。つまり、サーフェス距離、水平サーフェス係数、垂直サーフェス係数を考慮に入れて、セルから最小コスト ソースまでの最小累積コスト パスに沿った次の隣接セルを特定します。

パスが右の隣接セルに進む場合、その隣接セルには値 1 が、右下のセルには値 2 が割り当てられ、これが時計回りに続きます。 値 0 はソース セル用とされています。

バックリンク位置
Raster Dataset
source_cost_multiplier
(オプション)

コスト値に適用する乗数。

これを使用すると、移動のモードまたはソースの強度を制御できます。 乗数が大きいほど、各セルの移動コストが大きくなります。

0 より大きい値を指定する必要があります。 デフォルトは 1 です。

Double; Field
source_start_cost
(オプション)

コスト計算を開始する際に使用される開始コストです。

ソースに関連付けられた固定コストを指定できます。 コスト アルゴリズムは、コスト 0 から開始する代わりに、source_start_cost で設定された値から開始します。

値は 0 以上である必要があります。 デフォルトは 0 です。

Double; Field
source_resistance_rate
(オプション)

このパラメーターは、累積コストの増加に伴う、コストに対処する労力の増加をシミュレートします。 これは、移動者の疲労をモデル化するのに使用されます。 セルに到達するまでに増加した累積コストが耐性率で乗算され、次のセルに移動するコストに追加されます。

これは、複利率の計算式の変更バージョンで、セルの移動による見かけコストの計算に使用されます。 耐性率の値が増えると、後に移動するセルのコストが増加します。 耐性率が大きいほど、次のセルに到達するための追加コストが大きくなります。これは、移動するごとに大きくなります。 耐性率は複利と似ており、累積コストの値は一般に非常に大きいため、耐性率は累積コストの値に応じて 0.02 や 0.005、またはこれより小さいレートをお勧めします。

値は 0 以上である必要があります。 デフォルトは 0 です。

Double; Field
source_capacity
(オプション)

ソースに対する移動者のコスト キャパシティ。

指定した許容値に達するまで、各ソースのコスト計算が続行されます。

0 より大きい値を指定する必要があります。 デフォルトの許容値は出力ラスターのエッジまでです。

Double; Field
source_direction
(オプション)

水平方向ファクター、垂直方向ファクター、およびソース耐性率を適用する際の、移動者の方向を指定します。

  • FROM_SOURCE水平方向ファクター、垂直方向ファクター、およびソース耐性率は、入力ソースを起点としてソース以外のセルに移動する場合に適用されます。 これがデフォルトです。
  • TO_SOURCE水平方向ファクター、垂直方向ファクター、およびソース耐性率は、ソース以外の各セルを起点として入力ソースに戻る場合に適用されます。

FROM_SOURCE または TO_SOURCE キーワードを指定します。これは、すべてのソースに適用されます。または、ソース データから、各ソースの移動方向を識別するキーワードを含むフィールドを指定します。 フィールドには、文字列 FROM_SOURCE または TO_SOURCE が含まれている必要があります。

String; Field

戻り値

名前説明データ タイプ
out_allocation_raster

出力パスの距離アロケーション ラスター。

このラスターは、サーフェス距離、水平コスト係数、垂直コスト係数を考慮に入れて、最小累積コストで到着できる各ソース位置 (セルまたはフィーチャ) のゾーンを特定します。

出力ラスターのタイプは整数です。

Raster

コードのサンプル

PathAllocation の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、PathDistanceAllocation ツールの使用方法を示しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
pathAlloc = PathAllocation("observers.shp", "costraster", "elevation", "hfraster",
                            HfForward(0.5, 1.0), "elevation", VfBinary(1.0, -30, 30),  
                            "", "valueraster", "FID", "c:/sapyexamples/output/optpathdist", 
                            "c:/sapyexamples/output/optpathbl", "Multiplier", "StartCost", "Resistance", 500000)
pathAlloc.save("c:/sapyexamples/output/allocpath")
PathAllocation の例 2 (スタンドアロン スクリプト)

サーフェス距離、水平コスト係数、垂直コスト係数を考慮に入れて、コスト サーフェスの最小累積コストに基づき、各セルの最も近いソースを計算します。

# Name: PathAllocation_Ex_02.py
# Description: Calculates, for each cell, its nearest source based 
#              on the least accumulative cost over a cost surface, 
#              while accounting for surface distance and horizontal 
#              and vertical cost factors. 
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inSource = "observers.shp"
costRast = "costraster"
surfaceRast = "elevation"

# The horizontal factor
inHoriz = "backlink2"
# Create the HfForward Object
zeroFactor = 0.5
sideValue = 1.0
myHorizFactor = HfForward(zeroFactor, sideValue)

#The vertical factor
inVertical = "focalcost.tif"
# Create the VfBinary Object
zeroFactor = 1.0
lowCutAngle = -30
highCutAngle = 30
myVerticalFactor = VfBinary(zeroFactor, lowCutAngle, highCutAngle)

maxDist = 25000
valRaster = "eucdirout"
sourceField = "FID"
optPathDistOut = "c:/sapyexamples/output/optdistpath"
optPathBLOut = "c:/sapyexamples/output/pathblinkout"

# Execute PathAllocation
pathAlloc = PathAllocation(inSource, costRast, surfaceRast, 
                           inHoriz, myHorizFactor, inVertical, myVerticalFactor, 
                           maxDist, valRaster, sourceField, 
                           optPathDistOut, optPathBLOut)

# Save the output 
pathAlloc.save("c:/sapyexamples/output/allocpath02")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst
  • Standard: 次のものが必要 Spatial Analyst
  • Advanced: 次のものが必要 Spatial Analyst

関連トピック