Calcular gastos de viaje (Análisis de ráster)

Resumen

Calcula el menor coste-distancia acumulativo desde o hasta el origen de menor coste y tiene en cuenta la distancia de la superficie y los factores de coste horizontal y vertical.

Ilustración

Ilustración de la herramienta Calcular costes de viaje

Uso

  • Esta herramienta de portal de análisis ráster está disponible cuando se inicia sesión en un ArcGIS Enterprise Enlace a información sobre el análisis en el portal de ArcGIS Enterprise que tiene un ArcGIS Image Server enlace a Qué es ArcGIS Image Server configurado para Raster Analysis Enlace a Configurar e implementar análisis de ráster. Cuando se invoca la herramienta, ArcGIS Pro funciona como cliente y tiene lugar el procesamiento en los servidores federados con ArcGIS Enterprise. La herramienta del portal acepta las capas de su portal como entrada y crea la salida en su portal.

    La capa ráster de entrada admite una capa del portal, una URI o URL de un servicio de imágenes o la salida procedente de la herramienta Crear capa de servidor de imágenes. La capa de entidades de entrada puede ser una capa del portal o una URI o URL de un servicio de entidades. Esta herramienta no admite capas o datos ráster locales. Aunque puede usar las capas y los datos de entidades locales como entradas de esta herramienta del portal, la práctica recomendada es usar capas del portal como entrada.

  • Un ejemplo de aplicación de esta herramienta es identificar la ruta más barata para construir una carretera nueva hacia una escuela propuesta.

  • Cuando los datos de origen de entrada son un servicio de imágenes, 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.

  • Cuando los datos de origen de entrada son un servicio de entidades, 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 parámetro de Tamaño de celda de salida o con el entorno de Tamaño de celda. Por defecto, la resolución se determinará por medio el valor más bajo del ancho o la altura de la extensión de las entidades de entrada, en la referencia espacial de entrada, dividido por 250.

  • Las ubicaciones de celda con NoData en el Ráster de costes de entrada actúan como barreras. 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

  • En el servicio de imágenes 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.

  • El ráster de costes no puede contener valores de cero debido a que el algoritmo es un proceso multiplicativo. Si el ráster de costes contiene valores de cero y estos valores representan las áreas de más bajo coste, cambie los valores de cero a un valor positivo pequeño (como 0,01) antes de ejecutar Calcular costes de viaje. Si las áreas con un valor de cero representan áreas que deberían excluirse del análisis, estos valores deberían cambiarse a NoData antes de ejecutar Calcular costes de viaje.

  • Los valores predeterminados para los modificadores del Factor horizontal son los siguientes:

    Keywords         Zero factor   Cut angle     Slope   Side value
    --------------   -----------   -----------   -----   ---------
    Binary           1.0            45           ~       ~
    Forward          0.5            45 (fixed)   ~       1.0
    Linear           0.5           181            1/90   ~
    Inverse linear   2.0           180           -1/90   ~
  • Los valores predeterminados para los modificadores del Factor vertical son los siguientes:

    Keyword                   Zero    Low    High   Slope  Power  Cos    Sec
                              factor  cut    cut                  power  power
                                      angle  angle                             
    ------------------------  ------  -----  -----  -----  -----  -----  -----
    Binary                    1.0     -30    30     ~      ~      ~      ~
    Linear                    1.0     -90    90      1/90  ~      ~      ~
    Symmetric linear          1.0     -90    90      1/90  ~      ~      ~
    Inverse linear            1.0     -45    45     -1/45  ~      ~      ~
    Symmetric inverse linear  1.0     -45    45     -1/45  ~      ~      ~
    Cos                       ~       -90    90     ~      1.0    ~      ~
    Sec                       ~       -90    90     ~      1.0    ~      ~
    Cos_sec                   ~       -90    90     ~      ~      1.0    1.0
    Sec_cos                   ~       -90    90     ~      ~      1.0    1.0
  • 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 determina 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. La 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 se especifica Coste de inicio en origen y la Dirección del viaje es Viaje desde el origen, las ubicaciones de origen de la superficie de coste de 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 de distancia de salida se establecerán en cero.

  • 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.

Sintaxis

arcpy.ra.CalculateTravelCost(inputSourceRasterOrFeatures, outputDistanceName, {inputCostRaster}, {inputSurfaceRaster}, {maximumDistance}, {inputHorizontalRaster}, {horizontalFactor}, {inputVerticalRaster}, {verticalFactor}, {sourceCostMultiplier}, {sourceStartCost}, {sourceResistanceRate}, {sourceCapacity}, {sourceTravelDirection}, {outputBacklinkName}, {outputAllocationName}, {allocationField})
ParámetroExplicaciónTipo de datos
inputSourceRasterOrFeatures

La capa que define los orígenes para calcular también la distancia. La capa puede ser un ráster o una entidad.

Raster Layer; Image Service; Feature Layer; String
outputDistanceName

El nombre del servicio ráster de distancia de salida.

