ArcGIS Desktop

  • Documentación
  • Soporte

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS for Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Distancia de ruta

Disponible con una licencia de Spatial Analyst.

  • Resumen
  • Uso
  • Sintaxis
  • Muestra de código
  • Entornos
  • Información sobre licencias

Resumen

Calcula para cada celda la distancia de coste acumulativo inferior a la fuente más cercana a la vez que se tiene en cuenta la distancia de la superficie y los factores de coste vertical y horizontal.

Más información acerca del funcionamiento de las herramientas de distancia de ruta

Uso

  • Las herramientas de Distancia de ruta se comparan con las herramientas de Coste de distancia ya que ambas determinan el coste de viaje acumulativo mínimo desde un origen a cada ubicación de una superficie de ráster. Sin embargo, las herramientas de Distancia de ruta agregan más complejidad al análisis ya que son capaces de ajustar la distancia de superficie actual así como otros factores verticales y horizontales.

  • 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 fácilmente un ráster de origen mediante 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, el tamaño de celda máximo entre los rásteres de entrada de coste, superficie, factor horizontal y factor vertical es lo que determina la resolución. Si no se especifica ninguna de estas entradas opcionales, debe establecerse un valor específico para el entorno del tamaño de celda.

  • Al utilizar datos de entidad poligonal 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 emplea el mismo método Tipo de asignación de celda predeterminado que la herramienta De polígono a ráster, que es CELL_CENTER. 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 lo tanto no se representan 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ñas en relación con el tamaño de la celda de salida, es posible que solo algunos de ellos caigan debajo de los centros de las celdas ráster de salida, ocasionando aparentemente que la mayor parte de los otros se pierdan en el análisis.

    Para evitar esta situación, como un paso intermedio, puede rasterizar las entidades de entrada directamente con la herramienta Polígono a ráster y establecer un campo de Prioridad, y utilizar la salida resultante como entrada para la herramienta de distancia. Alternativamente, puede seleccionar un tamaño de celda lo suficientemente pequeña para capturar la cantidad adecuada de detalle de las entidades de entrada.

  • Las celdas con NoData actúan como barreras en las herramientas de Distancia de ruta. El coste de distancia de las celdas detrás de los valores NoData se calcula mediante el coste acumulativo necesario para rodear la barrera NoData. Cualquier ubicación de celdas asignada como NoData en cualquiera de los rásteres de entrada recibirá NoData en todos los rásteres de salida.

  • Si los datos de origen de entrada y el ráster de costes son extensiones diferentes, la extensión de salida predeterminada es la intersección de los dos. Para obtener una superficie de distancia de costes para toda la extensión, seleccione la opción Combinación de entradas de la configuración del entorno de salida Extensión.

  • Si se ha establecido una Máscara en el entorno, todas las celdas con máscara se tratarán como valores NoData.

    Cuando se ha definido una máscara en la ventana Análisis ráster y las celdas que serán enmascaradas crearán una máscara en el origen, los cálculos ocurrirán en las celdas de origen restantes. Las celdas de origen con máscaras no se considerarán en los cómputos. Las ubicaciones de estas celdas se asignarán como NoData en todos los rásteres de salida (distancia, asignación y vínculo anterior).

  • La salida de la herramienta Orientación se puede utilizar como entrada para el Ráster horizontal de entrada.

  • 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, la distancia de menor coste (o distancia de coste acumulativo mínimo) de una celda a un conjunto de ubicaciones de origen es el límite más bajo de las distancias de menor coste desde la celda hasta todas las ubicaciones de origen.

  • 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 factor  Low cut  Height cut  Slope  Power  Cos    Sec
                                           angle    angle                     power  power            
    ------------------------  -----------  -------  ----------  -----  -----  -----  -----
    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 un origen, se pueden controlar mediante el Multiplicador del coste en origen (el modo de viaje o la magnitud en el origen), el Coste de inicio en origen (el coste inicial antes de que empiece el movimiento), la Tasa de resistencia en origen (cálculo dinámico del ajuste para el impacto del coste acumulado, por ejemplo, simular el cansancio de un senderista) y la Capacidad en origen (qué coste puede asimilar un origen antes de llegar a su límite).

  • Si alguno de los parámetros de las características de origen se especifica utilizando un valor, ese valor se aplica a todos los orígenes. Si los parámetros se especifican mediante campos asociados al origen, los valores de la tabla se aplicarán de forma exclusiva a los orígenes correspondientes.

  • Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento válidos para esta herramienta.

Sintaxis

PathDistance (in_source_data, {in_cost_raster}, {in_surface_raster}, {in_horizontal_raster}, {horizontal_factor}, {in_vertical_raster}, {vertical_factor}, {maximum_distance}, {out_backlink_raster}, {source_cost_multiplier}, {source_start_cost}, {source_resistance_rate}, {source_capacity})
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.

Raster Layer | Feature Layer
in_cost_raster
(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
in_surface_raster
(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
in_horizontal_raster
(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
horizontal_factor
(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. Además, se puede utilizar una tabla para crear un gráfico personalizado. 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.

El objeto se presenta de las siguientes maneras:

  • HfBinary, HfForward, HfLinear, HfInverseLinear y HfTable.

Sus definiciones y parámetros son los siguientes:

  • HfBinary({zeroFactor},{cutAngle})

    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.

  • HfForward({zeroFactor},{sideValue})

    Establece que sólo se permite el movimiento hacia adelante. 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, entonces 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})

    Especifica que el HF es una función lineal de HRMA.

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

    Especifica que el HF es una función lineal inversa de HRMA.

  • HfTable(inTable)

    Identifica que el archivo de tabla será utilizado para definir el gráfico de factor horizontal utilizado para determinar los HF.

Los Modificadores para las palabras clave horizontales son los siguientes:

  • {zeroFactor}: establece 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}: define el ángulo HRMA más allá del cuál el HF se establecerá en infinito.
  • {slope}: establece 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}: establece el HF cuando el HRMA es mayor o igual a 45 grados y menor a 90 grados cuando se especifica la palabra clave de factor horizontal HfForward.
  • inTable: identifica el nombre de la tabla que define el HF.

