Resumen
Calcula la ruta de menor coste desde un origen a su destino como una entidad de línea.
Ilustración
Uso
Esta herramienta de portal de análisis ráster está disponible cuando se inicia sesión en un ArcGIS Enterprise que tiene un ArcGIS Image Server configurado para Raster Analysis . Cuando se invoca la herramienta, ArcGIS Pro funciona como cliente y tiene lugar el procesamiento en los servidores federados con ArcGIS Enterprise. La herramienta del portal acepta las capas de su portal como entrada y crea la salida en su portal.
La capa ráster de entrada admite una capa del portal, una URI o URL de un servicio de imágenes o la salida procedente de la herramienta Crear capa de servidor de imágenes. La capa de entidades de entrada puede ser una capa del portal o una URI o URL de un servicio de entidades. Esta herramienta no admite capas o datos ráster locales. Aunque puede usar las capas y los datos de entidades locales como entradas de esta herramienta del portal, la práctica recomendada es usar capas del portal como entrada.
La herramienta Ruta de coste como polilínea produce un servicio de entidades de polilínea de salida que registra la ruta o las rutas de menor coste desde orígenes cuyo destino más cercano esté definido dentro de la superficie de coste acumulativo o la superficie de distancia euclidiana.
Si tiene entidades de destino, puede convertirlas a un servicio de imágenes con la función ráster Rasterizar entidades. Use el Ráster de coste-distancia existente como el Ráster de entrada en la función de rasterización. De esta manera, se garantiza que las entidades se conviertan adecuadamente a un servicio de imágenes con el mismo tamaño de celda, extensión y referencia espacial.
Los valores NoData que existen en el Ráster de destino no se incluyen como valores válidos en la función. El valor 0 se considera un valor legítimo en el ráster de destino.
Se necesitan dos servicios de imágenes de entrada para poder ejecutar Ruta de coste como polilínea. El modo de generar las entradas depende del tipo de análisis que desee completar.
- Análisis de costes genera una ruta de coste. Ejecute las funciones ráster Vínculo de menor coste y Coste-distancia para generar las entradas necesarias.
- Análisis euclidiano genera rutas en línea recta y rutas alrededor de barreras. Ejecute la herramienta Calcular distancia para generar Dirección euclidiana hacia atrás y Distancia euclidiana. Como alternativa, ejecute las funciones ráster Dirección euclidiana hacia atrás y Distancia euclidiana.
- Análisis de flujo genera rutas de flujo. Ejecute la función ráster Dirección de flujo con la opción D8. Utilice un ráster de dirección de flujo D8 como entrada para el Ráster de vínculo de menor coste de entrada. También deberá proporcionar un Ráster de coste-distancia de entrada; el Ráster de coste-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.
El servicio de entidades de salida tiene un campo denominado DestID que identifica el destino al que se dirige cada línea.
A diferencia de la mayoría de herramientas de Análisis de ráster, Ruta de coste como polilínea ignorará la siguiente configuración del entorno: Sistema de coordenadas de salida, Extensión, Tamaño de celda y Ráster de alineación. El patrón del ráster de vínculo se verá considerablemente alterado si se remuestrea o reproyecta, lo cual genera una ruta incorrecta.
Sintaxis
arcpy.ra.CostPathAsPolyline(inputDestinationRasterOrFeatures, inputCostDistanceRaster, inputCostBacklinkRaster, outputPolylineName, {pathType}, {destinationField})
Parámetro | Explicación | Tipo de datos |
inputDestinationRasterOrFeatures | Un servicio de imágenes o servicio de entidades que identifica aquellas ubicaciones desde donde se determina la ruta de menor coste al origen menos costoso. Si la entrada es un servicio de imágenes, la entrada consta de celdas con valores válidos (cero es un valor válido) y se debe asignar NoData a las celdas restantes. | Raster Layer; Image Service; Feature Layer; String |
inputCostDistanceRaster | El ráster distancia euclidiana o coste-distancia que se utiliza para determinar la ruta de menor coste desde los orígenes hasta los destinos. | Raster Layer; Image Service; String |
inputCostBacklinkRaster | El nombre del ráster utilizado para determinar la ruta para volver a un origen mediante la ruta de menor coste o la ruta más corta. Para cada celda en el ráster de vínculo o dirección, un valor identifica al vecino que es la próxima celda en la ruta desde la celda hasta una celda de origen. | Raster Layer; Image Service; String |
outputPolylineName | El servicio de entidades de salida que contendrá la ruta de menor coste. | String |
pathType (Opcional) | Especifica 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 |
destinationField (Opcional) | El campo que se utilizará para obtener valores para las ubicaciones de destino. | Field |
Salida derivada
Nombre | Explicación | Tipo de datos |
outputPolylineFeatures | Las entidades de polilínea. | Capa de entidades |
Muestra de código
El siguiente script de la ventana de Python muestra cómo utilizar la función CostPathAsPoyline.
import arcpy
arcpy.CostPathAsPolyline_ra(
"https://myserver/rest/services/destination/ImageServer",
"https://myserver/rest/services/costsurface/ImageServer",
"https://myserver/rest/services/direction/ImageServer",
"outpath", "BEST_SINGLE")
Calcula la ruta de menor coste desde un origen a su destino.
#-------------------------------------------------------------------------------
# Name: CostPathAsPolyline_Ex_02.py
# Description: Calculates the least-cost path from a source to a destination.
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inputDestinationLayer =
'https://MyPortal.esri.com/server/rest/services/Hosted/destination/ImageServer'
inputCostLayer =
'https://MyPortal.esri.com/server/rest/services/Hosted/costraster/ImageServer'
inputDirectionLayer =
'https://MyPortal.esri.com/server/rest/services/Hosted/direction/ImageServer'
outputName = 'outTravelPaths'
pathType = 'BEST_SINGLE'
arcpy.CostPathAsPolyline_ra(inputDestinationLayer, inputCostLayer,
inputDirectionLayer, outputName, pathType)
Entornos
Información de licenciamiento
- Basic: Requiere ArcGIS Image Server
- Standard: Requiere ArcGIS Image Server
- Advanced: Requiere ArcGIS Image Server