加重合計 (Spatial Analyst)

Spatial Analyst のライセンスで利用可能。

Image Analyst ライセンスで利用できます。

サマリー

それぞれに与えられた加重値を掛け、その結果を合計したラスター同士をオーバーレイします。

加重合計 (Weighted Sum) ツールの詳細

加重合計 (Weighted Sum) の図
上の図で、各セル値は加重ファクターによって乗算され、その結果が合算されて出力ラスターを生成します。 左上のセルを例に説明します。 入力されている 2 つの値はそれぞれ、(2 x 0.75) = 1.5、および (3 x 0.25) = 0.75 となります。 1.5 と 0.75 を合計すると、2.25 になります。

使用法

  • 複数のラスターを合計するには、複数のラスターを入力してから、すべての加重を 1 に設定すると便利です。

  • 入力ラスターは、整数または浮動小数です。

  • 加重値は、任意の正または負の 10 進数値です。 相対的な割合に制限されず、1.0 と等しい必要もありません。

  • 加重は、入力ラスターの指定したフィールドに適用されます。 フィールドのタイプは、short または long の integer、double、float が使用できます。

  • デフォルトでは、このツールは複数コアのプロセッサを利用します。 使用できるコアの最大数は 4 です。

    ツールが使用するコア数を減らすには、並列処理ファクター環境設定を使用します。

パラメーター

ラベル説明データ タイプ
入力ラスター

加重合計テーブルを使用すると、個々の入力ラスターに異なる加重を適用してから、それらを合計することができます。

  • ラスター - 重み付けされるラスター。
  • フィールド - 重み付けに使用するラスターのフィールド。
  • 加重 - ラスターに掛ける加重値。 これには、任意の正または負の 10 進数を指定できます。
WSTable

戻り値

ラベル説明データ タイプ
出力ラスター

出力加重ラスター。

浮動小数点タイプです。

Raster

WeightedSum(in_rasters)
名前説明データ タイプ
in_rasters

[加重合計 (Weighted Sum)] ツールは、複数のラスターに対して加重を掛けてから合計することでオーバーレイします。

Overlay クラスは、テーブルの定義に使用します。 WSTable オブジェクトは、入力ラスターの Python リストを指定し、それらを適切に重み付けするのに使用します。

オブジェクトの形式:

  • WSTable(weightedSumTable)

WSTable

戻り値

名前説明データ タイプ
out_raster

出力加重ラスター。

浮動小数点タイプです。

Raster

コードのサンプル

WeightedSum の例 1 (Python ウィンドウ)

次の例では、複数のラスターを組み合わせて、適切な加重ファクターを適用することで、スキー リゾートに適した場所を特定する適合性ラスターを作成しています。

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"

# Execute WeightedSum
outWeightedSum = WeightedSum(WSTable([["snow", "VALUE", 0.25], ["land", "VALUE",0.25],
									  ["soil", "VALUE", 0.5]]))
outWeightedSum.save("C:/sapyexamples/output/outwsum")
WeightedSum の例 2 (スタンドアロン スクリプト)

次の例では、複数のラスターを組み合わせて、適切な加重ファクターを適用することで、スキー リゾートに適した場所を特定する適合性ラスターを作成しています。

# Name: WeightedSum_Ex_02.py
# Description: Overlays several rasters multiplying each by their given
#    weight and summing them together.
# 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
inRaster1 = "snow"
inRaster2 = "land"
inRaster3 = "soil"
WSumTableObj = WSTable([[inRaster1, "VALUE", 0.25], [inRaster2, "VALUE", 0.25],
                        [inRaster3, "VALUE", 0.5]])

# Execute WeightedSum
outWeightedSum = WeightedSum(WSumTableObj)

# Save the output 
outWeightedSum.save("C:/sapyexamples/output/weightsumout")