コスト距離(Cost Distance) (Spatial Analyst)

サマリ

コスト サーフェス上で最も近いソースまでの最小累積コスト距離をセルごとに計算します。

[コスト距離(Cost Distance)] ツールの仕組みの詳細

Cost Distance illustration
Cost_Dist = CostDistance(Source_Ras, Cost_Ras)

使用法

構文

CostDistance (in_source_data, in_cost_raster, {maximum_distance}, {out_backlink_raster})
パラメータ説明データ タイプ
in_source_data

入力ソース位置。

これは、あらゆる出力セル位置について最小累積コスト距離の計算対象となるセルまたは位置を特定するラスタ データセットまたはフィーチャ データセットです。

ラスタの場合、入力タイプは整数または浮動小数点数です。

Raster Layer | Feature Layer
in_cost_raster

各セル内を平面的に通過するときにかかるインピーダンスまたはコストを定義するラスタ。

各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。セル内を通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動についても補正します。

コスト ラスタとして、整数値または浮動小数点値を使用できますが、負の値や 0 は使用できません(負またはゼロのコストは指定できません)。

Raster Layer
maximum_distance
(オプション)

累積コスト値が超えることのできない閾値を定義します。

累積コスト距離がこの値を超える場合、セル位置の出力値は NoData になります。最大距離は、累積コスト距離を計算する範囲を定義します。

デフォルトは出力ラスタのエッジまでです。

Double
out_backlink_raster
(オプション)

出力コスト バック リンク ラスタ。

バック リンク ラスタは 0 ~ 8 の値を含みます。この値は方向を定義します。つまり、セルから最小コスト ソースまでの最小累積コスト パスに沿った次の隣接セルを特定します。

パスが右の隣接セルに進む場合、その隣接セルには値 1 が、右下のセルには値 2 が割り当てられ、これが時計回りに続きます。値 0 はソース セル用とされています。

バック リンク位置
Raster Dataset

リターン

名前説明データ タイプ
out_distance_raster

出力コスト距離ラスタ。

コスト距離ラスタは、特定されたソース位置までのコスト サーフェス上での最小累積コスト距離を、セルごとに特定します。

ソースは、セル、セル セット、または 1 つ以上のフィーチャ位置です。

出力ラスタのタイプは浮動小数点数です。

Raster

コードのサンプル

CostDistance(コスト距離)の例 1(Python ウィンドウ)

次の Python ウィンドウ スクリプトで、CostDistance(コスト距離)ツールの使用方法を示します。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCostDist = CostDistance("source.shp", "elevation", 200000, "backlink")
outCostDist.save("C:/sapyexamples/output/costdist")
CostDistance(コスト距離)の例 2(スタンドアロン スクリプト)

ポイント シェープ ファイルのソース位置から、最小累積コスト距離を計算します。

# Name: CostDistance_Ex_02.py
# Description: Calculates for each cell the least accumulative cost distance
#    to the nearest source over a cost  surface. 
# 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
inSourceData = "source.shp"
inCostRaster = "elevation"
maxDistance = 20000000   
outBkLinkRaster = "C:/sapyexamples/output/outbklink"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute CostDistance
outCostDistance = CostDistance(inSourceData, inCostRaster, maxDistance, outBkLinkRaster)

# Save the output 
outCostDistance.save("C:/sapyexamples/output/outcostdist")

環境

関連項目

ライセンス情報

ArcView: 必須 Spatial Analyst
ArcEditor: 必須 Spatial Analyst
ArcInfo: 必須 Spatial Analyst

7/10/2012