Ruta óptima como línea (Spatial Analyst)

Disponible con una licencia de Spatial Analyst.

Resumen

Calcula la ruta óptima desde un origen hasta un destino como una línea.

Uso

  • La herramienta Ruta óptima como línea produce una entidad de polilínea de salida que es la ruta óptima desde el origen al destino.

  • Cuando los datos de destino de entrada son un ráster, el conjunto de celdas de destino consta de todas las celdas de Ráster o datos de destino de entidad de entrada que tengan valores válidos. Las celdas con valores NoData no se incluyen en el conjunto de origen. El valor cero se considera un destino legítimo. Se puede crear un ráster de destino con las herramientas de extracción.

  • Al utilizar datos de entidad poligonal para los destinos de entidad de entrada, se debe tener cuidado con la manera en que se gestiona el tamaño de celda de salida, especialmente cuando es grueso en relación con los detalles presentes en la entrada. Se aplica un proceso de rasterización interno que utiliza la herramienta De polígono a ráster, con un valor predeterminado de Tipo de asignación de celdas de Centro de celda. Significa que los datos no ubicados en el centro de la celda no se incluirán en la salida de destino rasterizada intermedia y no se representarán en los cálculos de distancia. Por ejemplo, si sus destinos son una serie de polígonos pequeños, como huellas de edificios, que son pequeñas en relación con el tamaño de 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 muchos otros se pierdan en el análisis.

    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.

  • Antes de generar una ruta óptima, se suele utilizar una de las siguientes herramientas para crear un ráster de acumulación de distancia y un ráster de dirección hacia atrás: Acumulación de distancia o Asignación de distancia. Son entradas obligatorias para generar una ruta óptima.

  • La ruta óptima que se crea puede ser una ruta de flujo basada en la dirección del flujo D8. Para generar una ruta óptima de esta forma, utilice el ráster de dirección del flujo D8 como entrada para el Ráster de dirección de flujo o dirección hacia atrás de entrada. También deberá proporcionar un Ráster de acumulación de distancia de entrada. Si el parámetro Crear rutas de red no está habilitado, Ráster de acumulación de distancia de entrada no se utiliza entonces para determinar la ruta. Por ello, tanto si utiliza un ráster constante como un modelo digital de elevación (DEM), su ruta será la misma; solo variará en su ruta un valor de atributo. Sin embargo, si se genera Crear rutas de red, Ráster de acumulación de distancia de entrada debe ser un ráster Acumulación de flujo de salida. Consulte la herramienta Dirección del flujo para obtener más información sobre los rásteres de dirección del flujo D8 y la herramienta Acumulación de flujo para crear el ráster de acumulación.

  • La entidad de polilínea de salida tiene un campo denominado DestID y otro denominado PathCost. El campo DestID identifica el destino al que se dirige cada línea. El campo PathCost muestra el coste acumulado total de cada ruta. Si la salida se escribe en una geodatabase de archivos, hay un campo denominado shape_length que contiene la longitud total de la ruta de menor coste.

  • Para generar una ruta óptima, la configuración del entorno Tamaño de celda se ignora y se utiliza el tamaño de celda del Ráster de vínculo de menor coste de entrada para calcular el ráster de salida. El patrón del ráster de vínculo se verá seriamente alterado si se remuestrea con una resolución diferente. Para evitar confusiones, no debe configurar el tamaño de celda cuando usa esta herramienta.

Sintaxis

OptimalPathAsLine(in_destination_data, in_distance_accumulation_raster, in_back_direction_raster, out_polyline_features, {destination_field}, {path_type}, {create_network_paths})
ParámetroExplicaciónTipo de datos
in_destination_data

Ráster entero o dataset de entidades que identifica ubicaciones desde las que se determina la ruta óptima al origen menos costoso.

Si la entrada es un ráster, debe constar de celdas con valores válidos para los destinos, y se debe asignar NoData a las celdas restantes. Cero es un valor válido.

Raster Layer; Feature Layer
in_distance_accumulation_raster

El ráster de acumulación de distancia se utiliza para determinar la ruta óptima desde los orígenes hasta los destinos.

El ráster de acumulación de distancia se suele crear con las herramientas Acumulación de distancia o Asignación de distancia. Cada celda del ráster de acumulación de distancia representa el coste-distancia acumulativo mínimo sobre una superficie desde cada celda hasta un conjunto de celdas de origen.

Raster Layer
in_back_direction_raster

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 es de 0 grados hasta 360 grados, con el 0 reservado para las celdas de origen. Hacia el este (derecha) es 90 y los valores aumentan en el sentido de las agujas del reloj (180 es sur, 270 es oeste y 360 es norte).

Raster Layer
out_polyline_features

La clase de entidad de salida que es la ruta (o rutas) óptima(s).

Feature Class
destination_field
(Opcional)

Campo de entero que se utiliza para obtener valores para las ubicaciones de destino.

Field
path_type
(Opcional)

Especifica una palabra clave que define la manera en que se interpretarán los valores y las zonas de los datos de destino de entrada en los cálculos de la ruta de coste.

  • EACH_ZONEPor cada zona en los datos de destino de entrada, se determina una ruta de menor coste y se guarda en el ráster de salida. Con esta opción, la ruta de menor coste de cada zona comienza en la celda con la ponderación de distancia de coste más baja de la zona.
  • BEST_SINGLEPara todas las celdas en los datos de destino de entrada, la ruta de menor coste deriva de la celda con las rutas de menor coste mínimas a las celdas de origen.
  • EACH_CELLPor cada celda con valores válidos en los datos de destino de entrada, se determina una ruta de menor coste y se guarda en el ráster de salida. Con esta opción, cada celda de los datos de destino de entrada se trata de forma separada y se determina una ruta de menor coste para cada celda.
String
create_network_paths
(Opcional)

Especifica si se calculan rutas completas y, posiblemente, superpuestas de los destinos a los orígenes, o si se crean rutas de red no superpuestas.

  • DESTINATIONS_TO_SOURCESSe calculan rutas completas de los destinos a los orígenes, las cuales pueden estar superpuestas. Esta es la opción predeterminada.
  • NETWORK_PATHSSe calculan rutas de red no superpuestas.
Boolean

Muestra de código

Ejemplo 1 de OptimalPathAsLine (ventana de Python)

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
OptimalPathAsLine("observers.shp", "distaccum.tif", "backdir.tif",
                  "c:/sapyexamples/output/outOptimalPath01.shp")
Ejemplo 2 de OptimalPathAsLine (script independiente)

Calcular la ruta de menor coste desde un origen a su destino.

# Name: OptimalPathAsLine_Ex_02.py
# Description: Calculates the least-cost path from a source to 
#              a destination.
# 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
inDestination = "observers.shp"
inDistAccum = "accumraster.tif"
inBackDir = "backdir2.tif"
outPathFeat = "c:/sapyexamples/output.gdb/optimalfeaturepaths02"
destField = "FID"
method = "EACH_CELL"

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

# Execute
OptimalPathAsLine(inDestination, inDistAccum, inBackDir, 
                  outPathFeat, destField, method)

Información de licenciamiento

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

Temas relacionados