En la ilustración, los valores de celda se multiplican por su factor de peso y los resultados se suman para crear el ráster de salida. Por ejemplo, observe la celda superior izquierda. Los valores de las dos entradas son (2,2 * 0,75) = 1,65 y (3 * 0,25) = 0,75. La suma de 1,65 y 0,75 es 2,4.
Uso
Una forma útil de sumar varios rásteres es introducir rásteres múltiples y establecer todas las ponderaciones como iguales a 1.
Los rásteres de entrada pueden ser enteros o de punto flotante.
Los valores de ponderación pueden ser cualquier valor decimal positivo o negativo. No esta restringido a un porcentaje relativo ni es necesario que sea igual a 1,0.
La ponderación se aplicará al campo especificado para el ráster de entrada. Los campos pueden ser de tipo entero corto o largo, doble o flotante.
De forma predeterminada, esta herramienta utilizará procesadores multinúcleo si están disponibles. Se pueden utilizar cuatro núcleos como máximo.
La tabla de suma ponderada le permite aplicar distintas ponderaciones a rásteres de entrada individuales antes de que se sumen.
Ráster: ráster que se pondera.
Campo: campo del ráster que se utilizará para la ponderación.
Ponderación: valor de ponderación por el cual se multiplicará el ráster. Puede ser cualquier valor decimal positivo o negativo.
WSTable
Valor de retorno
Etiqueta
Explicación
Tipo de datos
Ráster de salida
El ráster ponderado de salida.
Será del tipo de punto flotante.
Raster
WeightedSum(in_rasters)
Nombre
Explicación
Tipo de datos
in_rasters
La herramienta Suma ponderada superpone varios rásteres al multiplicar cada uno por su ponderación y sumar los resultados.
Se utiliza una clase Overlay para definir la tabla. El objeto WSTable se utiliza para especificar una lista de Python de rásteres de entrada y ponderarlos en consecuencia.
El formato del objeto es:
WSTable(weightedSumTable)
WSTable
Valor de retorno
Nombre
Explicación
Tipo de datos
out_raster
El ráster ponderado de salida.
Será del tipo de punto flotante.
Raster
Muestra de código
WeightedSum ejemplo 1 (ventana de Python)
En este ejemplo se crea un ráster de adecuación para ubicar una estación de esquí combinando varios rásteres y aplicando factores de peso adecuados.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
# Run WeightedSum
outWeightedSum = WeightedSum(WSTable([["snow", "VALUE", 0.25], ["land", "VALUE",0.25],
["soil", "VALUE", 0.5]]))
outWeightedSum.save("C:/sapyexamples/output/outwsum")
WeightedSum ejemplo 2 (script independiente)
En este ejemplo se crea un ráster de adecuación para ubicar una estación de esquí combinando varios rásteres y aplicando factores de peso adecuados.
# 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]])
# Run WeightedSum
outWeightedSum = WeightedSum(WSumTableObj)
# Save the output
outWeightedSum.save("C:/sapyexamples/output/weightsumout")