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")