概要
直線距離、コスト距離、実際のサーフェス距離、垂直および水平方向のコスト係数に基づいて、各セルから指定したソースまでの距離アロケーションを計算します。
使用法
このラスター解析 ポータル ツールは、ArcGIS Enterprise の ポータルにサイン インすると使用できます。このポータルに、ArcGIS Image Server 用に構成された Raster Analysis があります。ツールを起動すると、ArcGIS Pro がクライアントとしてサービスを提供し、ArcGIS Enterprise とフェデレートされているサーバーで処理が発生します。ポータル ツールはポータルから入力としてレイヤーを受け取り、ポータルに出力を作成します。
入力ラスター レイヤーは、ポータルから入力されたレイヤー、イメージ サービスへの URI または URL、[Image Server レイヤーの作成 (Make Image Server Layer)] ツールの出力に対応しています。入力フィーチャ レイヤーには、ポータルからのレイヤー、フィーチャ サービスへの URI または URL を使用できます。このツールは、ローカルのラスター データまたはレイヤーをサポートしません。このポータル ツールへの入力としてはローカルのフィーチャ データとレイヤーを使用できますが、ポータルのレイヤーを入力することをお勧めします。
入力ソース データがイメージ サービスの場合、一連のソース セルは、ソース ラスター内にある有効な値を持つすべてのセルから構成されます。値が NoData のセルは、ソース セットには含まれません。値 0 (ゼロ) は、正当なソースと見なされます。
入力ソース データがフィーチャ サービスの場合、解析を実行する前に内部でソースの位置がラスターに変換されます。ラスターの解像度は [セル サイズ] 環境で制御できます。他のラスターがツールで指定されていない場合、デフォルトの解像度は、入力空間参照において、入力フィーチャの範囲の幅または高さ (どちらか短い方) を 250 で割った値になります。
この状況を回避するには、中間的な手順として、[フィーチャ → ラスター (Feature to Raster)] ツールを使用して入力フィーチャを直接ラスター化し、[フィールド] パラメーターを設定します。次に、結果の出力を [距離] ツールの入力として使用します。または、入力フィーチャから適切な量の情報を捕捉できる、小さいセル サイズを選択することもできます。
[入力コスト ラスター]、[入力サーフェス ラスター]、[入力垂直方向ラスター]、または [入力水平方向ラスター] の入力のいずれかに NoData がある場合、入力全体でそれらの位置にあるセルは計算で無視されます。これらのラスターの NoData は、計算の間保持されるため、すべての出力で NoData になります。
ソースが対応する入力ラスターのいずれかで NoData にあたる場合、解析では無視されるため、そのソースからの距離は計算されません。
[範囲] の環境設定が指定されていない場合、処理範囲は次の方法で決定されます。
[入力ラスター、またはフィーチャ ソース データ] と [入力バリア ラスターまたはフィーチャ データ] だけが指定されている場合、各側で 2 つのセルの幅で拡張された入力データのすべての領域が処理範囲として使用されます。出力ラスターが 2 行および 2 列で拡張される理由は、出力を [最適パス (ラスター) (Optimal Path As Raster)] と [最適パス (ライン) (Optimal Path As Line)] で使用するためです。生成されたパスはバリアを回避できます。範囲を暗黙のバリアとして使用するには、環境設定で [範囲] を明示的に設定する必要があります。
[入力サーフェス ラスター]、[入力コスト ラスター]、[入力垂直方向ラスター]、または [入力水平方向ラスター]のラスター データセットのいずれかが指定されている場合、処理範囲はこれらのラスターの交差部分になります。
[セル サイズ] または [スナップ対象ラスター] 環境設定が指定されていない場合で、入力として指定されたラスターが複数存在する場合、次の優先順位に基づいて、[セルサイズ] および [スナップ対象ラスター] が設定されます。[入力コスト ラスター]、[入力サーフェス ラスター]、[入力垂直方向ラスター]、[入力水平方向ラスター]、[入力ラスター、またはフィーチャ ソース データ]、および [入力バリア ラスターまたはフィーチャ データ]。
垂直方向ファクターの修飾子のデフォルト値は次のとおりです。
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
傾斜方向 (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 ~
フィールドを使用してソース特性パラメーターを指定した場合、そのソース特性は、指定されたソース データのフィールド内の情報に従い、ソースごとに適用されます。キーワードまたは定数値が指定された場合は、すべてのソースに適用されます。
ソースの特性、またはソースに対する移動者は、特定のパラメーターで制御できます。
- [初期累積] は、移動開始前の初期コストを設定します。
- [最大累積] は、ソースが上限に達する前に累積できるコストの量を指定します。
- [コストに適用する乗数] は、移動のモードまたはソースの強度を指定します。
- [移動方向] は、移動者がソースを起点としてソース以外の場所に移動するか、ソース以外の場所を起点としてソースへ戻るかを識別します。
[初期累積] が指定された場合、出力コスト距離サーフェス上のソース位置が [初期累積] の値に設定されます。そうでない場合は、出力コスト距離サーフェス上のソース位置はゼロに設定されます。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
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 (オプション) | 各セル内を平面的に通過するときにかかるインピーダンスまたはコストを定義するイメージ サービスです。 各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。セル内を通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動についても補正します。 コスト ラスターとして、整数値または浮動小数点の値を使用できますが、負の値や 0 は使用できません (負またはゼロのコストは指定できません)。 | Raster Layer |
inputVerticalRaster (オプション) | 各セル位置の Z 値を定義するイメージ サービスです。 この値は、あるセルから別のセルに移動するときに生じる垂直方向ファクターを特定する傾斜角を計算するために使用されます。 | Raster Layer |
verticalFactor (オプション) | Vertical factor オブジェクトは、垂直コスト ファクターと垂直相対移動角度 (VRMA) の間の関係を定義します。 定義された垂直方向ファクター グラフを特定する修飾子付きのファクターがいくつかあって選択できます。グラフは、隣接セルに移動する総コストを計算するときに使用する垂直方向ファクターを特定するために使用されます。 以下の説明で、VF (垂直方向ファクター) はあるセルから次のセルに移動するときに生じる垂直移動の困難度を定義します。VRMA (垂直相対移動角度) は、FROM セル (処理中のセル) と TO セルの間の傾斜角度を示します。 オブジェクトには次の種類があります。 VfBinary、VfLinear、VfInverseLinear、VfSymLinear、VfSymInverseLinear、VfCos、VfSec、VfSec、VfCosSec、VfSecCos 各種類の定義とパラメーターは次のとおりです。
垂直方向ファクター パラメーターの修飾子は次のとおりです。
| Vertical Factor |
inputHorizontalRaster (オプション) | 各セルの水平方向を定義するラスター。 ラスター上の値は 0 〜 360 の範囲の整数でなくてはいけません。0 度は北または画面の上方向を示し、値は時計回りに増加します。平らなエリアには -1 という値を指定します。各位置の値は horizontal_factor パラメーターと組み合わせて、あるセルから隣接セルに移動するときに発生する水平コストを決定するときに使用されます。 | Raster Layer |
horizontalFactor (オプション) | Horizontal Factor オブジェクトは、水平コスト ファクターと水平相対移動角度 (HRMA) の間の関係を定義します。 定義された水平方向ファクター グラフを特定する修飾子付きのファクターがいくつかあって選択できます。グラフは、隣接セルに移動する総コストを計算するときに使用する水平方向ファクターを特定するために使用されます。 以下の説明で、HF (水平方向ファクター) は、あるセルから次のセルに移動するときに生じる水平移動の難易度を定義します。HRMA (水平相対移動角度) は、セルからの水平方向と移動方向がなす角度を示します。 オブジェクトには次の種類があります。 HfBinary、HfForward、HfLinear、HfInverseLinear 各種類の定義とパラメーターは次のとおりです。
水平方向ファクター キーワードの修飾子は次のとおりです。
| 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 が含まれている必要があります。 | String; Field |
distanceMethod (オプション) | 距離を平面 (平面地球) と測地線 (楕円体) のどちらの方法を用いて計算するかを指定します。
| String |
派生した出力
名前 | 説明 | データ タイプ |
outputDistanceAllocationRaster | 出力距離アロケーション ラスター。 | ラスター |
outputDistanceAccumulationRaster | 出力距離累積ラスター。 | ラスター |
outputBackDirectionRaster | 出力バック方向ラスター。 | ラスター |
outputSourceDirectionRaster | 出力ソース方向ラスター。 | ラスター |
outputSourceLocationRaster | 出力ソース位置ラスター。 | ラスター |
コードのサンプル
次の Python ウィンドウ スクリプトは、DistanceAllocationツールの使用方法を示しています。
import arcpy
arcpy.DistanceAllocation_ra('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')
サーフェス距離、水平コスト係数、垂直コスト係数を考慮に入れて、最も近いソースまでの最小累積コスト距離をセルごとに計算します。
# 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.DistanceAllocation_ra(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