El servicio de imágenes de coste-distancia identifica, para cada celda, el menor coste-distancia acumulado sobre una superficie de coste hacia las ubicaciones de origen identificadas.

String
inputCostRaster
(Opcional)

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; Image Service; String
inputSurfaceRaster
(Opcional)

Ráster que define los valores de elevación de cada ubicación de celda. Los valores se utilizan para calcular la distancia de la superficie actual cubierta al pasar entre las celdas.

Raster Layer; Image Service; String
maximumDistance
(Opcional)

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

Double
inputHorizontalRaster
(Opcional)

Ráster que define la dirección horizontal de cada celda.

Los valores del ráster deben ser números enteros comprendidos entre 0 y 360, con 0 grados al norte o hacia la parte superior de la pantalla y que aumentan en el sentido de las agujas del reloj. Las áreas llanas deben tener el valor -1.

Los valores de cada ubicación se utilizarán en conjunto con el {horizontal_factor} para determinar el coste horizontal incurrido al realizar el movimiento de una celda hacia sus vecinos.

Raster Layer; Image Service; String
horizontalFactor
(Opcional)

El Factor horizontal define la relación que existe entre el factor de coste horizontal y el ángulo de movimiento relativo horizontal.

Existen varios factores con modificadores que se pueden seleccionar que identifican un gráfico de factor horizontal definido. Los gráficos se utilizan para identificar el factor horizontal utilizado para calcular el coste total de realizar el movimiento hacia una celda próxima.

En las explicaciones de abajo se utilizan dos acrónimos: HF, que significa factor horizontal, que define la dificultad horizontal con la se encuentra al realizar un movimiento desde una celda a la siguiente; y HRMA, que significa ángulo de movimiento relativo horizontal, que define el ángulo entre la dirección horizontal de una celda y la dirección del movimiento.

Existen varios tipos de factor horizontal disponibles:

  • Binario: indica si el HRMA es menor al ángulo de corte, si el HF está establecido como el valor asociado con el factor cero; de lo contrario, es infinito.
  • Adelante: establece que sólo se permite el movimiento hacia adelante. El HRMA debe ser mayor o igual a 0 y menor a los 90 grados (0 <= HRMA < 90). Si el HRMA es mayor que 0 y menor que 45 grados, el HF de la celda se establece para el valor asociado con el factor cero. Si el HRMA es mayor o igual que 45 grados, se utiliza el valor de modificación del valor lateral. El HF de cualquier HRMA que sea igual o mayor que 90 grados se establece como infinito.
  • Lineal: especifica que el HF es una función lineal de HRMA.
  • Lineal: especifica que el HF es una función lineal inversa de HRMA.

El valor predeterminado es Binario.

Características de las palabras clave horizontales:

  • Factor cero: establece el factor horizontal que será utilizado cuando el HRMA sea cero. Este factor posiciona el interceptor y para cualquiera de las funciones de los factores horizontales.
  • Ángulo de corte: define el ángulo HRMA más allá del cuál el HF se establecerá en infinito.
  • Pendiente: establece la pendiente de la línea recta utilizada con las palabras clave de factor horizontal Lineal y Lineal inversa. La pendiente se especifica como una fracción de aumento sobre la ejecución (por ejemplo, 45 de pendiente en porcentaje es 1/45, lo que es entrada como 0,02222).
  • Valor lateral: establece el HF cuando el HRMA es mayor o igual a 45 grados y menor a 90 grados cuando se especifica la palabra clave del factor horizontal Adelante.
Horizontal Factor
inputVerticalRaster
(Opcional)

Ráster que define el valor vertical (z) de cada celda.

Raster Layer; Image Service; String
verticalFactor
(Opcional)

El Factor vertical define la relación que existe entre el factor de coste vertical y el ángulo de movimiento relativo vertical (VRMA).

Existen varios factores con modificadores que se pueden seleccionar que identifican un gráfico de factor vertical definido. Los gráficos se utilizan para identificar el factor vertical utilizado para calcular el coste total de realizar el movimiento hacia una celda próxima.

En las explicaciones de abajo se utilizan dos acrónimos: VF, que significa factor vertical, que define la dificultad vertical con la se encuentra al realizar un movimiento desde una celda a la siguiente; y VRMA, que significa ángulo de movimiento relativo vertical, que identifica el ángulo de pendiente entre la FROM o celda de procesamiento y la celda TO.

Existen varios tipos de factor vertical disponibles:

  • Binario: especifica que si el VRMA es mayor que el al ángulo de corte bajo y menor que el ángulo de corte alto, el VF está establecido como el valor asociado con el factor cero; de lo contrario, es infinito.
  • Lineal: indica que el VF es una función lineal de VRMA.
  • Lineal simétrica: especifica que el VF es una función lineal del VRMA tanto en el lado negativo como en el positivo del VRMA, respectivamente y las dos funciones lineales son simétricas con respecto al eje VF (y).
  • Lineal inversa: indica que el VF es una función lineal inversa de VRMA.
  • Lineal inversa simétrica: especifica que el VF es una función lineal del VRMA tanto en el lado negativo como en el positivo del VRMA, respectivamente y las dos funciones lineales son simétricas con respecto al eje VF (y).
  • Cos: identifica el VF como la función de base coseno del VRMA.
  • Sec: identifica el VF como la función de base secante del VRMA.
  • Cos-Sec: especifica que el VF es la función de base coseno del VRMA cuando el VRMA es negativo y la función de base secante del VRMA cuando el VRMA no es negativo.
  • Sec-Cos: especifica que el VF es la función de base secante del VRMA cuando el VRMA es negativo y la función de base coseno del VRMA cuando el VRMA no es negativo.

