コスト パス (ポリライン) (Cost Path As Polyline) (ラスター解析)

概要

ソースから目的地までの最小コスト パスをライン フィーチャとして算出します。

最小コスト パスの作成の詳細

コストパス (ポリライン) (Cost Path as Polyline) ツールの図

使用法

  • このラスター解析 ポータル ツールは、ArcGIS Enterprise「ArcGIS Enterprise の解析について」へのリンク ポータルにサイン インすると使用できます。このポータルに、ArcGIS Image Server 「ラスター解析の設定と配置」へのリンク用に構成された Raster Analysis 「ArcGIS Image Server とは」へのリンク があります。ツールを起動すると、ArcGIS Pro がクライアントとしてサービスを提供し、ArcGIS Enterprise とフェデレートされているサーバーで処理が発生します。ポータル ツールはポータルから入力としてレイヤーを受け取り、ポータルに出力を作成します。

    入力ラスター レイヤーは、ポータルから入力されたレイヤー、イメージ サービスへの URI または URL、[Image Server レイヤーの作成 (Make Image Server Layer)] ツールの出力に対応しています。入力フィーチャ レイヤーには、ポータルからのレイヤー、フィーチャ サービスへの URI または URL を使用できます。このツールは、ローカルのラスター データまたはレイヤーをサポートしません。このポータル ツールへの入力としてはローカルのフィーチャ データとレイヤーを使用できますが、ポータルのレイヤーを入力することをお勧めします。

  • [コスト パス (ポリライン) (Cost Path as Polyline)] ツールは、累積コスト サーフェスまたはユークリッド距離サーフェス内の最も近い目的地によって定義された、ソースからの最小コスト パスを記録する出力ポリライン フィーチャ サービスを作成します。

  • 目的地フィーチャがある場合は、フィーチャのラスター化ラスター関数を使用してそれらのフィーチャをイメージ サービスに変換できます。既存の [コスト距離ラスター] を、このラスター化関数の [ラスター] 入力として使用します。これにより、フィーチャが確実に、同じセル サイズ、範囲、および空間参照を使用してイメージ サービスに正しく変換されるようになります。

  • [目的地ラスター] 内に存在する NoData 値は、関数の有効な値として含まれません。値 0 (ゼロ) は、目的地ラスター内の正当な値と見なされます。

  • [コスト パス (ポリライン) (Cost Path as Polyline)] を実行するには、2 つの入力イメージ サービスが必要です。これらの入力を生成する方法は、実行する解析のタイプによって決まります。

    • コスト解析は、コスト パスを生成します。コスト バック リンクおよびコスト距離ラスター関数を実行して、必要な入力を生成します。
    • ユークリッド解析は、直線のパスおよびバリアの周囲のパスを生成します。[距離の計算 (Calculate Distance)] ツールを実行して、ユークリッド バック方向およびユークリッド距離を生成します。または、ユークリッド逆方向およびユークリッド距離ラスター関数を実行します。
    • フロー解析は、フローパスを生成します。D8 オプションを使用して [流向ラスター] ラスター関数を実行します。D8 流向ラスターを、[入力コスト バック リンク ラスター] の入力として使用します。[入力コスト距離ラスター] も指定する必要があります。[入力コスト距離ラスター] はパスの決定に使用されません。定数ラスターまたはデジタル標高モデル (DEM) のどちらを使用しても、パスは同じになります。パス上の属性値のみが変化します。
  • 出力フィーチャ サービスには、各ラインの目的地を識別する DestID というフィールドがあります。

  • ほとんどの他のラスター解析ツールとは異なり、[コスト パス (ポリライン) (Cost Path As Polyline)] は、環境設定 [出力座標系]、[範囲]、[セル サイズ]、および [スナップ対象ラスター] を無視します。バック リンク ラスターのパターンは、リサンプリングまたは再投影された場合は、大幅に変化し、パスが正しくなくなります。

構文

arcpy.ra.CostPathAsPolyline(inputDestinationRasterOrFeatures, inputCostDistanceRaster, inputCostBacklinkRaster, outputPolylineName, {pathType}, {destinationField})
パラメーター説明データ タイプ
inputDestinationRasterOrFeatures

最小コストのソースまでの最小コスト パスが求められる位置を識別するイメージ サービスまたはフィーチャ サービス。

入力がイメージ サービスの場合、入力は有効な値 (ゼロは有効値) を持つセルから構成され、残りのセルには NoData を割り当てる必要があります。

Raster Layer; Image Service; Feature Layer; String
inputCostDistanceRaster

ソースから目的地までの最小コスト パスを決定するために使用される入力コスト距離ラスターまたはユークリッド距離ラスター。

Raster Layer; Image Service; String
inputCostBacklinkRaster

最小コスト パスまたは最短パスでソースに戻るパスを決定するために使用するラスターの名前。

バック リンク ラスターまたは距離ラスターの各セルについて、値は、セルからソース セルまでのパス上にある次のセルである近傍を識別します。

Raster Layer; Image Service; String
outputPolylineName

最小コスト パスを含む出力フィーチャ サービス。

String
pathType
(オプション)

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

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

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

Field

派生した出力

名前説明データ タイプ
outputPolylineFeatures

ポリライン フィーチャ。

フィーチャ レイヤー

コードのサンプル

CostPathAsPolyline (コストパス (ポリライン)) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、CostPathAsPoyline 関数の使用方法を示しています。

import arcpy

arcpy.CostPathAsPolyline_ra(
    "https://myserver/rest/services/destination/ImageServer", 
    "https://myserver/rest/services/costsurface/ImageServer", 
    "https://myserver/rest/services/direction/ImageServer", 
    "outpath", "BEST_SINGLE")
CostPathAsPolyline (コストパス (ポリライン)) の例 2 (スタンドアロン スクリプト)

ソースから目的地までの最小コスト パスを計算します。

#-------------------------------------------------------------------------------
# Name: CostPathAsPolyline_Ex_02.py
# Description: Calculates the least-cost 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'
inputCostLayer =
    'https://MyPortal.esri.com/server/rest/services/Hosted/costraster/ImageServer'
inputDirectionLayer = 
    'https://MyPortal.esri.com/server/rest/services/Hosted/direction/ImageServer'
outputName = 'outTravelPaths'
pathType = 'BEST_SINGLE'

arcpy.CostPathAsPolyline_ra(inputDestinationLayer, inputCostLayer,
                            inputDirectionLayer, outputName, pathType)

ライセンス情報

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

関連トピック