Asignación de distancia (Análisis de ráster)

Resumen

Calcula la asignación de distancia de cada celda a los orígenes proporcionados en función de la distancia en línea recta, el coste-distancia y la verdadera distancia de superficie, así como de los factores de coste vertical y horizontal.

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.

  • 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 entorno Tamaño de celda. De forma predeterminada, si no se especifica ningún otro ráster en la herramienta, la resolución se determinará por medio del valor más bajo del ancho o la altura de la extensión de la entidad de entrada, en la referencia espacial de entrada, dividido entre 250.

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

  • Si existe NoData en alguna de estas entradas: Ráster de costes de entrada, Ráster de superficie de entrada, Ráster vertical de entrada o Ráster horizontal de entrada, en el cálculo se ignorarán las celdas de esas ubicaciones en todas las entradas. Se mantiene NoData en cualquiera de estos rásteres en todo el cálculo y, por lo tanto, se presenta NoData en todas las salidas.

  • Si el origen se encuentra en NoData en alguno de los rásteres de entrada correspondientes, se ignora en el análisis y, por lo tanto, no se calculará la distancia desde ese origen.

  • Si no se especifica la configuración del entorno Extensión, la extensión de procesamiento se determina de esta manera:

    Si solo se especifican los Datos de ráster de entrada o de origen de entidades y Datos de entidad o ráster de barrera de entrada, se utiliza la combinación de las entradas (expandida dos celdas de ancho a cada lado) como extensión de procesamiento. El motivo por el que se expande el ráster de salida dos filas y columnas es que, cuando las salidas se utilizan en Ruta óptima como ráster y Ruta óptima como línea , las rutas que se generan se pueden mover por las barreras. Para utilizar la extensión como barrera implícita, debe establecer de manera explícita la Extensión en la configuración del entorno.

    Si se especifica alguno de los siguientes datasets ráster: Ráster de superficie de entrada, Ráster de costes de entrada, Ráster vertical de entrada o Ráster horizontal de entrada, la extensión de procesamiento será la intersección de dichos rásteres.

  • Si no se especifican las configuraciones del entorno Tamaño de celda ni Ráster de alineación y se especifican varios rásteres como entradas, el Tamaño de celda y el Ráster de alineación se definen en función de la prioridad: Ráster de costes de entrada, Ráster de superficie de entrada, Ráster vertical de entrada, Ráster horizontal de entrada, Datos de ráster de entrada o de origen de entidades y Datos de entidad o ráster de barrera de entrada.

  • 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
  • La salida de la herramienta Aspecto de Spatial Analyst se puede utilizar como entrada para el ráster horizontal de entrada.

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

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

    • Acumulación inicial define el coste inicial antes de que se inicie el movimiento.
    • Acumulación máxima especifica el coste que puede acumular un origen antes de alcanzar su límite.
    • Multiplicador para aplicar a los costes especifica el modo de desplazamiento o la magnitud en el origen.
    • 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 Acumulación inicial, las ubicaciones de origen de la superficie de coste-distancia de salida se establecerán en el valor de Acumulación inicial; de lo contrario, las ubicaciones de origen de la superficie de coste-distancia de salida se establecerán en cero.

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

Sintaxis

arcpy.ra.DistanceAllocation(inputSourceRasterOrFeatures, outputDistanceAllocationRasterName, {inputBarrierRasterOrFeatures}, {inputSurfaceRaster}, {inputCostRaster}, {inputVerticalRaster}, {verticalFactor}, {inputHorizontalRaster}, {horizontalFactor}, {outputDistanceAccumulationRasterName}, {outputBackDirectionRasterName}, {outputSourceDirectionRasterName}, {outputSourceLocationRasterName}, {sourceField}, {sourceInitialAccumulation}, {sourceMaximumAccumulation}, {sourceCostMultiplier}, {sourceDirection}, {distanceMethod})
ParámetroExplicaciónTipo de datos
inputSourceRasterOrFeatures

