距離アロケーション (Distance Allocation) (Spatial Analyst)

サマリー

直線距離、コスト距離、実際のサーフェス距離、垂直および水平方向のコスト係数に基づいて、各セルから指定したソースまでの距離アロケーションを計算します。

距離累積ツールの仕組みの詳細

使用法

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

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

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

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

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

  • バリアは回避する必要のある障害物です。 バリアは、次の 2 通りの方法で定義できます。

    [入力ラスターまたはフィーチャ バリア] パラメーターの場合は、有効な値を含むセルでバリアを表すか、ラスターに変換されたフィーチャ データでバリアを表すことができます。 バリアが対角線セルでのみ接続されている位置では、これらのバリアが厚化されて不透過になります。

    また、バリアは、[入力コスト ラスター][入力サーフェス ラスター][入力垂直方向ラスター]、および [入力水平方向ラスター] 内で NoData セルが存在する位置でも定義されます。 NoData が対角線セルでのみ接続されている位置では、他の NoData セルと組み合わされて厚化されるため、不透過なバリアになります。

  • [入力サーフェス ラスター] の値に鉛直座標系 (VCS) がある場合、そのサーフェス ラスターの値は VCS の単位になっていると見なされます。 [入力サーフェス ラスター] の値に VCS がなく、データが投影されている場合、そのサーフェスの値は空間参照の距離単位になっていると見なされます。 [入力サーフェス ラスター] の値に VCS がなく、データが投影されていない場合、そのサーフェスの値はメートル単位になっていると見なされます。 距離累積の最終結果は、距離単位ごとのコストで表されるか、コストが導入されていない場合は距離単位で表されます。

  • ソースが対応する入力ラスターで NoData にあたる場合、解析では無視されるため、そのソースからの距離は計算されません。

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

    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
    Hiking time               ~       -70    70     ~      ~      ~      ~
    Bidirectional hiking time ~       -70    70     ~      ~      ~      ~
  • 水平方向ファクターの修飾子のデフォルト値は次のとおりです。

    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   ~
  • ソースの特性、またはソースに対する移動者は、特定のパラメーターで制御できます。

    • [初期累積] は、移動開始前の初期コストを設定します。
    • [最大累積] は、ソースが上限に達する前に累積できるコストの量を指定します。
    • [コスト乗数] は、移動のモードまたはソースの強度を指定します。
    • [移動方向] は、移動者がソースを起点としてソース以外の場所に移動するか、ソース以外の場所を起点としてソースへ戻るかを識別します。

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

  • [初期累積] が指定された場合、出力コスト距離サーフェス上のソース位置が [初期累積] の値に設定されます。そうでない場合は、出力コスト距離サーフェス上のソース位置はゼロに設定されます。

  • [範囲] の環境設定が指定されていない場合、処理範囲は次の方法で決定されます。

    [入力ラスターまたはフィーチャ ソース][入力ラスターまたはフィーチャ バリア] の値だけが指定されている場合、各側で 2 つのセルの幅で拡張された入力データのすべての領域が処理範囲として使用されます。 出力ラスターが 2 行および 2 列で拡張される理由は、出力を [最適パス (ライン) (Optimal Path As Line)][最適パス (ラスター) (Optimal Path As Raster)] で使用し、生成されたパスがバリアを回避できるようにするためです。 範囲を暗黙的なバリアとして使用するには、環境設定で [範囲] の値を明示的に設定する必要があります。

    [入力サーフェス ラスター][入力コスト ラスター][入力垂直方向ラスター]、または [入力水平方向ラスター] が指定されている場合、処理範囲はこれらのラスターの交差部分になります。

  • 解析 [マスク] 環境は、フィーチャまたはラスター データセットに設定することができます。 マスクがフィーチャの場合は、ラスターに変換されます。 値を含むセルは、マスク エリア内にある位置を定義します。 NoData セルは、マスク エリア外にある位置を定義し、バリアと見なされます。

  • セル サイズまたはスナップ対象ラスター環境設定が指定されていない場合で、入力として指定されたラスターが複数存在する場合、次の優先順位に基づいて、セルサイズおよびスナップ対象ラスターの環境が設定されます。[入力コスト ラスター][入力サーフェス ラスター][入力垂直方向ラスター][入力水平方向ラスター][入力ラスターまたはフィーチャ ソース][入力ラスターまたはフィーチャ バリア]

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

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

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

  • 出力ラスターの形式が .crf の場合、このツールはピラミッド ラスター格納環境をサポートします。 デフォルトでは、ピラミッドは出力で作成されます。 その他の出力形式ではこの環境はサポートされず、ピラミッドは作成されません。

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

