Crear capa de análisis de entrega de última milla (Network Analyst)

Resumen

Crea una capa de análisis de red de entrega de última milla y establece sus propiedades de análisis. Una capa de análisis de entrega de última milla resulta útil para optimizar un conjunto de rutas con una flota de vehículos. La capa se puede crear utilizando un dataset de red local o un servicio alojado en línea o en un portal.

Uso

  • La red de análisis utilizada para un análisis de entrega de última milla debe tener al menos un modo de viaje, un atributo de coste con unidades de tiempo y un atributo de coste con unidades de distancia, así como un atributo de zona horaria.

  • Después de crear la capa de análisis con esta herramienta, puede agregarle objetos de análisis de red usando la herramienta Agregar ubicaciones, resolver el análisis usando la herramienta Resolver y guardar los resultados en el disco usando la herramienta Guardar en archivo de capa.

  • Al utilizar esta herramienta en modelos de geoprocesamiento, si el modelo se ejecuta como herramienta, la capa de análisis de red de salida debe convertirse en parámetro de modelo; de lo contrario, la capa de salida no se agrega al contenido del mapa.

  • Aunque esta herramienta se puede ejecutar en Python, una forma mejor de automatizar los flujos de trabajo de entrega de última milla en Python es utilizar el objeto solucionador LastMileDelivery del módulo arcpy.nax Network Analyst.

Parámetros

EtiquetaExplicaciónTipo de datos
Fuente de datos de red

El servicio o dataset de red en el que se realizará el análisis de red. Utilice la dirección URL del portal para un servicio.

La red debe tener al menos un modo de viaje, un atributo de coste con unidades de tiempo y un atributo de coste con unidades de distancia, así como un atributo de zona horaria.

Network Dataset Layer;String
Nombre de capa
(Opcional)

El nombre de la capa de análisis de red que se creará.

String
Modo de viaje
(Opcional)

El nombre del modo de viaje que se utilizará en el análisis. El modo de viaje representa un conjunto de parámetros de red como, por ejemplo, restricciones del viaje y las normas sobre cambios de sentido, que determina cómo un peatón, un coche, un camión u otro medio de transporte se desplaza por la red. Los modos de viaje se definen en su fuente de datos de red.

También puede utilizar como entrada del parámetro un objeto arcpy.na.TravelMode y una cadena que contenga la representación JSON válida de un modo de viaje.

El atributo de impedancia del modo de viaje debe tener unidades de tiempo.

String
Unidades de tiempo
(Opcional)

Especifica las unidades de tiempo que utilizarán las propiedades de la capa de análisis y los campos temporales de las subcapas y tablas de la capa de análisis (clases de análisis de red). Este valor no necesita coincidir con las unidades del atributo de coste de tiempo.

  • MinutosSe usarán los minutos como unidad de tiempo. Esta es la opción predeterminada.
  • SegundosSe usarán los segundos como unidad de tiempo.
  • HorasSe usarán las horas como unidad de tiempo.
  • DíasSe usarán los días como unidad de tiempo.
String
Unidades de distancia
(Opcional)

Especifica las unidades de distancia que utilizarán las propiedades de la capa de análisis y los campos de distancia de las subcapas y tablas de la capa de análisis (clases de análisis de red). Este valor no necesita coincidir con las unidades del atributo de coste de distancia opcional.

Precaución:
Las opciones Pulgadas, Centímetros, Milímetros y Decímetros no están disponibles cuando la fuente de datos de la red es un servicio.

  • MillasSe usarán las millas como unidades de distancia. Esta es la opción predeterminada.
  • KilómetrosSe usarán los kilómetros como unidades de distancia.
  • PiesSe usarán los pies como unidades de distancia.
  • YardasSe usarán las yardas como unidades de distancia.
  • MetrosSe usarán los metros como unidades de distancia.
  • PulgadasSe usarán las pulgadas como unidades de distancia.
  • CentímetrosSe usarán los centímetros como unidades de distancia.
  • MilímetrosSe usarán los milímetros como unidades de distancia.
  • DecímetrosSe usarán los decímetros como unidades de distancia.
  • Millas náuticasSe usarán las millas náuticas como unidades de distancia.
