Asignación de costes (Spatial Analyst)

Disponible con una licencia de Spatial Analyst.

Resumen

Calcula, para cada celda, el origen de menor coste en función del menor coste acumulativo por una superficie de coste.

La herramienta Asignación de distancia proporciona una funcionalidad o rendimiento mejorados.

Más información sobre el funcionamiento de las herramientas de Coste-distancia

Ilustración

Ilustración de Asignación de costes
Cost_Alloc = CostAllocation(Source_Ras, Cost_Ras)

Uso

  • Los datos de origen de entrada pueden ser un ráster o una clase de entidad.

  • Cuando los datos de origen de entrada son un ráster, el conjunto de celdas de origen consta de todas las celdas del ráster de origen que tengan valores válidos. Las celdas con valores NoData no se incluyen en el conjunto de origen. El valor 0 se considera un origen legítimo. Se puede crear un ráster de origen con las herramientas de extracción.

  • Cuando los datos de origen de entrada son una clase de entidad, las ubicaciones de origen se convierten internamente en un ráster antes de realizar el análisis. La resolución del ráster se puede controlar con el entorno Tamaño de celda. De forma predeterminada, la resolución se establece como la resolución del ráster de coste de entrada.

  • Al utilizar datos de entidad para los datos de origen de entrada, se debe tener cuidado con la manera en que el tamaño de celda de salida se maneja cuando es grueso en relación con los detalles presentes en la entrada. El proceso de rasterización interno utiliza el mismo Tipo de asignación de celdas predeterminado que la herramienta De entidad a ráster, que es el método de centro de celda. Esto significa que los datos no ubicados en el centro de la celda no se incluirán en la salida de origen rasterizada intermedia y por tanto no se representarán en los cálculos de distancia. Por ejemplo, si sus orígenes son una serie de polígonos pequeños (como huellas de edificios) que son pequeños en relación con el tamaño de la celda de salida, es posible que solo algunos de ellos estén debajo de los centros de las celdas ráster de salida, lo que haría probablemente que la mayor parte de los otros se perdiera en el análisis.

    Para evitar esta situación, como paso intermedio, podría rasterizar las entidades de entrada directamente con la herramienta De entidad a ráster y establecer el parámetro Campo. A continuación, utilice la salida resultante como entrada de la herramienta de distancia que desee usar. Alternativamente, puede seleccionar un tamaño de celda pequeño para capturar la cantidad adecuada de detalle de las entidades de entrada.

  • Para calcular la asignación, las ubicaciones de origen pueden tener un valor asociado, que se puede especificar mediante el parámetro Campo fuente. Si el origen de entrada es un ráster entero, el campo predeterminado es VALUE. Si es una entidad, será el primer campo entero de la tabla de atributos. Si los datos de origen de entrada son un ráster de punto flotante, se debe especificar un parámetro de ráster de valor entero.

  • Cuando la entrada de la fuente es una entidad, se utilizará el primer campo disponible válido de forma predeterminada. Si no existen campos válidos, se utilizará el campo ObjectID (por ejemplo, OID o FID, dependiendo del tipo de entrada de entidad).

  • Las ubicaciones de las celdas NoData en el Ráster de entrada de costes actúan como barreras en las herramientas de superficie de costes. Cualquier ubicación de celdas a la que se le asigne NoData en la superficie de coste de entrada recibirá NoData en todos los rásteres de salida (coste-distancia, asignación y vínculo).

  • El Ráster de valor de entrada resulta útil cuando se utilizan zonas o valores alternativos o si el origen se deriva de una operación que genera un resultado binario de 0 o 1 y, por lo tanto, pierde los valores de zona originales asociados con estas ubicaciones. El ráster de valor puede restaurar estos valores o permitir el análisis de combinaciones adicionales de valores de zona dentro de las ubicaciones del origen.

    Si se utiliza el ráster de valor, puede cambiar la configuración y los resultados de la salida de asignación de costes, pero no afectará a los resultados de coste-distancia opcional ni los de vínculo.

  • La Distancia máxima se especifica en las mismas unidades de coste que las del ráster de costes.

  • En el ráster de distancia de salida, el menor coste-distancia (o coste-distancia acumulativo mínimo) de una celda desde o hasta un conjunto de ubicaciones de origen es el límite más bajo de los menores costes-distancia desde la celda hasta todas las ubicaciones de origen.

  • Las características del origen, o los elementos que se mueven desde o hasta un origen, se pueden controlar por medio de parámetros específicos. El parámetro Multiplicador del coste en origen especifica el modo de viaje o la magnitud en el origen, Coste de inicio en origen define el coste inicial antes de que empiece el movimiento, Tasa de resistencia en origen es un ajuste dinámico que refleja el impacto del coste acumulado, por ejemplo, simulando cuánto se cansa un senderista y Capacidad en origen define cuánto coste puede asimilar un origen antes de alcanzar su límite. Dirección del viaje identifica si el elemento en movimiento parte de un origen y se mueve a ubicaciones distintas del origen o parte de ubicaciones distintas del origen y regresa a un origen.

  • Si alguno de los parámetros de las características de origen se especifica usando un campo, la característica de origen se aplicará a cada origen en función de la información del campo correspondiente para los datos de origen. Cuando se especifica una palabra clave o un valor constante, se aplica a todos los orígenes.

  • Si se especifica Coste de inicio en origen y Dirección del viaje es Viaje desde el origen, las ubicaciones de origen de la superficie de coste-distancia de salida se establecerán en el valor de Coste de inicio en origen; de lo contrario, las ubicaciones de origen de la superficie de coste-distancia de salida se establecerán en cero.

  • La extensión de procesamiento predeterminada para esta herramienta es la extensión de Ráster de costes de entrada.

  • Esta herramienta admite el procesamiento en paralelo. Si su equipo tiene varios procesadores o procesadores con varios núcleos, puede conseguir un mayor rendimiento, especialmente en los datasets mayores. El tema de ayuda Procesamiento en paralelo con Spatial Analyst contiene más detalles acerca de esta posibilidad y cómo configurarla.

    Al utilizar el procesamiento en paralelo, se escriben datos temporales para administrar los lotes de datos a medida que se procesan. La ubicación de la carpeta temporal predeterminada será su unidad C: local. Es posible controlar la ubicación de esta carpeta cambiando el valor de una variable de entorno del sistema denominada TempFolders y especificando la ruta de la carpeta que se desea usar (por ejemplo, E:\RasterCache). Si tiene privilegios de administrador en su equipo, también puede usar una clave de registro (por ejemplo, [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]).

    De forma predeterminada, esta herramienta usará el 50 por ciento de los núcleos disponibles. Si los datos de entrada tienen un tamaño inferior a 5.000 x 5.000 celdas, es posible que se utilicen menos núcleos. Es posible controlar el número de núcleos empleados por la herramienta, a través de la configuración de entorno de Factor de procesamiento en paralelo.

  • Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento que se aplican a esta herramienta.

