ArcGIS教程:加权总和

  摘要

  通过将栅格各自乘以指定的权重并合计在一起来叠加多个栅格。

  插图

  

  插图中,像元值与其权重因子相乘。两者所得结果相加创建输出栅格。以左上角像元为例。两个输入的值变为 (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")

原文地址:https://www.cnblogs.com/llguanli/p/6952283.html