String
Primera fecha de inicio de ruta
(Opcional)

Primera fecha de inicio predeterminada para las rutas. Esta fecha se utiliza para todas las rutas para las que el campo EarliestStartDate de la subcapa Routes es nulo. Cuando no se especifica ningún valor de parámetro, todas las filas de la subcapa Routes deben especificar un valor en el campo EarliestStartDate.

Aunque puede especificar tanto una fecha como una hora para este parámetro, solo se utiliza la fecha. Para establecer la primera hora de inicio para las rutas, utilice el parámetro Primera hora de inicio de ruta.

Precaución:
Aunque los otros solucionadores Network Analyst permiten utilizar fechas especiales para modelar un día de la semana o la fecha actual en lugar de una fecha específica y estática, el solucionador de entrega de la última milla no lo permite. Debe elegir una fecha concreta.

Date
Primera hora de inicio de ruta
(Opcional)

Primera hora de inicio predeterminada para las rutas. Esta hora del día se utiliza para todas las rutas para las que el campo EarliestStartTime de la subcapa Routes es nulo. Cuando no se especifica ningún valor de parámetro, todas las filas de la subcapa Routes deben especificar un valor en el campo EarliestStartTime.

Aunque puede especificar tanto una fecha como una hora para este parámetro, solo se utiliza la hora. Para establecer la primera fecha de inicio para las rutas, utilice el parámetro Primera fecha de inicio de ruta.

Date
Tiempo máximo total de ruta
(Opcional)

El tiempo total máximo permitido para cada ruta. El valor puede ser cualquier número positivo.

El valor se utiliza para todas las rutas para las que el campo MaxTotalTime de la subcapa Routes es nulo. Cuando no se especifica ningún valor de parámetro, todas las filas de la subcapa Routes deben especificar un valor en el campo MaxTotalTime.

El valor se interpreta en las unidades que se especifican en el parámetro Unidades de tiempo.

Double
Zona horaria para campos de hora
(Opcional)

Especifica la zona horaria que se utilizará para los campos de fecha/hora de entrada que admite la herramienta.

Especificar valores de fecha y hora en UTC resulta útil si no conoce la zona horaria en la que se encuentran las órdenes o depósitos o cuando tiene órdenes y depósitos en varias zonas horarias y desea que todos los valores de fecha y hora empiecen simultáneamente.

  • Hora local en ubicacionesLos valores de fecha y hora asociados a las órdenes o depósitos estarán en la zona horaria en la que se encuentran las órdenes y depósitos. Para las rutas, los valores de fecha y hora están basados en la zona horaria en la que se encuentra el depósito inicial para la ruta. Si una ruta no tiene un depósito inicial, todas las órdenes y los depósitos de todas las rutas deben estar en una única zona horaria. Esta es la opción predeterminada.
  • UTCLos valores de fecha y hora asociados a las órdenes, depósitos y drutas estarán en hora universal coordinada (UTC) y no se basan en la zona horaria en la que se encuentran las órdenes o depósitos.
String
Espacio de secuencia
(Opcional)

Espacio de valores numéricos a dejar en el campo Sequence en la subcapa Órdenes entre órdenes adyacentes cuando se resuelve el análisis. El valor actúa como multiplicador de la secuencia real de órdenes en cada ruta. Por ejemplo, si el espacio es 5, la primera orden de la ruta tendrá el valor 5 para el campo Sequence, la segunda orden de la ruta tendrá el valor 10 para el campo Sequence, la tercera tendrá el valor 15, y así sucesivamente. Este parámetro ayuda a insertar órdenes después de que se haya creado el plan de ruta inicial, ya que las nuevas órdenes se pueden insertar en los espacios de la secuencia.

