Suma ponderada (Spatial Analyst)
Resumen
Superpone varios rásteres al multiplicar cada uno por su peso dado y sumar los resultados.
Ilustración
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 se restringe a un porcentaje relativo o 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.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_rasters in_weighted_sum_table |
La herramienta Suma ponderada superpone varios rásteres al multiplicar cada uno por su ponderación y sumar los resultados. Una clase deSuperposición se utiliza para definir la tabla. El objeto WSTable se utiliza para especificar una lista de Python de rásteres de entrada y ponderarla en consecuencia. El formato del objeto WSTable es:
| WSTable |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_raster |
El ráster de adecuación de salida. Será del tipo de punto flotante. | Raster |
Ejemplo de código
Este ejemplo 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"
# Execute WeightedSum
outWeightedSum = WeightedSum(WSTable([["snow", "VALUE", 0.25], ["land", "VALUE",0.25],
["soil", "VALUE", 0.5]]))
outWeightedSum.save("C:/sapyexamples/output/outwsum")
Este ejemplo 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]])
# 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")