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; el Ráster de acumulación de distancia de entrada no se utiliza para determinar la ruta. 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. Consulte la herramienta Dirección del flujo para obtener más información sobre los rásteres de dirección del flujo D8.
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})
Parámetro | Explicación | Tipo 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.
| String |
Muestra de código
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")
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)
Entornos
Información de licenciamiento
- Basic: Requiere Spatial Analyst
- Standard: Requiere Spatial Analyst
- Advanced: Requiere Spatial Analyst