パラメーター

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

入力ソース位置。

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

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

Raster Layer; Feature Layer
入力ラスターまたはフィーチャ バリア
(オプション)

バリアを定義するデータセット。

バリアは、整数または浮動小数点ラスターで定義するか、ポイント、ライン、またはポリゴン フィーチャで定義することができます。

ラスター バリアの場合、バリアは有効な値 (ゼロを含む) を持つ必要があり、バリア以外のエリアは NoData である必要があります。

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

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

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

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

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

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

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

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

各セル位置の 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 のハイキング時間関数です。
  • [双方向ハイキング時間] - VF は VRMA の双方向の修正済みハイキング時間関数です。
  • [テーブル] - テーブル ファイルを使用して、VF を決定する垂直方向ファクター グラフを定義します。

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

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

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

ラスター上の値は 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
出力距離累積ラスター
(オプション)

出力距離ラスター。

距離累積ラスターには、各セルと最小コスト ソースの累積距離が含まれています。

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

逆方向ラスターは、角度で計算した方向を含みます。 バリアを避けながら、最寄りのソースに戻る最短パスに沿った隣接セルへの方向を度単位で特定します。

値の範囲は 0 度から 360 度で、0 はソース セル用に予約されています。 真東 (右) は 90 で、値は時計回りに増加します (180 が北、270 が西、360 が北)。

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

Raster Dataset
出力ソース方向ラスター
(オプション)

ソース方向ラスターは、最小累積コスト ソース セルの方向を水平角 (度単位) で識別します。

値の範囲は 0 度から 360 度で、0 はソース セル用に予約されています。 真東 (右) は 90 で、値は時計回りに増加します (180 が北、270 が西、360 が北)。

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

Raster Dataset
出力ソース位置ラスター
(オプション)

ソース位置ラスターは、マルチバンド出力です。 最初のバンドには行インデックス、2 つ目のバンドには列インデックスが含まれています。 これらのインデックスは、最小累積コスト距離にあるソース セルの位置を識別します。

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

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

Field
初期累積
(オプション)

コスト計算を開始する際に使用される初期累積コスト。

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

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

Double; Field
最大累積
(オプション)

ソースに対する移動者の最大累積。

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

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

Double; Field
コストに適用する乗数
(オプション)

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

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

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

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

水平方向ファクターと垂直方向ファクターを適用する際の、移動者の方向を指定します。

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

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

  • ソースから移動水平方向ファクターと垂直方向ファクターは、入力ソースを起点としてソース以外のセルに移動する場合に適用されます。 これがデフォルトです。
  • ソースへ移動水平方向ファクターと垂直方向ファクターは、ソース以外の各セルを起点として入力ソースへ戻る場合に適用されます。
String; Field
距離計算の方法
(オプション)

平面 (平面地球) または測地線 (楕円体) のどちらの方法を使用して距離を計算するかを指定します。

  • 平面距離計算は、2 次元直交座標系を使用して投影された平面で実行されます。 これがデフォルトです。
  • 測地線距離は楕円形に基づいて計算されます。 入力または出力投影に関係なく、結果は変わりません。
String

戻り値

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

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

Raster