El valor debe ser un entero positivo. El valor predeterminado es 1.

La primera vez que se resuelva el análisis, los valores del campo Sequence se rellenarán con valores secuenciales utilizando el espacio de secuencia designado. En las siguientes resoluciones del mismo análisis, se mantendrán los valores del campo Sequence de las órdenes existentes y se insertarán nuevas órdenes en los espacios utilizando los valores enteros disponibles para el campo Sequence que no estén siendo utilizados por otras órdenes. Si el espacio de secuencia se establece en 1, los valores de secuencia siempre se actualizarán a valores contiguos para cada resolución.

Long
Ignorar ubicaciones de orden no válidas al resolver
(Opcional)

Especifica si se ignorarán las ubicaciones de orden no válidas.

  • Activado: las ubicaciones de orden no válidas se ignorarán para que el análisis se realice correctamente utilizando solo ubicaciones válidas.
  • Desactivado: las ubicaciones de orden no válidas no se ignorarán y harán que el análisis falle. Esta es la opción predeterminada.
Boolean
Forma de ruta de salida
(Opcional)

Especifica el tipo de forma que se utilizará para las entidades de ruta que genere el análisis.

Independientemente del tipo de forma de salida que especificado, la mejor ruta siempre se determina por la impedancia de la red y no por la distancia euclidiana. Esto significa que solo las formas de la ruta son diferentes, no los elementos transitables subyacentes de la red.

  • A lo largo de la redLas rutas de salida tendrán la misma forma que las fuentes de red subyacentes. La salida incluye mediciones de ruta para la referenciación lineal. Las mediciones aumentan desde la primera parada y registran la impedancia acumulada para llegar a una posición determinada.
  • Sin líneasNo se generará ninguna forma para las rutas de salida.
  • Líneas rectasLa forma de la ruta de salida será una línea recta simple entre las paradas.Esta es la opción predeterminada.
String
Generar indicaciones al resolver
(Opcional)

Especifica si se generarán indicaciones al resolver el análisis.

  • Activado: se generarán indicaciones paso a paso al resolver.
  • Desactivado: no se generarán indicaciones paso a paso al resolver. Esta es la opción predeterminada.
Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Capa de Network Analyst

La nueva capa de análisis de red.

Network Analyst Layer

arcpy.na.MakeLastMileDeliveryAnalysisLayer(network_data_source, {layer_name}, {travel_mode}, {time_units}, {distance_units}, {earliest_route_start_date}, {earliest_route_start_time}, {max_route_total_time}, {time_zone_for_time_fields}, {sequence_gap}, {ignore_invalid_order_locations}, {line_shape}, {generate_directions_on_solve})
NombreExplicaciónTipo de datos
network_data_source

El servicio o dataset de red en el que se realizará el análisis de red. Utilice la dirección URL del portal para un servicio.

La red debe tener al menos un modo de viaje, un atributo de coste con unidades de tiempo y un atributo de coste con unidades de distancia, así como un atributo de zona horaria.

Network Dataset Layer;String
layer_name
(Opcional)

El nombre de la capa de análisis de red que se creará.

String
travel_mode
(Opcional)

El nombre del modo de viaje que se utilizará en el análisis. El modo de viaje representa un conjunto de parámetros de red como, por ejemplo, restricciones del viaje y las normas sobre cambios de sentido, que determina cómo un peatón, un coche, un camión u otro medio de transporte se desplaza por la red. Los modos de viaje se definen en su fuente de datos de red.

También puede utilizar como entrada del parámetro un objeto arcpy.na.TravelMode y una cadena que contenga la representación JSON válida de un modo de viaje.

El atributo de impedancia del modo de viaje debe tener unidades de tiempo.

String
time_units
(Opcional)

