コスト アロケーション(Cost Allocation) (Spatial Analyst)

サマリ

コスト サーフェス上での最小累積コストに基づき、各セルに最も近いソースを計算します。

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

Cost Allocation illustration
Cost_Alloc = CostAllocation(Source_Ras, Cost_Ras)

使用法

構文

CostAllocation (in_source_data, in_cost_raster, {maximum_distance}, {in_value_raster}, {source_field}, {out_distance_raster}, {out_backlink_raster})
パラメータ説明データ タイプ
in_source_data

入力ソース位置。

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

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

入力ソース ラスタが浮動小数点数の場合、{in_value_raster} で整数タイプのラスタを指定する必要があります。値ラスタは {source_field} の設定より優先されます。

Raster Layer | Feature Layer
in_cost_raster

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

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

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

Raster Layer
maximum_distance
(オプション)

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

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

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

Double
in_value_raster
(オプション)

各入力ソース位置で使用するゾーン値を特定する入力整数ラスタ。

各ソース位置(セルまたはフィーチャ)について、{in_value_raster} によって定義された値が、計算のためにソース位置に配分されたすべてのセルに割り当てられます。値ラスタは {source_field} の設定より優先されます。

Raster Layer
source_field
(オプション)

ソース位置に値を割り当てるために使用するフィールド。整数タイプでなければいけません。

{in_value_raster} が設定されている場合、その入力値は {source_field} の設定より優先されます。

Field
out_distance_raster
(オプション)

出力コスト距離ラスタ。

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

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

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

Raster Dataset
out_backlink_raster
(オプション)

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

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

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

バック リンク位置
Raster Dataset

リターン

名前説明データ タイプ
out_allocation_raster

出力コスト アロケーション ラスタ。

このラスタは、最小累積コストで到達できる各ソース位置(セルまたはフィーチャ)のゾーンを識別します。

出力ラスタのタイプは整数です。

Raster

コードのサンプル

CostAllocation(コスト アロケーション)の例 1(Python ウィンドウ)

次の Python ウィンドウ スクリプトで、CostAllocation(コスト アロケーション)ツールの使用方法を示します。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
out = ()
costAllocOut = CostAllocation("observers.shp", "costraster", 25000,"elevation",
                               "FID", "c:/sapyexamples/output/distout", 
                               "c:/sapyexamples/output/backlinkout")
costAllocOut.save("c:/sapyexamples/output/costalloc")
CostAllocation(コスト アロケーション)の例 2(スタンドアロン スクリプト)

次のスクリプトは、コスト ラスタ、ソース ポイントのフィーチャ レイヤ、および複数のオプション パラメータを使用して、最も近いソースの値を含むセルのラスタを計算しています。

# Name: CostAllocation_Ex_02.py
# Description: Calculates for each cell its nearest source 
#              based on the least accumulative cost 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
inFeature = "observers.shp"
costRaster = "costraster"
maxDist = 25000
valRaster = "elevation"
featField = "FID"
outDistanceRaster = "c:/sapyexamples/output/distout"
outBacklink = "c:/sapyexamples/output/backlinkout"

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

# Execute CostAllocation
costAllocOut = CostAllocation(inFeature, costRaster, maxDist,
                              valRaster, featField, outDistanceRaster,
                              outBacklink)

# Save the output 
costAllocOut.save("c:/sapyexamples/output/costalloc01")

環境

関連項目

ライセンス情報

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

7/10/2012