Skip To Content

加重合計 (Weighted Sum)

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 です。

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

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

構文

WeightedSum (in_rasters)
パラメーター説明データ タイプ
in_rasters
in_weighted_sum_table

[加重合計 (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")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst または Image Analyst
  • Standard: 次のものが必要 Spatial Analyst または Image Analyst
  • Advanced: 次のものが必要 Spatial Analyst または Image Analyst

関連トピック