Especifica las unidades de tiempo que utilizarán las propiedades de la capa de análisis y los campos temporales de las subcapas y tablas de la capa de análisis (clases de análisis de red). Este valor no necesita coincidir con las unidades del atributo de coste de tiempo.

  • MinutesSe usarán los minutos como unidad de tiempo. Esta es la opción predeterminada.
  • SecondsSe usarán los segundos como unidad de tiempo.
  • HoursSe usarán las horas como unidad de tiempo.
  • DaysSe usarán los días como unidad de tiempo.
String
distance_units
(Opcional)

Especifica las unidades de distancia que utilizarán las propiedades de la capa de análisis y los campos de distancia de las subcapas y tablas de la capa de análisis (clases de análisis de red). Este valor no necesita coincidir con las unidades del atributo de coste de distancia opcional.

  • MilesSe usarán las millas como unidades de distancia. Esta es la opción predeterminada.
  • KilometersSe usarán los kilómetros como unidades de distancia.
  • FeetSe usarán los pies como unidades de distancia.
  • YardsSe usarán las yardas como unidades de distancia.
  • MetersSe usarán los metros como unidades de distancia.
  • InchesSe usarán las pulgadas como unidades de distancia.
  • CentimetersSe usarán los centímetros como unidades de distancia.
  • MillimetersSe usarán los milímetros como unidades de distancia.
  • DecimetersSe usarán los decímetros como unidades de distancia.
  • NauticalMilesSe usarán las millas náuticas como unidades de distancia.

Precaución:
Las opciones Inches, Centimeters, Millimeters y Decimeters no están disponibles cuando la fuente de datos de la red es un servicio.

String
earliest_route_start_date
(Opcional)

Primera fecha de inicio predeterminada para las rutas. Esta fecha se utiliza para todas las rutas para las que el campo EarliestStartDate de la subcapa Routes es nulo. Cuando no se especifica ningún valor de parámetro, todas las filas de la subcapa Routes deben especificar un valor en el campo EarliestStartDate.

Utilice un objeto datetime.date para especificar este parámetro.

Precaución:
Aunque los otros solucionadores Network Analyst permiten utilizar fechas especiales para modelar un día de la semana o la fecha actual en lugar de una fecha específica y estática, el solucionador de entrega de la última milla no lo permite. Debe elegir una fecha concreta.

Date
earliest_route_start_time
(Opcional)

Primera hora de inicio predeterminada para las rutas. Esta hora del día se utiliza para todas las rutas para las que el campo EarliestStartTime de la subcapa Routes es nulo. Cuando no se especifica ningún valor de parámetro, todas las filas de la subcapa Routes deben especificar un valor en el campo EarliestStartTime.

Utilice un objeto datetime.time para especificar este parámetro.

Date
max_route_total_time
(Opcional)

El tiempo total máximo permitido para cada ruta. El valor puede ser cualquier número positivo.

El valor se utiliza para todas las rutas para las que el campo MaxTotalTime de la subcapa Routes es nulo. Cuando no se especifica ningún valor de parámetro, todas las filas de la subcapa Routes deben especificar un valor en el campo MaxTotalTime.

El valor se interpreta en las unidades especificadas en el parámetro time_units.

Double
time_zone_for_time_fields
(Opcional)

Especifica la zona horaria que se utilizará para los campos de fecha/hora de entrada que admite la herramienta.

  • LOCAL_TIME_AT_LOCATIONSLos valores de fecha y hora asociados a las órdenes o depósitos estarán en la zona horaria en la que se encuentran las órdenes y depósitos. Para las rutas, los valores de fecha y hora están basados en la zona horaria en la que se encuentra el depósito inicial para la ruta. Si una ruta no tiene un depósito inicial, todas las órdenes y los depósitos de todas las rutas deben estar en una única zona horaria. Esta es la opción predeterminada.
  • UTCLos valores de fecha y hora asociados a las órdenes, depósitos y drutas estarán en hora universal coordinada (UTC) y no se basan en la zona horaria en la que se encuentran las órdenes o depósitos.