Parámetros

EtiquetaExplicaciónTipo de datos
Ráster o datos de origen de entidad de entrada

Ubicaciones de origen de entrada.

Es un dataset de entidades o ráster que identifica las celdas o las ubicaciones desde o hasta las cuales se calcula el menor coste-distancia acumulado para 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 parámetro Ráster de valor de entrada y debe ser de tipo entero. El ráster de valor tendrá prioridad sobre el ajuste del parámetro Campo de origen.

Raster Layer; Feature Layer
Ráster de costes de entrada

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 el coste-distancia 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
Distancia máxima
(Opcional)

El umbral que los valores de coste acumulado no pueden superar.

Si un valor de coste-distancia acumulado supera este valor, el valor de salida de la ubicación de la celda será NoData. La distancia máxima es la extensión por la cual se calculan los costes-distancia acumulados.

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

Double
Ráster de valor de entrada
(Opcional)

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

En cada ubicación de origen (celda o entidad), el valor de Ráster de valor de entrada se asignará a todas las celdas asignadas a la ubicación de origen para el cómputo. El ráster de valor tendrá prioridad sobre el ajuste del parámetro Campo de origen.

Raster Layer
Campo fuente
(Opcional)

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

Si se ha definido el parámetro Ráster de valor de entrada, los valores de esa entrada tendrán precedencia sobre el ajuste del parámetro Campo de origen.

Field
Ráster de distancia de salida
(Opcional)

Ráster de coste-distancia de salida.

El ráster de coste-distancia identifica, para cada celda, el menor coste-distancia 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
Ráster de vínculo de menor coste de salida
(Opcional)

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

El ráster de vínculo contiene valores de 0 a 8 que definen la dirección o identifican la siguiente celda vecina (la celda que sigue) a lo largo de la ruta con menor coste acumulativo desde una celda para llegar al origen de menor coste.

Si la ruta consiste en pasar al vecino de la derecha, se le asignará el valor 1, 2 para la celda diagonal inferior derecha y continuará en el sentido de las agujas del reloj. El valor 0 se reserva para las celdas de origen.