Horizontal factor
in_vertical_raster
(Opcional)

Ráster 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
vertical_factor
(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. Además, se puede utilizar una tabla para crear un gráfico personalizado. 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.

El objeto se presenta de las siguientes maneras:

  • VfBinary, VfLinear, VfInverseLinear, VfSymLinear, VfSymInverseLinear, VfCos, VfSec, VfSec, VfCosSec, VfSecCos, VfTable.

Sus definiciones y parámetros son los siguientes:

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

    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.

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

    Indica que el VF es una función lineal de VRMA.

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

    Indica que el VF es una función lineal inversa del VRMA.

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

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

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

    Especifica que el VF es una función lineal inversa 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).

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

    Identifica el VF como la función de base coseno del VRMA.

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

    Identifica el VF como la función de base secante del VRMA.

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

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

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

    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.

  • VfTable(inTable)

    Identifica que el archivo de tabla se utilizará para definir el gráfico de factor vertical utilizado para determinar los VF.

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

  • {zeroFactor}: establece 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}: define el ángulo VRMA por debajo del cuál el VF se establecerá en infinito.
  • {highCutAngle}: 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 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).
  • inTable: identifica el nombre de la tabla que define el VF.
Vertical factor
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
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, mientras que representa la distancia de superficie así como los factores de superficie vertical y horizontal.

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

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

Double | Field
source_resistance_rate
(Opcional)

La tasa por la que se multiplicará el coste acumulado para determinar el ajuste de la resistencia.

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.

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)

Define la capacidad de coste para el viajero desde un origen.

Cada origen aumenta hasta la capacidad especificada.

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

Double | Field

Valor de retorno

NombreExplicaciónTipo de datos
out_distance_raster

Ráster de distancia de ruta de salida.

El ráster de distancia de ruta de salida identifica, para cada celda, la menor distancia de coste acumulado sobre una superficie hacia las ubicaciones de origen identificadas, mientras que representa la distancia de superficie así como los factores de superficie vertical y horizontal.

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

Muestra de código

Ejemplo 1 de PathDistance (ventana de Python)

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPathDist = PathDistance("observers.shp", "costraster", "elevation", "hfraster",
                            HfForward(0.5, 1.0), "elevation", VfBinary(1.0, -30, 30),  
                            "", "c:/sapyexamples/output/backlinkpath", "Multiplier", "StartCost", "Resistance", 500000)
outPathDist.save("c:/sapyexamples/output/pathdistout")
Ejemplo 2 de PathDistance (secuencia de comandos independiente)

Calcula para cada celda la distancia de coste acumulativo inferior a la fuente más cercana a la vez que se tiene en cuenta la distancia de la superficie y los factores de coste vertical y horizontal.

# Name: PathDistance_Ex_02.py
# Description: Calculates, for each cell, the least accumulative 
#              cost distance to the nearest source, while accounting 
#              for surface distance and horizontal and vertical 
#              cost factors.  
# 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
inSource = "observers.shp"
inCostRast = "costraster"
inElev = "elevation"

# The horizontal factor
inHoriz = "hfraster"
# Create the HfForward Object
zeroFactor = 0.5
sideValue = 1.0
myHorizFactor = HfForward(zeroFactor, sideValue)

#The vertical factor
inVertical = "elevation"
# Create the VfBinary Object
zeroFactor = 1.0
lowCutAngle = -30
highCutAngle = 30
myVerticalFactor = VfBinary(zeroFactor, lowCutAngle, highCutAngle)

maxDist = ""
optBacklinkOut = "c:/sapyexamples/output/pathbacklink"

multiplier = "Multiplier"
startCost = "StartCost"
resistance = "Resistance"
capacity = 500000

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

# Execute PathDistance
outPathDist = PathDistance(inSource, inCostRast, inElev, inHoriz, 
                           myHorizFactor, inVertical, myVerticalFactor, 
                           maxDist, optBacklinkOut, multiplier, startCost,
                           resistance, capacity)

# Save the output 
outPathDist.save("c:/sapyexamples/output/pathdistout02")

Entornos

  • Auto ejecución
  • Tamaño de celda
  • Compresión
  • Espacio de trabajo actual
  • Extensión
  • Transformaciones geográficas
  • Máscara
  • Palabra clave CONFIG de salida
  • Sistema de coordenadas de salida
  • Estadísticas de ráster
  • Espacio de trabajo temporal
  • Alinear ráster
  • Tamaño de tesela

Información sobre licencias

  • ArcGIS Desktop Basic: Requiere Análisis espacial
  • ArcGIS Desktop Standard: Requiere Análisis espacial
  • ArcGIS Desktop Advanced: Requiere Análisis espacial

Temas relacionados

  • Vista general del conjunto de herramientas de Distancia
  • Asignación de la distancia de ruta
  • Vínculo de menor distancia de ruta

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

Plataforma ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog interno
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacidad | Legal