Ubicaciones de origen de entrada.

Es un servicio de entidades o un servicio de imágenes que identifica las celdas o las ubicaciones desde o hasta las cuales se calcula la asignación para cada ubicación de celda de salida.

En el caso de un servicio de imágenes, el tipo de entrada puede ser de tipo entero o de punto flotante.

Raster Layer; Feature Layer
outputDistanceAllocationRasterName

El nombre del servicio de ráster de asignación de distancia de salida.

String
inputBarrierRasterOrFeatures
(Opcional)

El dataset que define las barreras.

Las barreras pueden definirse mediante un servicio de imágenes de entero o de punto flotante o mediante un servicio de entidades.

En el caso de una barrera de un servicio de imágenes, la barrera debe tener un valor válido, incluido cero, y las áreas que no son barreras deben ser NoData.

Raster Layer; Feature Layer
inputSurfaceRaster
(Opcional)

Servicio de imágenes 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
inputCostRaster
(Opcional)

Servicio de imágenes que define la impedancia o el coste de un movimiento planimétrico a través 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
inputVerticalRaster
(Opcional)

Servicio de imágenes que define los valores z de cada ubicación de celda.

Los valores se utilizan para calcular la pendiente utilizada para identificar el factor vertical incurrido al realizar un movimiento de una celda a otra.

Raster Layer
verticalFactor
(Opcional)

El objeto Vertical factor define la relación 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 descripciones siguientes, el factor vertical (VF) define la dificultad vertical encontrada al realizar un movimiento desde una celda a la siguiente y VRMA identifica el ángulo de inclinación entre la celda FROM o celda de procesamiento y la celda TO.

El objeto se presenta de las siguientes maneras: VfBinary, VfLinear, VfInverseLinear, VfSymLinear, VfSymInverseLinear, VfCos, VfSec, VfSec, VfCosSec y VfSecCos

Las definiciones y los parámetros de estas son los siguientes:

  • VfBinary({zeroFactor}, {lowCutAngle}, {highCutAngle})

    Si el VRMA es mayor que el ángulo de corte bajo y menor que el ángulo de corte alto, el VF está establecido en el valor asociado al factor cero; de lo contrario, es infinito.

  • VfLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    El VF es una función lineal del VRMA.

  • VfInverseLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    El VF es una función lineal inversa del VRMA.

  • VfSymLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    El VF es una función lineal del VRMA tanto en el lado negativo como en el positivo del VRMA, y las dos funciones lineales son simétricas con respecto al eje VF (y).

  • VfSymInverseLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    El VF es una función lineal del VRMA tanto en el lado negativo como en el positivo del VRMA, y las dos funciones lineales son simétricas con respecto al eje VF (y).

  • VfCos({lowCutAngle}, {highCutAngle}, {cosPower})

    El VF es la función de base coseno del VRMA.

  • VfSec({lowCutAngle}, {highCutAngle}, {secPower})

    El VF es la función de base secante del VRMA.

  • VfCosSec({lowCutAngle}, {highCutAngle}, {cosPower}, {secPower})

    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.

  • VfSecCos({lowCutAngle}, {highCutAngle}, {secPower}, {cos_power})

    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.

Los modificadores de los parámetros verticales son los siguientes:

  • zeroFactor: el factor vertical que se utilizará 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.
  • lowCutAngle: el ángulo VRMA por debajo del cual el VF se establecerá en infinito.
  • highCutAngle: el ángulo VRMA por encima del cual el VF se establecerá en infinito.
  • slope: la pendiente de la línea recta utilizada con los parámetros VfLinear y VfInverseLinear. 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
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 junto con el parámetro horizontal_factor para determinar el coste horizontal en el que se incurre al realizar el movimiento desde una celda hasta sus elementos próximos.

Raster Layer
horizontalFactor
(Opcional)

