距離アロケーション (Distance Allocation) (ラスター解析)

サマリー

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

距離アロケーションのワークフロー

使用法

  • このラスター解析ポータル ツールは、ラスター解析 用に構成された ArcGIS Image Server を備えた ArcGIS Enterprise にサインインすると使用できます。 このツールを実行すると、ArcGIS Pro がクライアントとしてサービスを提供し、ArcGIS Enterprise とフェデレートされているサーバーで処理が発生します。 ポータル ツールはポータルから入力としてレイヤーを受け取り、ポータルに出力を作成します。

    入力ラスター レイヤーは、ポータルから入力されたレイヤー、イメージ サービスへの URI または URL、[Image Server レイヤーの作成 (Make Image Server Layer)] ツールからの出力に対応しています。 入力フィーチャ レイヤーには、ポータルからのレイヤー、フィーチャ サービスへの URI または URL を使用できます。 このツールは、ローカルのラスター データまたはレイヤーをサポートしません。 このポータル ツールへの入力としてはローカルのフィーチャ データとレイヤーを使用できますが、ポータルのレイヤーを入力することをお勧めします。

  • 入力ソース データは、フィーチャ サービスまたはイメージ サービスです。 フィーチャ サービスはポイント、ライン、またはポリゴンです。

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

  • 入力ソース データがイメージ サービスの場合、一連のソース セルは、ソース ラスター内にある有効な値を持つすべてのセルから構成されます。 値が NoData のセルは、ソース セットには含まれません。 値 0 (ゼロ) は、正当なソースと見なされます。

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

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

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

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

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

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

  • 負またはゼロのコスト ラスターの値は無効ですが、小さな正の値として扱われます。 累積コスト アルゴリズムは乗法的プロセスであり、コストの値が負またはゼロの場合、累積コストを正しく計算できません。 コスト ラスターにこのような値が含まれており、それらの位置が解析から除外すべきエリアを表している場合、それらのセルを NoData に変換してからこのツールを実行してください。 これは ArcGIS Spatial Analyst エクステンションの [Set Null] ツールを使用して実行できます。 この解析で NoData 値はバリアとして扱われるため、入力内で NoData である位置は結果でも 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     ~      ~      ~      ~
  • Spatial Analyst の [傾斜方向 (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   ~
  • ソースの特性、またはソースに対する移動者は、特定のパラメーターで制御できます。

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

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

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

  • グローバルな縮尺で距離解析を実行するときに、グローバル範囲で投影のエッジを適切に処理するには、円筒図法または地理出力座標系のいずれかと [距離計算の方法] パラメーターの [測地線] オプションを併用している必要があります。

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

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

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

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

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

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

パラメーター

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

入力ソース位置。

これは、あらゆる出力セル位置について割り当ての計算対象となるセルまたは位置を特定する、イメージ サービスまたはフィーチャ サービスです。

イメージ サービスの場合、入力タイプは整数または浮動小数点数です。 フィーチャ サービスの場合、入力タイプはポイント、ライン、またはポリゴンです。

Raster Layer; Feature Layer
出力距離アロケーション ラスター名

出力距離アロケーション ラスター サービスの名前。

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

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

バリアは、整数または浮動小数点のイメージ サービスまたはフィーチャ サービスで定義できます。 フィーチャ サービスの場合、入力タイプはポイント、ライン、またはポリゴンです。

イメージ サービス バリアの場合、バリアは有効な値 (0 を含む) を持つ必要があり、バリア以外のエリアは NoData の必要があります。

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

各セル位置の標高値を定義するイメージ サービスです。

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

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

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

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

コスト ラスターとして、整数値または浮動小数点値を使用できます。 負またはゼロのコスト ラスターの値は無効ですが、小さな正のコスト値として扱われます。

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

各セル位置の Z 値を定義するイメージ サービスです。

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

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

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

定義された垂直方向ファクター グラフを特定する修飾子付きのファクターが複数存在します。 グラフを使用すると、隣接セルへの移動にかかる総コストを計算する際に使用される鉛直方向ファクターを特定できます。

以下の説明で、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 の余弦ベースの関数になります。
  • [ハイキング時間] - Tobler の関数の逆数によって垂直コスト ファクターと垂直相対移動角度の間の関係を定義し、ハイキング時間を時間単位で表します。
  • [双方向のハイキング時間] - 双方向のハイキング関数によって垂直コスト ファクターと垂直相対移動角度の間の関係を定義します。

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

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

各セルの水平方向を定義するイメージ サービスです。

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

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

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

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

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

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

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

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

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

出力距離累積ラスターの名前。

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

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

出力バック方向ラスターの名前。

バック方向ラスターは、角度で計算した方向を含みます。 バリアを避けながら、最小累積コスト ソースに戻る最適なパスに沿った隣接セルへの方向を特定します。

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

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

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

出力ソース方向ラスターの名前。

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

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

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

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

出力ソース位置ラスターの名前。

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

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

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

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

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

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

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

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

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

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

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

Double; Field
コスト乗数
(オプション)

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

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

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

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

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

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

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

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

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

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

派生した出力

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

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

Raster
出力距離累積ラスター

出力距離累積ラスター。

Raster
出力バック方向ラスター

出力バック方向ラスター。

Raster
出力ソース方向ラスター

出力ソース方向ラスター。

Raster
出力ソース位置ラスター

出力ソース位置ラスター。

Raster

arcpy.ra.DistanceAllocation(inputSourceRasterOrFeatures, outputDistanceAllocationRasterName, {inputBarrierRasterOrFeatures}, {inputSurfaceRaster}, {inputCostRaster}, {inputVerticalRaster}, {verticalFactor}, {inputHorizontalRaster}, {horizontalFactor}, {outputDistanceAccumulationRasterName}, {outputBackDirectionRasterName}, {outputSourceDirectionRasterName}, {outputSourceLocationRasterName}, {sourceField}, {sourceInitialAccumulation}, {sourceMaximumAccumulation}, {sourceCostMultiplier}, {sourceDirection}, {distanceMethod})
名前説明データ タイプ
inputSourceRasterOrFeatures

入力ソース位置。

これは、あらゆる出力セル位置について割り当ての計算対象となるセルまたは位置を特定する、イメージ サービスまたはフィーチャ サービスです。

イメージ サービスの場合、入力タイプは整数または浮動小数点数です。 フィーチャ サービスの場合、入力タイプはポイント、ライン、またはポリゴンです。

Raster Layer; Feature Layer
outputDistanceAllocationRasterName

出力距離アロケーション ラスター サービスの名前。

String
inputBarrierRasterOrFeatures
(オプション)

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

バリアは、整数または浮動小数点のイメージ サービスまたはフィーチャ サービスで定義できます。 フィーチャ サービスの場合、入力タイプはポイント、ライン、またはポリゴンです。

イメージ サービス バリアの場合、バリアは有効な値 (0 を含む) を持つ必要があり、バリア以外のエリアは NoData の必要があります。

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

各セル位置の標高値を定義するイメージ サービスです。

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

Raster Layer
inputCostRaster
(オプション)

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

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

コスト ラスターとして、整数値または浮動小数点値を使用できます。 負またはゼロのコスト ラスターの値は無効ですが、小さな正のコスト値として扱われます。

Raster Layer
inputVerticalRaster
(オプション)

各セル位置の Z 値を定義するイメージ サービスです。

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

Raster Layer
verticalFactor
(オプション)

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

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

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

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

各種類の定義とパラメーターは次のとおりです。

  • 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 の双方向の修正済みハイキング時間関数です。

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

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

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

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

Raster Layer
horizontalFactor
(オプション)

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

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

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

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

各種類の定義とパラメーターは次のとおりです。

  • 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 の一次逆関数です。

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

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

Horizontal Factor
outputDistanceAccumulationRasterName
(オプション)

出力距離累積ラスターの名前。

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

String
outputBackDirectionRasterName
(オプション)

出力バック方向ラスターの名前。

バック方向ラスターは、角度で計算した方向を含みます。 バリアを避けながら、最小累積コスト ソースに戻る最適なパスに沿った隣接セルへの方向を特定します。

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

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

String
outputSourceDirectionRasterName
(オプション)

出力ソース方向ラスターの名前。

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

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

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

String
outputSourceLocationRasterName
(オプション)

出力ソース位置ラスターの名前。

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

String
sourceField
(オプション)

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

Field
sourceInitialAccumulation
(オプション)

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

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

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

Double; Field
sourceMaximumAccumulation
(オプション)

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

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

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

Double; Field
sourceCostMultiplier
(オプション)

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

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

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

Double; Field
sourceDirection
(オプション)

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

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

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

String; Field
distanceMethod
(オプション)

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

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

派生した出力

名前説明データ タイプ
outputDistanceAllocationRaster

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

Raster
outputDistanceAccumulationRaster

出力距離累積ラスター。

Raster
outputBackDirectionRaster

出力バック方向ラスター。

Raster
outputSourceDirectionRaster

出力ソース方向ラスター。

Raster
outputSourceLocationRaster

出力ソース位置ラスター。

Raster

コードのサンプル

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

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

import arcpy

arcpy.ra.DistanceAllocation('https://MyPortal.esri.com/server/rest/services/Hosted/sources/ImageServer',
                            'outDistanceAllocation',
                            'https://MyPortal.esri.com/server/rest/services/Hosted/barrier/ImageServer',
                            'https://MyPortal.esri.com/server/rest/services/Hosted/surface/ImageServer',
                            'https://MyPortal.esri.com/server/rest/services/Hosted/cost/ImageServer')
DistanceAllocation の例 2 (スタンドアロン スクリプト)

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

# Name: DistanceAllocation_Ex_02.py
# Description: Calculates the distance allocation.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputSourceRasterOrFeatures = 'https://MyPortal.esri.com/server/rest/services/Hosted/sources/ImageServer'
outputDistanceAllocationRasterName = "outDistAllo"
inputBarrierRasterOrFeatures  = 'https://MyPortal.esri.com/server/rest/services/Hosted/barrier/ImageServer'
inputSurfaceRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/surface/ImageServer'
inputCostRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/cost/ImageServer'
inputVerticalRaster = 'https://MyPortal.esri.com/server/rest/services/vertical/sources/ImageServer'
verticalFactor = ""
inputHorizontalRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/horizontal/ImageServer'
horizontalFactor = ""
outputDistanceAccumulationRasterName = "outAccum"
outputBackDirectionRasterName = "outBackDir"
outputSourceDirectionRasterName = "outSourceDir"
outputSourceLocationRasterName = "outSourceLocation"
sourceField = "SourceID"
sourceInitialAccumulation = "IntitalAccum"
sourceMaximumAccumulation = "500000"
sourceCostMultiplier = "CostMultiplier"
sourceDirection = "FROM_SOURCE"
distanceMethod = "PLANAR"

# Execute 
arcpy.ra.DistanceAllocation(inputSourceRasterOrFeatures, outputDistanceAllocationRasterName,
                            inputBarrierRasterOrFeatures, inputSurfaceRaster,
                            inputCostRaster, inputVerticalRaster, verticalFactor,
                            inputHorizontalRaster, horizontalFactor,
                            outputDistanceAccumulationRasterName, outputBackDirectionRasterName,
                            outputSourceDirectionRasterName, outputSourceLocationRasterName,
                            sourceField, sourceInitialAccumulation, sourceMaximumAccumulation,
                            sourceCostMultiplier, sourceDirection, distanceMethod)

ライセンス情報

  • Basic: 次のものが必要 ArcGIS Image Server
  • Standard: 次のものが必要 ArcGIS Image Server
  • Advanced: 次のものが必要 ArcGIS Image Server

関連トピック