Ruta de menor coste (AllSource)

Resumen

Busca la ruta más corta entre puntos de partida y finales en una superficie de coste.

Uso

  • Los valores de los parámetros Punto de partida de entrada y el Punto final de entrada deben estar dentro de la extensión del valor del parámetro Superficie de coste de entrada. Los puntos que se encuentren fuera de la extensión de superficie devolverán una salida vacía.

  • Utilizar varios puntos como valor de Punto de partida de entrada aumentará considerablemente el tiempo de procesamiento.

  • Utilizar varios puntos como valor de Punto final de entrada podría dar como resultado más de dos entidades de línea de salida.

  • Los valores Sin datos en el parámetro Superficie de coste de entrada se consideran barreras, y la ruta resultante rodeará estas áreas. Si no se encuentra ninguna ruta alrededor de las celdas Sin datos en la superficie de coste, puede que no exista ninguna solución y deban tomarse más medidas para modificar la superficie de coste.

  • Ejecute la herramienta con el valor del parámetro Superficie de coste de entrada en un sistema de coordenadas proyectadas, como la Proyección Universal Transversal de Mercator (UTM).

  • La opción Positivo pequeño del parámetro Coste cero administrado como se estima por el tamaño del ráster de coste de entrada y el valor máximo del coste comparado con los límites de la precisión del algoritmo de cálculo de la ruta. Se hace así para reducir la posibilidad de que se produzcan callejones sin salida al crear la ruta de salida. El valor positivo pequeño se estima como

    max(height_of_cost_raster, width_of_cost_raster) * max_cost_value / 100000
    .

  • Los nuevos campos StartID y DestID se agregan al valor del parámetro Clase de entidad de ruta de salida. Estos campos representan el punto de partida y el punto final entre los que se desplazan las líneas.

  • Los puntos iniciales y finales se copiarán en la ubicación de salida y contendrán el nombre del valor de Clase de entidad de ruta de salida con la incorporación de _start y _end.

Parámetros

EtiquetaExplicaciónTipo de datos
Superficie de coste de entrada

El ráster de entrada que se utilizará para determinar el coste de viajar desde el punto de partida hasta el punto final. Los valores Sin datos no se pueden cruzar.

Raster Layer
Punto de partida de entrada

La entidad de punto de partida de entrada. Varios puntos de partida aumentarán considerablemente el tiempo de procesamiento.

Feature Set
Punto final de entrada

La entidad de punto final de entrada. Varios puntos finales aumentarán la cantidad de líneas de salida, puesto que la ruta resultante se ramificará en rutas separadas.

Feature Set
Clase de entidad de ruta de salida

La clase de entidad de ruta de salida.

Feature Class
Coste cero administrado como
(Opcional)

Especifica cómo se administrarán los valores de cero en el valor del parámetro Superficie de coste de entrada.

  • Positivo pequeñoSe cambiarán todos los ceros a un pequeño valor positivo. Así, se podrán recorrer las celdas. Esta es la opción predeterminada.
  • Sin datosSe cambiarán todos los ceros a valores nulos. No se recorrerán las celdas y se evitarán.
String

Salida derivada

EtiquetaExplicaciónTipo de datos
Punto de partida de salida

El punto de partida simbolizado.

Feature Class
Punto final de salida

El punto final simbolizado.

Feature Class

arcpy.intelligence.LeastCostPath(in_cost_surface, in_start_point, in_end_point, out_path_feature_class, {handle_zeros})
NombreExplicaciónTipo de datos
in_cost_surface

El ráster de entrada que se utilizará para determinar el coste de viajar desde el punto de partida hasta el punto final. Los valores Sin datos no se pueden cruzar.

Raster Layer
in_start_point

La entidad de punto de partida de entrada. Varios puntos de partida aumentarán considerablemente el tiempo de procesamiento.

Feature Set
in_end_point

La entidad de punto final de entrada. Varios puntos finales aumentarán la cantidad de líneas de salida, puesto que la ruta resultante se ramificará en rutas separadas.

Feature Set
out_path_feature_class

La clase de entidad de ruta de salida.

Feature Class
handle_zeros
(Opcional)

Especifica cómo se administrarán los valores de cero en el valor del parámetro in_cost_surface.

  • SMALL_POSITIVESe cambiarán todos los ceros a un pequeño valor positivo. Así, se podrán recorrer las celdas. Esta es la opción predeterminada.
  • NO_DATASe cambiarán todos los ceros a valores nulos. No se recorrerán las celdas y se evitarán.
String

Salida derivada

NombreExplicaciónTipo de datos
out_start_point

El punto de partida simbolizado.

Feature Class
out_end_point

El punto final simbolizado.

Feature Class

Muestra de código

Ejemplo 1 de LeastCostPath (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función LeastCostPath de modo inmediato.

import arcpy
import os
arcpy.LeastCostPath_intelligence(r"c:\workspace\terrain.gdb\mob_cost_surf", 
                                 r"c:\workspace\startinglocation.shp",
                                 r"c:\workspace\endinglocation.shp",
                                 os.path.join(arcpy.env.scratchWorkspace, "bestpath"),
                                 "SMALL_POSITIVE")
Ejemplo 2 de LeastCostPath (script independiente)

La siguiente secuencia de comandos Pythonindependiente muestra cómo utilizar la función LeastCostPath en una secuencia de comandos independiente.

# Name: LeastCostPath_Example2.py
# Description: Generate the least cost path between an input and output point 
#              based on a cost surface.

# Import system modules
import arcpy
import os

# Set local variables
in_cost_surface = r"c:\workspace\terrain.gdb\mob_cost_surf" 
in_start_point = r"c:\workspace\startinglocation.shp" 
in_end_point = r"c:\workspace\endinglocation.shp"
out_path_feature_class = os.path.join(arcpy.env.scratchWorkspace, "bestpath")
handle_zeros = "SMALL_POSITIVE"

# Run LeastCostPath
arcpy.intelligence.LeastCostPath(in_cost_surface, in_start_point, 
                                 in_end_point, out_path_feature_class,
                                 handle_zeros)

# Report status
if arcpy.Exists(out_path_feature_class): 
    print("Path segments {}".format(arcpy.management.GetCount(out_path_feature_class)[0]))
else: 
    print("Empty output")

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

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

Temas relacionados