最適パス (ライン) (Optimal Path As Line) (ラスター解析)

サマリー

ソースから目的地までの最適パスをラインとして計算します。

[最適パス (ライン) (Optimal Path As Line)] ツールの図

使用法

  • このラスター解析ポータル ツールは、Raster Analytics 用に構成された ArcGIS Image Server を備えた ArcGIS Enterprise にサインインすると使用できます。 このツールを実行すると、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)] ツールを使用して入力フィーチャを直接ラスター化し、[フィールド] パラメーターを設定します。 次に、結果の出力を距離ツールの入力として使用します。 または、入力フィーチャから適切な量の情報を捕捉できる、小さいセル サイズを選択することもできます。

  • 最適なパスを生成する前に、通常は、[距離累積] または [距離アロケーション] ツールのいずれかを使用して、距離累積ラスターとバック方向ラスターを作成します。 これらは、最適なパスの生成に必須の入力です。

  • 作成された最適なパスは、D8 流向に基づいた流路です。 この方法で最適なパスを作成するには、[入力バック方向または入力流向ラスター] の入力として D8 流向ラスターを使用します。 [入力距離累積ラスター] も指定する必要があります。[入力距離累積ラスター] はパスの決定に使用されません。 定数ラスターまたはデジタル標高モデル (DEM) のどちらを使用しても、パスは同じになります。パス上の属性値のみが変化します。 D8 流向ラスターの詳細については、[流向ラスターの作成 (Flow Direction)] ツールをご参照ください。

  • 出力フィーチャ サービスには、各ラインがつながる目的地を識別する DestID フィールドが含まれます。

  • 大部分のラスター解析ツールとは異なり、[最適パス (ライン) (Optimal Path As Line)] は、出力データの座標系、範囲、セル サイズ、スナップ対象ラスターの各環境変数を無視します。 バック リンク ラスターのパターンは、リサンプリングまたは再投影された場合は、大幅に変化し、パスが正しくなくなります。

パラメーター

ラベル説明データ タイプ
入力ラスター、または目的地フィーチャ データ

データセットのラスターまたはフィーチャで、これらによって識別された位置から、最小コストのソースまでの最小累積コスト パスが求められます。

ラスターの場合、入力の型は整数の必要があり、有効な値を持つセルで構成される必要があります (0 は有効な値です)。 残りのセルには NoData を割り当てる必要があります。 フィーチャ サービスの場合、入力タイプはポイント、ライン、またはポリゴンです。

Raster Layer; Image Service; Feature Layer; String
入力距離累積ラスター

距離累積ラスターは、ソースから目的地までの最適なパスを決定するために使用されます。

距離累積ラスターは通常、[距離累積 (Distance Accumulation)] または [距離アロケーション (Distance Allocation)] ツールで作成されます。 距離累積ラスター内の各セルは、各セルから一連のソース セルまでのサーフェス上での最小累積コスト距離を表します。

Raster Layer; Image Service; String
入力バック方向または入力流向ラスター

バック方向ラスターは、角度で計算した方向を含みます。 バリアを避けながら、最小累積コスト ソースに戻る最適なパスに沿った隣接セルへの方向を特定します。

値の範囲は 0 ~ 360 度です。 値 0 はソース セル用とされています。 真東 (右) は 90 度で、値は時計回りに増加します (180 が南、270 が西、360 が北)。

Raster Layer; Image Service; String
出力最適パス フィーチャ

最適パスを含む出力フィーチャ サービスの名前。

String
目的地フィールド
(オプション)

目的地の位置の値を取得するために使用するフィールド。

このフィールドは整数の必要があります。

Field
パスの種類
(オプション)

入力目的地データの値とゾーンを、コスト パスの計算の中でどのように解釈するかを定義するキーワードを指定します。

  • 各ゾーン入力目的地データの各ゾーンについて、最小コスト パスが求められ、出力ラスターに保存されます。 このオプションを使用すると、各ゾーンの最小コスト パスは、ゾーン内で最低のコスト距離加重を持つセルから開始します。 これがデフォルトです。
  • 最適な単一パス入力目的地データのすべてのセルについて、最小コスト パスは、ソース セルへの最小コスト パスの最小値を使用してセルから求められます。
  • 各セル入力目的地データの有効な値を持つ各セルについて、最小コストが求められ出力ラスターに保存されます。 このオプションを使用すると、入力目的地データの各セルが別々に扱われ、各セルの最小コスト パスが決定されます。
String
ネットワーク パスの作成
(オプション)

目的地からソースへの完全な (重なっている可能性のある) パスが計算されるか、重なっていないネットワーク パスが作成されるかを指定します。

  • オフ - 目的地からソースへの完全なパスが計算されます。このパスは、重なっている可能性があります。これがデフォルトです。
  • オン - 重なっていないネットワーク パスが計算されます。
Boolean

派生した出力

ラベル説明データ タイプ
出力ポリライン フィーチャ

出力最適パスフィーチャ サービス。

フィーチャ レイヤー

arcpy.ra.OptimalPathAsLine(inputDestinationRasterOrFeatures, inputDistanceAccumulationRaster, inputBackDirectionRaster, outputPolylineName, {destinationField}, {pathType}, {createNetworkPaths})
名前説明データ タイプ
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
(オプション)

入力目的地データの値とゾーンを、コスト パスの計算の中でどのように解釈するかを定義するキーワードを指定します。

  • EACH_ZONE入力目的地データの各ゾーンについて、最小コスト パスが求められ、出力ラスターに保存されます。 このオプションを使用すると、各ゾーンの最小コスト パスは、ゾーン内で最低のコスト距離加重を持つセルから開始します。 これがデフォルトです。
  • BEST_SINGLE入力目的地データのすべてのセルについて、最小コスト パスは、ソース セルへの最小コスト パスの最小値を使用してセルから求められます。
  • EACH_CELL入力目的地データの有効な値を持つ各セルについて、最小コストが求められ出力ラスターに保存されます。 このオプションを使用すると、入力目的地データの各セルが別々に扱われ、各セルの最小コスト パスが決定されます。
String
createNetworkPaths
(オプション)

目的地からソースへの完全な (重なっている可能性のある) パスが計算されるか、重なっていないネットワーク パスが作成されるかを指定します。

  • DESTINATIONS_TO_SOURCES目的地からソースへの完全なパスが計算されます。このパスは、重なっている可能性があります。これがデフォルトです。
  • NETWORK_PATHS重なっていないネットワーク パスが計算されます。
Boolean

派生した出力

名前説明データ タイプ
outputPolylineFeatures

出力最適パスフィーチャ サービス。

フィーチャ レイヤー

コードのサンプル

Optimal Path As Line (最適パス (ライン)) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、OptimalPathAsLineツールの使用方法を示しています。

import arcpy

arcpy.ra.OptimalPathAsLine(
    "https://myserver/rest/services/destination/ImageServer", 
    "https://myserver/rest/services/accumulationraster/ImageServer", 
    "https://myserver/rest/services/backdirection/ImageServer", 
    "outpath")
Optimal Path As Line (最適パス (ライン)) の例 2 (スタンドアロン スクリプト)

目的地からソースまでの最適なパスをフィーチャとして算出します。

#-------------------------------------------------------------------------------
# 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.ra.OptimalPathAsLine(inputDestinationLayer, inputAccumulationLayer,
                            inputDirectionLayer, outputName)

ライセンス情報

  • Basic: 次のものが必要 ArcGIS Image Server
  • Standard: 次のものが必要 ArcGIS Image Server
  • Advanced: 次のものが必要 ArcGIS Image Server

関連トピック