El valor predeterminado es Binario.

Características de las palabras clave verticales:

  • Factor cero: establece el factor vertical que será utilizado cuando el VRMA sea cero. Este factor posiciona el interceptor y de la función especificada. Por definición, el factor cero no es aplicable a ninguna de las funciones verticales trigonométricas (COS, SEC, COS-SEC o SEC-COS). El interceptor y se define mediante estas funciones.
  • Ángulo de corte: define el ángulo VRMA debajo del cuál el VF se establecerá en infinito.
  • Ángulo de corte: define el ángulo VRMA por encima del cual el VF se establecerá en infinito.
  • Slope: establece la pendiente de la línea recta utilizada con las palabras clave de factor vertical Lineal y Lineal inversa. La pendiente se especifica como una fracción de aumento sobre la ejecución (por ejemplo, 45 de pendiente en porcentaje es 1/45, lo que es entrada como 0,02222).
Vertical Factor
sourceCostMultiplier
(Opcional)

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
sourceStartCost
(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án con el valor establecido en el sourceStartCost.

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

Double; Field
sourceResistanceRate
(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
sourceCapacity
(Opcional)

Define la capacidad de coste del viajero 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
sourceTravelDirection
(Opcional)

Define la dirección de la persona que viaja al aplicar factores horizontales y verticales, la tasa de resistencia en origen y el coste inicial en origen.

  • FROM_SOURCEEl factor horizontal, el factor vertical, la 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_SOURCEEl factor horizontal, el factor vertical, la 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 las cadenas de caracteres FROM_SOURCE o TO_SOURCE.

String
outputBacklinkName
(Opcional)

El nombre del servicio ráster de vínculo de menor coste de salida.

El ráster de vínculo contiene valores de 0 a 360 que definen la dirección a lo largo de la ruta con menor coste acumulativo desde una celda para alcanzar el origen de menor coste teniendo en cuenta la distancia de superficie y los factores de superficie vertical y horizontal.

String
outputAllocationName
(Opcional)

El nombre del servicio ráster de asignación 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.

String
allocationField
(Opcional)

Un campo en la entrada de origen que contiene los valores que definen cada origen.

String

Salida derivada

NombreExplicaciónTipo de datos
outputDistanceRaster

El ráster de distancia de salida.

Capa ráster
outputBacklinkRaster

El ráster de vínculo de menor coste de salida.

Capa ráster
outputAllocationRaster

El ráster de asignación de salida.

Capa ráster

Muestra de código

Ejemplo 1 de CalculateTravelCost (ventana de Python)

En este ejemplo se calculan los costes de viaje desde un solo origen.

import arcpy
arcpy.CalculateTravelCost_ra('https://MyPortal.esri.com/server/rest/services/Hosted/reccenter/ImageServer',
                             "outDist", "inCostRas", "inSurfaceRas", "200000")
Ejemplo 2 de CalculateTravelCost (script independiente)

En este ejemplo se calculan los costes de viaje desde un conjunto de orígenes.

# Name: CalculateTravelCost_Ex_02.py
# Description: Calculates for each cell the least accumulative cost distance
#    to the nearest source over a cost  surface. 
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inSource = 'https://MyPortal.esri.com/server/rest/services/Hosted/landuse/ImageServer'
outDistName = 
inCostRast = "costraster"
inElev = "elevation"
maxDist = "50000"

inHoriz = "backlink2"
horizFactor = "FORWARD 0.5 1.0"
inVertical = "focalcost.tif"
verticalFactor = "Binary 1.0 -30 30"

sourceCostMultiplier =
sourceStartCost =
sourceResistanceRate =
sourceCapacity = 
sourceTravelDirection =

optBacklinkName = "c:/sapyexamples/output/pathbacklink"
optAlloName =
allocField = 

# Execute CalculateTravelCost
arcpy.CalculateTravelCost_ra(inSource, outDistName, inCostRast, inElev, maxDist, inHoriz, horizFactor,
                           inVertical, verticalFactor, sourceCostMultiplier, sourceStartCost,
                           sourceResistanceRate, sourceCapacity, sourceTravelDirection, optBacklinkName,
                           optAlloName, allocField)

# Execute CostDistance
outTravelCost = CalculateTravelCost(inSourceData, inCostRaster, maxDistance, outBkLinkRaster)

Información de licenciamiento

  • Basic: Requiere ArcGIS Image Server
  • Standard: Requiere ArcGIS Image Server
  • Advanced: Requiere ArcGIS Image Server

Temas relacionados