Ruta de menor coste (Inteligencia)

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

  • Los nuevos campos StartID y DestID se agregan al 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.

Sintaxis

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

El ráster de entrada utilizado 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 parámetro Superficie de coste de entrada (parámetro in_cost_surface en Python).

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

Clase de entidad
out_end_point

El punto final simbolizado.

Clase de entidad

Muestra de código

Ejemplo 1 de LeastCostPath (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo utilizar la función LeastCostPath en 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)

El siguiente script de Python muestra cómo utilizar la función LeastCostPath en un script 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"
# Execute LeastCostPath
arcpy.LeastCostPath_intelligence(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.GetCount_management(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