摘要
通过将栅格各自乘以指定的权重并合计在一起来叠加多个栅格。
插图
插图中,像元值与其权重因子相乘,两者所得结果相加创建输出栅格。以左上角像元为例。两个输入的值变为 (2.2 * 0.75) = 1.65 和 (3 * 0.25) = 0.75。1.5 与 0.75 的和为 2.4。
用法
· 将多个栅格数据一起添加的有效方法是输入多个栅格并将所有权重设置为 1。
· 输入栅格可以是整型或浮点型。
· 权重值可以是正的或负的小数值。并不限定该值必须是相对百分比或等于 1.0。
· 权重将应用至输入栅格的指定字段。字段的类型可以是短整型或长整型,双精度型或浮点型。
语法
WeightedSum (in_rasters)
代码实例
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]])
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute WeightedSum
outWeightedSum = WeightedSum(WSumTableObj)
# Save the output
outWeightedSum.save("C:/sapyexamples/output/weightsumout")
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/dsac1/article/details/46790147