posiciones de vínculo de menor coste
Raster Dataset
Multiplicador que se debe aplicar a los costes
(Opcional)

El multiplicador que se debe aplicar a los valores de coste.

Permite controlar el modo de viaje o la magnitud en un origen. Cuanto mayor sea el multiplicador, mayor será el coste de moverse a través de cada celda.

Los valores deben ser mayores que cero. El valor predeterminado es 1.

Double; Field
Coste inicial
(Opcional)

El coste de inicio a partir del cual empezarán los cálculos del coste.

Permite especificar el coste fijo asociado a un origen. En lugar de empezar con un coste cero, el algoritmo de coste empezará con el valor establecido por Coste inicial.

Los valores deben ser mayores o iguales que cero. El valor predeterminado es 0.

Double; Field
Tasa de resistencia del coste acumulado
(Opcional)

Este parámetro simula el aumento del esfuerzo para sobreponerse a los costes a medida que aumenta el coste acumulado. Se utiliza para modelar el cansancio del viajero. El coste acumulado que aumenta para llegar a una celda se multiplica por la tasa de resistencia y se agrega al coste de moverse a la celda siguiente.

Es una versión modificada de una fórmula de tasa de interés compuesto que se usa para calcular el coste aparente de moverse por una celda. A medida que aumenta el valor de la tasa de resistencia, aumenta el coste de las celdas que se visitan más tarde. Cuando mayor sea la tasa de resistencia, más coste se agregará a la celda siguiente, que se calcula para cada movimiento posterior. Como la tasa de resistencia es similar a una tasa compuesta y normalmente los valores del coste acumulado son muy grandes, es recomendable usar tasas de resistencia pequeñas, como 0,02 o 0,005, o incluso menores, dependiendo de los valores del coste acumulado.

Los valores deben ser mayores o iguales que cero. El valor predeterminado es 0.

Double; Field
Capacidad
(Opcional)

La capacidad de coste de la persona que viaja para un origen.

Los cálculos de coste continúan para cada origen hasta que se alcanza la capacidad especificada.

Los valores deben ser mayores que cero. La capacidad predeterminada es hasta el borde del ráster de salida.

Double; Field
Dirección del viaje
(Opcional)

La dirección de la persona que viaja al aplicar la tasa de resistencia en origen y el coste inicial en origen.

Si selecciona la opción Cadena de caracteres, puede elegir entre las opciones desde y hasta, que se aplicarán a todos los orígenes.

Si selecciona la opción Campo, puede seleccionar el campo de los datos de origen que determine qué dirección se debe usar para cada origen. El campo debe contener la cadena de caracteres de texto FROM_SOURCE o TO_SOURCE.

  • Viaje desde el origenLa tasa de resistencia en origen y el coste inicial en origen se aplicarán empezando por el origen de entrada y avanzando hacia las celdas que no pertenezcan al origen. Esta es la opción predeterminada.
  • Viaje hasta el origenLa tasa de resistencia en origen y el coste inicial en origen se aplicarán empezando por cada celda que no pertenezca al origen y regresando al origen de entrada.
String; Field

Valor de retorno

EtiquetaExplicaciónTipo de datos
Ráster de asignación de salida

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 no es de tipo entero.

Raster

CostAllocation(in_source_data, in_cost_raster, {maximum_distance}, {in_value_raster}, {source_field}, {out_distance_raster}, {out_backlink_raster}, {source_cost_multiplier}, {source_start_cost}, {source_resistance_rate}, {source_capacity}, {source_direction})
NombreExplicaciónTipo de datos
in_source_data

Ubicaciones de origen de entrada.

Es un dataset de entidades o ráster que identifica las celdas o las ubicaciones desde o hasta las cuales se calcula el menor coste-distancia acumulado para 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 parámetro in_value_raster y debe ser de tipo entero. El ráster de valor tendrá prioridad sobre el ajuste del parámetro 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 el coste-distancia 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)

El umbral que los valores de coste acumulado no pueden superar.

Si un valor de coste-distancia acumulado supera este valor, el valor de salida de la ubicación de la celda será NoData. La distancia máxima es la extensión por la cual se calculan los costes-distancia acumulados.

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 zona que se utilizarán para cada ubicación de origen de entrada.

