概要
ソースから目的地までの最適なパスをラインとして算出します。
図
使用法
このラスター解析 ポータル ツールは、ArcGIS Enterprise の ポータルにサイン インすると使用できます。このポータルに、Raster Analysis 用に構成された ArcGIS Image Server があります。ツールを起動すると、ArcGIS Pro がクライアントとしてサービスを提供し、ArcGIS Enterprise とフェデレートされているサーバーで処理が発生します。ポータル ツールはポータルから入力としてレイヤーを受け取り、ポータルに出力を作成します。
入力ラスター レイヤーは、ポータルから入力されたレイヤー、イメージ サービスへの URI または URL、[Image Server レイヤーの作成 (Make Image Server Layer)] ツールの出力に対応しています。入力フィーチャ レイヤーには、ポータルからのレイヤーを使用できます。フィーチャ サービスへの URI または URL でもかまいません。このツールは、ローカルのラスター データまたはレイヤーをサポートしません。このポータル ツールへの入力としてはローカルのフィーチャ データとレイヤーを使用できますが、ポータルのレイヤーを入力することをお勧めします。
[最適パス (ライン) (Optimal Path As Line)] ツールは、累積コスト サーフェスまたはユークリッド距離サーフェス内に定義された、目的地から最も近いソースへの最適なパスを記録する出力ライン フィーチャ サービスを作成します。
入力目的地データがラスターの場合、一連の目的地セルは、有効な値を持つ [入力ラスター、または目的地フィーチャ データ] 内にあるすべてのセルから構成されます。値が NoData のセルは、ソース セットには含まれません。値ゼロは、正式な目的地と見なされます。目的地ラスターは、[抽出] ツールを使用して作成できます。
入力目的地にフィーチャ データを使用する場合は、出力セルのサイズがどのように管理されるか、特に入力フィーチャよりも粗い場合の処理方法に注意する必要があります。[フィーチャ → ラスター (Feature to Raster)] ツールを使用して内部的なラスター化プロセスが行われます。つまり、セルの中心に配置されていないデータは、ラスター化された目的地の出力に含まれず、距離の計算では表されません。たとえば、目的地が出力のセル サイズに比べて小さい一連のポリゴン (建物のフットプリントなど) である場合は、一部のポリゴンだけが出力ラスター セルの中心に分類され、多くのポリゴンが解析で失われたように見える可能性があります。
この状況を回避するには、中間的な手順として、[フィーチャ → ラスター (Feature to Raster)] ツールを使用して入力フィーチャを直接ラスター化し、[フィールド] パラメーターを設定します。次に、結果の出力を [距離] ツールの入力として使用します。または、入力フィーチャから適切な量の情報を捕捉できる、小さいセル サイズを選択することもできます。
最適なパスを生成する前に、通常は、[距離累積 (Distance Accumulation)] または [距離アロケーション (Distance Allocation)] のいずれかのツールを使用して、距離累積ラスターとバック方向ラスターを作成します。これらは、最適なパスの生成に必須の入力です。
作成された最適なパスは、D8 流向に基づいた流路です。この方法で最適なパスを作成するには、[入力バック方向または入力流向ラスター] の入力として D8 流向ラスターを使用します。[入力距離累積ラスター] も指定する必要があります。[入力距離累積ラスター] はパスの決定に使用されません。定数ラスターまたはデジタル標高モデル (DEM) のどちらを使用しても、パスは同じになります。パス上の属性値のみが変化します。D8 流向ラスターの詳細については、[流向ラスターの作成 (Flow Direction)] ツールをご参照ください。
出力フィーチャ サービスは、各ラインがつながる目的地を識別する DestID という名のフィールドを含んでいます。
大部分のラスター解析ツールとは異なり、[最適パス (ライン) (Optimal Path As Line)] は、[出力データの座標系]、[範囲]、[セル サイズ]、[スナップ対象ラスター] の各環境変数を無視します。バック リンク ラスターのパターンは、リサンプリングまたは再投影された場合は、大幅に変化し、パスが正しくなくなります。
構文
OptimalPathAsLine(inputDestinationRasterOrFeatures, inputDistanceAccumulationRaster, inputBackDirectionRaster, outputPolylineName, {destinationField}, {pathType})
パラメーター | 説明 | データ タイプ |
inputDestinationRasterOrFeatures | データセットのラスターまたはフィーチャで、これらによって識別された位置から、最小コストのソースまでの最小累積コスト パスが求めらます。 ラスターの場合、入力の型は整数の必要があり、有効な値を持つセルで構成される必要があります (0 は有効な値です)。残りのセルには NoData を割り当てる必要があります。 | Raster Layer; Image Service; Feature Layer; String |
inputDistanceAccumulationRaster | 距離累積ラスターは、ソースから目的地までの最適なパスを決定するために使用されます。 距離累積ラスターは通常、[距離累積 (Distance Accumulation)] または [距離アロケーション (Distance Allocation)] ツールで作成されます。距離累積ラスター内の各セルは、各セルから一連のソース セルまでのサーフェス上での最小累積コスト距離を表します。 | Raster Layer; Image Service; String |
inputBackDirectionRaster | バック方向ラスターは、角度で計算した方向を含みます。バリアを避けながら、最小累積コスト ソースに戻る最適なパスに沿った隣接セルへの方向を特定します。 値の範囲は 0 ~ 360 度です。値 0 はソース セル用とされています。真東 (右) は 90 度で、値は時計回りに増加します (180 が南、270 が西、360 が北)。 | Raster Layer; Image Service; String |
outputPolylineName | 最適パスを含む出力フィーチャ サービスの名前。 | String |
destinationField (オプション) | 目的地の場所の値を取得するために使用されるフィールド。 このフィールドは整数の必要があります。 | Field |
pathType (オプション) | 入力目的地データの値とゾーンを、コスト パスの計算の中でどのように解釈するかを定義するキーワードを指定します。
| String |
派生した出力
名前 | 説明 | データ タイプ |
outputPolylineFeatures | 出力最適パスフィーチャ サービス。 | フィーチャ レイヤー |
コードのサンプル
次の Python ウィンドウ スクリプトは、OptimalPathAsLineツールの使用方法を示しています。
import arcpy
arcpy.OptimalPathAsLine_ra(
"https://myserver/rest/services/destination/ImageServer",
"https://myserver/rest/services/accumulationraster/ImageServer",
"https://myserver/rest/services/backdirection/ImageServer",
"outpath")
目的地からソースまでの最適なパスをフィーチャとして算出します。
#-------------------------------------------------------------------------------
# Name: OptimalPathAsLine_Ex_02.py
# Description: Calculates the optimal path from a source to a destination.
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inputDestinationLayer =
'https://MyPortal.esri.com/server/rest/services/Hosted/destination/ImageServer'
inputAccumulationLayer =
'https://MyPortal.esri.com/server/rest/services/Hosted/costaccumulation/ImageServer'
inputDirectionLayer =
'https://MyPortal.esri.com/server/rest/services/Hosted/backdirection/ImageServer'
outputName = 'outTravelPaths'
arcpy.OptimalPathAsLine_ra(inputDestinationLayer, inputAccumulationLayer,
inputDirectionLayer, outputName)
環境
ライセンス情報
- Basic: 次のものが必要 ArcGIS Image Server
- Standard: 次のものが必要 ArcGIS Image Server
- Advanced: 次のものが必要 ArcGIS Image Server