El objeto Horizontal Factor define la relación 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 descripciones siguientes, el factor horizontal (HF) define la dificultad horizontal encontrada al realizar un movimiento desde una celda hasta la siguiente; el ángulo de movimiento relativo horizontal (HRMA) define el ángulo entre la dirección horizontal a partir de una celda y la dirección del movimiento.

El objeto se presenta de las siguientes maneras: HfBinary, HfForward, HfLinear y HfInverseLinear

Las definiciones y los parámetros de estas son los siguientes:

  • HfBinary({zeroFactor}, {cutAngle})

    Si el HRMA es menor que el ángulo de corte, el HF está establecido en el valor asociado al factor cero; de lo contrario, es infinito.

  • HfForward({zeroFactor}, {sideValue})

    Solo se permite el movimiento hacia delante. El HRMA debe ser mayor o igual que 0 y menor que 90 (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.

  • HfLinear({zeroFactor}, {cutAngle}, {slope})

    El HF es una función lineal del HRMA.

  • HfInverseLinear({zeroFactor}, {cutAngle}, {slope})

    El HF es una función lineal inversa del HRMA.

Los modificadores de las palabras clave horizontales son los siguientes:

  • zeroFactor: el factor horizontal que se utilizará cuando el HRMA sea 0. Este factor posiciona el interceptor y para cualquiera de las funciones de los factores horizontales.
  • cutAngle: el ángulo HRMA más allá del cual el HF se establecerá en infinito.
  • slope: la pendiente de la línea recta utilizada con las palabras clave de factor horizontal HfLinear y HfInverseLinear. 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).
  • sideValue: HF cuando HRMA es mayor o igual que 45 grados o menor que 90 grados si se especifica la palabra clave de factor horizontal HfForward

Horizontal Factor
outputDistanceAccumulationRasterName
(Opcional)

Nombre del ráster de acumulación de distancia de salida.

El ráster de acumulación de distancia contiene la distancia acumulativa de cada celda desde el origen de menor coste o hasta él.

String
outputBackDirectionRasterName
(Opcional)

Nombre del ráster de dirección hacia atrás de salida.

El ráster de dirección hacia atrás contiene direcciones calculadas en grados. La dirección identifica la siguiente celda a lo largo de la ruta óptima, de vuelta al origen de menor coste-distancia acumulado, a la vez que se evitan barreras.

El rango de valores oscila entre 0 y 360 grados. El valor 0 se reserva para las celdas de origen. Hacia el este (derecha) es 90 grados y los valores aumentan en el sentido de las agujas del reloj (180 es sur, 270 es oeste y 360 es norte).

El ráster de salida es de tipo flotante.

String
outputSourceDirectionRasterName
(Opcional)

Nombre del ráster de dirección de origen de salida.

El ráster de dirección de origen identifica la dirección de la celda de origen de menor coste acumulado como acimut en grados.

El rango de valores oscila entre 0 y 360 grados. El valor 0 se reserva para las celdas de origen. Hacia el este (derecha) es 90 grados y los valores aumentan en el sentido de las agujas del reloj (180 es sur, 270 es oeste y 360 es norte).

El ráster de salida es de tipo flotante.

String
outputSourceLocationRasterName
(Opcional)

Nombre del ráster de ubicación de origen de salida.

El ráster de ubicación de origen es una salida multibanda. La primera banda contiene un índice de fila y la segunda banda contiene un índice de columna. Estos índices identifican la ubicación de la celda de origen más cercana al menor coste-distancia acumulado.

String
sourceField
(Opcional)

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

Field
sourceInitialAccumulation
(Opcional)

El coste acumulativo inicial con el que comenzar el cálculo de costes.

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

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

Double; Field
sourceMaximumAccumulation
(Opcional)

La acumulación máxima de la persona que viaja para un origen.

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

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