En cada ubicación de origen (celda o entidad), el de valor de in_value_raster se asignará a todas las celdas asignadas a la ubicación de origen para el cómputo. El ráster de valor tendrá prioridad sobre el ajuste del parámetro 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 se ha definido el parámetro in_value_raster, los valores de esa entrada tendrán precedencia sobre el ajuste del parámetro source_field.

Field
out_distance_raster
(Opcional)

Ráster de coste-distancia de salida.

El ráster de coste-distancia identifica, para cada celda, el menor coste-distancia 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 de coste de salida.

El ráster de vínculo contiene valores de 0 a 8 que definen la dirección o identifican la siguiente celda vecina (la celda que sigue) a lo largo de la ruta con menor coste acumulativo desde una celda para llegar al origen de menor coste.

Si la ruta consiste en pasar al vecino de la derecha, se le asignará el valor 1, 2 para la celda diagonal inferior derecha y continuará en el sentido de las agujas del reloj. El valor 0 se reserva para las celdas de origen.

posiciones de vínculo de menor coste
Raster Dataset
source_cost_multiplier
(Opcional)

El multiplicador que se debe aplicar a los valores de coste.

Permite controlar el modo de viaje o la magnitud en un origen. Cuanto mayor sea el multiplicador, mayor será el coste de moverse a través de cada celda.

Los valores deben ser mayores que cero. El valor predeterminado es 1.

Double; Field
source_start_cost
(Opcional)

El coste de inicio a partir del cual empezarán los cálculos del coste.

Permite especificar el coste fijo asociado a un origen. En lugar de empezar con un coste cero, el algoritmo de coste empezará con el valor establecido por source_start_cost.

Los valores deben ser mayores o iguales que cero. El valor predeterminado es 0.

Double; Field
source_resistance_rate
(Opcional)

Este parámetro simula el aumento del esfuerzo para sobreponerse a los costes a medida que aumenta el coste acumulado. Se utiliza para modelar el cansancio del viajero. El coste acumulado que aumenta para llegar a una celda se multiplica por la tasa de resistencia y se agrega al coste de moverse a la celda siguiente.

Es una versión modificada de una fórmula de tasa de interés compuesto que se usa para calcular el coste aparente de moverse por una celda. A medida que aumenta el valor de la tasa de resistencia, aumenta el coste de las celdas que se visitan más tarde. Cuando mayor sea la tasa de resistencia, más coste se agregará a la celda siguiente, que se calcula para cada movimiento posterior. Como la tasa de resistencia es similar a una tasa compuesta y normalmente los valores del coste acumulado son muy grandes, es recomendable usar tasas de resistencia pequeñas, como 0,02 o 0,005, o incluso menores, dependiendo de los valores del coste acumulado.

Los valores deben ser mayores o iguales que cero. El valor predeterminado es 0.

Double; Field
source_capacity
(Opcional)

La capacidad de coste de la persona que viaja para un origen.

Los cálculos de coste continúan para cada origen hasta que se alcanza la capacidad especificada.

Los valores deben ser mayores que cero. La capacidad predeterminada es hasta el borde del ráster de salida.

Double; Field
source_direction
(Opcional)

La dirección de la persona que viaja al aplicar la tasa de resistencia en origen y el coste inicial en origen.

  • FROM_SOURCELa tasa de resistencia en origen y el coste inicial en origen se aplicarán empezando por el origen de entrada y avanzando hacia las celdas que no pertenezcan al origen. Esta es la opción predeterminada.
  • TO_SOURCELa tasa de resistencia en origen y el coste inicial en origen se aplicarán empezando por cada celda que no pertenezca al origen y regresando al origen de entrada.

Especifique la palabra clave FROM_SOURCE o TO_SOURCE, que se aplicará a todos los orígenes, o bien especifique un campo en los datos de origen que contenga las palabras clave para identificar la dirección de viaje para cada origen. Ese campo debe contener la cadena de caracteres FROM_SOURCE o TO_SOURCE.

String; Field

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 no es de tipo entero.

Raster

Muestra de código

Ejemplo 1 de CostAllocation (ventana de Python)

El siguiente script 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", "", "elevation",
                               "FID", "c:/sapyexamples/output/distout", 
                               "c:/sapyexamples/output/backlinkout", "Multiplier", "StartCost", "Resistance", 500000)
costAllocOut.save("c:/sapyexamples/output/costalloc")
Ejemplo 2 de CostAllocation (script independiente)

Este script 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"

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

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

Información de licenciamiento

  • Basic: Requiere Spatial Analyst
  • Standard: Requiere Spatial Analyst
  • Advanced: Requiere Spatial Analyst

Temas relacionados