Especificar valores de fecha y hora en UTC resulta útil si no conoce la zona horaria en la que se encuentran las órdenes o depósitos o cuando tiene órdenes y depósitos en varias zonas horarias y desea que todos los valores de fecha y hora empiecen simultáneamente.

String
sequence_gap
(Opcional)

Espacio de valores numéricos a dejar en el campo Sequence en la subcapa Órdenes entre órdenes adyacentes cuando se resuelve el análisis. El valor actúa como multiplicador de la secuencia real de órdenes en cada ruta. Por ejemplo, si el espacio es 5, la primera orden de la ruta tendrá el valor 5 para el campo Sequence, la segunda orden de la ruta tendrá el valor 10 para el campo Sequence, la tercera tendrá el valor 15, y así sucesivamente. Este parámetro ayuda a insertar órdenes después de que se haya creado el plan de ruta inicial, ya que las nuevas órdenes se pueden insertar en los espacios de la secuencia.

El valor debe ser un entero positivo. El valor predeterminado es 1.

La primera vez que se resuelva el análisis, los valores del campo Sequence se rellenarán con valores secuenciales utilizando el espacio de secuencia designado. En las siguientes resoluciones del mismo análisis, se mantendrán los valores del campo Sequence de las órdenes existentes y se insertarán nuevas órdenes en los espacios utilizando los valores enteros disponibles para el campo Sequence que no estén siendo utilizados por otras órdenes. Si el espacio de secuencia se establece en 1, los valores de secuencia siempre se actualizarán a valores contiguos para cada resolución.

Long
ignore_invalid_order_locations
(Opcional)

Especifica si se ignorarán las ubicaciones de orden no válidas.

  • SKIPLas ubicaciones de orden no válidas se ignorarán para que el análisis se realice correctamente utilizando solo ubicaciones válidas.
  • HALTLas ubicaciones de orden no válidas no se ignorarán y harán que el análisis falle. Esta es la opción predeterminada.
Boolean
line_shape
(Opcional)

Especifica el tipo de forma que se utilizará para las entidades de ruta que genere el análisis.

  • ALONG_NETWORKLas rutas de salida tendrán la misma forma que las fuentes de red subyacentes. La salida incluye mediciones de ruta para la referenciación lineal. Las mediciones aumentan desde la primera parada y registran la impedancia acumulada para llegar a una posición determinada.
  • NO_LINESNo se generará ninguna forma para las rutas de salida.
  • STRAIGHT_LINESLa forma de la ruta de salida será una línea recta simple entre las paradas.Esta es la opción predeterminada.

Independientemente del tipo de forma de salida que especificado, la mejor ruta siempre se determina por la impedancia de la red y no por la distancia euclidiana. Esto significa que solo las formas de la ruta son diferentes, no los elementos transitables subyacentes de la red.

String
generate_directions_on_solve
(Opcional)

Especifica si se generarán indicaciones al resolver el análisis.

  • DIRECTIONSSe generarán indicaciones paso a paso al resolver.
  • NO_DIRECTIONSNo se generarán indicaciones paso a paso al resolver. Esta es la opción predeterminada.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_network_analysis_layer

La nueva capa de análisis de red.

Network Analyst Layer

Muestra de código

Ejemplo 1 de MakeLastMileDeliveryAnalysisLayer (ventana de Python)

Ejecute la herramienta especificando un subconjunto de parámetros.

import datetime

arcpy.na.MakeLastMileDeliveryAnalysisLayer(
    r"C:\Data\SanFrancisco.gdb\Transportation\Streets_ND",
    "Package Delivery",
    "Trucking Time",
    time_units="Hours",
    earliest_route_start_date=datetime.date(2023, 11, 28),
    earliest_route_start_time=datetime.time(7, 30, 0),
    route_start_flexibility=1.5,
    line_shape="NO_LINES"
)

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados