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

概要

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

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

使用法

  • このラスター解析 ポータル ツールは、ArcGIS Enterprise「ArcGIS Enterprise の解析について」へのリンク ポータルにサイン インすると使用できます。このポータルに、Raster Analysis 用に構成された ArcGIS Image Server 「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
(オプション)

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

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

派生した出力

名前説明データ タイプ
outputPolylineFeatures

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

フィーチャ レイヤー

コードのサンプル

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

次の 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")
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.OptimalPathAsLine_ra(inputDestinationLayer, inputAccumulationLayer,
                            inputDirectionLayer, outputName)

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

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

関連トピック