概要
水平コスト係数と垂直コスト係数とともにサーフェス距離を考慮に入れて、最小コスト ソースとの最小累積コスト距離を計算します。
図
使用法
このラスター解析 ポータル ツールは、ArcGIS Enterprise の ポータルにサイン インすると使用できます。このポータルに、ArcGIS Image Server 用に構成された Raster Analysis があります。ツールを起動すると、ArcGIS Pro がクライアントとしてサービスを提供し、ArcGIS Enterprise とフェデレートされているサーバーで処理が発生します。ポータル ツールはポータルから入力としてレイヤーを受け取り、ポータルに出力を作成します。
入力ラスター レイヤーは、ポータルから入力されたレイヤー、イメージ サービスへの URI または URL、[Image Server レイヤーの作成 (Make Image Server Layer)] ツールの出力に対応しています。入力フィーチャ レイヤーには、ポータルからのレイヤー、フィーチャ サービスへの URI または URL を使用できます。このツールは、ローカルのラスター データまたはレイヤーをサポートしません。このポータル ツールへの入力としてはローカルのフィーチャ データとレイヤーを使用できますが、ポータルのレイヤーを入力することをお勧めします。
このツールの応用例として、建設を提案している学校への道路を新設するにあたって、最安のルートを特定することが挙げられます。
入力ソース データがイメージ サービスの場合、一連のソース セルは、ソース ラスター内にある有効な値を持つすべてのセルから構成されます。値が NoData のセルは、ソース セットには含まれません。値 0 (ゼロ) は、正当なソースと見なされます。
入力ソース データがフィーチャ サービスの場合、解析を実行する前に内部でソースの位置がラスターに変換されます。ラスターの解像度は [出力セル サイズ] パラメーターまたは [セル サイズ] 環境で制御できます。デフォルトの解像度は、入力空間参照において、入力フィーチャの範囲の幅または高さ (どちらか短い方) を 250 で割った値になります。
[入力コスト ラスター] で NoData のセル位置は、バリアの役割を果たします。入力コスト サーフェス上で NoData が割り当てられたセル位置は、すべての出力ラスターで NoData になります。
出力距離イメージ ラスターの場合、セルと一部ソース位置との最小コスト距離 (または最小累積コスト距離) は、セルから全ソース位置までの最小コスト距離の下限です。
このアルゴリズムは乗算処理なので、コスト ラスターに値ゼロを含めることができません。コスト ラスターに値ゼロが含まれており、それらの値が最小コストを表している場合は、まず値ゼロを小さい正の値 (0.01 など) に変更します。その後で [移動コストの計算 (Calculate Travel Cost)] ツールを実行してください。値ゼロのエリアが解析から除外されるエリアを表している場合は、それらの値を NoData に変更します。その後で [移動コストの計算 (Calculate Travel Cost)] ツールを実行してください。
水平方向ファクターの修飾子のデフォルト値は次のとおりです。
Keywords Zero factor Cut angle Slope Side value -------------- ----------- ----------- ----- --------- Binary 1.0 45 ~ ~ Forward 0.5 45 (fixed) ~ 1.0 Linear 0.5 181 1/90 ~ Inverse linear 2.0 180 -1/90 ~
垂直方向ファクターの修飾子のデフォルト値は次のとおりです。
Keyword Zero Low High Slope Power Cos Sec factor cut cut power power angle angle ------------------------ ------ ----- ----- ----- ----- ----- ----- Binary 1.0 -30 30 ~ ~ ~ ~ Linear 1.0 -90 90 1/90 ~ ~ ~ Symmetric linear 1.0 -90 90 1/90 ~ ~ ~ Inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Symmetric inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Cos ~ -90 90 ~ 1.0 ~ ~ Sec ~ -90 90 ~ 1.0 ~ ~ Cos_sec ~ -90 90 ~ ~ 1.0 1.0 Sec_cos ~ -90 90 ~ ~ 1.0 1.0
ソースの特性、またはソースに対する移動者は、特定のパラメーターで制御できます。[ソースのコスト乗数] パラメーターは、移動のモードまたはソースの強度を決定します。[ソースの開始コスト] は、移動開始前の開始コストを設定します。[ソースの耐性率] は、ハイカーの疲労度のシミュレーションなど、累積コストの影響を考慮した動的な調整を表します。[ソースのキャパシティ] は、制限に達するまでソースが許容できるコストの量を設定します。[移動方向] は、移動者がソースを起点としてソース以外の場所に移動するか、ソース以外の場所を起点としてソースへ戻るかを識別します。
[ソースの開始コスト] が指定され、[移動方向] が [ソースから移動] の場合、出力コスト距離サーフェス上のソース位置が [ソースの開始コスト] の値に設定されます。そうでない場合は、出力コスト距離サーフェス上のソース位置はゼロに設定されます。
フィールドを使用してソース特性パラメーターを指定した場合、そのソース特性は、指定されたソース データのフィールド内の情報に従い、ソースごとに適用されます。キーワードまたは定数値が指定された場合は、すべてのソースに適用されます。
構文
arcpy.ra.CalculateTravelCost(inputSourceRasterOrFeatures, outputDistanceName, {inputCostRaster}, {inputSurfaceRaster}, {maximumDistance}, {inputHorizontalRaster}, {horizontalFactor}, {inputVerticalRaster}, {verticalFactor}, {sourceCostMultiplier}, {sourceStartCost}, {sourceResistanceRate}, {sourceCapacity}, {sourceTravelDirection}, {outputBacklinkName}, {outputAllocationName}, {allocationField})
パラメーター | 説明 | データ タイプ |
inputSourceRasterOrFeatures | 距離を計算するソースを定義するレイヤー。レイヤーは、ラスターでもフィーチャでもかまいません。 | Raster Layer; Image Service; Feature Layer; String |
outputDistanceName | 出力距離ラスター サービスの名前。 コスト距離イメージ サービスは、特定されたソース位置までのコスト サーフェス上での最小累積コスト距離を、セルごとに特定します。 | String |
inputCostRaster (オプション) | 各セル内を平面的に通過するときにかかるインピーダンスまたはコストを定義するラスター。 各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。セル内を通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動についても補正します。 コスト ラスターとして、整数値または浮動小数点の値を使用できますが、負の値や 0 は使用できません (負またはゼロのコストは指定できません)。 | Raster Layer; Image Service; String |
inputSurfaceRaster (オプション) | 各セル位置の標高値を定義するラスター。この値は、セル間を通過するときにたどる実際のサーフェス距離を計算するときに使用されます。 | Raster Layer; Image Service; String |
maximumDistance (オプション) | 累積コスト値が超えることのできない閾値を定義します。 | Double |
inputHorizontalRaster (オプション) | 各セルの水平方向を定義するラスター。 ラスター上の値は 0 〜 360 の範囲の整数でなくてはいけません。0 度は北または画面の上方向を示し、値は時計回りに増加します。平らなエリアには -1 という値を指定します。 各位置の値は {horizontal_factor} と組み合わせて、あるセルから隣接セルに移動するときに発生する水平コストを決定するときに使用されます。 | Raster Layer; Image Service; String |
horizontalFactor (オプション) | 水平方向ファクターは、水平コスト ファクターと水平相対移動角度 (HRMA) の間の関係を定義します。 定義された水平方向ファクター グラフを特定する修飾子付きのファクターがいくつかあって選択できます。グラフは、隣接セルに移動する総コストを計算するときに使用する水平方向ファクターを特定するために使用されます。 以下の説明では、2 つ略語を使用しています。HF は水平方向ファクターを表し、あるセルから次のセルに移動するときに生じる水平移動の難易度を定義します。HRMA は水平相対移動角度を表し、セルからの水平方向と移動方向がなす角度を示します。 水平方向ファクターには次のようなタイプがあります。
デフォルトは Binary です。 水平方向のキーワードの特徴は次のとおりです。
| Horizontal Factor |
inputVerticalRaster (オプション) | 各セルの垂直 (z) 値を定義するラスター。 | Raster Layer; Image Service; String |
verticalFactor (オプション) | 垂直方向ファクターは、垂直コスト ファクターと垂直相対移動角度 (VRMA) の間の関係を定義します。 定義された垂直方向ファクター グラフを特定する修飾子付きのファクターがいくつかあって選択できます。グラフは、隣接セルに移動する総コストを計算するときに使用する垂直方向ファクターを特定するために使用されます。 以下の説明では、2 つ略語を使用しています。VF は垂直方向ファクターを表し、あるセルから次のセルに移動するときに生じる垂直移動の困難度を定義します。VRMA は垂直相対移動角度を表し、FROM セル (処理中のセル) と TO セルの間の傾斜角度を示します。 垂直方向ファクターには次のようなタイプがあります。
デフォルトは Binary です。 垂直方向のキーワードの特徴は次のとおりです。
| Vertical Factor |
sourceCostMultiplier (オプション) | コスト値に適用する乗数です。 移動のモードまたはソースの強度を制御できます。乗数が大きいほど、各セルの移動コストが大きくなります。 0 より大きい値を指定する必要があります。デフォルト値は 1 です。 | Double; Field |
sourceStartCost (オプション) | コスト計算の最初の開始コストです。 ソースに関連付けられた固定コストを指定できます。コスト アルゴリズムは、コスト 0 から開始する代わりに、sourceStartCost で設定された値から開始します。 値は 0 以上である必要があります。デフォルトは 0 です。 | Double; Field |
sourceResistanceRate (オプション) | このパラメーターは、累積コストの増加に伴う、コストに対処する労力の増加をシミュレートします。これは、移動者の疲労をモデル化するのに使用されます。セルに到達するまでに増加した累積コストが耐性率で乗算され、次のセルに移動するコストに追加されます。 これは、複利率の計算式の変更バージョンで、セルの移動による見かけコストの計算に使用されます。耐性率の値が増えると、後に移動するセルのコストが増加します。耐性率が大きいほど、次のセルに到達するための追加コストが大きくなります。これは、移動するごとに大きくなります。耐性率は複利と似ており、累積コストの値は一般に非常に大きいため、耐性率は累積コストの値に応じて 0.02 や 0.005、またはこれより小さいレートをお勧めします。 値は 0 以上である必要があります。デフォルトは 0 です。 | Double; Field |
sourceCapacity (オプション) | ソースに対する移動者のコスト キャパシティを定義します。 指定した許容値に達するまで、各ソースのコスト計算が続行されます。 0 より大きい値を指定する必要があります。デフォルトの許容値は出力ラスターのエッジまでです。 | Double; Field |
sourceTravelDirection (オプション) | 水平方向ファクターと垂直方向ファクター、ソース耐性率、およびソース開始コストを適用する際の、移動者の方向を定義します。
FROM_SOURCE または TO_SOURCE キーワードを選択します。これは、すべてのソースに適用されます。または、ソース データから、各ソースの移動方向を識別するキーワードを含むフィールドを指定します。フィールドには、文字列 FROM_SOURCE または TO_SOURCE が含まれている必要があります。 | String |
outputBacklinkName (オプション) | 出力バックリンク ラスター サービスの名前。 バックリンク ラスターは 0 ~ 360 の値を含みます。この値は、サーフェス距離、水平サーフェス係数、垂直サーフェス係数を考慮に入れて、セルから最小コスト ソースまでの最小累積コスト パスに沿った方向を定義します。 | String |
outputAllocationName (オプション) | 出力アロケーション ラスター サービスの名前。 このラスターは、最小累積コストで到達できる各ソース位置 (セルまたはフィーチャ) のゾーンを識別します。 出力ラスターのタイプは整数です。 | String |
allocationField (オプション) | 各ソースを定義する値を保持する、ソース入力上のフィールド | String |
派生した出力
名前 | 説明 | データ タイプ |
outputDistanceRaster | 出力距離ラスター。 | ラスター レイヤー |
outputBacklinkRaster | 出力バックリンク ラスター。 | ラスター レイヤー |
outputAllocationRaster | 出力アロケーション ラスター。 | ラスター レイヤー |
コードのサンプル
この例では、単一ソースからの移動コストを計算します。
import arcpy
arcpy.CalculateTravelCost_ra('https://MyPortal.esri.com/server/rest/services/Hosted/reccenter/ImageServer',
"outDist", "inCostRas", "inSurfaceRas", "200000")
この例では、複数ソースからの移動コストを計算します。
# Name: CalculateTravelCost_Ex_02.py
# Description: Calculates for each cell the least accumulative cost distance
# to the nearest source over a cost surface.
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inSource = 'https://MyPortal.esri.com/server/rest/services/Hosted/landuse/ImageServer'
outDistName =
inCostRast = "costraster"
inElev = "elevation"
maxDist = "50000"
inHoriz = "backlink2"
horizFactor = "FORWARD 0.5 1.0"
inVertical = "focalcost.tif"
verticalFactor = "Binary 1.0 -30 30"
sourceCostMultiplier =
sourceStartCost =
sourceResistanceRate =
sourceCapacity =
sourceTravelDirection =
optBacklinkName = "c:/sapyexamples/output/pathbacklink"
optAlloName =
allocField =
# Execute CalculateTravelCost
arcpy.CalculateTravelCost_ra(inSource, outDistName, inCostRast, inElev, maxDist, inHoriz, horizFactor,
inVertical, verticalFactor, sourceCostMultiplier, sourceStartCost,
sourceResistanceRate, sourceCapacity, sourceTravelDirection, optBacklinkName,
optAlloName, allocField)
# Execute CostDistance
outTravelCost = CalculateTravelCost(inSourceData, inCostRaster, maxDistance, outBkLinkRaster)
環境
ライセンス情報
- Basic: 次のものが必要 ArcGIS Image Server
- Standard: 次のものが必要 ArcGIS Image Server
- Advanced: 次のものが必要 ArcGIS Image Server