DistanceAllocation(in_source_data, {in_barrier_data}, {in_surface_raster}, {in_cost_raster}, {in_vertical_raster}, {vertical_factor}, {in_horizontal_raster}, {horizontal_factor}, {out_distance_accumulation_raster}, {out_back_direction_raster}, {out_source_direction_raster}, {out_source_location_raster}, {source_field}, {source_initial_accumulation}, {source_maximum_accumulation}, {source_cost_multiplier}, {source_direction}, {distance_method})
名前説明データ タイプ
in_source_data

入力ソース位置。

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

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

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

バリアを定義するデータセット。

バリアは、整数または浮動小数点ラスターで定義するか、ポイント、ライン、またはポリゴン フィーチャで定義することができます。

ラスター バリアの場合、バリアは有効な値 (ゼロを含む) を持つ必要があり、バリア以外のエリアは NoData である必要があります。

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

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

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

Raster Layer
in_cost_raster
(オプション)

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

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

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

Raster Layer
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 の余弦ベースの関数になります。

  • VfHikingTime({lowCutAngle}, {highCutAngle})

    VF は VRMA のハイキング時間関数です。

  • VfBidirHikingTime({lowCutAngle}, {highCutAngle})

    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
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
out_distance_accumulation_raster
(オプション)

出力距離ラスター。

距離累積ラスターには、各セルと最小コスト ソースの累積距離が含まれています。

Raster Dataset
out_back_direction_raster
(オプション)

逆方向ラスターは、角度で計算した方向を含みます。 バリアを避けながら、最寄りのソースに戻る最短パスに沿った隣接セルへの方向を度単位で特定します。

値の範囲は 0 度から 360 度で、0 はソース セル用に予約されています。 真東 (右) は 90 で、値は時計回りに増加します (180 が北、270 が西、360 が北)。

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

Raster Dataset
out_source_direction_raster
(オプション)

ソース方向ラスターは、最小累積コスト ソース セルの方向を水平角 (度単位) で識別します。

値の範囲は 0 度から 360 度で、0 はソース セル用に予約されています。 真東 (右) は 90 で、値は時計回りに増加します (180 が北、270 が西、360 が北)。

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

Raster Dataset
out_source_location_raster
(オプション)

ソース位置ラスターは、マルチバンド出力です。 最初のバンドには行インデックス、2 つ目のバンドには列インデックスが含まれています。 これらのインデックスは、最小累積コスト距離にあるソース セルの位置を識別します。

Raster Dataset
source_field
(オプション)

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

Field
source_initial_accumulation
(オプション)

コスト計算を開始する際に使用される初期累積コスト。

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

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

Double; Field
source_maximum_accumulation
(オプション)

ソースに対する移動者の最大累積。

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

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

Double; Field
source_cost_multiplier
(オプション)

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

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

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

Double; Field
source_direction
(オプション)

水平方向ファクターと垂直方向ファクターを適用する際の、移動者の方向を指定します。

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

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

String; Field
distance_method
(オプション)

平面 (平面地球) または測地線 (楕円体) のどちらの方法を使用して距離を計算するかを指定します。

  • PLANAR距離計算は、2 次元直交座標系を使用して投影された平面で実行されます。 これがデフォルトです。
  • GEODESIC距離は楕円形に基づいて計算されます。 入力または出力投影に関係なく、結果は変わりません。
String

戻り値

名前説明データ タイプ
out_distance_allocation_raster

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

Raster

コードのサンプル

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

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outDistAlloc = DistanceAllocation("insources.shp", "barriers.tif")
outDistAlloc.save("c:/sapyexamples/output/distalloc.tif")
DistanceAllocation の例 2 (スタンドアロン スクリプト)

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

# Name: DistanceAllocation_Ex_02.py
# Description: Calculates the distance allocation.
# 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
inSources = "insources.shp"
inBarrier = "barriers.tif"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute EucDirections
outDistAlloc = DistanceAllocation(inSources, inBarrier)

# Save the output 
outDistAlloc.save("c:/sapyexamples/output/distAllo2.tif")

関連トピック