Image Server で利用可
距離アロケーション ツールは、直線距離、コスト距離、真のサーフェス距離、鉛直および水平コスト ファクターに基づいて、各セルから入力ソースへのアロケーションを計算します。
出力はホスト イメージ レイヤーです。
例
このツールのシナリオには次のようなものがあります。
- 現場作業員が担当する割り当て済みエリアを特定する。
- ボブキャットの生息地パッチに割り当てられたエリアを特定する。
使用上の注意
距離アロケーションには、入力レイヤー、距離の設定、結果レイヤーの構成が含まれます。
入力レイヤー
[入力レイヤー] グループには次のパラメーターがあります。
[入力ソース ラスターまたはフィーチャ] は、アロケーションが計算されるソースを識別するラスターまたはフィーチャ レイヤーを指定します。[レイヤー] ボタンを使用してレイヤーを選択するか、[入力フィーチャの描画] ボタンを使用して、入力として使用するスケッチ レイヤーを作成することができます。
入力がラスターである場合、ラスターはソースに有効値 (0 は有効値) が含まれているセルで構成される必要があります。また、残りのセルには NoData が割り当てられていなければなりません。
入力がフィーチャ レイヤーである場合は、ポイント、ライン、ポリゴンを使用できます。
入力ソース データがフィーチャの場合、解析を実行する前に内部でソースの位置がラスターに変換されます。
ラスターの解像度は [セル サイズ] 環境で制御できます。 他のラスターがツールで指定されていない場合、デフォルトの解像度は、入力空間参照において、入力フィーチャの範囲の幅または高さ (どちらか短い方) を 250 で割った値になります。
この状況を回避するには、中間的な手順として、[フィーチャをラスターに変換] ツールを使用して入力フィーチャを直接ラスター化し、[値フィールド] パラメーターを設定します。 次に、結果の出力を距離ツールの入力として使用します。
ソースが対応する入力ラスターのいずれかで NoData にあたる場合、解析では無視されるため、そのソースからのアロケーションは計算されません。
入力のソース データにフィーチャ データを使用する場合は、出力セル サイズが入力の詳細よりも粗いときの処理方法に注意する必要があります。 内部的なラスター化処理では、セルの割り当てタイプについて、セルの中心メソッドが使用されます。 つまり、セルの中心に配置されていないデータはラスター化されたソースの中間出力に含まれず、距離の計算では表されません。 たとえば、ソースが出力のセル サイズに比べて小さい一連のポリゴン (建物のフットプリントなど) である場合は、一部のポリゴンだけが出力ラスター セルの中心に分類され、ほとんどのポリゴンが解析で失われたように見える可能性があります。
この状況を回避するには、中間的な手順として、[フィーチャをラスターに変換] ツールを使用して入力フィーチャを直接ラスター化し、[値フィールド] パラメーターを設定します。 次に、結果の出力を距離ツールの入力として使用します。 または、入力フィーチャから適切な量の情報を捕捉できる、小さいセル サイズを選択することもできます。
[入力ソース フィールド] は、ソース位置に値を割り当てるために使用されます。 このフィールドは、整数タイプの必要があります。
[オプションのレイヤー] グループには次のパラメーターがあります。
[入力バリア ラスターまたはフィーチャ] は、バリアを定義するデータセットです。 バリアは回避する必要のある障害物です。 これらは、ラスターとフィーチャのどちらとしても定義できます。
[レイヤー] ボタンを使用してレイヤーを選択するか、[入力フィーチャの描画] ボタンを使用して、入力として使用するスケッチ レイヤーを作成することができます。
ラスター レイヤーの場合、入力タイプは整数か浮動小数です。 値 (0 を含む) を持つセルであれば、バリアとして処理されます。 NoData のセルはバリアとして処理されません。
フィーチャの場合、入力はポイント、ライン、ポリゴンです。 フィーチャの入力は、処理の前に内部でラスターに変換されます。
バリアが対角線セルでのみ接続されている位置では、これらのバリアが厚化されて不透過になります。
またバリアは、[入力コスト ラスター]、[入力サーフェス ラスター]、[入力鉛直方向ラスター]、[入力水平方向ラスター] パラメーター内で NoData セルが存在する位置でも定義されます。 NoData セルが対角線セルでのみ接続されている位置では、他の NoData セルと組み合わされて厚化されるため、不透過なバリアになります。
[入力サーフェス ラスター] は、各セル位置の標高値を定義するラスターです。
この値は、セル間を通過するときにたどる実際のサーフェス距離を計算するときに使用されます。
[入力サーフェス ラスター] パラメーターに鉛直座標系 (VCS) がある場合、そのサーフェス ラスターの値は VCS 単位と見なされます。 サーフェス ラスターに VCS がなく、データが投影されている場合、サーフェスの値は空間参照の距離単位と見なされます。 サーフェス ラスターに VCS がなく、データが投影されていない場合、サーフェスの値はメートル単位になっていると見なされます。 距離累積の最終結果は、距離単位ごとのコストで表されるか、コストが導入されていない場合は距離単位で表されます。
[入力コスト ラスター] は、各セル間を平面的に移動するためのインピーダンスまたはコストを定義するラスターです。
各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。 セル内を通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動についても補正します。
コスト ラスターとして、整数値または浮動小数点値を使用できますが、負の値や 0 は使用できません (負またはゼロのコストは指定できません)。
距離の設定
[距離の設定] グループには次のパラメーター グループがあります。
[距離計算の方法] は、距離を平面 (平面地球) と測地線 (楕円体) のどちらの方法を用いて計算するかを指定します。
- [平面] - 距離計算は、2 次元直交座標系を使用して投影された平面で実行されます。 これがデフォルトの方法です。
- [測地線] - 距離は楕円形に基づいて計算されます。 入力や出力の投影は、結果に影響しません。
[鉛直方向の移動] グループには次のパラメーターがあります。
[入力鉛直方向ラスター] は、各セル位置の Z 値を定義するラスターです。
この値は、あるセルから別のセルに移動するときに生じる鉛直方向ファクターを特定する傾斜角を計算するために使用されます。
[鉛直方向ファクター] は、鉛直コスト ファクターと鉛直相対移動角度との間の関係を定義します。
定義された鉛直方向ファクター グラフを特定する修飾子付きのファクターが複数存在します。 グラフを使用すると、隣接セルへの移動にかかる総コストを計算する際に使用される鉛直方向ファクターを特定できます。
以下の説明では、VF はあるセルから次のセルに移動するときに生じる鉛直移動の困難度を定義します。VRMA 修飾子は [ソースから] セルと [ソースへ] セルの間の傾斜角度を示します。
鉛直方向ファクター パラメーターのタイプは次のとおりです。
- [バイナリ] - VRMA が最小カット アングルより大きく最大カット アングルより小さい場合、VF はゼロ ファクターに関連付けられた値に設定され、そうでない場合、VF は無限大に設定されます。
- [リニア] - VF は VRMA の一次関数です。
- [逆リニア] - VF は VRMA の一次逆関数です。
- [相対リニア] - VF が VRMA の負の側または正の側で VRMA の一次関数であり、この 2 つの一次関数が VF (Y) 軸に対して対称的です。
- [相対逆リニア] - 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 のコサインベースの関数です。
鉛直方向ファクター パラメーターの修飾子は次のとおりです。
- [ゼロ ファクター] - VRMA がゼロのときに使用する鉛直方向ファクター。 このファクターは、指定された関数の Y 軸切片の位置を決めます。 定義上、ゼロ ファクターは鉛直三角関数 (Cos、Sec、Cos-Sec、Sec-Cos) には適用されません。 Y 軸切片はこれらの関数によって定義されます。
- [最小カット アングル] - VRMA 角度がこの角度を下回ると VF は無限大に設定されます。
- [最大カット アングル] - VRMA 角度がこの角度を上回ると VF は無限大に設定されます。
- [傾斜角] - [リニア] および [逆リニア] パラメーターで使用される直線の傾斜角。 傾斜角は、水平方向の長さを分母、鉛直方向の長さを分子として指定されます (たとえば、45% の傾斜角は 1/45 であり、0.02222 として入力されます)。
鉛直方向ファクター修飾子のデフォルト値は次のとおりです。
関数 ゼロ ファクター 最小カット アングル 最大カット アングル 傾斜角 累乗 Cos 累乗 Sec 累乗 バイナリ
1
-30
30
N/A
N/A
N/A
N/A
線形
1
-90
90
1.111E-02
N/A
N/A
N/A
逆リニア
1
-45
45
-2.222E-02
N/A
N/A
N/A
相対リニア
1
-90
90
1.111E-02
N/A
N/A
N/A
相対逆リニア
1
-45
45
-2.222E-02
N/A
N/A
N/A
Cos
N/A
-90
90
N/A
1
N/A
N/A
Sec
N/A
-90
90
N/A
1
N/A
N/A
Cos - Sec
N/A
-90
90
N/A
N/A
1
1
Sec - Cos
N/A
-90
90
N/A
N/A
1
1
[水平方向の移動] グループには次のパラメーターがあります。
[入力水平方向ラスター] は、各セルの水平方向を定義するラスターです。
ラスター上の値は 0 〜 360 の範囲の整数でなくてはいけません。0 度は北または画面の上方向を示し、値は時計回りに増加します。 平らなエリアには -1 という値を指定します。 各位置の値は [水平方向ファクター] の値と組み合わせて、あるセルから隣接セルに移動するときに発生する水平コストを決定するときに使用されます。
[水平方向ファクター] は、水平コスト ファクターと水平相対移動角度の間の関係を定義します。
定義された水平方向ファクター グラフを特定する修飾子付きのファクターが複数存在します。 グラフは、隣接セルに移動する総コストを計算するときに使用する水平方向ファクターを特定するために使用されます。
以下の説明では、水平方向ファクター (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 が 0 のときに使用する水平方向ファクター。 このファクターは、任意の水平方向ファクター関数の Y 軸切片の位置を決めます。
- [カット アングル] - HRMA 角度がこの角度を超えると HF は無限大に設定されます。
- [傾斜角] - [リニア] および [逆リニア] 水平方向ファクター キーワードで使用される直線の傾斜角。 傾斜角は、水平方向の長さを分母、鉛直方向の長さを分子として指定されます (たとえば、45% の傾斜角は 1/45 であり、0.02222 として入力されます)。
- [サイド値] - [前方] 水平方向ファクター キーワードが指定され、HRMA が 45 度以上、90 度未満のときの HF 値を指定します。
水平方向ファクターの修飾子のデフォルト値は次のとおりです。
関数 ゼロ ファクター カット アングル 傾斜角 サイド値 バイナリ
1
45
N/A
N/A
正方向
0.5
N/A
N/A
1
線形
0.5
181
1.111E-02
N/A
逆リニア
2
180
-1.111E-02
N/A
[ソース特性] グループには次のパラメーターのリストがあります。
フィールドを使用して [ソース特性] の値を指定した場合、そのソース特性は、指定されたソース データのフィールド内の情報に従い、ソースごとに適用されます。 キーワードまたは定数値が指定された場合は、すべてのソースに適用されます。
[初期累積] は、コスト計算を開始する際の初期累積コストです。
[初期累積] 値が指定された場合、出力コスト距離サーフェス上のソース位置が [初期累積] の値に設定されます。そうでない場合は、出力距離累積ラスター上のソース位置はゼロに設定されます。
値は 0 以上である必要があります。 デフォルトは 0 です。
[最大累積] は、ソースに対する移動者の最大累積です。
指定した累積に達するまで、各ソースのコスト計算が続行されます。
0 より大きい値を指定する必要があります。 デフォルトの累積は出力ラスターのエッジまでです。
[コスト乗数] は、コストの値に適用する乗数です。
これを使用すると、移動のモードまたはソースの強度を制御できます。 乗数が大きいほど、各セルの移動コストが大きくなります。
0 より大きい値を指定する必要があります。 デフォルトは 1 です。
[移動方向] は、水平方向ファクターと鉛直方向ファクターを適用する際の、移動者の方向を指定します。
[ソースから] - 水平方向ファクターと鉛直方向ファクターは、入力ソースを起点としてソース以外のセルに移動する場合に適用されます。 これがデフォルトです。
[ソースへ] - 水平方向ファクターと鉛直方向ファクターは、ソース以外の各セルを起点として入力ソースへ戻る場合に適用されます。
[ソースから] または [ソースへ] キーワードを選択します。これは、すべてのソースに適用されます。または、ソース データで、各ソースの移動方向を識別するキーワードを含むフィールドを指定します。 このフィールドには、文字列 FROM_SOURCE または TO_SOURCE が含まれている必要があります。
結果レイヤー
[結果レイヤー] グループには次のパラメーターがあります。
[出力距離アロケーション ラスター名] は、各セルから最も近い、または最小コストで到達できるソースを示すラスター名です。
名前は、一意でなければなりません。 組織内に同じ名前のレイヤーがすでに存在する場合、ツールは失敗し、別の名前を指定するよう求められます。
[オプションのレイヤー] グループには次のパラメーターがあります。
[出力距離累積ラスター名] は、各セルと最小コスト ソースとの累積距離を含む出力ラスターの名前です。
- [出力バック方向ラスター名] は、度単位で計算された角度を含む、オプションの出力ラスターの名前です。
- [出力ソース方向ラスター名] は、最小累積コスト ソース セルの方向を水平角 (度単位) で識別する、オプションの出力ラスターの名前です。
- [出力ソース位置ラスター名] は、ソースの位置をマルチバンド出力として識別する、オプションの出力ラスターの名前です。
それぞれのオプション出力の名前は一意の必要があります。 組織内に同じ名前のレイヤーがすでに存在する場合、ツールは失敗し、別の名前を指定するよう求められます。
- [フォルダーに保存] は、結果を保存する [マイ コンテンツ] 内のフォルダーの名前を指定します。
環境
解析環境設定は、ツールの結果に影響する追加パラメーターです。 ツールの解析環境設定には、[環境設定] パラメーター グループからアクセスできます。
このツールでは次の解析環境が適用されます。
出力
このツールには次の出力があります。
[出力距離アロケーション ラスター名] は、各セルから最も近い、または最小コストで到達できるレイヤーを示します。
[出力距離累積ラスター名] レイヤーは、各セルと最小コスト ソースとの累積距離を記録しています。
このラスターのタイプは float です。
[出力バック方向ラスター名] レイヤーは、計算された逆方向を度単位で記録します。 バリアを避けながら、最寄りのソースに戻る最短パスに沿った隣接セルへの方向を度単位で特定します。
値の範囲は 0 度から 360 度で、0 はソース セル用に予約されています。 真東 (右) は 90 で、値は時計回りに増加します (180 が北、270 が西、360 が北)。
このラスターのタイプは float です。
-
[出力ソース方向ラスター名] は、最小累積コスト ソース セルの方向を度単位の水平角で記録します。
値の範囲は 0 度から 360 度で、0 はソース セル用に予約されています。 真東 (右) は 90 で、値は時計回りに増加します (180 が北、270 が西、360 が北)。
このラスターのタイプは float です。
[出力ソース位置ラスター名] は、ソースの位置をマルチバンド出力として識別します。 最初のバンドには行インデックス、2 つ目のバンドには列インデックスが含まれています。
これらのインデックスは、最小累積コスト距離にあるソース セルの位置を識別します。
使用法の要件
このツールには、次のライセンスと構成が必要です。
- Creator または GIS Professional ユーザー タイプ
- 公開者もしくは管理者ロール、またはそれと同等のカスタム ロール
- ArcGIS Image Server がラスター解析ツール用に構成済み
参考文献
- Douglas, D. 「Least-cost Path in GIS Using an Accumulated Cost Surface and Slopelines」、Cartographica: The International Journal for Geographic Information and Geovisualization、1994、Vol. 31、No. 3、DOI: 10.3138/D327-0323-2JUT-016M
- Goodchild, M.F. 「An evaluation of lattice solutions to the problem of corridor location」、Environment and Planning A: Economy and Space、1977、Vol. 9、727-738 ページ
- Sethian, J.A. 「Level Set Methods and Fast Marching Methods」、Evolving Interfaces in Computational Geometry, Fluid Mechanics, Computer Vision, and Materials Science、Cambridge University Press、2nd Edition、1999
- Warntz, W. 「Transportation, Social Physics, and the Law Of Refraction」、The Professional Geographer、1957、Vol. 9、No. 4、2-7 ページ
- Zhao, H. 「A fast sweeping method for Eikonal equations」、Mathematics off Computation、2004、Vol. 74、No. 250、603-627 ページ
リソース
詳細については、次のリソースをご参照ください。
- 距離アロケーションの仕組み
- ArcGIS REST API の距離アロケーション
- ArcGIS API for Python の distance_allocation
- Raster Analytics エクステンション付き ArcGIS Pro の距離アロケーション
- Spatial Analyst エクステンション付き ArcGIS Pro の距離アロケーション