Resumen
La herramienta servicio Generar matriz de coste origen-destino crea una matriz de coste origen-destino (OD) de varios orígenes a varios destinos. Un matriz de coste OD es una tabla que contiene el tiempo y la distancia de viaje desde cada origen hasta cada destino. Además, clasifica en orden ascendente los destinos a los que se llega desde cada origen basándose en el tiempo o la distancia mínimos requeridos para viajar desde ese origen a cada destino. Se descubre la mejor ruta en la red de calles para cada par origen-destino y los tiempos de viaje y las distancias de viaje se almacenan como atributos de las líneas de salida. Aunque las líneas son rectas por razones de rendimiento, siempre se almacena el tiempo y la distancia del viaje a lo largo de la red de calles, no la distancia en línea recta.
Precaución:
Para obtener información actualizada sobre esta herramienta, consulte la edición más reciente de este tema en la Ayuda web. ArcGIS Online realiza actualizaciones funcionales periódicas a servicios como este, de forma que la ayuda instalada podría estar obsoleta.
Más información sobre la salida de Generar matriz de coste origen-destino
Ilustración
Uso
Las herramientas de la caja de herramientas listas para usar son servicios de geoprocesamiento de ArcGIS Online que usan los datos alojados y las capacidades de análisis de ArcGIS Online.
La herramienta encuentra las instalaciones más cercanas en función del tiempo de viaje si el valor del parámetro Unidades de medida está basado en el tiempo. Del mismo modo, la herramienta utiliza la distancia de viaje si las unidades de medida están basadas en la distancia.
Debe especificar al menos un origen y un destino para que la herramienta se ejecute correctamente. Puede cargar hasta 1000 orígenes y 1000 destinos.
Puede añadir hasta 250 barreras de punto. Puede añadir cualquier cantidad de barreras de línea o polígono, pero las barreras de línea no se pueden intersecar con más de 500 entidades de calle ni las barreras de polígono se pueden intersecar con más de 2.000 entidades.
Se puede optar por usar la jerarquía de carreteras al resolver, de manera que los resultados se generen con mayor rapidez que las rutas exactas, pero la solución podría no ser óptima.
Con independencia de que el parámetro Utilizar jerarquía esté activado (True) o no, la jerarquía siempre se usa cuando la distancia en línea recta entre cualquier par de paradas es superior a 50 millas (80,46 kilómetros).
La distancia en línea recta entre cualquier origen-destino no puede superar las 50 millas (80,46 kilómetros) cuando el modo de viaje es a pie o cuando se configura en Personalizado y se utiliza la restricción Caminando.
Si la distancia entre un punto de entrada y la calle más próxima que se puede cruzar es mayor de 12,42 millas (20 kilómetros), el punto se excluye del análisis.
El uso de este servicio consume créditos. Para obtener más información, consulte Descripción general de los créditos de servicio.
Sintaxis
GenerateOriginDestinationCostMatrix(Origins, Destinations, {Travel_Mode}, {Time_Units}, {Distance_Units}, {Analysis_Region}, {Number_of_Destinations_to_Find}, {Cutoff}, {Time_of_Day}, {Time_Zone_for_Time_of_Day}, Point_Barriers, Line_Barriers, Polygon_Barriers, {UTurn_at_Junctions}, {Use_Hierarchy}, {Restrictions}, {Attribute_Parameter_Values}, {Impedance}, Origin_Destination_Line_Shape, {Save_Output_Network_Analysis_Layer}, {Overrides}, {Time_Impedance}, {Distance_Impedance}, {Output_Format})
Parámetro | Explicación | Tipo de datos |
Origins | Especifica los puntos de inicio desde los cuales desplazarse hasta los destinos. Puede añadir hasta 1000 orígenes. Cuando se especifican los orígenes, se pueden definir propiedades para cada uno, como su nombre o el número de destinos a buscar desde el origen, mediante los siguientes atributos: Name El nombre del origen. El nombre puede ser un identificador único del origen. El nombre se incluye en las líneas de salida (como el campo OriginName) y en los orígenes de salida (como el campoName) y se puede utilizar para unir información adicional de las salidas de la herramienta a los atributos de los orígenes. Si no se especifica el nombre, se genera automáticamente un nombre único con el prefijo de Location. TargetDestinationCount La cantidad máxima de destinos que se buscarán por origen. Si no se especifica un valor, se utilizará el valor del parámetro Número de destinos para buscar. Este campo permite especificar un número distinto de destinos que buscar para cada origen. Por ejemplo, con este campo puede encontrar los tres destinos más cercanos desde un origen y los dos destinos más cercanos desde otro origen. Cutoff El valor de impedancia en el que se debe detener la búsqueda de destinos de un origen dado. Este atributo permite especificar un valor límite distinto para cada destino. Por ejemplo, con este atributo puede especificar buscar destinos que se encuentren a cinco minutos de tiempo de viaje desde un origen y buscar destinos que se encuentren a ocho minutos de tiempo de viaje desde otro origen. Las unidades del valor límite son las mismas que las unidades de su atributo de impedancia. Si no se especifica un valor, se utilizará el valor del parámetro Cutoff. CurbApproach Especifica la dirección en la que un vehículo puede partir del origen. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
El atributo CurbApproach se ha diseñado para trabajar con los dos tipos de estándares nacionales de circulación: por la derecha (Estados Unidos) y por la izquierda (Reino Unido). En primer lugar, considere un origen que se encuentra en el lado izquierdo de un vehículo. Siempre estará situada el lado izquierdo, independientemente de si el vehículo circula por la mitad izquierda o derecha del camino. Los estándares de circulación nacionales pueden influir en su decisión de salir del origen por una de las dos direcciones posibles, de modo que quede en el lado derecho o en el lado izquierdo del vehículo. Por ejemplo, si desea partir de un origen y que no haya un carril entre el vehículo y el origen, elija 1 (Lado derecho del vehículo) en Estados Unidos y 2 (Lado izquierdo del vehículo) en Reino Unido. Bearing La dirección en la que está avanzando un punto. Las unidades son grados y se miden en sentido horario desde el norte verdadero. Este campo se utiliza junto con el campo BearingTol. Los datos de rumbo normalmente se envían de forma automática desde un dispositivo móvil dotado de un receptor GPS. Intente incluir datos de rumbo si está cargando una ubicación de entrada que se mueve, como un peatón o un vehículo. Utilizar este campo tiende a evitar agregar ubicaciones a los bordes equivocados, que puede ocurrir cuando un vehículo está cerca de una intersección o un paso elevado, por ejemplo. El rumbo también ayuda a la herramienta a determinar en qué lado de la calle está el punto. Más información sobre el rumbo y la tolerancia de rumbo BearingTol El valor de tolerancia de rumbo crea un rango de valores de rumbo aceptable al ubicar los puntos en movimiento en un eje con el campo Bearing. Si el valor del campo Bearing está dentro del rango de valores aceptables que se generan a partir de la tolerancia de rumbo en un eje, el punto se puede agregar como una ubicación de red ahí; de lo contrario, se evalúa el punto más cercano sobre el próximo borde más cercano. Las unidades se expresan en grados y el valor predeterminado es 30. Los valores deben ser mayores que 0 y menores que 180. Un valor de 30 significa que cuando Network Analyst intenta agregar una ubicación de red en un eje, se genera un rango de valores de rumbo aceptable 15 grados a cada lado del eje (izquierdo y derecho) y en ambas direcciones digitalizadas del eje. Más información sobre el rumbo y la tolerancia de rumbo NavLatency Este campo solo se utiliza en el proceso de resolución si Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto tiempo se espera que transcurra desde el momento en que se envía la información de GPS desde un vehículo en movimiento a un servidor y el momento en que el dispositivo de navegación del vehículo recibe la ruta procesada. Las unidades de tiempo de NavLatency son las mismas que las unidades especificadas por la propiedad timeUnits del objeto de análisis. | Feature Set |
Destinations | Especifica las ubicaciones de puntos finales a las que desplazarse desde los orígenes. Puede añadir hasta 1000 destinos. Cuando se especifican los destinos, se pueden definir propiedades para cada uno, como su nombre, mediante los siguientes atributos: Name El nombre del destino. El nombre puede ser un identificador único del destino. El nombre se incluye en las líneas de salida (como el campo DestinationName) y en los destinos de salida (como el campo Name) y se puede utilizar para unir información adicional de las salidas de la herramienta a los atributos de los destinos. Si no se especifica el nombre, se genera automáticamente un nombre único con el prefijo de Location. CurbApproach Especifica la dirección en la que un vehículo puede llegar a un destino. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
El atributo CurbApproach se ha diseñado para trabajar con los dos tipos de estándares nacionales de circulación: por la derecha (Estados Unidos) y por la izquierda (Reino Unido). En primer lugar, considere un origen que se encuentra en el lado izquierdo de un vehículo. Siempre estará situada el lado izquierdo, independientemente de si el vehículo circula por la mitad izquierda o derecha del camino. Los estándares de circulación nacionales pueden influir en su decisión de salir del origen por una de las dos direcciones posibles, de modo que quede en el lado derecho o en el lado izquierdo del vehículo. Por ejemplo, si desea partir de un origen y que no haya un carril entre el vehículo y el origen, elija 1 (Lado derecho del vehículo) en Estados Unidos y 2 (Lado izquierdo del vehículo) en Reino Unido. Bearing La dirección en la que está avanzando un punto. Las unidades son grados y se miden en sentido horario desde el norte verdadero. Este campo se utiliza junto con el campo BearingTol. Los datos de rumbo normalmente se envían de forma automática desde un dispositivo móvil dotado de un receptor GPS. Intente incluir datos de rumbo si está cargando una ubicación de entrada que se mueve, como un peatón o un vehículo. Utilizar este campo tiende a evitar agregar ubicaciones a los bordes equivocados, que puede ocurrir cuando un vehículo está cerca de una intersección o un paso elevado, por ejemplo. El rumbo también ayuda a la herramienta a determinar en qué lado de la calle está el punto. Más información sobre el rumbo y la tolerancia de rumbo BearingTol El valor de tolerancia de rumbo crea un rango de valores de rumbo aceptable al ubicar los puntos en movimiento en un eje con el campo Bearing. Si el valor del campo Bearing está dentro del rango de valores aceptables que se generan a partir de la tolerancia de rumbo en un eje, el punto se puede agregar como una ubicación de red ahí; de lo contrario, se evalúa el punto más cercano sobre el próximo borde más cercano. Las unidades se expresan en grados y el valor predeterminado es 30. Los valores deben ser mayores que 0 y menores que 180. Un valor de 30 significa que cuando Network Analyst intenta agregar una ubicación de red en un eje, se genera un rango de valores de rumbo aceptable 15 grados a cada lado del eje (izquierdo y derecho) y en ambas direcciones digitalizadas del eje. Más información sobre el rumbo y la tolerancia de rumbo NavLatency Este campo solo se utiliza en el proceso de resolución si Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto tiempo se espera que transcurra desde el momento en que se envía la información de GPS desde un vehículo en movimiento a un servidor y el momento en que el dispositivo de navegación del vehículo recibe la ruta procesada. Las unidades de tiempo de NavLatency son las mismas que las unidades especificadas por la propiedad timeUnits del objeto de análisis. | Feature Set |
Travel_Mode (Opcional) | El modo de transporte que se debe modelar en el análisis. Los modos de viaje se administran en ArcGIS Online y el administrador de su organización puede configurarlos para reflejar los flujos de trabajo de la organización. Debe especificar el nombre de un modo de viaje admitido con su organización. Para obtener una lista de los nombres de modos de viaje admitidos, use la misma conexión de servidor SIG que utilizó para acceder a esta herramienta y ejecute la herramienta GetTravelModes de la caja de herramientas Utilidades. La herramienta GetTravelModes agrega una tabla, Supported Travel Modes, a la aplicación. Cualquier valor del campo Travel Mode Name de la tabla Supported Travel Modes se puede especificar como entrada. También puede especificar el valor del campo Travel Mode Settings como entrada. Con ello se reduce el tiempo de ejecución de la herramienta, ya que esta no tiene que encontrar la configuración a partir del nombre del modo de viaje. El valor predeterminado, Personalizado, le permite configurar su propio modo de viaje usando los parámetros de modo de viaje personalizado (Giros en U en cruces, Utilizar jerarquía, Restricciones, Valores de los parámetros de atributos e Impedancia). Los valores predeterminados de los parámetros de modo de viaje personalizado se basan en viajes en coche. Puede elegir el modo Personalizado y establecer los parámetros de modo de viaje personalizado enumerados arriba para modelar un peatón con una velocidad de caminata rápida o un camión con una altura y un peso determinados y con una carga de ciertos materiales peligrosos. Puede probar distintas configuraciones hasta conseguir los resultados de análisis que desee. Una vez que haya identificado la configuración de análisis, trabaje con el administrador de su organización y guardar esta configuración como parte de un modo de viaje nuevo o existente para que todos los usuarios de su organización puedan ejecutar el análisis con la misma configuración. Precaución:Al elegir el modo Personalizado, los valores que establezca para los parámetros del modo de viaje personalizado se incluirán en el análisis. Si se especifica otro modo de viaje definido por su organización, se pasará por alto cualquier valor que haya establecido para los parámetros del modo de viaje personalizado; la herramienta los sobrescribirá con valores del modo de viaje especificado. | String |
Time_Units (Opcional) | Especifica las unidades que utilizarán para medir e indicar el tiempo total de viaje entre cada par de origen-destino. Estas son las opciones:
| String |
Distance_Units (Opcional) | Especifica las unidades que utilizarán para medir e indicar la distancia total de viaje entre cada par de origen-destino. Estas son las opciones:
| String |
Analysis_Region (Opcional) | La región en la que desea realizar el análisis. Si no se especifica un valor para este parámetro, la herramienta calcula automáticamente el nombre de la región en función de la ubicación de los puntos de entrada. Es obligatorio definir el nombre de la región solamente si la detección automática del nombre de la región no es precisa para sus entradas. Para especificar una región, utilice uno de los siguientes valores:
Heredado:Ya no se admiten los siguientes nombres de regiones, que se eliminarán en versiones futuras. Si especifica uno de los nombres de región obsoletos, la herramienta asignará automáticamente un nombre compatible para su región.
| String |
Number_of_Destinations_to_Find (Opcional) | La cantidad máxima de destinos que se buscarán por origen. Si no se especifica un valor para este parámetro, la matriz de salida incluirá los costes de viaje desde cada origen hasta cada destino. Determinados orígenes pueden tener sus propios valores (especificados como el campo TargetDestinationCount), que invalidan el valor del parámetro Número de destinos para buscar. | Long |
Cutoff (Opcional) | El valor de tiempo o de distancia de viaje en el cual se debe detener la búsqueda de destinos desde un origen determinado. Los destinos situados más allá del valor de punto crítico serán ignorados. Determinados orígenes pueden tener sus propios valores (especificados como el campo Cutoff), que invalidan el valor del parámetro Valor límite. El valor debe estar expresado en las unidades especificadas en el parámetro Unidades de tiemposi el atributo de impedancia de su modo de viaje está basado en el tiempo, o bien en las unidades especificadas en el parámetro Unidades de distancia si el atributo de impedancia de su modo de viaje está basado en la distancia. Si no se especifica ningún valor, la herramienta no aplicará ningún límite de tiempo o distancia de viaje al buscar destinos. | Double |
Time_of_Day (Opcional) | La hora y la fecha en la cual comenzarán las rutas. Si está modelando el modo de viaje de conducción y especifica la fecha y hora actuales como valor de este parámetro, la herramienta utilizará las condiciones del tráfico en tiempo real para encontrar las mejores rutas, y el tiempo de viaje total se basará en las condiciones del tráfico. Al especificar una hora del día se obtienen rutas más precisas y mejores estimaciones del tiempo de viaje porque los tiempos de viaje tienen en cuenta las condiciones del tráfico aplicables a esa fecha y hora. El parámetro Zona horaria para hora del día especifica si la fecha y la hora se refieren a UTC o a la zona horaria en la cual se encuentra la parada. La herramienta ignora este parámetro cuando Unidades de medida no está configurada con una unidad de tiempo. | Date |
Time_Zone_for_Time_of_Day (Opcional) | Especifica la zona horaria del parámetro Hora del día.
| String |
Point_Barriers | Utilice este parámetro para especificar uno o varios puntos que actuarán como restricciones temporales o representen el tiempo o la distancia adicionales que puede que se necesiten para viajar en las calles subyacentes. Por ejemplo, una barrera de punto se puede usar para representar un árbol caído en una calle o el retraso acumulado en un cruce de ferrocarril. La herramienta impone un límite de 250 puntos que se pueden añadir como barreras. Cuando se especifican las barreras de punto, se pueden definir propiedades para cada una de ellas, como su nombre o el tipo de barrera, mediante el uso de los siguientes atributos: Name El nombre de la barrera. BarrierType Especifica si la barrera de punto restringe el recorrido completamente o agrega tiempo o distancia cuando se cruza. El valor de este atributo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
Additional_Time El tiempo de viaje agregado cuando se realiza el trazado poligonal de la barrera. Este campo solo es aplicable para barreras de coste agregado y solo si el modo de viaje utilizado en el análisis usa un atributo de impedancia basado en el tiempo. El valor de este campo debe ser mayor o igual que cero, y sus unidades son las mismas que las especificadas en el parámetro Unidades de medida. Additional_Distance La distancia agregada cuando se realiza el trazado poligonal de la barrera. Este campo solo es aplicable para barreras de coste agregado y solo si el modo de viaje utilizado en el análisis usa un atributo de impedancia basado en la distancia. El valor de este campo debe ser mayor o igual que cero, y sus unidades son las mismas que las especificadas en el parámetro Unidades de medida. Additional_Cost El coste agregado cuando se realiza el trazado poligonal de la barrera. Este campo solo es aplicable para barreras de coste agregado y solo si el modo de viaje utilizado en el análisis usa un atributo de impedancia no basado en el tiempo ni en la distancia. FullEdge Especifica cómo se aplican las barreras de punto de restricción a los elementos de eje durante el análisis. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
CurbApproach Especifica la dirección de tráfico que se ve afectada por la barrera. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
Debido a que los cruces son puntos y no tienen lados, las barreras sobre cruces afectan a todos los vehículos, independientemente de la aproximación a borde. El atributo CurbApproach se ha diseñado para trabajar con los dos tipos de estándares nacionales de circulación: por la derecha (Estados Unidos) y por la izquierda (Reino Unido). En primer lugar, considere una instalación en el lado izquierdo de un vehículo. Siempre estará situada el lado izquierdo, independientemente de si el vehículo circula por la mitad izquierda o derecha del camino. Los estándares de circulación nacionales pueden influir en su decisión de aproximarse a una instalación por una de las dos direcciones posibles, de modo que quede en el lado derecho o en el lado izquierdo del vehículo. Por ejemplo, si desea llegar a una instalación y que no haya un carril entre el vehículo y la instalación, elija 1 (Lado derecho del vehículo) en Estados Unidos y 2 (Lado izquierdo del vehículo) en Reino Unido. Bearing La dirección en la que está avanzando un punto. Las unidades son grados y se miden en sentido horario desde el norte verdadero. Este campo se utiliza junto con el campo BearingTol. Los datos de rumbo normalmente se envían de forma automática desde un dispositivo móvil dotado de un receptor GPS. Intente incluir datos de rumbo si está cargando una ubicación de entrada que se mueve, como un peatón o un vehículo. Utilizar este campo tiende a evitar agregar ubicaciones a los bordes equivocados, que puede ocurrir cuando un vehículo está cerca de una intersección o un paso elevado, por ejemplo. El rumbo también ayuda a la herramienta a determinar en qué lado de la calle está el punto. Más información sobre el rumbo y la tolerancia de rumbo BearingTol El valor de tolerancia de rumbo crea un rango de valores de rumbo aceptable al ubicar los puntos en movimiento en un eje con el campo Bearing. Si el valor del campo Bearing está dentro del rango de valores aceptables que se generan a partir de la tolerancia de rumbo en un eje, el punto se puede agregar como una ubicación de red ahí; de lo contrario, se evalúa el punto más cercano sobre el próximo borde más cercano. Las unidades se expresan en grados y el valor predeterminado es 30. Los valores deben ser mayores que 0 y menores que 180. Un valor de 30 significa que cuando Network Analyst intenta agregar una ubicación de red en un eje, se genera un rango de valores de rumbo aceptable 15 grados a cada lado del eje (izquierdo y derecho) y en ambas direcciones digitalizadas del eje. Más información sobre el rumbo y la tolerancia de rumbo NavLatency Este campo solo se utiliza en el proceso de resolución si Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto tiempo se espera que transcurra desde el momento en que se envía la información de GPS desde un vehículo en movimiento a un servidor y el momento en que el dispositivo de navegación del vehículo recibe la ruta procesada. Las unidades de tiempo de NavLatency son las mismas que las unidades especificadas por la propiedad timeUnits del objeto de análisis. | Feature Set |
Line_Barriers | Utilice este parámetro para especificar una o varias líneas que prohíban viajar a cualquier ubicación en la que las líneas se intersequen con las calles. Por ejemplo, un desfile o una protesta que bloquee el tráfico por varios segmentos de calle se puede modelar con una barrera de línea. Una barrera de línea también puede cercar rápidamente varios caminos para que no se puedan atravesar, alejando así las posibles rutas de las partes no deseadas de la red de calles. La herramienta impone un límite en el número de calles que se pueden restringir usando el parámetro Barreras de línea. Aunque no existe un límite para el número de líneas que se pueden especificar como barreras de línea, el número combinado de calles que se intersecan con todas las líneas no puede ser superior a 500. Cuando se especifican las barreras de línea, puede definir propiedades de nombre y tipo de barrera para cada una de ellas mediante los siguientes atributos: Name El nombre de la barrera. | Feature Set |
Polygon_Barriers | Utilice este parámetro para especificar polígonos que restrinjan completamente el viaje o ajusten de una forma proporcional el tiempo o la distancia que se requieren para viajar por las calles que se intersecan con los polígonos. El servicio impone un límite en el número de calles que se pueden restringir usando el parámetro Barreras de polígono. Aunque no existe un límite para el número de polígonos que se pueden especificar como barreras de polígono, el número combinado de calles que se intersecan con todos los polígonos no puede ser superior a 2000. Cuando se especifican las barreras de polígono, se pueden definir propiedades para cada una de ellas, como su nombre o el tipo de barrera, mediante el uso de los siguientes atributos: Name El nombre de la barrera. BarrierType Especifica si la barrera restringe el viaje completamente o si escala el coste (por ejemplo, el tiempo o la distancia) para viajar a través de ella. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
ScaledTimeFactor Este es el factor por el cual se multiplica el tiempo de viaje de las calles que intersecan con la barrera. El valor del campo debe ser mayor que cero. Este campo solo es aplicable para barreras de coste escalado y solo si el modo de viaje utilizado en el análisis usa un atributo de impedancia basado en el tiempo. ScaledDistanceFactor Este es el factor por el cual se multiplica la distancia de las calles que intersecan con la barrera. El valor del campo debe ser mayor que cero. Este campo solo es aplicable para barreras de coste escalado y solo si el modo de viaje utilizado en el análisis usa un atributo de impedancia basado en la distancia. ScaledCostFactor Este es el factor por el cual se multiplica el coste de las calles que se intersecan con la barrera. El valor del campo debe ser mayor que cero. Este campo solo es aplicable para barreras de coste escalado y solo si el modo de viaje utilizado en el análisis usa un atributo de impedancia no basado en el tiempo ni en la distancia. | Feature Set |
UTurn_at_Junctions (Opcional) | Especifica la política de cambios de sentido en los cruces. Permitir cambios de sentido implica que el solucionador puede dar la vuelta en un cruce y regresar por la misma calle. Debido a que los cruces representan intersecciones de calles y callejones sin salida, los diferentes vehículos pueden ser capaces de dar la vuelta en algunos cruces, pero no en otros, depende de que el cruce sea una intersección o un callejón sin salida. Para dar cabida a esta situación, el parámetro de la política de cambios de sentido se especifica implícitamente por la cantidad de ejes que se conectan en el cruce, lo que se conoce como valencia de cruce. Los valores aceptables para este parámetro se enumeran a continuación; cada uno seguido de una descripción de su significado en términos de valencia de cruce.
Este parámetro se ignora a menos que el parámetro Modo de viaje esté establecido en Personalizado. | String |
Use_Hierarchy (Opcional) | Especifica si se usará la jerarquía para buscar las rutas más cortas entre paradas.
La herramienta siempre vuelve automáticamente al uso de la jerarquía si la distancia en línea recta entre las instalaciones y los puntos de demanda es mayor de 50 millas (80,46 kilómetros), incluso si este parámetro está desactivado (definido como False en Python). Este parámetro se ignora a menos que el parámetro Modo de viaje esté establecido en Personalizado. Cuando se modela un modo a pie personalizado, le recomendamos que desactive la jerarquía, ya que está diseñada para vehículos motorizados. | Boolean |
Restrictions (Opcional) | Las restricciones que la herramienta respetará a la hora de buscar las mejores rutas. Una restricción representa una preferencia o un requisito de conducción. En la mayoría de los casos, las restricciones ocasionan la prohibición de carreteras. Por ejemplo, al usar la restricción Evitar carreteras con peaje, se generará una ruta que solo incluirá carreteras con peaje cuando sea necesario viajar por ellas para llegar a un incidente o a una instalación. Restricción de altura permite circular evitando cualquier altura que sea inferior a la altura de su vehículo. Si está transportando materiales corrosivos en el vehículo, utilizar la restricción Prohibidos todos los materiales peligrosos impide transportar los materiales en las carreteras en las que está marcado como ilegal hacerlo. Nota:Los valores introducidos para este parámetro se ignoran a menos que el parámetro Modo de viaje esté establecido en Personalizado. Nota:Algunas restricciones requieren la especificación de un valor adicional para poder usarlas. Este valor se debe asociar con el nombre de la restricción y con un parámetro concreto creado para funcionar con la restricción. Puede identificar esas restricciones si sus nombres aparecen en la columna AttributeName del parámetro Valores de los parámetros de atributos. El campo ParameterValue se debe especificar en el Valores de los parámetros de atributos para que la restricción se use correctamente para encontrar carreteras transitables. Nota:Algunas restricciones solo se admiten en ciertos países. Su disponibilidad se indica por región en la lista siguiente. Para las restricciones con una disponibilidad limitada dentro de una región, puede determinar si están disponibles en un país concreto revisando la tabla de la sección Lista de países de Cobertura de análisis de red. Si un país tiene el valor Sí en la columna Atributos de logística, la restricción con disponibilidad de selección en la región se admite en ese país. Si se especifican nombres de restricción que no están disponibles en el país en el que se encuentran sus incidentes, el servicio pasa por alto las restricciones no válidas. El servicio también pasa por alto las restricciones cuando el valor del parámetro de atributos Uso de restricciones está comprendido entre 0 y 1 (consulte el parámetro Valor de parámetro de atributos). Prohíbe todas las restricciones cuando el valor del parámetro Uso de restricciones es mayor que 0. La herramienta admite las siguientes restricciones:
Heredado:El atributo de restricción Conducir vehículo de reparto ya no está disponible. El servicio ignorará esta restricción, puesto que no es válida. Para obtener unos resultados similares, use el atributo de restricción Conducción de un camión junto con el atributo de restricción Evitar carreteras con restricciones para camiones. | String |
Attribute_Parameter_Values (Opcional) | Utilice este parámetro para especificar valores adicionales requeridos por un atributo o restricción, como por ejemplo para especificar si la restricción prohíbe, evita o prefiere circular en carreteras restringidas. Si la restricción se ha ideado para evitar carreteras o darles preferencia, puede especificar en qué medida se deben evitar o se les debe dar preferencia usando este parámetro. Por ejemplo, puede elegir que nunca se usen carreteras de peaje, que se eviten en la medida de lo posible o que se les dé preferencia. Nota:Los valores introducidos para este parámetro se ignoran a menos que el parámetro Modo de viaje esté establecido en Personalizado. Si especifica el parámetro Valores de los parámetros de atributos de una clase de entidad, los nombres de los campos de la clase de entidad deben coincidir con los campos que se describen a continuación:
El parámetro Valores de los parámetros de atributos depende del parámetro Restricciones. El campo ParameterValue solo se usa si el nombre de la restricción se ha especificado como valor del parámetro Restricciones. En Valores de los parámetros de atributos, cada restricción (mostrada como AttributeName) tiene un valor de campo ParameterName, Uso de restricción, que especifica si la restricción prohíbe, evita o prefiere los viajes por las carreteras asociadas con la restricción, además de en qué medida las carreteras se evitan o tienen preferencia. El Uso de restricción ParameterName se puede asignar a cualquiera de los siguientes valores de cadena de caracteres o a los valores numéricos equivalentes que se muestran entre paréntesis:
En la mayoría de casos, puede usar el valor predeterminado, PROHIBITED, para Uso de restricción si la restricción depende de una característica del vehículo como su altura. Sin embargo, en algunos casos, el valor de Uso de restricción depende de las preferencias de generación de rutas del usuario. Por ejemplo, la restricción Evitar carreteras con peaje tiene el valor predeterminado AVOID_MEDIUM para el atributo Uso de restricción. Esto significa que, cuando se utilice la restricción, la herramienta intentará circular fuera de las carreteras con peaje siempre que sea posible. AVOID_MEDIUM también indica lo importante que es evitar las carreteras con peaje al buscar la mejor ruta; tiene una prioridad media. Si se selecciona AVOID_LOW, se da una importancia menor a evitar los peajes, mientras que si se selecciona AVOID_HIGH se le da más importancia y, por lo tanto, es más aceptable que el servicio genere rutas más largas para evitar los peajes. Elegir PROHIBITED no permite viajar en las carreteras con peaje y hará imposible que una ruta viaje por cualquier parte de una carretera de peaje. Tenga en cuenta que evitar o prohibir carreteras con peaje, y evitando así los pagos de peaje, es el objetivo para algunos. En cambio, otros prefieren conducir en las carreteras con peaje porque evitar el tráfico es más valioso para ellos que el dinero gastado en los peajes. En el último caso, elija PREFER_LOW, PREFER_MEDIUM o PREFER_HIGH como valor de Uso de la restricción. Cuanto más alta sea la preferencia, más se apartará la herramienta de su camino para viajar por las carreteras asociadas con la restricción. | Record Set |
Impedance (Opcional) | Especifica la impedancia, que es un valor que representa el esfuerzo o el coste de viajar a lo largo de segmentos de carretera o en otras partes de la red de transporte. El tiempo de viaje es una impedancia: un coche puede tardar 1 minuto en viajar un kilómetro a lo largo de una carretera vacía. Los tiempos de viaje pueden variar según el modo de viaje: un peatón puede tardar más de 20 minutos en caminar el mismo kilómetro, por lo que es importante elegir la impedancia correcta para el modo de viaje que se está modelando. La distancia de viaje también puede ser una impedancia; la longitud de una carretera en kilómetros se puede considerar impedancia. En este sentido, la distancia de viaje es la misma para todos los modos: un kilómetro para un peatón es, igualmente, un kilómetro para un coche. (Lo que puede cambiar son los caminos por los que los diferentes modos tienen permitido viajar, lo cual afecta a la distancia entre puntos, que se modela mediante la configuración del modo de viaje.) Precaución:El valor introducido para este parámetro se ignora a menos que el parámetro Modo de viaje esté establecido en Personalizado, que es el valor predeterminado. Elija de entre los valores de impedancia siguientes:
Si elige una impedancia basada en el tiempo, como TravelTime, TruckTravelTime, Minutes, TruckMinutes o WalkTime, el parámetro Unidades de medición se debe configurar con un valor basado en el tiempo. Si prefiere una impedancia basada en la distancia, como Miles o Kilometers, las Unidades de medición deben estar basadas en la distancia. Heredado:Los valores de impedancia de Tiempo de conducción, Tiempo en camión, Tiempo de recorrido a pie y Distancia de viaje ya no se admiten y se eliminarán en versiones futuras. Si utiliza uno de estos valores, la herramienta usa el valor del parámetro Impedancia de tiempo para valores basados en el tiempo y del parámetro Impedancia de distancia para valores basados en la distancia. | String |
Origin_Destination_Line_Shape | Las líneas resultantes de una matriz de coste OD se pueden representar con geometría de línea o sin ninguna geometría. En ambos casos, la ruta siempre se calcula a lo largo de la red de calles minimizando el tiempo o la distancia de viaje; nunca usando la distancia en línea recta entre orígenes y destinos.
| String |
Save_Output_Network_Analysis_Layer (Opcional) | Especifica la configuración del análisis se guardará como un archivo de capa de análisis de red. No puede trabajar directamente con este archivo, aunque lo abra en una aplicación de ArcGIS Desktop, por ejemplo, ArcMap. Se debe enviar al Soporte técnico de Esri para diagnosticar la calidad de los resultados devueltos por la herramienta.
| Boolean |
Overrides (Opcional) | Ajustes adicionales que pueden influir en el comportamiento del solucionador al buscar soluciones para problemas de análisis de red. Se debe especificar el valor para este parámetro en la notación de objetos JavaScript (JSON). Por ejemplo, un valor válido tiene el siguiente formato: {"overrideSetting1" : "value1", "overrideSetting2" : "value2"}. El nombre del parámetro de invalidación siempre está incluido entre comillas dobles. Los valores pueden ser un número, operador booleano o cadena de caracteres. El valor predeterminado para este parámetro es ningún valor, lo que indica que no se debe invalidar ningún parámetro del solucionador. Las invalidaciones son parámetros avanzados que se deben utilizar solamente después de un análisis cuidadoso de los resultados obtenidos antes y después de aplicar los parámetros. Para obtener una lista de los parámetros de invalidación admitidos para cada solucionador y sus valores admisibles, póngase en contacto con el Soporte técnico de Esri. | string |
Time_Impedance (Opcional) | La impedancia basada en el tiempo es un valor que representa el tiempo de viaje a lo largo de segmentos de carretera o en otras partes de la red de transporte. Nota:Si la impedancia del modo de viaje, según se especifica con el parámetro Impedancia, está basada en el tiempo, los valores de los parámetros Impedancia de tiempo e Impedancia deben ser los mismos. De lo contrario, el servicio devolverá un error. | String |
Distance_Impedance (Opcional) | La impedancia basada en la distancia es un valor que representa la distancia de viaje a lo largo de segmentos de carretera o en otras partes de la red de transporte. Nota:Si la impedancia del modo de viaje, según se especifica con el parámetro Impedancia, está basada en la distancia, los valores de los parámetros Impedancia de distancia e Impedancia deben ser los mismos. De lo contrario, el servicio devolverá un error. | String |
Output_Format (Opcional) | Especifica el formato en el que se crearán las entidades de salida. Elija entre los siguientes formatos:
Cuando se especifica un formato de salida basado en archivos, como Archivo JSON o Archivo GeoJSON, no se agregará ninguna salida a la visualización, puesto que la aplicación, por ejemplo, ArcMap o ArcGIS Pro, no puede dibujar el contenido del archivo de resultados. En cambio, el archivo de resultados se descarga en un directorio temporal en su equipo. En ArcGIS Pro, la ubicación del archivo descargado se puede determinar visualizando el valor del parámetro Archivo de resultados de salida en la entrada correspondiente a la ejecución de la herramienta en el historial de geoprocesamiento del proyecto. En ArcMap, la ubicación del archivo se puede determinar accediendo a la opción Copiar ubicación del menú de acceso directo del parámetro Archivo de resultados de salida de la entrada correspondiente a la ejecución de la herramienta en la ventana Resultados de geoprocesamiento. | String |
Salida derivada
Nombre | Explicación | Tipo de datos |
Solve_Succeeded | Determina si el servicio generó correctamente la matriz de coste origen-destino. | Booleano |
Output_Origin_Destination_Lines | Ofrece acceso a las líneas que conectan los orígenes con los destinos. | Conjunto de entidades |
Output_Origins | Ofrece información sobre los orígenes utilizados en el análisis, como la cantidad total de destinos a los que se llega desde un origen determinado, o los orígenes que no se pueden incluir en el análisis. | Conjunto de entidades |
Output_Destinations | Ofrece información sobre los destinos utilizados en el análisis, como la cantidad total de orígenes a los que se llegó desde un origen determinado, o los destinos que no se pueden incluir en el análisis. | Conjunto de entidades |
Output_Network_Analysis_Layer | La capa de análisis de red con propiedades configuradas en los parámetros de la herramienta que se puede utilizar para análisis posteriores o para depurar el mapa. | Archivo |
Output_Result_File | Un archivo .zip que contiene los resultados del análisis, con uno o varios archivos para cada salida. El formato de los archivos individuales viene especificado por el parámetro Formato de salida. | Archivo |
Muestra de código
El siguiente script de Python muestra cómo usar la herramienta Generate Origin Destination Cost Matrix en un script.
"""This example shows how to generate a matrix of travel times between origins and destinations."""
import sys
import time
import arcpy
username = "<your user name>"
password = "<your password>"
od_service = "https://logistics.arcgis.com/arcgis/services;World/OriginDestinationCostMatrix;{0};{1}".format(username, password)
# Add the geoprocessing service as a toolbox.
# Check https://pro.arcgis.com/en/pro-app/2.6/arcpy/functions/importtoolbox.htm for
# other ways in which you can specify credentials to connect to a geoprocessing service.
arcpy.ImportToolbox(od_service)
# Set the variables to call the tool
origins = "C:/data/Inputs.gdb/Warehouses"
destinations = "C:/data/Inputs.gdb/Stores"
output_od_lines = "C:/data/Results.gdb/ODLines"
# Call the tool
result = arcpy.GenerateOriginDestinationCostMatrix_OriginDestinationCostMatrix(origins,
destinations,
Origin_Destination_Line_Shape="Straight Line")
arcpy.AddMessage("Running the analysis with result ID: {}".format(result.resultID))
# Check the status of the result object every 1 second until it has a
# value of 4 (succeeded) or greater
while result.status < 4:
time.sleep(1)
# print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
arcpy.AddError("An error occured when running the tool")
arcpy.AddError(result.getMessages(2))
sys.exit(2)
elif result_severity == 1:
arcpy.AddWarning("Warnings were returned when running the tool")
arcpy.AddWarning(result.getMessages(1))
# Save the lines connecting origins to destinations in a geodatabase
result.getOutput(1).save(output_od_lines)
El siguiente ejemplo muestra cómo realizar un análisis de matriz de coste origen-destino con un modo de viaje personalizado.
"""This example shows how to perform an origin-destination cost matrix analysis using a custom travel mode
that models trucks carrying wide load."""
import sys
import time
import json
import arcpy
username = "<your user name>"
password = "<your password>"
od_service = "https://logistics.arcgis.com/arcgis/services;World/OriginDestinationCostMatrix;{0};{1}".format(username, password)
# Add the geoprocessing service as a toolbox.
arcpy.ImportToolbox(od_service)
# Set the variables to call the tool
origins = "C:/data/Inputs.gdb/Warehouses"
destinations = "C:/data/Inputs.gdb/Stores"
output_od_lines = "C:/data/Results.gdb/ODLines"
# Change Vehicle Width attribute parameter value to 4.5 (about 15 feet) for the Trucking Time travel mode
# used for the analysis
portal_url = "https://www.arcgis.com"
arcpy.SignInToPortal(portal_url, username, password)
travel_mode_list = arcpy.na.GetTravelModes(portal_url)
tt = travel_mode_list["Trucking Time"]
tt_json = str(tt)
tt_dict = json.loads(tt_json)
tt_dict["restrictionAttributeNames"].append("Width Restriction")
for attr_param in tt_dict["attributeParameterValues"]:
if attr_param['attributeName'] == 'Width Restriction' and attr_param['parameterName'] == 'Vehicle Width (meters)':
attr_param['value'] = 4.5
travel_mode = json.dumps(tt_dict)
# Call the tool
result = arcpy.GenerateOriginDestinationCostMatrix_OriginDestinationCostMatrix(origins, destinations,
Travel_Mode=travel_mode,
Origin_Destination_Line_Shape="Straight Line")
# Check the status of the result object every 1 second until it has a
# value of 4 (succeeded) or greater
while result.status < 4:
time.sleep(1)
# print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
arcpy.AddError("An error occured when running the tool")
arcpy.AddError(result.getMessages(2))
sys.exit(2)
elif result_severity == 1:
arcpy.AddWarning("Warnings were returned when running the tool")
arcpy.AddWarning(result.getMessages(1))
# Save the lines connecting origins to destinations in a geodatabase
result.getOutput(1).save(output_od_lines)