Double; Field
sourceCostMultiplier
(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
sourceDirection
(Opcional)

Especifica la dirección de la persona que viaja al aplicar factores horizontales y verticales.

  • FROM_SOURCEEl factor horizontal y el factor vertical 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 y el factor vertical se aplicarán empezando por las celdas que no pertenezcan 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
distanceMethod
(Opcional)

Especifica si la distancia se va a calcular basándose en un método planar (Tierra plana) o geodésico (elipsoide).

  • PLANAREl cálculo de distancia se realizará sobre un plano plano proyectado usando un sistema de coordenadas cartesianas 2D. Esta es la opción predeterminada.
  • GEODESICEl cálculo de distancia se realizará en el elipsoide. Por lo tanto, independientemente de la proyección de entrada o salida, los resultados no cambian.
String

Salida derivada

NombreExplicaciónTipo de datos
outputDistanceAllocationRaster

Ráster de asignación de distancia de salida.

Calculadora ráster
outputDistanceAccumulationRaster

Ráster de acumulación de distancia de salida.

Calculadora ráster
outputBackDirectionRaster

El ráster de dirección hacia atrás de salida.

Calculadora ráster
outputSourceDirectionRaster

Ráster de dirección de origen de salida.

Calculadora ráster
outputSourceLocationRaster

Ráster de ubicación de origen de salida.

Calculadora ráster

Muestra de código

Ejemplo 1 de DistanceAllocation (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la herramienta DistanceAllocation.

import arcpy

arcpy.DistanceAllocation_ra('https://MyPortal.esri.com/server/rest/services/Hosted/sources/ImageServer',
                            'outDistanceAllocation',
                            'https://MyPortal.esri.com/server/rest/services/Hosted/barrier/ImageServer',
                            'https://MyPortal.esri.com/server/rest/services/Hosted/surface/ImageServer',
                            'https://MyPortal.esri.com/server/rest/services/Hosted/cost/ImageServer')
Ejemplo 2 de DistanceAllocation (script independiente)

Calcular para cada celda el menor coste-distancia acumulado respecto al origen más cercano a la vez que se tiene en cuenta la distancia de la superficie y los factores de coste vertical y horizontal.

# Name: DistanceAllocation_Ex_02.py
# Description: Calculates the distance allocation.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputSourceRasterOrFeatures = 'https://MyPortal.esri.com/server/rest/services/Hosted/sources/ImageServer'
outputDistanceAllocationRasterName = "outDistAllo"
inputBarrierRasterOrFeatures  = 'https://MyPortal.esri.com/server/rest/services/Hosted/barrier/ImageServer'
inputSurfaceRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/surface/ImageServer'
inputCostRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/cost/ImageServer'
inputVerticalRaster = 'https://MyPortal.esri.com/server/rest/services/vertical/sources/ImageServer'
verticalFactor = ""
inputHorizontalRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/horizontal/ImageServer'
horizontalFactor = ""
outputDistanceAccumulationRasterName = "outAccum"
outputBackDirectionRasterName = "outBackDir"
outputSourceDirectionRasterName = "outSourceDir"
outputSourceLocationRasterName = "outSourceLocation"
sourceField = "SourceID"
sourceInitialAccumulation = "IntitalAccum"
sourceMaximumAccumulation = "500000"
sourceCostMultiplier = "CostMultiplier"
sourceDirection = "FROM_SOURCE"
distanceMethod = "PLANAR"

# Execute 
arcpy.DistanceAllocation_ra(inputSourceRasterOrFeatures, outputDistanceAllocationRasterName,
                            inputBarrierRasterOrFeatures, inputSurfaceRaster,
                            inputCostRaster, inputVerticalRaster, verticalFactor,
                            inputHorizontalRaster, horizontalFactor,
                            outputDistanceAccumulationRasterName, outputBackDirectionRasterName,
                            outputSourceDirectionRasterName, outputSourceLocationRasterName,
                            sourceField, sourceInitialAccumulation, sourceMaximumAccumulation,
                            sourceCostMultiplier, sourceDirection, distanceMethod)

Información de licenciamiento

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

Temas relacionados