距離累積関数

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

概要

直線距離、コスト距離、実際のサーフェス距離、垂直および水平方向のコスト係数を考慮して、各セルからソースまでの累積距離を計算します。

これはグローバル ラスター関数です。

備考

ソース フィーチャがある場合は、最初に、フィーチャのラスター化関数を使用してそれらのフィーチャをラスター データセットに変換できます。 整合性のある入力を、この関数の [ラスター] 入力として使用します。 これにより、フィーチャが確実に、同じセル サイズ、範囲、および空間参照を使用して正しく変換されるようになります。

[ソース ラスター] 内に存在する NoData 値は、関数の有効な値として含まれません。 値 0 (ゼロ) は、ソース ラスター内の正当な値と見なされます。 [ソース ラスター] を作成するには、抽出ツールまたはクリップ関数を使用します。

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

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

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

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

負またはゼロのコスト ラスターの値は無効ですが、小さな正の値として扱われます。 累積コスト アルゴリズムは乗法的プロセスであり、コストの値が負またはゼロの場合、累積コストを正しく計算できません。 コスト ラスターにこのような値が含まれており、それらの位置が解析から除外すべきエリアを表している場合、それらのセルを NoData に変換してからこのツールを実行してください。 これは 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     ~      ~      ~      ~

傾斜方向関数の出力は、[水平方向ラスター] パラメーターへの入力に使用できます。

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

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 行および 2 列で拡張され、出力を 最適パス (ラスター) 関数または [最適パス (ライン) (Optimal Path As Line)] ツールで使用して、生成されたパスがバリアを回避できるようになります。 範囲を暗黙的なバリアとして使用するには、環境設定で範囲の値を明示的に設定する必要があります。

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

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

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

環境設定でセル サイズまたはスナップ対象ラスターも指定されておらず、入力として指定されたラスターが複数存在する場合は、セル サイズスナップ対象ラスター環境は、以下の優先順位に基づいて設定されます: [コスト ラスター][サーフェス ラスター][鉛直方向ラスター][水平方向 ラスター][サーフェス ラスター][ラスター バリア]

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

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

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

パラメーター

パラメーター名説明

ソース ラスター

(必須)

入力ソース位置。

これは、すべての出力セル位置の最小累積コスト距離が計算されるセルまたは位置を特定するラスター データセットです。

整数タイプまたは浮動小数点タイプのいずれかになります。

ラスター バリア

バリアを定義するラスター。

バリアが存在しない場合、データセットには NoData を含める必要があります。 バリアはゼロを含む有効な値で表されます。

バリアは、整数または浮動小数点のいずれかになります。

サーフェス ラスター

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

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

コスト ラスター:

各セルを平面的に通過する際にかかるコストまたはインピーダンスを定義するラスター。 各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。 セルを通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動の補正も行います。

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

鉛直方向ラスター

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

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

鉛直方向ファクター

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

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

以下の説明では、VF および VRMA という 2 つ略語を使用しています。 VF は Vertical Factor (鉛直方向ファクター) を表し、1 つのセルから次のセルに移動する際に生じる鉛直方向の問題を意味します。 VRMA は Vertical Relative Moving Angle (鉛直相対移動角度) を表し、開始セル (つまり、処理セル) と終了セルとの間の傾斜角を意味します。

[鉛直方向ファクター] タイプは以下のとおりです。

  • [バイナリ] - 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 を定義するテーブルの名前を指定します。

水平方向ラスター

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

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

水平ファクター

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

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

以下の説明では、HF および HRMA という 2 つ略語を使用しています。 HF は Horizontal Factor (水平方向ファクター) を表し、1 つのセルから次のセルに移動する際に生じる水平方向の問題を意味します。 HRMA は Horizontal Relative Moving Angle (水平相対移動角度) を表し、1 つのセルからの水平方向と移動方向との間の角度を意味します。

[水平方向ファクター] タイプは以下のとおりです。

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

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

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

出力に追加のバンドとしてバック方向バンドを生成

距離累積ラスターを作成するか、距離累積ラスターとバック方向ラスターの両方からなるマルチバンド ラスターを作成するかを決定します。

  • オフ - 結果は距離累積ラスターです。 これはシングルバンドの結果です。 これがデフォルトです。
  • オフ - マルチバンド結果が作成されます。 最初のバンドは距離累積ラスターで、2 番目のバンドはバック方向ラスターです。

バック方向ラスターは、バリアを避けながら、最寄りのソースに戻る最短パスに沿った隣接セルへの方向 (度) をセルごとに計算します。

距離計算の方法

平面 (平面地球) を使用して距離を計算するか、測地線 (楕円体) を使用して距離を計算するかを指定します。

  • 平面 - 平面計測では、2 次元直交 (デカルト) 演算を使用して長さと面積を計算します。 このオプションは、投影座標系での計測時のみ使用でき、その座標系の 2D 平面が計測の基準として使用されます。
  • 測地線 - 回転楕円体 (楕円体) の地表上の 2 つのポイント間の最も短いライン。 入力または出力投影法に関係なく、結果は変わりません。
    注意:

    測地線の使用例として、2 都市間を結ぶ飛行機の飛行経路における最短距離の決定があります。 楕円体ではなく球体の場合、大円となります。

初期累積

コスト計算を開始する際の初期累積コストです。 このパラメーターを使用すると、ソースに関連付けられた固定コストを指定できます。 コスト アルゴリズムは、コスト 0 から開始する代わりに、設定された値から開始します。

このパラメーターには数値 (double) または [ソース ラスター] のフィールドを使用できます。

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

最大累積

ソースに対する移動者の最大累積コストを定義します。 指定した許容値に達するまで、各ソースのコスト計算が続行されます。

このパラメーターには数値 (double) または [ソース ラスター] のフィールドを使用できます。

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

コストに適用する乗数

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

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

このパラメーターには数値 (double) または [ソース ラスター] のフィールドを使用できます。

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

移動方向

鉛直方向の係数、水平方向の係数、ソースの耐性率を適用する際の、移動者の方向を定義します。

  • [ソースから] - 鉛直方向の係数、水平方向の係数、ソースの耐性率は、入力ソースを起点としてソース以外のセルに離れていく場合に適用されます。 これがデフォルトです。
  • [ソースへ] - 鉛直方向の係数、水平方向の係数、ソースの耐性率は、ソース以外の各セルを起点として入力ソースへ戻る場合に適用されます。

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

環境設定

グローバル関数のジオプロセシング環境設定は、アプリケーション レベルで制御されます。 ArcGIS Pro での処理環境の設定は、[解析] タブの [環境] ボタンをクリックして行うことができます。 環境設定の詳細については、「解析環境と Spatial Analyst」をご参照ください。

このグローバル関数では、次の環境がサポートされています。


このトピックの内容
  1. 概要
  2. 備考
  3. パラメーター
  4. 環境設定