ラベル | 説明 | データ タイプ |
入力ラスター、または目的地フィーチャ データ | 最小コストのソースまでの最適なパスが決定される位置を特定する整数ラスターまたはフィーチャ (ポイント、ライン、ポリゴン) です。 ラスターを入力とした場合、そのラスターを構成するセルに目的地の有効値が含まれていて、残りのセルに NoData が割り当てられている必要があります。 ゼロは有効値です。 | Raster Layer; Feature Layer |
入力距離累積ラスター | ソースから目的地までの最適なパスを決定するために使用される距離累積ラスター。 距離累積ラスターは通常、[距離累積 (Distance Accumulation)] または [距離アロケーション (Distance Allocation)] ツールで作成されます。 距離累積ラスター内の各セルは、各セルから一連のソース セルまでのサーフェス上での最小累積コスト距離を表します。 | Raster Layer |
入力バック方向または入力流向ラスター | バック方向ラスターは、角度で計算した方向を含みます。 バリアを避けながら、最小累積コスト ソースに戻る最適なパスに沿った隣接セルへの方向を特定します。 値の範囲は 0 度から 360 度で、0 はソース セル用に予約されています。 真東 (右) は 90 で、値は時計回りに増加します (180 が北、270 が西、360 が北)。 | Raster Layer |
出力最適パス フィーチャ | 最適パスの出力フィーチャクラス。 | Feature Class |
目的地フィールド (オプション) | 目的地の位置の値を取得するために使用される整数フィールド。 | Field |
パスの種類 (オプション) | 入力目的地データの値とゾーンを、コスト パスの計算の中でどのように解釈するかを定義するキーワードを指定します。
| String |
ネットワーク パスの作成 (オプション) | 目的地からソースへの完全な (重なっている可能性のある) パスが計算されるか、重なっていないネットワーク パスが作成されるかを指定します。
| Boolean |
Spatial Analyst のライセンスで利用可能。
使用法
[最適パス (ライン) (Optimal Path As Line)] ツールは、ソースから目的地までの最適パスの出力ポリライン フィーチャを作成します。
入力目的地データがラスターの場合、一連の目的地セルは、有効な値を持つ [入力ラスター、または目的地フィーチャ データ] パラメーター値に含まれるすべてのセルで構成されます。 値が NoData のセルは、ソース セットには含まれません。 値ゼロは、正式な目的地と見なされます。 目的地ラスターは、[抽出] ツールを使用して作成できます。
特に、入力目的地フィーチャにポリゴン フィーチャを使用する際、出力セル サイズが入力フィーチャよりも粗い場合の処理方法に注意する必要があります。 [セルの中心] の [集約タイプ] のデフォルト設定で、[ポリゴン → ラスター (Polygon to Raster)] ツールを使用する内部的なラスター化処理が適用されます。 つまり、セルの中心に配置されていないデータは、ラスター化された目的地の中間出力に含まれず、距離の計算では表されません。 たとえば、目的地が出力のセル サイズに比べて小さい一連のポリゴン (建物のフットプリントなど) である場合は、一部のポリゴンだけが出力ラスター セルの中心に分類され、多くのポリゴンが解析で失われたように見える可能性があります。
この状況を回避するには、中間的な手順として、[フィーチャ → ラスター (Feature to Raster)] ツールを使用して入力フィーチャを直接ラスター化し、[フィールド] パラメーターを設定します。 次に、結果の出力を [距離] ツールの入力として使用します。 また、入力フィーチャから適切な量の情報を捕捉できる小さいセル サイズを選択することもできます。
最適なパスを生成する前に、通常は、[距離累積 (Distance Accumulation)] または [距離アロケーション (Distance Allocation)] ツールのいずれかを使用して、距離累積ラスターとバック方向ラスターを作成します。 これらは、最適なパスの生成に必須の入力です。
作成された最適なパスは、D8 流向に基づいた流路です。 この方法で最適なパスを作成するには、[入力バック方向または入力流向ラスター] の入力として D8 流向ラスターを使用します。 [入力距離累積ラスター] も指定する必要があります。 [ネットワーク パスの作成] パラメーターが有効化されていない場合は、パスの決定に [入力距離累積ラスター] が使用されません。 そのため、定数ラスターまたはデジタル標高モデル (DEM) のどちらを使用しても、パスは同じになります。パス上の属性値のみが変化します。 ただし、[ネットワーク パスの作成] が有効化されている場合、[入力距離累積ラスター] は [出力累積流量] ラスターでなければなりません。 D8 流向ラスターの詳細については [流向ラスターの作成 (Flow Direction)] ツールを、累積ラスターの作成については [累積流量ラスターの作成 (Flow Accumulation)] ツールをご参照ください。
出力ポリライン フィーチャには、DestID というフィールドと PathCost というフィールドがあります。 DestID フィールドは、各ラインがつながる目的地を識別します。 PathCost フィールドは、各パスの累積合計コストを示します。 出力がファイル ジオデータベースに書き込まれる場合は、最小コスト パスの全長が格納される shape_length というフィールドがあります。
最適なパスを生成するために、[セル サイズ] 環境設定が無視され、[入力コスト バックリンク ラスター] 値のセル サイズが出力ラスターの計算に使用されます。 バックリンク ラスターのパターンは、別の解像度にリサンプリングされた場合に変化します。 混乱を避けるために、このツールを使用するときは、セル サイズを設定しないでください。
パラメーター
OptimalPathAsLine(in_destination_data, in_distance_accumulation_raster, in_back_direction_raster, out_polyline_features, {destination_field}, {path_type}, {create_network_paths})
名前 | 説明 | データ タイプ |
in_destination_data | 最小コストのソースまでの最適なパスが決定される位置を特定する整数ラスターまたはフィーチャ (ポイント、ライン、ポリゴン) です。 ラスターを入力とした場合、そのラスターを構成するセルに目的地の有効値が含まれていて、残りのセルに NoData が割り当てられている必要があります。 ゼロは有効値です。 | Raster Layer; Feature Layer |
in_distance_accumulation_raster | ソースから目的地までの最適なパスを決定するために使用される距離累積ラスター。 距離累積ラスターは通常、[距離累積 (Distance Accumulation)] または [距離アロケーション (Distance Allocation)] ツールで作成されます。 距離累積ラスター内の各セルは、各セルから一連のソース セルまでのサーフェス上での最小累積コスト距離を表します。 | Raster Layer |
in_back_direction_raster | バック方向ラスターは、角度で計算した方向を含みます。 バリアを避けながら、最小累積コスト ソースに戻る最適なパスに沿った隣接セルへの方向を特定します。 値の範囲は 0 度から 360 度で、0 はソース セル用に予約されています。 真東 (右) は 90 で、値は時計回りに増加します (180 が北、270 が西、360 が北)。 | Raster Layer |
out_polyline_features | 最適パスの出力フィーチャクラス。 | Feature Class |
destination_field (オプション) | 目的地の位置の値を取得するために使用される整数フィールド。 | Field |
path_type (オプション) | 入力目的地データの値とゾーンを、コスト パスの計算の中でどのように解釈するかを定義するキーワードを指定します。
| String |
create_network_paths (オプション) | 目的地からソースへの完全な (重なっている可能性のある) パスが計算されるか、重なっていないネットワーク パスが作成されるかを指定します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、このツールの使用方法を示しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
OptimalPathAsLine("observers.shp", "distaccum.tif", "backdir.tif",
"c:/sapyexamples/output/outOptimalPath01.shp")
ソースから目的地までの最小コストパスを算出します。
# Name: OptimalPathAsLine_Ex_02.py
# Description: Calculates the least-cost path from a source to
# a destination.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inDestination = "observers.shp"
inDistAccum = "accumraster.tif"
inBackDir = "backdir2.tif"
outPathFeat = "c:/sapyexamples/output.gdb/optimalfeaturepaths02"
destField = "FID"
method = "EACH_CELL"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
OptimalPathAsLine(inDestination, inDistAccum, inBackDir,
outPathFeat, destField, method)