Asignación de costes (Spatial Analyst)

Resumen

Calcula el origen más cercano para cada celda en función del menor coste acumulativo sobre una superficie de coste.

Más información sobre el funcionamiento de las herramientas de Distancia de coste

Ilustración

Cost Allocation illustration
Cost_Alloc = CostAllocation(Source_Ras, Cost_Ras)

Uso

Sintaxis

CostAllocation (in_source_data, in_cost_raster, {maximum_distance}, {in_value_raster}, {source_field}, {out_distance_raster}, {out_backlink_raster})
ParámetroExplicaciónTipo de datos
in_source_data

Ubicaciones de origen de entrada.

Esto es un dataset de entidades o ráster que identifica las celdas o las ubicaciones para las cuales se calcula la distancia de menor coste acumulado de cada ubicación de celda de salida.

Para los rásteres, el tipo de entrada puede ser de tipo entero o punto flotante.

Si el ráster de origen de entrada es de punto flotante, se debe establecer el {in_value_raster} y debe ser del tipo entero. El ráster de valores tendrá precedencia sobre cualquier configuración del {source_field}.

Raster Layer | Feature Layer
in_cost_raster

Ráster que define la impedancia o el coste de hacer un movimiento planimétrico por medio de cada celda.

El valor de cada ubicación de celda representa la distancia de coste por unidad para moverse a través de la celda. Cada valor de ubicación de celda se multiplica por la resolución de la celda mientras que también se compensa por el movimiento diagonal para obtener el coste total de pasar por medio de la celda.

Los valores del ráster de coste pueden ser enteros o de punto flotante, pero no pueden ser negativos o cero (no puede tener un coste negativo o cero).

Raster Layer
maximum_distance
(Opcional)

Define el umbral que los valores de coste acumulado no pueden superar.

Si un valor de distancia de coste acumulado supera este valor, el valor de salida de la ubicación de la celda será NoData. La distancia máxima define la extensión por la cual se calculan las distancias de coste acumulado.

La distancia predeterminada es hasta el borde del ráster de salida.

Double
in_value_raster
(Opcional)

Ráster entero de entrada que identifica los valores de la zona que se deben utilizar para cada ubicación de origen de entrada.

En cada ubicación de origen (celda o entidad), el valor definido por el {in_value_raster} se asignará a todas las celdas asignadas a la ubicación de origen para el cómputo. El ráster de valores tendrá precedencia sobre cualquier configuración del {source_field}.

Raster Layer
source_field
(Opcional)

El campo que se utiliza para asignar los valores a las ubicaciones de origen. Debe ser de tipo entero.

Si el {in_value_raster} se ha establecido, los valores de esa entrada tendrán precedencia sobre cualquier configuración para el {source_field}.

Field
out_distance_raster
(Opcional)

Ráster de distancia de coste de salida.

El ráster de distancia de coste identifica, para cada celda, la menor distancia de coste acumulado sobre una superficie de coste hacia las ubicaciones de origen identificadas.

Un origen puede ser una celda, un conjunto de celdas o una o más ubicaciones de entidades.

El ráster de salida es de tipo de punto flotante.

Raster Dataset
out_backlink_raster
(Opcional)

Ráster de vínculo anterior de coste de salida.

El ráster de vínculo anterior contiene valores de 0 a 8, que definen la dirección o identifican la celda próxima (la celda que sigue) a lo largo de la ruta con menor coste acumulativo desde una celda para alcanzar la fuente de menor coste.

Si la ruta es pasar al elemento próximo derecho, se le asignará a la celda el valor 1, 2 para la celda diagonal derecha inferior y continuando en el sentido de las agujas del reloj. El valor 0 se reserva para las celdas de origen.

Posiciones de vínculo
Raster Dataset

Valor de retorno

NombreExplicaciónTipo de datos
out_allocation_raster

El ráster de asignación de costes de salida.

Este ráster identifica la zona de cada ubicación de origen (celda o entidad) que se puede alcanzar con el menor coste acumulativo.

El ráster de salida es de tipo entero.

Raster

Ejemplo de código

Ejemplo 1 de CostAllocation (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta CostAllocation.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
out = ()
costAllocOut = CostAllocation("observers.shp", "costraster", 25000,"elevation",
                               "FID", "c:/sapyexamples/output/distout", 
                               "c:/sapyexamples/output/backlinkout")
costAllocOut.save("c:/sapyexamples/output/costalloc")
Ejemplo 2 de CostAllocation (secuencia de comandos independiente)

Esta secuencia de comandos utiliza un ráster de costes, una capa de entidades de puntos de origen y varios parámetros opcionales para calcular un ráster de celdas que contiene el valor del origen más cercano.

# Name: CostAllocation_Ex_02.py
# Description: Calculates for each cell its nearest source 
#              based on the least accumulative cost over a 
#              cost surface.
# 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
inFeature = "observers.shp"
costRaster = "costraster"
maxDist = 25000
valRaster = "elevation"
featField = "FID"
outDistanceRaster = "c:/sapyexamples/output/distout"
outBacklink = "c:/sapyexamples/output/backlinkout"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute CostAllocation
costAllocOut = CostAllocation(inFeature, costRaster, maxDist,
                              valRaster, featField, outDistanceRaster,
                              outBacklink)

# Save the output 
costAllocOut.save("c:/sapyexamples/output/costalloc01")

Entornos

Temas relacionados

Información de licencia

ArcView: Requiere Análisis espacial
ArcEditor: Requiere Análisis espacial
ArcInfo: Requiere Análisis espacial

7/11/2012