https://<gpservice-url>/FindRoutes/submitJob?stops={"features":[{"attributes":{"Name":"Stop1"},"geometry":{"x":145.0657306480001,"y":-37.86513493399997}},{"attributes":{"Name":"Stop2"},"geometry":{"x":145.1049567670001,"y":-37.81866925199995}}]}&f=json&token=<yourToken>
- URL:https://<gpservice-url>/FindRoutes
Description
El servicio de rutas se puede utilizar para encontrar la mejor manera de ir desde una ubicación a otra o de visitar diversas ubicaciones. La ruta mejor puede ser la ruta más rápida para una hora determinada del día teniendo en cuenta las condiciones de tráfico en ese momento o puede ser la ruta más corta que minimiza la distancia de viaje. El servicio de rutas también puede encontrar la ruta mejor que visita cada parada durante las ventanas de tiempo permitidas que usted especifique. Si tiene que visitar más de dos paradas, es posible determinar la mejor ruta para visitarlas en el orden fijado que especifique. Se denomina ruta sencilla. Como alternativa, el servicio de rutas puede determinar la mejor secuencia para visitar las ubicaciones (problema del vendedor viajero). Se denomina ruta optimizada.
Request parameters
Parameter | Description |
---|---|
stops (Required) | Specify two or more locations between which the route is to be found. Syntax: |
token (Required) | Provide the identity of a user who has permissions to access the service. |
f (Required) | Specify the response format. The default value is html. Values: html | json | pjson |
travel_mode (Optional) | Specify the mode of transportation for the analysis. Value: JSON object |
measurement_units (Optional) | Specify the units that will be used to report the total travel time or travel distance for the output routes. The default value is Minutes. Value: Minutes | Meters | Kilometers | Feet | Yards | Miles | NauticalMiles | Seconds | Hours | Days |
analysis_region (Optional) | Specify the region in which the analysis will be performed. |
reorder_stops_to_find_optimal_routes (Optional) | Specify whether the service will reorder stops to find the optimized route. The default value is false. Values: true | false |
preserve_terminal_stops (Optional) | Specify whether the service will preserve the first and last stops when reordering stops. This parameter is required only when reorder_stops_to_find_optimal_routes is checked (or true). The default value is Preserve First. Values: Preserve First | Preserve Last | Preserve First and Last | Preserve None |
return_to_start (Optional) | Specify whether routes will start and end at the same location. The default value is true. Values: true | false |
use_time_windows (Optional) | Specify whether the routes will use time windows specified on the input stops. The default value is false. Values: true | false |
time_zone_for_time_windows (Optional) | Specify the time zone for the time window values on stops. The default value is Geographically Local. Values: Geographically Local | UTC |
time_of_day (Optional) | Especificar la hora y la fecha en la cual comenzarán las rutas |
time_zone_for_time_of_day (Optional) | Specify the time zone of the time_of_day parameter. Values: Geographically Local | UTC |
uturn_at_junctions (Optional) | Restrict or permit the analysis to make U-turns at junctions. The default value is Allowed only at Intersections and Dead Ends. Values: Allowed only at Intersections and Dead Ends | Allowed | Allowed only at Dead Ends | Not Allowed |
point_barriers (Optional) | Specify one or more points to act as temporary restrictions or represent additional time or distance that may be required to travel on the underlying streets. Syntax: |
line_barriers (Optional) | Specify one or more lines that prohibit travel anywhere the lines intersect the streets. Syntax: |
polygon_barriers (Optional) | Specify polygons that either prohibit travel or proportionately scale the time or distance required to travel on the streets intersected by the polygons. Syntax: |
use_hierarchy (Optional) | Specify whether hierarchy will be used when finding the shortest paths. The default value is true. Values: true | false |
restrictions (Optional) | Specify the restrictions that will be honored by the service. To learn about the accepted values for this parameter, see the restrictions section below. |
attribute_parameter_values (Optional) | Specify additional values required by an attribute or restriction, such as whether the restriction prohibits, avoids, or prefers travel on restricted roads. To learn about the accepted values for this parameter, see the attribute_parameter_values section below. |
route_shape (Optional) | Specify the type of route features that will be output by the service. The default value is True Shape. Values: True Shape | True Shape with Measures | Straight Line | None |
route_line_simplification_tolerance (Optional) | Specify how much the route geometry returned by the service will be simplified. You can specify the value as in the example below:
|
populate_route_edges (Optional) | Specify whether individual edges will be generated for each street along the route. The default value is false. Values: true | false |
populate_directions (Optional) | Specify whether the service will generate directions for each route. The default value is false. Values: true | false |
directions_language (Optional) | Specify the language that will be used when generating directions. This parameter applies only when the populate_directions parameter is set to true. To learn about the accepted values for this parameter, see the directions_language section below. |
directions_distance_units (Optional) | Specify the units for displaying travel distance in the directions. This parameter applies only when the populate_directions parameter is set to true. The default value is Miles. Values: Miles | Kilometers | Meters | Feet | Yards | NauticalMiles |
directions_style_name (Optional) | Specify the name of the formatting style for the directions. This parameter applies only when the populate_directions parameter is set to true. The default value is NA Desktop. Values: NA Desktop | NA Navigation | NA Campus |
impedance (Optional) | Specify the impedance. Values: TravelTime | Minutes | TruckTravelTime | TruckMinutes | WalkTime | Miles | Kilometers Nota:Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis. |
save_route_data (Optional) | Specify whether the service will create a .zip file that contains a file geodatabase containing the input and output values of the analysis in a format that can be used to share route layers with your portal. The default value is false. Values: true | false |
save_output_network_analysis_layer (Optional) | Specify whether the service will save the analysis settings as a network analysis layer file. The default value is false. Values: true | false |
overrides (Optional) | Nota:Este parámetro es solo para uso interno. |
time_impedance (Optional) | Specify the time-based impedance. The default value is TravelTime. Values: TravelTime | Minutes | TruckTravelTime | TruckMinutes | WalkTime Nota:Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis. |
distance_impedance (Optional) | Specify the distance-based impedance. The default value is Kilometers. Values:Miles | Kilometers Nota:Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis. |
output_format (Optional) | Specify the format in which the output features will be created. The default value is Feature Set. Values: Feature Set | JSON File | GeoJSON File |
env:outSR (Optional) | Specify the spatial reference of the geometries. |
ignore_network_location_fields (Optional) | Especifica si los campos de ubicación de red se tendrán en cuenta al localizar entradas como paradas o instalaciones en la red. The default value is false. Values: true | false |
ignore_invalid_locations (Optional) | Specify whether invalid input locations will be ignored. The default value is true. Values: true | false |
locate_settings (Optional) | Specify settings that affect how inputs are located. Value: JSON object |
accumulate_attributes (Optional) | Lista de los atributos de coste que se acumularán durante el análisis. Estos atributos acumulados solo se utilizan como referencia; el solucionador solo utiliza el atributo de coste empleado en el modo de viaje indicado al solucionar el análisis. |
Required parameters
stops
Especifica las ubicaciones que visitará la ruta o rutas de salida.
The stops parameter can be specified using a JSON structure that represents a set of point features. The property is optional; however, the JSON structure must specify either the url or the features property:
url: especifique una solicitud de consulta REST para cualquier entidad, mapa o servicio de geoprocesamiento de ArcGIS Server que devuelva un conjunto de entidades JSON.
features: especifique una matriz de entidades.
Each feature in the features array represents a stop and contains the following properties:
- geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
Sugerencia:
Se recomienda especificar explícitamente el valor de spatialReference y especificarlo para todo el JSON en lugar de para cada geometría individual.
- attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.
- geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
Attributes for stops
When specifying the stops using a JSON structure, you can specify additional properties for stops, such as their names, using attributes. The stops parameter can be specified with the following attributes:
Name
El nombre de la parada. El nombre se utiliza en las indicaciones sobre cómo llegar. Si no se proporciona el nombre, se genera automáticamente un nombre único con el prefijo Location en las paradas, rutas e indicaciones de salida.
ID
Identificador único para la parada. El identificador se incluye en las rutas de salida (como el campo StopID) y puede ayudar a unir información adicional de las rutas de salida, como el tiempo de viaje total o la distancia total, con los atributos de sus incidentes o viceversa. Si ID no se especifica, el servicio genera automáticamente un identificador único para cada parada.
RouteName
El nombre de la ruta a la que pertenece la parada. Se agrupan las paradas con el mismo valor RouteName.
For example, to find two distinct routes—a route with four stops and another with six stops—set RouteName to Route1 for each of the four stops and Route2 for each of the six stops. The service will produce two distinct routes and driving directions for each group of stops in a single request.
If RouteName is not specified for any stops, all stops belong to the same route. If RouteName is not specified for some stops, those stops are treated as unassigned and are not included in any route.
Nota:
The grouping is based entirely on the provided input and no attempt is made by the service to group stops in any optimal manner. To determine the optimal grouping of stops into routes, use the vehicle routing problem service instead.
Sequence
If the findBestSequence parameter is set to false, the output routes will visit the stops in the order you specify with this attribute. In a group of stops that have the same RouteName value, the sequence number should be greater than 0 but not greater than the total number of stops. Also, the sequence number should not be duplicated.
- AdditionalTime
La cantidad de tiempo pasado en la parada, que se agrega al tiempo total de la ruta. El valor predeterminado es 0.
The units for this attribute value are specified by the measurement_units parameter. The attribute value is included in the analysis only when the measurement units are time based.
Es posible tener en cuenta el tiempo adicional necesario para completar una tarea en una parada, como reparar un aparato, entregar un paquete o inspeccionar una instalación.
- AdditionalDistance
La distancia adicional de viaje en las paradas, que se agrega a la distancia total de la ruta. El valor predeterminado es 0.
The units for this attribute value are specified by the measurement_units parameter. The attribute value is included in the analysis only when the measurement units are distance based.
Por lo general, la localización de una parada como, por ejemplo, una casa, no se encuentra exactamente en la calle, sino ligeramente apartada de la calle. Este valor de atributo se puede usar para modelar la distancia entre la ubicación real de la parada y su ubicación en la calle, si es importante incluir esa distancia en la distancia total de viaje.
- AdditionalCost
El coste adicional que se gasta en la parada, que se agrega al coste total de la ruta. El valor predeterminado es 0.
Este valor de atributo debe utilizarse cuando el modo de desplazamiento para el análisis utiliza un atributo de impedancia que no se basa ni en el tiempo ni en la distancia. Las unidades de los valores de los atributos se interpretan como unidades desconocidas.
TimeWindowStart
La hora más temprana en que se puede visitar la parada. Si se especifica una hora de inicio y de fin de la ventana de tiempo de una parada, se define cuándo puede pasar una ruta por la parada. Cuando el atributo de impedancia de este análisis, especificado por el parámetro impedance o impedance del modo de viaje, esté basado en el tiempo, el análisis encontrará una solución al especificar valores de la ventana de tiempo de forma que se minimice el tiempo total del viaje y se llegue a la parada en la ventana de tiempo establecida.
El valor se especifica como un número entero que representa el número de milisegundos desde Epoch (1 de enero de 1970).
Este valor se puede especificar en hora local o UTC, dependiendo del valor indicado para el parámetro use_time_windows.
Si usted especifica este atributo, también deberá especificar el atributo TimeWindowEnd.
TimeWindowEnd
La hora más tardía en que se puede visitar la parada. Si se especifica una hora de inicio y de fin para la ventana de tiempo de una parada, se define cuándo puede pasar una ruta por la parada. Cuando el atributo de impedancia de este análisis, especificado por el parámetro impedance o impedance del modo de viaje, esté basado en el tiempo, especificar valores de la ventana de tiempo hará que el análisis busque una solución que minimice el tiempo total del viaje y se llegue a la parada en la ventana de tiempo establecida.
Juntos, los atributos TimeWindowStart y TimeWindowEnd constituyen la ventana de tiempo dentro de la cual una ruta puede visitar la parada. Al igual que con TimeWindowStart, el valor TimeWindowEnd se especifica como un entero que representa el número de milisegundos desde Epoch (1 de enero de 1970) y se interpreta como hora local o UTC, en función del valor que haya especificado en el parámetro use_time_windows.
La ventana de tiempo especificada mediante los atributos TimeWindowStart y TimeWindowEnd no se considera una restricción estricta por parte del servicio. Es decir, el servicio no falla si la parada no se puede visitar en la ventana de tiempo; en cambio, el servicio intenta buscar una ruta que visite la parada durante su ventana de tiempo, pero si las infracciones de ventana de tiempo son inevitables, el servicio intenta buscar una solución que minimice el tiempo de infracción de la ventana de tiempo para todas las paradas en el problema.
Si una ruta tiene que llegar pronto a la parada, se agrega un tiempo de espera al tiempo total de la ruta. Del mismo modo, si la ruta llega tarde a la parada, se agrega un tiempo de infracción al tiempo total de la ruta. Por ejemplo, si la ventana de tiempo de la parada está establecida entre las 10:00 y las 11:00 y lo más temprano que una ruta puede llegar a la parada es a las 11:25, se agrega al tiempo total del viaje una infracción de 25 minutos.
- CurbApproach
Specify the direction a vehicle can arrive at and depart from the stop.
Se debe especificar uno de los enteros enumerados en la columna Valor codificado de la siguiente tabla como un valor de este atributo. Los valores de la columna Configuración son los nombres descriptivos de los valores del atributo CurbApproach que puede haber visto al utilizar el software Extensión ArcGIS Network Analyst.
Setting Coded value Description Cualquier lado del vehículo
0
El vehículo puede aproximarse a la parada y abandonarla en cualquier dirección, de modo que se admite un cambio de sentido en la parada. Este es el valor predeterminado. Puede elegir esta configuración si es posible y deseable que un vehículo dé la vuelta en la parada. Esta decisión puede depender del ancho del camino y del volumen de tráfico, o de si la parada dispone de una zona estacionamiento en la que los vehículos pueden maniobrar.
Lado derecho del vehículo
1
Indica que cuando el vehículo se acerca a la parada y parte de ella, la parada debe estar situada en el lado derecho del vehículo. Los cambios de sentido están prohibidos. Se usa normalmente para vehículos como los buses que deben llegar con la parada de bus a la derecha.
Lado izquierdo del vehículo
2
Indica que cuando el vehículo se acerca a la parada y parte de ella, la parada debe estar situada en el lado izquierdo del vehículo. Los cambios de sentido están prohibidos. Se usa normalmente para vehículos como los buses que deben llegar con la parada de bus por la izquierda.
Sin cambio de sentido
3
Cuando el vehículo se aproxima a la parada, esta puede estar en cualquier lado del vehículo; sin embargo, en el momento de partir, el vehículo debe reanudar la marcha en la misma dirección en la que llegó. Los cambios de sentido están prohibidos.
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 incidente 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 al incidente 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 un incidente y que no haya un carril entre el vehículo y el incidente, 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 ejes 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.
- 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 eje 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 hacia cada lado del eje (izquierda y derecha) y en ambas direcciones digitalizadas del eje.
- NavLatency
Este campo solo se utiliza en el proceso de resolución si los campos Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor de campo NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto coste se espera 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 NavLatency son las mismas que las unidades del atributo de impedancia.
Syntax examples for stops
Syntax for specifying stops using a JSON structure for features
{
"features": [
{
"geometry": {
"x": <x>,
"y": <y>,
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
}
},
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"geometry": {
"x": <x>,
"y": <y>,
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
}
},
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
]
}
Syntax for specifying stops using a URL returning a JSON response
{
"url": "<url>"
}
Examples for stops
Example 1: Specifying stop geometries and attributes using a JSON structure
The example also shows how to specify the Name attribute for each stop and group four stops into two routes, Route A and Route B, using the RouteName attribute.
{
"features": [
{
"geometry": {
"x": -122.4079,
"y": 37.78356
},
"attributes": {
"Name": "From",
"RouteName": "Route A"
}
},
{
"geometry": {
"x": -122.404,
"y": 37.782
},
"attributes": {
"Name": "To",
"RouteName": "Route A"
}
},
{
"geometry": {
"x": -122.4095,
"y": 37.78379
},
"attributes": {
"Name": "From",
"RouteName": "Route B"
}
},
{
"geometry": {
"x": -122.480,
"y": 37.734
},
"attributes": {
"Name": "To",
"RouteName": "Route B"
}
}
]
}
Example 2: Specifying stop geometries in the Web Mercator spatial reference using a JSON structure
{
"features": [
{
"geometry": {
"x": -13635398.9398,
"y": 4544699.034400001,
"spatialReference": {
"wkid": 102100
}
},
"attributes": {
"Name": "Home",
}
},
{
"geometry": {
"x": -13632733.3441,
"y": 4547651.028300002,
"spatialReference": {
"wkid": 102100
}
},
"attributes": {
"Name": "Office",
}
}
]
}
Example 3: Specifying stops using a URL
The URL makes a query for a few features from a map service. A URL querying features from a feature service can also be specified.
{
"url": "https://machine.domain.com/webadaptor/rest/services/Network/USA/MapServer/1/query?where=1%3D1&outFields=Name,RouteName&f=json"
}
token
Utilice este parámetro para especificar un token que proporcione la identidad de un usuario que tenga permisos para acceder al servicio. La página de seguridad y autenticación ofrece más información sobre cómo se puede obtener un token de acceso.
token=<yourToken>
f
Utilice este parámetro para especificar el formato de respuesta. El parámetro puede tener html, json o pjson como argumentos, por ejemplo, f=json. El valor pjson se utiliza para imprimir la respuesta JSON en un formato embellecido.
Optional parameters
travel_mode
Seleccione el modo de transporte para el análisis.
Los modos de viaje se administran en ArcGIS Enterprise y el administrador de su organización puede configurarlos para reflejar mejor los flujos de trabajo de la organización.
Para obtener más información sobre los modos de viaje, consulte Configurar modos de viaje.
Debe especificar el objeto JSON que contiene la configuración de un modo de viaje compatible con su organización. Para obtener una lista de los modos de viaje admitidos, ejecute la herramienta GetTravelModes desde el servicio Utilidades.
El valor del parámetro travel_mode debe ser un objeto JSON que represente la configuración del modo de viaje. Si se utiliza la herramienta GetTravelModes del servicio Utilidades, se obtiene una cadena de caracteres que representa el JSON del modo de viaje. Debe convertir esta cadena de caracteres en un objeto JSON válido utilizando su API y, a continuación, entregar el objeto JSON como valor para el parámetro travel_mode.
Por ejemplo, se muestra a continuación una cadena de caracteres que representa el modo de viaje Tiempo a pie, tal y como lo devuelve la herramienta GetTravelModes.
"{\"attributeParameterValues\": [{\"parameterName\": \"Restriction Usage\", \"attributeName\": \"Walking\", \"value\": \"PROHIBITED\"}, {\"parameterName\": \"Restriction Usage\", \"attributeName\": \"Preferred for Pedestrians\", \"value\": \"PREFER_LOW\"}, {\"parameterName\": \"Walking Speed (km/h)\", \"attributeName\": \"WalkTime\", \"value\": 5}], \"description\": \"Follows paths and roads that allow pedestrian traffic and finds solutions that optimize travel time. The walking speed is set to 5 kilometers per hour.\", \"impedanceAttributeName\": \"WalkTime\", \"simplificationToleranceUnits\": \"esriMeters\", \"uturnAtJunctions\": \"esriNFSBAllowBacktrack\", \"restrictionAttributeNames\": [\"Preferred for Pedestrians\", \"Walking\"], \"useHierarchy\": false, \"simplificationTolerance\": 2, \"timeAttributeName\": \"WalkTime\", \"distanceAttributeName\": \"Miles\", \"type\": \"WALK\", \"id\": \"caFAgoThrvUpkFBW\", \"name\": \"Walking Time\"}"
El valor anterior se debe convertir a un objeto JSON válido y transferirse como valor para el parámetro travel_mode.
travel_mode={"attributeParameterValues":[{"parameterName":"Restriction Usage","attributeName":"Walking","value":"PROHIBITED"},{"parameterName":"Restriction Usage","attributeName":"Preferred for Pedestrians","value":"PREFER_LOW"},{"parameterName":"Walking Speed (km/h)","attributeName":"WalkTime","value":5}],"description":"Follows paths and roads that allow pedestrian traffic and finds solutions that optimize travel time. The walking speed is set to 5 kilometers per hour.","impedanceAttributeName":"WalkTime","simplificationToleranceUnits":"esriMeters","uturnAtJunctions":"esriNFSBAllowBacktrack","restrictionAttributeNames":["Preferred for Pedestrians","Walking"],"useHierarchy":false,"simplificationTolerance":2,"timeAttributeName":"WalkTime","distanceAttributeName":"Miles","type":"WALK","id":"caFAgoThrvUpkFBW","name":"Walking Time"}
El valor predeterminado, Custom, le permite configurar su propio modo de viaje. Cuando se entrega en Custom, puede definir valores para los siguientes parámetros: impedance, time_impedance, distance_impedance, uturn_at_junctions, use_hierarchy, route_line_simplification_tolerance, restrictions y attribute_parameter_values. Puede elegir Custom y establecer los parámetros de modo de viaje personalizado indicados anteriormente, por ejemplo, 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 determinados materiales peligrosos. Puede probar distintas configuraciones hasta conseguir resultados de análisis deseados. Una vez que haya identificado la configuración de análisis, debe trabajar 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 volver a ejecutar el análisis con la misma configuración.
Los valores predeterminados de los parámetros de modo de viaje personalizado se basan en viajes en coche. Si especifica el modo de viaje como Custom o no proporciona ningún valor para el parámetro travel_mode, el análisis será similar al uso del modo de viaje Driving Time predeterminado.
Precaución:
Si el parámetro travel_mode no tiene el valor Custom, significa que está eligiendo un modo de viaje configurado por su organización y el servicio invalida automáticamente los valores de otros parámetros con valores que modelen el modo de viaje elegido. Se invalidan los siguientes parámetros: impedance, time_impedance, distance_impedance, uturn_at_junctions, use_hierarchy, route_line_simplification_tolerance, restrictions y attribute_parameter_values.
measurement_units
Utilice este parámetro para especificar las unidades que deben utilizarse para informar del tiempo total de viaje o de la distancia de viaje para las rutas de salida. El servicio determina la ruta más corta según el tiempo o la distancia de viaje por las calles, en función de si las unidades especificadas para este parámetro están basadas en el tiempo o en la distancia.
- Meters
- Kilometers
- Feet
- Yards
- Miles
- NauticalMiles
- Seconds
- Minutes
- Hours
- Days
El valor predeterminado es Minutes.
analysis_region
El servicio ignora este parámetro y la especificación de un valor no tiene ningún efecto en el análisis.
reorder_stops_to_find_optimal_routes
Utilice este parámetro para especificar si el servicio debe reorganizar las paradas para encontrar la ruta optimizada.
- false: el servicio devuelve una ruta que visita las paradas en el orden que usted defina.
- true: el servicio encuentra el mejor orden para visitar las paradas. El servicio tendrá en cuenta una variedad de variables para minimizar la distancia o el tiempo total de viaje para la ruta. Usted puede elegir si conservar la primera y última parada y permitir que el servicio reordene las paradas intermedias definiendo el parámetro preserve_terminal_stops.
El valor predeterminado es false.
Precaución:
Un valor de parámetro true hace que el servicio cambie de resolver un problema de ruta más corta a un problema del vendedor viajero (TSP). Resolver un TSP es una operación que necesita muchos recursos informáticos y que consume créditos de servicio adicionales por ruta.
preserve_terminal_stops
Si reorder_stops_to_find_optimal_routes es true, existen opciones para preservar las paradas inicial o final del recorrido y permitir que la herramienta reordene el resto. La primera y la última parada se determinan según los valores del atributo de secuencia o, si los valores de secuencia son nulos, según el orden en el que están enumerados.
- Preserve First: el servicio no reordenará la primera parada. Si empieza en una ubicación conocida, como su casa, la sede central de la empresa o la ubicación actual, seleccione esta opción.
- Preserve Last: el servicio no reordenará la última parada. Las rutas de salida pueden empezar desde cualquier parada, pero deben terminar en la última parada predeterminada.
- Preserve First and Last: el servicio no reordenará la primera y última parada.
- Preserve None: el servicio puede reordenar cualquier parada, incluidas la inicial y la final. La ruta puede empezar o terminar en cualquiera de las entidades de parada.
El valor predeterminado es Preserve First.
Este parámetro se ignora si reorder_stops_to_find_optimal_routes es false.
return_to_start
Determina si las rutas deben empezar y terminar en la misma ubicación. Con esta opción, se evita tener que duplicar la entidad de la primera parada y secuenciar la parada duplicada para colocarla al final de la lista de paradas.
- true: la ruta debe empezar y terminar en la primera entidad de parada. Cuando reorder_stops_to_find_optimal_routes y return_to_start son verdaderos, preserve_terminal_stops debe tener el valor Preserve First (que es el valor predeterminado).
- false: la ruta no empezará ni terminará en la primera entidad de parada.
El valor predeterminado es true.
use_time_windows
Utilice este parámetro para indicar si el servicio considerará ventanas de tiempo especificadas en las paradas al buscar la ruta mejor. Los valores posibles del parámetro son true o false. Las ventanas de tiempo se especifican en las paradas usando los atributos TimeWindowStart y TimeWindowEnd.
El valor predeterminado es false.
time_zone_for_time_windows
Use este parámetro para especificar la zona horaria de los valores de la ventana de tiempo en las paradas. Las ventanas de tiempo se especifican como parte de los campos TimeWindowStart y TimeWindowEnd en las paradas. Este parámetro solo es aplicable si el parámetro use_time_windows tiene el valor true.
El parámetro se puede especificar usando uno de los siguientes valores:
- Geographically Local: los valores de la ventana de tiempo asociados con las paradas están en la zona horaria en la que se encuentran las paradas. Por ejemplo, si la parada está ubicada en un área que sigue la hora estándar del este y tiene los valores de ventana de tiempo 8:00 y 10:00, los valores de la ventana de tiempo se tratarán como 8:00 y 10:00 en la hora estándar del este.
- UTC: los valores de ventana de tiempo asociados a las paradas están en UTC. Por ejemplo, si la parada está ubicada en un área que sigue la hora estándar del este y tiene los valores de ventana de tiempo 8:00 y 10:00, los valores de la ventana de tiempo se tratarán como 3:00 y 5:00 en la hora estándar del este. Especificar valores de ventana de tiempo en UTC resulta útil si usted no conoce las zonas horarias de las paradas, pero conoce el tiempo absoluto de las ventanas de tiempo (por ejemplo, la ventana de tiempo empieza dentro de una hora). La opción UTC solo es aplicable cuando su dataset de red define un atributo de zona horaria. Si su dataset de red no define ningún atributo de zona horaria, los valores de todas las ventanas de tiempo siempre se tratarán como geográficamente local.
El valor predeterminado de este parámetro es Geographically Local.
time_of_day
Especificar la hora y la fecha en la cual comenzarán las rutas
Al especificar una hora del día, se obtienen estimaciones más precisas de tiempos de viaje porque los tiempos de viaje tienen en cuenta las condiciones del tráfico aplicables a esa fecha y hora.
Para utilizar el tráfico en el análisis, elija una unidad basada en tiempo para impedance y asigne un valor a time_Of_day.
Si no se aprueba una hora del día, el servicio utiliza velocidades de carretera estáticas basadas en velocidades históricas promedio o límites de velocidad permitidos. Utiliza las velocidades permitidas en áreas donde la información de tráfico histórico no está disponible.
Nota:
El tráfico solo es compatible con el modo de viaje o la impedancia del tiempo de conducción.Cuando el servicio utiliza datos de ArcGIS StreetMap Premium, puede admitir dos tipos de tráfico: en directo y típico.
Si la time_Of_day especificada está a menos de 4 horas de la hora actual, se utilizará el tráfico en directo cuando esté disponible. El tráfico en directo recupera las velocidades en función de los registros desde teléfonos móviles, sensores y otras fuentes de datos y refleja las velocidades de viaje actuales y predice las velocidades del futuro cercano. Si la time_Of_day especificada es 4 horas anterior o 4 horas posterior de la hora actual o si la carretera no tiene tráfico en directo, se utilizarán velocidades de tráfico típico. Las velocidades típicas se basan en patrones de tráfico históricos. Los datos de tiempo de viaje se agregan en intervalos de 15 minutos por día de la semana basándose en datos de varios años. Por tanto, una carretera puede tener un tiempo de viaje diferente un lunes a las 8:00, un lunes a las 8:15 o un martes a las 8:00. Debido a que la varianza es solo en el día de la semana y en la hora del día, el tiempo de viaje es el mismo en una carretera para cualquier lunes a las 8:00, independientemente del mes o año.
Si su objetivo es modelar las condiciones típicas de viaje y evitar grandes varianzas a partir de la media debido al tráfico en directo, se recomienda usar una fecha del pasado para garantizar que no coincida con la ventana de 4 horas desde la hora actual. Como ejemplo extremo, incluso puede utilizar fechas de 1990.
La página Cobertura de datos muestra los países para los que Esri proporciona actualmente datos de tráfico.
Typical traffic
Para garantizar que la tarea use el tráfico típico en las ubicaciones en las que está disponible, elija una hora y un día de la semana y, luego, convierta el día de la semana a una de las siguientes fechas de 1990:
- Lunes, 1/1/1990
- Martes, 2/1/1990
- Miércoles, 3/1/1990
- Jueves, 4/1/1990
- Viernes, 5/1/1990
- Sábado, 6/1/1990
- Domingo, 7/1/1990
Establezca la hora y la fecha en hora UNIX en milisegundos. Por ejemplo, para resolver para 13:03 los jueves, establezca la fecha y la hora en 13:03, 4 de enero de 1990, y convierta a milisegundos (631458180000). Aunque las fechas que representan los días de la semana son de 1990, el tráfico típico se calcula a partir de las tendencias de tráfico recientes, normalmente a lo largo de los datos de los últimos dos años.
Tráfico en vivo
Para utilizar el tráfico en directo cuando y donde esté disponible, elija una fecha y hora y convierta a hora UNIX.
Nota:
Debe tener una extensión de Tráfico en directo y configurar su dataset de red Street Map Premium para acceder al tráfico en directo.Esri guarda los datos de tráfico en directo durante 4 horas y hace referencia a datos predictivos que abarcan hasta 4 horas en el futuro. Si la hora y la fecha que ha especificado para este parámetro están fuera de la ventana de tiempo de 8 horas o el tiempo de viaje del análisis sigue más allá de la ventana de datos predictivos, la tarea vuelve a las velocidades de tráfico típico.
Ejemplos de time_of_day
Ejemplo uno: 13:03, 4 de enero de 1990. Tráfico típico los jueves a las 13:03.
"time_Of_day": 631458180000
Ejemplo dos: 17:00, 7 de enero de 1990. Tráfico típico los domingos a las 17:00.
"time_Of_day": 631731600000
Ejemplo cuatro: 10:20, 18 de marzo de 2015. Si la hora actual está entre las 6:20, 18 de marzo de 2015, y 14:20, 18 de marzo de 2015, se hace referencia a las velocidades de tráfico en directo en el análisis; de lo contrario, se hace referencia a las velocidades de tráfico típico.
"time_Of_day": 1426674000000
time_zone_for_time_of_day
Especifique la zona o zonas horarias del parámetro time_Of_day. Existen dos opciones: Geographically Local y UTC.
The default value is Geographically Local.
Geographically Local
El valor time_Of_day hace referencia a las zonas horarias locales en las que se encuentran los puntos de entrada. Esta opción hace que el análisis tenga horas de inicio rotativas en las diferentes zonas horarias.
Ilustración de cómo establecer el valor en Geographically Local: cambiar time_of_day a 9:00, 4 de enero de 1990 (631443600000 milisegundos); time_zone_for_time_Of_Day a Geographically Local; y enviar una solicitud válida provoca que los tiempos de conducción de puntos en la zona horaria del este empiecen a las 9:00 a la hora del este y a las 9:00 a la hora central para puntos en la zona horaria central. (Las horas de inicio tienen una variación de una hora respecto a la hora real o UTC).
UTC
El valor time_Of_day hace referencia a la hora universal coordinada (UTC). Las horas de inicio son simultáneas para todos los puntos, independientemente de las zonas horarias.
Ilustración de cómo establecer el valor en time_Of_day: cambiar time_Of_day a 9:00, 4 de enero de 1990 (631443600000 milisegundos); y el valor de UTC las horas de inicio de puntos en la zona horaria del este son a las 4:00 a la hora del este y las 3:00 a la hora central para aquellos en la zona horaria central.
uturn_at_junctions
Use este parámetro para restringir o permitir que la ruta haga cambios de sentido en los cruces.
Precaución:
El valor de este parámetro, independientemente de si se basa en el valor predeterminado o se establece explícitamente un valor, se invalida si se cambia travel_mode a cualquier valor distinto de Custom. El valor predeterminado de travel_mode es Driving, por lo que, a menos que cambie travel_mode a un valor diferente, este valor de parámetro se invalidará.
Para comprender los valores del parámetro disponibles, un cruce es un punto donde solo hay dos calles que intersecan entre sí. Si hay tres o más calles que se intersecan en un punto, se llama intersección. Un cul-de-sac es una calle sin salida. Este parámetro puede tener los siguientes valores:
Parameter Value | Description |
---|---|
Allowed | Los cambios de sentido están permitidos en todas partes. Permitir los cambios de sentido implica que el vehículo puede girar en un cruce y volver por la misma calle. |
Allowed only at Intersections and Dead Ends | Los cambios de sentido están prohibidos en los cruces donde se cruzan dos calles. |
Allowed only at Dead Ends | Los cambios de sentido están prohibidos en todos los cruces y todas las intersecciones y solo se permiten en calles sin salida. |
Not Allowed | Los cambios de sentido están prohibidos en todos los cruces, todas las intersecciones y todas las calles sin salida. Aunque se elija este valor para el parámetro, una ruta puede hacer cambios de sentido en paradas. Para prohibir los cambios de sentido en una parada, puede cambiar la propiedad CurbApproach al valor adecuado (3). |
El valor predeterminado de este parámetro es Allowed only at Intersections and Dead Ends.
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.
You can specify barrier geometries as well as attributes using a more comprehensive JSON structure that references a set of features. The property is optional; however, the JSON structure must specify either the url or features property:
url: especifique una solicitud de consulta REST para cualquier entidad, mapa o servicio de geoprocesamiento de ArcGIS Server que devuelva un conjunto de entidades JSON.
features: especifique una matriz de entidades.
Cada entidad de la matriz representa una barrera de punto y contiene los siguientes campos:
- geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
Sugerencia:
Se recomienda especificar explícitamente el valor de spatialReference y especificarlo para todo el JSON en lugar de para cada geometría individual.
- attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.
- geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
Attributes for point_barriers
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):
-
0 (Restricción): prohíbe viajar por la barrera. La barrera se conoce como barrera de punto de restricción, ya que actúa como una restricción.
2 (Coste agregado): viajar a través de la barrera aumenta el tiempo o la distancia de viaje en la cantidad especificada en los atributos de Additional_[Cost]. Este tipo de barrera se denomina barrera de punto de coste agregado.
Additional_Time
El tiempo de viaje agregado cuando se realiza el trazado poligonal de la barrera. Este campo solo es aplicable para barreras con coste agregado y si el valor del parámetro measurement_units se basa en el tiempo.
Este valor de campo debe ser mayor o igual que cero, y sus unidades son las mismas que las especificadas en el parámetro measurement_units.
Additional_Distance
La distancia agregada cuando se realiza el trazado poligonal de la barrera. Este campo solo es aplicable para barreras con coste agregado y si el valor del parámetro measurement_units se basa en la distancia.
El valor del campo debe ser mayor o igual que cero, y sus unidades son las mismas que las especificadas en el parámetro measurement_units.
AdditionalCost
El coste agregado cuando se realiza el trazado poligonal de la barrera. Este campo solo es aplicable para barreras con coste agregado cuando el atributo de impedancia no se basa ni en tiempo ni en 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):
- 0 (Falso): permite viajar por el eje hasta la barrera, pero no a través de ella. Este es el valor predeterminado.
- 1 (Verdadero): restringe el viaje a cualquier punto del eje asociado.
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):
- 0 (Cualquier lado del vehículo): la barrera afecta al viaje por el eje en ambas direcciones.
- 1 (Lado derecho del vehículo): los vehículos solo se ven afectados si la barrera se encuentra a su lado derecho al acercase a ella. La barrera no afecta a los vehículos que atraviesan el mismo eje, pero se acercan la barrera por su lado izquierdo.
- 2 (Lado izquierdo del vehículo): los vehículos solo se ven afectados si la barrera se encuentra a su lado izquierdo al acercase a ella. La barrera no afecta a los vehículos que atraviesan el mismo eje, pero se acercan la barrera por su lado derecho.
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 trabaja 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, para 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 ejes 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 eje 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 hacia cada lado del eje (izquierda y derecha) 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 los campos Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor de campo NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto coste se espera 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 NavLatency son las mismas que las unidades del atributo de impedancia.
Syntax examples for point_barriers
Sintaxis para especificar point_barriers utilizando una estructura JSON para entidades
{
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
},
"features": [
{
"geometry": {
"x": <x1>,
"y": <y1>
},
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"geometry": {
"x": <x2>,
"y": <y2>
},
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
]
}
Sintaxis para especificar point_barriers utilizando una URL que devuelve una respuesta JSON
{
"url": "<url>"
}
Examples for point_barriers
Ejemplo 1: especificar una barrera de punto de coste agregado utilizando una estructura JSON
En este ejemplo, se muestra cómo utilizar una barrera de punto de coste agregado para modelar un retraso de cinco minutos en un cruce de ferrocarril. El atributo BarrierType utilizado para especificar la barrera de punto es de coste agregado y el atributo Additional_Time se utiliza para especificar el retraso agregado en minutos.
{
"spatialReference": {
"wkid": 4326
},
"features": [
{
"geometry": {
"x": 37.541479,
"y": -122.053461
},
"attributes": {
"Name": "Haley St railroad crossing",
"BarrierType": 2,
"Additional_Time": 5
}
}
]
}
Ejemplo 2: especificar barreras de punto de restricción en la referencia espacial Web Mercator utilizando una estructura JSON
En este ejemplo, se muestra cómo utilizar una barrera de punto de restricción para modelar una carretera que está bloqueada por un árbol caído. Las geometrías de la barrera están en la referencia espacial Web Mercator y no en la referencia espacial del dataset de red.
{
"spatialReference": {
"wkid": 102100
},
"features": [
{
"geometry": {
"y": -13635398.9398,
"x": 4544699.034400001
},
"attributes": {
"Name": "Fallen tree at 123 Main St",
"BarrierType": 0
}
}
]
}
Ejemplo 3: especificar barreras de punto utilizando una URL
La dirección URL hace una consulta para algunas entidades desde un servicio de mapas. También es posible especificar una URL que consulte entidades desde un servicio de entidades.
{
"url": "https://machine.domain.com/webadaptor/rest/services/NetworkAnalysis/SanDiego/MapServer/21/query?where=1%3D1&outFields=Name&f=json"
}
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.
You can specify polyline barrier geometries as well as attributes using a JSON structure that references a set of features. The property is optional; however, the JSON structure must specify either the url or features property:
url: especifique una solicitud de consulta REST para cualquier entidad, mapa o servicio de geoprocesamiento de ArcGIS Server que devuelva un conjunto de entidades JSON.
features: especifique una matriz de entidades.
Cada entidad de la matriz representa una barrera de polilínea y contiene los siguientes campos:
- geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
Sugerencia:
Se recomienda especificar explícitamente el valor de spatialReference y especificarlo para todo el JSON en lugar de para cada geometría individual.
- attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.
- geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
Attributes for line_barriers
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.
Syntax examples for line_barriers
Sintaxis para especificar barreras de línea utilizando una estructura JSON para entidades
{
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>,
},
"features": [
{
"geometry": {
"paths": [
[
[<x11>,<y11>],
[<x12>,<y12>]
],
[
[<x21>,<y21>],
[<x22>,<y22>]
]
]
},
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"geometry": {
"paths": [
[
[<x11>,<y11>],
[<x12>,<y12>]
],
[
[<x21>,<y21>],
[<x22>,<y22>]
]
},
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
]
}
Sintaxis para especificar barreras de línea utilizando una URL que devuelve una estructura JSON
{
"url": "<url>"
}
Examples for line_barriers
Ejemplo 1: especificar barreras de línea mediante una estructura JSON
El ejemplo muestra cómo agregar dos líneas como barreras de línea para restringir el viaje por las calles que se intersecan con las líneas. La barrera 1 es una entidad de línea de una sola parte formada por dos puntos. La barrera 2 es una entidad de línea de dos partes cuya primera parte está formada por tres puntos y cuya segunda parte está formada por dos puntos.
{
"spatialReference": {
"wkid": 102100
},
"features": [
{
"geometry": {
"paths": [
[
[-10804823.397,3873688.372],
[-10804811.152,3873025.945]
]
]
},
"attributes": {
"Name": "Barrier 1"
}
},
{
"geometry": {
"paths": [
[
[-10804823.397,3873688.372],
[-10804807.813 3873290.911],
[-10804811.152,3873025.945]
],
[
[-10805032.678,3863358.76],
[-10805001.508,3862829.281]
]
]
},
"attributes": {
"Name": "Barrier 2"
}
}
]
}
Ejemplo 2: especificar barreras de línea mediante una URL
La dirección URL hace una consulta para algunas entidades desde un servicio de mapas. También es posible especificar una URL que consulte entidades desde un servicio de entidades.
{
"url": "https://machine.domain.com/webadaptor/rest/services/Network/USA/MapServer/6/query?where=1%3D1&returnGeometry=true&f=json"
}
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.
You can specify polygon barrier geometries as well as attributes using a JSON structure that references a set of features. The property is optional; however, the JSON structure must specify either the url or features property:
url: especifique una solicitud de consulta REST para cualquier entidad, mapa o servicio de geoprocesamiento de ArcGIS Server que devuelva un conjunto de entidades JSON.
features: especifique una matriz de entidades.
Cada entidad de la matriz representa una barrera de polígono y contiene los siguientes campos:
- geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
Sugerencia:
Se recomienda especificar explícitamente el valor de spatialReference y especificarlo para todo el JSON en lugar de para cada geometría individual.
- attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.
- geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
Attributes for polygon_barriers
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):
0 (Restricción): prohíbe atravesar cualquier parte de la barrera. La barrera se conoce como barrera de polígono de restricción, ya que prohíbe viajar por las calles que se intersecan con la barrera. Un uso de este tipo de barrera consiste en modelar inundaciones cubriendo áreas de las calles que hacen inviables los viajes por esas calles.
Este es el valor predeterminado.
1 (Coste en escala): escala el coste (por ejemplo, el tiempo o la distancia) requerido para recorrer las calles subyacentes por un factor especificado mediante el campo ScaledTimeFactor o ScaledDistanceFactor. Si las calles están parcialmente cubiertas por la barrera, el tiempo o la distancia del viaje se prorratea y se ajusta. Por ejemplo, un factor de 0,25 significa que se espera que el viaje por las calles subyacentes sea cuatro veces más rápido de lo normal. Un factor de 3,0 significa que se espera que el viaje por las calles subyacentes dure tres veces más de lo normal. Este tipo de barrera se denomina barrera de polígono con coste en escala. Se puede utilizar para modelar tormentas que reducen las velocidades de viaje en regiones concretas, por ejemplo.
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 con coste en escala y cuando el parámetro measurement_units se basa 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 con coste en escala y cuando el parámetro measurement_units se basa 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 con coste en escala cuando la impedancia no se basa ni en tiempo ni en distancia.
Syntax examples for polygon_barriers
Sintaxis para especificar barreras de polígono utilizando una estructura JSON para entidades
{
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
}
"features": [
{
"geometry": {
"rings": [
[
[<x11>,<y11>],
[<x12>,<y12>],
[<x11>,<y11>]
],
[
[<x21>,<y21>],
[<x22>,<y22>]
[<x21>,<y21>]
]
]
},
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"geometry": {
"rings": [
[
[<x11>,<y11>],
[<x12>,<y12>],
[<x11>,<y11>]
],
[
[<x21>,<y21>],
[<x22>,<y22>],
[<x21>,<y21>]
]
]
},
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
]
}
Sintaxis para especificar barreras de polígono utilizando una URL que devuelve una estructura JSON
{
"url": "<url>"
}
Examples for polygon_barriers
Ejemplo 1: especificar barreras de polígono mediante una estructura JSON.
El ejemplo muestra cómo agregar dos polígonos como barreras. El primer polígono, denominado Zona inundable, es una barrera de polígono de restricción que prohíbe viajar por las calles subyacentes. El polígono es una entidad poligonal de una sola parte formada por cuatro puntos. El segundo polígono, denominado Severe weather zone, es una barrera de polígono de coste en escala que aumenta el tiempo de viaje por las calles subyacentes en un tercio del valor original. El polígono es una entidad poligonal de dos partes. Ambas partes están compuestas de cuatro puntos.
{
"spatialReference": {
"wkid": 4326
},
"features": [
{
"geometry": {
"rings": [
[
[-97.0634,32.8442],
[-97.0554,32.84],
[-97.0558,32.8327],
[-97.0638,32.83],
[-97.0634,32.8442]
]
]
},
"attributes": {
"Name": "Flood zone",
"BarrierType": 0
}
},
{
"geometry": {
"rings": [
[
[-97.0803,32.8235],
[-97.0776,32.8277],
[-97.074,32.8254],
[-97.0767,32.8227],
[-97.0803,32.8235]
],
[
[-97.0871,32.8311],
[-97.0831,32.8292],
[-97.0853,32.8259],
[-97.0892,32.8279],
[-97.0871,32.8311]
]
]
},
"attributes": {
"Name": "Severe weather zone",
"BarrierType": 1,
"ScaledTimeFactor": 3
}
}
]
}
Ejemplo 2: especificar una barrera de polígono utilizando una URL
La dirección URL hace una consulta para algunas entidades desde un servicio de mapas. También es posible especificar una URL que consulte entidades desde un servicio de entidades.
{
"url": "https://machine.domain.com/webadaptor/rest/services/Network/USA/MapServer/7/query?where=1%3D1&returnGeometry=true&f=json"
}
use_hierarchy
Especifique si se usará la jerarquía para buscar las rutas más cortas.
The default value for this parameter is true.
Precaución:
El valor de este parámetro, independientemente de si se basa en el valor predeterminado o se establece explícitamente un valor, se invalida si se cambia travel_mode a cualquier valor distinto de Custom. El valor predeterminado de travel_mode es Driving, por lo que, a menos que cambie travel_mode a un valor diferente, este valor de parámetro se invalidará.
true: usar la jerarquía al viajar entre paradas. Cuando se usa una jerarquía, el servicio da preferencia a las calles de orden superior (como las autovías) frente a las de orden inferior (como las carreteras locales), y se puede usar para simular la preferencia del conductor de viajar por autovías en lugar de carreteras locales, aunque suponga un viaje más largo. Esto se da especialmente al buscar rutas hasta ubicaciones lejanas, porque los conductores que realizan viajes de larga distancia prefieren viajar por autovías y así evitar paradas, intersecciones y giros. Desde el punto de vista del cómputo, usar la jerarquía es más rápido, especialmente en rutas de larga distancia, porque el servicio puede determinar la ruta mejor en un subconjunto de calles relativamente más pequeño.
-
false: no usar la jerarquía al viajar entre paradas. Si no se utiliza la jerarquía, el servicio tiene en cuenta todas las calles y no da preferencia a las calles de mayor orden al buscar una ruta. A menudo esto se usa al buscar rutas a corta distancia dentro de una ciudad.
restrictions
Utilice este parámetro para especificar las restricciones que cumplirá el servicio. Una restricción representa una preferencia o un requisito de conducción. En la mayoría de casos, las restricciones ocasionan la prohibición de carreteras o rutas, pero también pueden hacer que se eviten o se les dé preferencia. Por ejemplo, utilizar la restricción Avoid Toll Roads dará como resultado una ruta que incluirá las carreteras de peaje solo si se requiere viajar por ellas para llegar a una parada. Utilice Height Restriction para trazar una ruta evitando cualquier lugar con una distancia al suelo que sea inferior a la altura del vehículo. Si el vehículo transporta materiales peligrosos, puede utilizar la restricción Any Hazmat Prohibited para impedir que los materiales se transporten por carreteras donde sea ilegal hacerlo.
Precaución:
El valor de este parámetro, independientemente de si se basa en el valor predeterminado o se establece explícitamente un valor, se invalida si se entrega en travel_mode.
Este valor de parámetro se especifica como una lista de nombres de restricción separados por comas. El valor none indica que no se utilizarán restricciones para buscar las rutas más cortas.
El servicio admite los siguientes nombres de restricción:
Prohibidos todos los materiales peligrosos: los resultados no incluirán las carreteras en las que esté prohibido el transporte de cualquier tipo de material peligroso.
Evitar carreteras VAO: el resultado evitará las carreteras designadas exclusivamente para los vehículos compartidos.
Evitar carriles rápidos: los resultados evitarán las carreteras diseñadas como carriles rápidos.
Evitar transbordadores: los resultados evitarán los transbordadores.
Evitar puertas: los resultados evitarán las carreteras en las que haya puertas, como los accesos con clave o las entradas controladas por guardas.
Evitar carreteras con acceso limitado: los resultados evitarán las carreteras que sean de acceso limitado.
Evitar carreteras privadas: los resultados evitarán las carreteras que no sean de propiedad pública y no se mantengan con recursos públicos.
Evitar las carreteras no aptas para peatones: los resultados evitarán las carreteras que no sean aptas para peatones.
Evitar tramos de escalera: los resultados evitarán todos los tramos de escalera de una ruta adecuada para peatones.
Evitar carreteras de peaje: los resultados evitarán todas las carreteras de peaje para automóviles.
Evitar carreteras de peaje para camiones: los resultados evitarán todas las carreteras de peaje para camiones.
Evitar carreteras con restricciones para camiones: los resultados evitarán las carreteras donde no estén permitidos los camiones excepto para hacer entregas.
Evitar carreteras sin pavimentar: los resultados evitarán las carreteras que no estén pavimentadas (de tierra, de gravilla, etc.).
Restricción de número de ejes: los resultados no incluirán carreteras en las que los camiones con el número especificado de ejes estén prohibidos. El número de ejes se puede especificar mediante el parámetro de restricción Número de ejes.
Conduciendo autobús: los resultados no incluirán carreteras en las que estén prohibidos los autobuses. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.
Conduciendo taxi: los resultados no incluirán carreteras en las que estén prohibidos los taxis. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.
Conduciendo camión: los resultados no incluirán carreteras en las que estén prohibidos los camiones. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.
Conduciendo automóvil: los resultados no incluirán carreteras en las que estén prohibidos los automóviles. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.
Conduciendo vehículo de emergencia: los resultados no incluirán carreteras en las que estén prohibidos los vehículos de emergencia. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.
Restricción de altura: los resultados no incluirán las carreteras en las que la altura del vehículo supere la altura máxima permitida para la carretera. La altura del vehículo se puede especificar usando el parámetro de restricción Altura del vehículo (metros).
Restricción de longitud de eje de dirección a eje trasero: los resultados no incluirán las carreteras en las que la longitud del vehículo supere la distancia máxima permitida entre el eje de dirección y el eje trasero para la carretera. La longitud entre el eje de dirección y el eje trasero se puede especificar usando el parámetro de restricción Longitud de eje de dirección a eje trasero del vehículo (metros).
Restricción de longitud: los resultados no incluirán las carreteras en las que la longitud del vehículo supere la longitud máxima permitida para la carretera. La longitud del vehículo se puede especificar usando el parámetro de restricción Longitud del vehículo (metros).
Preferido para peatones: los resultados utilizarán rutas preferidas adecuadas para la navegación para peatones.
En moto: los resultados no incluirán carreteras en las que estén prohibidas las motocicletas. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.
Prohibidas las carreteras en obras: los resultados no incluirán carreteras que estén en obras.
Prohibidos los camiones o tractores con uno o varios remolques: los resultados no incluirán las carreteras en las que estén prohibidos los camiones o tractores con uno o varios remolques.
Prohibidos los vehículos de un solo eje: los resultados no incluirán carreteras en las que los vehículos de un solo eje estén prohibidos.
Prohibidos los vehículos de doble eje: los resultados no incluirán carreteras en las que los vehículos de doble eje estén prohibidos.
Prohibido el tráfico de paso: los resultados no incluyen las carreteras donde no se permita el tráfico de paso (tráfico no local).
Restricción de camiones con remolques: los resultados no incluirán carreteras en las que los camiones con el número especificado de remolques estén prohibidos. El número de remolques del camión se puede especificar mediante el parámetro de restricción Número de remolques del camión.
Usar rutas preferidas para materiales peligrosos: los resultados darán prioridad a las carreteras designadas para el transporte de materiales peligrosos.
Usar rutas preferidas para camiones: los resultados darán prioridad a las carreteras que se hayan diseñado como rutas para camiones, como las que forman parte de la red nacional descrita en la National Surface Transportation Assistance Act de Estados Unidos, las carreteras que se hayan diseñado como rutas de camiones en un estado o una provincia, o aquellas que prefieran los camioneros cuando conducen por un área.
A pie: los resultados no incluirán carreteras en las que estén prohibidos los peatones.
Restricción de peso: los resultados no incluirán las carreteras en las que el peso del vehículo supere el peso máximo permitido para la carretera. El peso del vehículo se puede especificar usando el parámetro de restricción Peso del vehículo (kilogramos).
Restricción de peso por eje: los resultados no incluirán las carreteras en las que el peso del vehículo por eje supere el peso máximo permitido por eje para la carretera. El peso por eje del vehículo se puede especificar usando el parámetro de restricción Peso por eje del vehículo (kilogramos).
Restricción de ancho: los resultados no incluirán las carreteras en las que el ancho del vehículo supere el ancho máximo permitido para la carretera. El ancho del vehículo se puede especificar usando el parámetro de restricción Ancho del vehículo (metros).
Nota:
Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.
Heredado:
El atributo de restricción Driving a Delivery Vehicle 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 Driving a Truck junto con el atributo de restricción Avoid Truck Restricted Roads.
El valor del parámetro de restricciones se especifica como una lista de nombres de restricción. Un valor de null indica que no se deben utilizar restricciones para buscar la ruta mejor, sino solo si travel_mode tiene el valor Custom.
Example for restrictions
restrictions=[Driving a Truck, Height Restriction, Length Restriction]
attribute_parameter_values
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.
Precaución:
El valor de este parámetro, independientemente de si se basa en el valor predeterminado o se establece explícitamente un valor, se invalida si se entrega en el parámetro travel_mode.
Puede especificar el parámetro attribute_parameter_values con una estructura JSON que represente a un conjunto de entidades. La estructura JSON puede incluir estas propiedades:
features: especifique una matriz de entidades.
- geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
Sugerencia:
Se recomienda especificar explícitamente el valor de spatialReference y especificarlo para todo el JSON en lugar de para cada geometría individual.
- attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.
- geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
url: especifique una solicitud de consulta REST para cualquier entidad, mapa o servicio de geoprocesamiento de ArcGIS Server que devuelva un conjunto de entidades JSON.
Cada entidad de la matriz de entidades representa un parámetro de atributos y contiene estos campos:
- attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.
Nota:
La estructura JSON del parámetro attribute_parameter_values no tiene ninguna propiedad geometry.
Attributes for attribute_parameter_values
El parámetro attribute_parameter_values se puede especificar con los siguientes atributos:
- AttributeName: el nombre de la restricción.
- ParameterName: el nombre del parámetro asociado con la restricción. Una restricción puede tener uno o más valores de ParameterName según su uso previsto, lo que implica que pueden necesitarse varios parámetros attribute_parameter_values para un único nombre de atributo.
- ParameterValue: el valor de ParameterName utilizado por el servicio al evaluar la restricción.
Nota:
En la mayoría de los casos, el parámetro attribute_parameter_values depende del parámetro restrictions. El ParameterValue especificado como parte de attribute_parameter_values es aplicable solo si el nombre de la restricción se especifica como valor del parámetro restrictions.
Si se especifica el parámetro attribute_parameter_values, cada restricción (mostrada como AttributeName) tiene un valor ParameterName, Restriction Usage, que especifica si la restricción prohíbe, evita o prefiere los viajes por las carreteras asociadas con la restricción y en qué medida las carreteras se evitan o tienen preferencia.
The Restriction Usage ParameterName can be assigned any of the following string values or their equivalent numeric values listed in the parentheses:
- Prohibited (-1): está prohibido viajar por las carreteras que presenten esta restricción.
- Avoid_High (5): es muy improbable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.
- Avoid_Medium (2): es improbable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.
- Avoid_Low (1.3): es algo improbable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.
- Prefer_Low (0.8): es algo probable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.
- Prefer_Medium (0.5): es probable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.
- Prefer_High (0.2): es muy probable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.
En la siguiente tabla, se enumeran los nombres de restricción y los valores de los parámetros de restricción predeterminados para todas las restricciones. El valor predeterminado del parámetro attribute_parameter_values es la estructura JSON que contiene todas las filas de la tabla siguiente.
Sugerencia:
Si desea utilizar el valor predeterminado para cualquier restricción, AttributeName, ParameterName y ParameterValue no tienen que especificarse como parte del parámetro attribute_parameter_values.
Nombre de restricción | Nombre del parámetro de restricción | Valor predeterminado del parámetro de restricción |
---|---|---|
Prohibido cualquier material peligroso | Uso con restricciones | Prohibido |
Evitar carreteras VAO | Uso con restricciones | Prohibido |
Evitar carriles rápidos | Uso con restricciones | Prohibido |
Evitar ferries | Uso con restricciones | Avoid_Medium |
Evitar barreras | Uso con restricciones | Avoid_Medium |
Evitar carreteras de acceso limitado | Uso con restricciones | Avoid_Medium |
Evitar carreteras privadas | Uso con restricciones | Avoid_Medium |
Evitar las carreteras no aptas para peatones | Uso con restricciones | Avoid_High |
Evitar tramos de escalera | Uso con restricciones | Avoid_High |
Evitar carreteras de peaje | Uso con restricciones | Avoid_Medium |
Evitar carreteras de peaje para camiones | Uso con restricciones | Avoid_Medium |
Evitar carreteras con restricciones para camiones | Uso con restricciones | Avoid_High |
Evitar carreteras sin pavimentar | Uso con restricciones | Avoid_High |
Restricción de número de ejes | Número de ejes | 0 |
Uso con restricciones | Prohibido | |
Conducción de un autobús | Uso con restricciones | Prohibido |
Conducción de un taxi | Uso con restricciones | Prohibido |
Conducción de un camión | Uso con restricciones | Prohibido |
Conducción de un automóvil | Uso con restricciones | Prohibido |
Conducción de un vehículo de emergencia | Uso con restricciones | Prohibido |
Restricción de altura | Uso con restricciones | Prohibido |
Altura del vehículo (metros) | 0 | |
Restricción de longitud de eje de dirección a eje trasero | Uso con restricciones | Prohibido |
Longitud entre el bulón de arrastre y el eje trasero del vehículo (metros) | 0 | |
Restricción de longitud | Uso con restricciones | Prohibido |
Longitud del vehículo (metros) | 0 | |
Preferido para peatones | Uso con restricciones | Prefer_Low |
Conducción de una motocicleta | Uso con restricciones | Prohibido |
Carreteras en obras prohibidas | Uso con restricciones | Prohibido |
Prohibidos los camiones o tractores con uno o varios remolques | Uso con restricciones | Prohibido |
Prohibidos los vehículos con un solo eje | Uso con restricciones | Prohibido |
Prohibidos los vehículos con eje en tándem | Uso con restricciones | Prohibido |
Prohibido el tráfico de paso | Uso con restricciones | Avoid_High |
Restricción de camiones con remolques | Uso con restricciones | Prohibido |
Número de remolques del camión | 0 | |
Usar rutas preferidas para materiales peligrosos | Uso con restricciones | Prefer_Medium |
Usar rutas preferidas para camiones | Uso con restricciones | Prefer_High |
Caminata | Uso con restricciones | Prohibido |
WalkTime | Velocidad a pie (km/h) | 5 |
Restricción de peso | Uso con restricciones | Prohibido |
Peso del vehículo (kilogramos) | 0 | |
Restricción de peso por eje | Uso con restricciones | Prohibido |
Peso del vehículo por eje (kilogramos) | 0 | |
Restricción de ancho | Uso con restricciones | Prohibido |
Anchura del vehículo (metros) | 0 |
Nota:
Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.
Syntax example for attribute_parameter_values
{
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>,
"<field3>": <value13>
}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>,
"<field3>": <value13>
}
}
]
}
Example for attribute_parameter_values
En este ejemplo, se muestra cómo especificar la altura y el peso del vehículo para utilizarlo con las restricciones de altura y peso respectivamente, junto con una preferencia alta por la inclusión de rutas designadas para camiones. Da como resultado una ruta que no contiene ninguna carretera en la que la distancia al suelo bajo pasos elevados o túneles sea menor que la altura del vehículo. Los resultados tampoco incluirán ninguna carretera con puentes limitados o carreteras locales que prohíban los vehículos pesados si el peso del vehículo supera el peso máximo permitido. Sin embargo, la ruta incluirá la mayor cantidad de carreteras posible que estén designadas como rutas preferidas para camiones. Recuerde que no se especifica el Restriction Usage ParameterName para las restricciones de Height Restriction y Weight Restriction dado que deseamos usar el valor predeterminado de PROHIBITED para estos parámetros de restricción.attribute_parameter_values=
{
"features": [
{
"attributes": {
"AttributeName": "Height Restriction",
"ParameterName": "Vehicle Height (meters)",
"ParameterValue": 4.12
}
},
{
"attributes": {
"AttributeName": "Weight Restriction",
"ParameterName": "Vehicle Weight (kilograms)",
"ParameterValue": 36287
}
},
{
"attributes": {
"AttributeName": "Use Preferred Truck Routes",
"ParameterName": "Restriction Usage",
"ParameterValue": "PREFER_HIGH"
}
}
]
}
route_shape
Use este parámetro para especificar el tipo de entidades de ruta que constituyen la salida del servicio. El parámetro se puede especificar usando uno de los siguientes valores:
- True Shape: devolver la forma exacta de la ruta resultante basada en las calles subyacentes. Dado que esta opción crea la geometría más detallada para las rutas de salida, elegirla tiende a alargar el proceso y crear archivos de salida más grandes.
- True Shape with Measures: devolver la forma exacta de la ruta resultante basada en las calles subyacentes. Adicionalmente, construya las mediciones de tal modo que la forma se pueda usar para referenciación lineal. Las mediciones aumentan desde la primera parada y registran el tiempo de viaje acumulado o la distancia de viaje acumulada en las unidades que se hayan especificado en el parámetro measurement_units.
- Straight Line: devolver una línea recta entre el inicio y el final de la ruta.
- None: no devolver ninguna forma de ruta. Este valor puede ser útil en casos en los que desee optimizar el rendimiento y solo le interese determinar el tiempo o la distancia de viaje total de la ruta, pero no las trayectorias de la ruta.
El valor predeterminado es True Shape.
Si el parámetro route_shape se ha cambiado a True Shape o True Shape with Measure, la generalización de la forma de la ruta se puede controlar mejor usando el valor apropiado para el parámetro route_ line_simplification_tolerance.
Sea cual sea el valor elegido para el parámetro route_shape, la ruta mejor siempre se determina minimizando el tiempo de viaje o la distancia de viaje; nunca se determina usando la distancia en línea recta entre paradas. Esto significa que solo las formas de la ruta son diferentes, no las calles subyacentes en las que se realizan las búsquedas para encontrar la ruta.
Sugerencia:
Al especificar True Shape o True Shape with Measures, se crea la geometría más detallada para las rutas de salida. Así, elegir estas opciones tiende a aumentar el tiempo de respuesta para la solicitud y también crear respuestas mayores. Por lo tanto, utilice estas opciones solo cuando se requiere la forma exacta de la ruta.
route_line_simplification_tolerance
Utilice este parámetro para especificar en qué medida desea simplificar la geometría de las rutas devueltas por el servicio.
Precaución:
El valor de este parámetro, independientemente de si se basa en el valor predeterminado o establecido explícitamente un valor, se utiliza en el análisis solo si el parámetro travel_mode tiene el valor Custom.
Este parámetro solo es relevante si route_shape tiene el valor Forma verdadera o Forma verdadera con medidas porque las otras opciones de route_shape no se pueden simplificar más.
La simplificación mantiene puntos críticos de una ruta, como los giros en intersecciones, para definir la forma esencial de la ruta y quita el resto de los puntos. La distancia de simplificación que especifique será el desplazamiento máximo permisible que puede apartarse la línea simplificada de la línea original. La simplificación de una línea reduce el número de vértices que forman parte de la geometría de la ruta. Con ello se reduce el tamaño global de la respuesta y también se mejora el rendimiento a la hora de dibujar las formas de las rutas en las aplicaciones.
El parámetro se especifica como una estructura JSON que contiene las siguientes propiedades:
- distance: el valor de distancia de simplificación.
- units: las unidades del valor de distancia de simplificación. El valor de la propiedad debe especificarse como uno de los siguientes valores: esriCentimeters, esriDecimalDegrees, esriDecimeters, esriFeet, esriInches, esriKilometers, esriMeters, esriMiles, esriMillimeters, esriNauticalMiles, esriPoints y esriYards.
El valor predeterminado del parámetro route_line_simplification_tolerance es de 10 metros.
Syntax example for route_line_simplification_tolerance
{
"distance": <value>,
"units": "<unit>"
}
Example for route_line_simplification_tolerance
{
"distance": 10,
"units": "esriMeters"
}
populate_route_edges
Utilice este parámetro para especificar si el servicio debe generar ejes para cada ruta. Los ejes de ruta representan las entidades individuales de calle o similares, como pistas, que atraviesa una ruta. Por lo general, los ejes de ruta de salida se utilizan para ver qué calles recorren más o menos las rutas resultantes.
- true: generar ejes de ruta.
- false: no generar ejes de ruta.
El valor predeterminado es false.
populate_directions
Utilice este parámetro para especificar si el servicio debe generar indicaciones de conducción para cada ruta.
true: generar indicaciones. Las indicaciones se configuran en función de los valores de los parámetros directions_language, directions_style_name y directions_distance_units.
-
false: no generar indicaciones. El servicio devuelve un valor vacío para la propiedad features en el parámetro de salida output_directions.
directions_language
El idioma que se utilizará para generar las indicaciones de viaje.
This parameter applies only when the populate_directions parameter is set to true. The service supports generating directions in the following languages:
- ar: árabe
- bg: búlgaro
- bs: bosnio
- ca: catalán
- cs: checo
- da: danés
- de: alemán
- el: griego
- en: inglés
- es: español
- et: estonio
- fi: finés
- fr: francés
- he: hebreo
- hr: croata
- hu: húngaro
- id: indonesio
- it: italiano
- ja: japonés
- ko: coreano
- lt: lituano
- lv: letón
- nb: noruego
- nl: neerlandés
- pl: polaco
- pt-BR: portugués (Brasil)
- pt-PT: portugués (Portugal)
- ro: rumano
- ru: ruso
- sk: eslovaco
- sl: esloveno
- sr: serbio
- sv: sueco
- th: tailandés
- tr: turco
- uk: ucraniano
- vi: vietnamita
- zh-CN: chino (China)
- zh-HK: chino (Hong Kong)
- zh-TW: chino (Taiwán)
El servicio intenta buscar una coincidencia exacta del idioma especificado, incluida cualquier localización de idioma. Si no se encuentra ninguna coincidencia exacta, intenta hacer una coincidencia con la familia lingüística. Si no se encuentra ninguna coincidencia, el servicio devuelve las indicaciones en el idioma predeterminado del sistema operativo del servidor. Por ejemplo, si el idioma de las indicaciones se especifica como es-MX (español de México), el servicio generará las indicaciones en español, puesto que admite el código de idioma es, no es-MX.
Precaución:
Si un idioma admite la localización, como el portugués brasileño (pt-BR) y el portugués europeo (pt-PT), especifique la familia lingüística y la localización. Si solo especifica la familia lingüística, el servicio no hará coincidir dicha familia y devolverá las indicaciones en el idioma predeterminado del sistema operativo del servidor. Por ejemplo, si el idioma de las indicaciones se especifica como pt, el servicio generará las indicaciones en el idioma predeterminado del sistema operativo del servidor porque no puede determinar si se deben generar en pt-BR o pt-PT.
directions_distance_units
Especifica las unidades para mostrar la distancia de viaje en las indicaciones de conducción. Este parámetro solo es necesario si el parámetro populate_directions tiene el valor true. El parámetro se puede especificar usando uno de los siguientes valores:
- Miles
- Kilometers
- Meters
- Feet
- Yards
- NauticalMiles
El valor predeterminado es Miles.
directions_style_name
Especifique el nombre del estilo de formato de las indicaciones. Este parámetro se puede especificar mediante estos valores:
- NA Desktop: genera indicaciones paso a paso adecuadas para imprimir.
- NA Navigation: genera indicaciones paso a paso diseñadas para un dispositivo de navegación desde el vehículo.
- NA Campus: genera indicaciones paso a paso a pie, diseñadas para rutas de peatones.
El valor predeterminado es NA Desktop.
This parameter applies only when the populate_directions parameter is set to true.
impedance
Especifique la impedancia.
Precaución:
El valor de este parámetro, independientemente de si se basa en el valor predeterminado o se establece explícitamente un valor, se invalida si se entrega en travel_mode.
La impedancia es un valor que cuantifica el viaje a lo largo de la red de transporte. La distancia de viaje es un ejemplo de impedancia; cuantifica la longitud de caminos y segmentos de la carretera. Del mismo modo, el tiempo de conducción (el tiempo típico que lleva conducir un coche a lo largo de un segmento de carretera), es un ejemplo de impedancia. Los tiempos de conducción pueden variar según el tipo de vehículo (por ejemplo, el tiempo que un camión tarda en viajar a lo largo de una ruta suele ser más largo que el de un coche) por lo que pueden existir muchos valores de impedancia que representan los tiempos de viaje para distintos tipos de vehículos. Los valores de la impedancia también pueden variar con el tiempo; el tráfico en directo y típico hace referencia a los valores de la impedancia dinámica. Cada recorrido a pie y segmento de carretera almacena al menos un valor de impedancia. Al realizar un análisis de red, los valores de impedancia se utilizan para calcular los mejores resultados, como buscar la ruta más corta (la ruta que minimiza la impedancia) entre dos puntos.
El parámetro impedance se puede especificar con estos valores:
- TravelTime: se utilizan datos de tráfico históricos y en directo. Esta opción resulta útil para modelar el tiempo que tardan los automóviles en desplazarse por carreteras a una hora concreta del día utilizando datos de velocidad del tráfico en directo si están disponibles. Si utiliza TravelTime, si lo desea puede definir el parámetro de atributos TravelTime::Vehicle Maximum Speed (km/h) para especificar los límites físicos de la velocidad a la que el vehículo es capaz de desplazarse.
- Minutos: no se utilizan datos de tráfico en directo, sino velocidades medias históricas de los datos de automóviles.
- TruckTravelTime: se utilizan datos de tráfico históricos y en directo, pero se establece una velocidad máxima al límite de velocidad especificado para camiones. Resulta útil para modelar el tiempo que tardan los camiones en desplazarse por carreteras a una hora concreta del día. Si utiliza TruckTravelTime, si lo desea puede definir el parámetro de atributos TruckTravelTime::Vehicle Maximum Speed (km/h) para especificar los límites físicos de la velocidad a la que el camión es capaz de desplazarse.
- TruckMinutes: no utiliza datos de tráfico en directo, pero sí utiliza las velocidades más bajas del promedio histórico para automóviles y los límites de velocidad permitidos para camiones.
- WalkTime: el valor predeterminado es una velocidad de 5 km/h en todas las carreteras y caminos, pero se puede configurar mediante el parámetro de atributos WalkTime::Walking Speed (km/h).
- Millas: las mediciones de longitud de carreteras se almacenan en millas y se pueden utilizar para realizar análisis según la distancia más corta.
- Kilómetros: las mediciones de longitud de carreteras se almacenan en kilómetros y se pueden utilizar para realizar análisis según la distancia más corta.
Nota:
Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.
Si elige una impedancia basada en el tiempo, como TravelTime, TruckTravelTime, Minutes, TruckMinutes o WalkTime, el parámetro measurement_units se debe configurar con un valor basado en el tiempo; si prefiere una impedancia basada en la distancia, como Miles, Kilometers o measurement_units, deben estar basadas en la distancia.
Heredado:
Los valores de impedancia de Drive Time, Truck Time, Walk Time y Travel Distance ya no se admiten y se eliminarán en versiones futuras.
save_route_data
Use este parámetro para especificar si el servicio debe crear un archivo comprimido que contiene una geodatabase de archivos que alberga las entradas y las salidas del análisis en un formato que se puede usar para compartir las capas de ruta con su portal.
- true: guarda los datos de rutas. El archivo comprimido de datos de rutas se puede descargar desde la dirección URL proporcionada como parte del parámetro output_route_data.
- false: no guarda los datos de rutas.
El valor predeterminado es false.
save_output_network_analysis_layer
Use este parámetro para especificar si el servicio debe guardar la configuración del análisis como un archivo de capa de análisis de red. No es posible trabajar directamente con este archivo, aunque lo abra en una aplicación de ArcGIS Desktop como ArcGIS Pro. Se debe enviar al Soporte técnico de Esri para diagnosticar la calidad de los resultados devueltos por el servicio.
- true: guarda el archivo de capas de análisis de red. El archivo se puede descargar desde la dirección URL proporcionada como parte del parámetro output_network_analysis_layer.
- false: no guarda el archivo de capas de análisis de red.
El valor predeterminado es false.
overrides
Nota:
Este parámetro es solo para uso interno.
time_impedance
El valor de impedancia basada en el tiempo representa el tiempo de viaje a lo largo de segmentos de carretera o en otras partes de la red de transporte.
- Minutes
- TravelTime
- WalkTime
- TruckMinutes
- TruckTravelTime
Nota:
Si la impedancia del modo de viaje, según se especifica con el parámetro impedance, está basada en el tiempo, los valores de los parámetros time_impedance e impedance deben ser los mismos. De lo contrario, el servicio devolverá un error.Nota:
Este parámetro se usa para definir un modo de viaje personalizado. El valor de este parámetro se ignora si el parámetro travel_mode no está definido como Custom.
Nota:
Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.
distance_impedance
El valor de impedancia basada en la distancia representa la distancia de viaje a lo largo de segmentos de carretera o en otras partes de la red de transporte.
- Miles
- Kilometers
Nota:
Si la impedancia del modo de viaje, según se especifica con el parámetro impedance, está basada en la distancia, los valores de los parámetros distance_impedance e impedance deben ser los mismos. De lo contrario, el servicio devolverá un error.Nota:
Este parámetro se usa para definir un modo de viaje personalizado. El valor de este parámetro se ignora si el parámetro travel_mode no está definido como Custom.
Nota:
Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.
output_format
Especifica el formato en el que se devolverán las entidades de salida.
- Conjunto de entidades: las entidades de salida se generarán como tablas y clases de entidad. Esta es la opción predeterminada.
- Archivo JSON: las entidades de salida se devolverán como un archivo comprimido que contiene la representación JSON de las salidas. Si se especifica esta opción, la salida será un archivo único (con una extensión .zip) que contiene uno o varios archivos JSON (con una extensión .json) para cada una de las salidas que crea el servicio.
- Archivo GeoJSON: las entidades de salida se devolverán como un archivo comprimido que contiene la representación GeoJSON de las salidas. Si se especifica esta opción, la salida será un archivo único (con una extensión .zip) que contiene uno o varios archivos GeoJSON (con una extensión .geojson) para cada una de las salidas que crea el servicio.
Sugerencia:
Specifying file based output format, such asJSON File, is useful when you are calling the service using the REST endpoint of the service. In such cases, returning all the outputs as a single file allows you to download large results that can be generated by the service. For example, if you are working with GenerateOriginDestinationCostMatrix service and you generate a travel matrix with 1,000,000 records, returning such a large output as a Feature Set can cause the service to fail since the service will try to send the entire output in a single attempt. With a file based output, the service sends the output in multiple chunks reducing the possibility of timeouts when returning the outputs.
env:outSR
Utilice este parámetro para especificar la referencia espacial de las geometrías, como entidades de líneas o puntos, que devuelve un servicio.
El valor del parámetro se puede especificar como un Id. conocido (WKID) para la referencia espacial. Consulte Utilizar referencias espaciales para buscar valores de WKID.
Muchos de los mapas base proporcionados por ArcGIS Online están en la referencia espacial Web Mercator (WKID 102100). Al especificar env:outSR=102100 se devuelven las geometrías de la referencia espacial Web Mercator, que se pueden dibujar sobre los mapas base.
ignore_network_location_fields
Especifica si los campos de ubicación de red se tendrán en cuenta al localizar entradas como paradas o instalaciones en la red.
- true: los campos de ubicación de red no se tendrán en cuenta al localizar las entradas en la red. En su lugar, las entradas siempre se localizarán realizando una búsqueda espacial.
- false: los campos de ubicación de red se tendrán en cuenta al localizar las entradas en la red.
El valor predeterminado es false.
ignore_invalid_locations
Especifica si se ignorarán las ubicaciones de entrada no válidas.
- true—
Las ubicaciones de red no ubicadas se ignorarán y el análisis se ejecutará únicamente utilizando ubicaciones de red válidas. El análisis también continuará si las ubicaciones están en elementos no transitables o tienen otros errores. Esta opción es útil si usted sabe que las ubicaciones de red no son todas correctas, pero desea ejecutar el análisis con las ubicaciones de red que son válidas. Esta es la opción predeterminada.
- false—
Las ubicaciones no válidas no se ignorarán. No ejecute el análisis si hay ubicaciones no válidas. Corrija las ubicaciones no válidas y vuelva a ejecutar el análisis.
locate_settings
Use este parámetro para especificar configuraciones que afecten a cómo se ubican las entradas, como la máxima distancia de búsqueda que se usa al localizar las entradas en la red, o las fuentes de red que se usan para localizar. Para restringir la ubicación en una parte del origen, puede especificar una cláusula WHERE para un origen.
Más información sobre la localización de entradas
El valor de parámetro se especifica como un objeto JSON. El objeto JSON le permite especificar un JSON de localizador para todas las entidades de entrada en el análisis o puede especificar una excepción para una entrada concreta. La excepción le permite tener diferentes ajustes para cada entrada de análisis. Por ejemplo, es posible no permitir que las paradas se ubiquen en las rampas de autopista y permitir que las barreras de punto se ubiquen en las rampas de autopista.
Nota:
El valor predeterminado de este parámetro se puede obtener desde el recurso de servicio JSON. Incorpore ?token=<yourToken>&f=pjson a la URL de servicio para acceder al recurso de servicio JSON.
El objeto JSON del localizador tiene las siguientes propiedades:
- tolerance y toleranceUnits: permite controlar la distancia máxima de búsqueda al localizar las entradas. Si no se encuentra ninguna ubicación de red válida dentro de esta distancia, la entidad de entrada se considerará no ubicada. Una pequeña tolerancia de búsqueda disminuye la probabilidad de ubicarse en la calle equivocada, pero aumenta la probabilidad de no encontrar ninguna ubicación de red válida. El valor del parámetro toleranceUnits se puede especificar como uno de los siguientes valores:
- esriCentimeters
- esriDecimalDegrees
- esriDecimeters
- esriFeet
- esriInches
- esriIntFeet
- esriIntInches
- esriIntMiles
- esriIntNauticalMiles
- esriIntYards
- esriKilometers
- esriMeters
- esriMiles
- esriMillimeters
- esriNauticalMiles
- esriYards
- sources: le permite controlar qué fuente de red se puede utilizar para la ubicación. Por ejemplo, puede configurar el análisis para localizar entradas en calles, pero no en aceras. La lista de posibles fuentes en las que localizar es específica del dataset de red al que hace referencia este servicio. Solo se usan para ubicar las fuentes que estén presentes en la matriz de fuentes. Es posible especificar una cláusula where en cada fuente especificada en la matriz de fuentes para restringir aún más la localización en ese origen que coincida con ciertas características mediante una expresión SQL. Por ejemplo, puede configurar el análisis para que localice las entradas solo en las entidades de calles que coincidan con determinadas clases de carreteras, como evitar las rampas de las autopistas. Las fuentes se especifican como una matriz de objetos, cada uno con las siguientes propiedades:
- name: nombre de la clase de entidad de la fuente de red que se puede usar para ubicar entradas.
- where: una expresión SQL en la clase de entidad de fuente de red.
- allowAutoRelocate: permite controlar si las entradas con campos de ubicación de red existentes se pueden reubicar automáticamente al solucionar para garantizar que se disponga de campos de ubicación enrutables y válidos para el análisis. Si el valor es true, los puntos ubicados en elementos de red restringidos y los puntos afectados por las barreras se reubicarán en la ubicación enrutable más cercana. Si el valor es false, los campos de ubicación de red se utilizarán como están, aunque los puntos no sean accesibles, y esto puede hacer que la resolución falle. Aunque el valor sea false, las entradas sin campos de ubicación o campos de ubicación incompletos se localizarán durante la operación de resolución.
Syntax for locate_settings
Sintaxis para especificar locate_settings utilizando una estructura JSON.
Nota:
Ni las barreras de línea ni las barreras de polígono son compatibles con las propiedades tolerance y toleranceUnits.
{
"default": {
"tolerance": <value>,
"toleranceUnits": "<unit>",
"allowAutoRelocate": true | false,
"sources": [{
"name": "<sourceName>",
"where": "<whereClause>"
}]
},
"overrides": {
"stops": {
"tolerance": <value>,
"toleranceUnits": "<unit>",
"allowAutoRelocate": true | false,
"sources": [{
"name": "<sourceName>",
"where": "<whereClause>"
}]
},
"point_barriers": {
"tolerance": <value>,
"toleranceUnits": "<unit>",
"allowAutoRelocate": true | false,
"sources": [{
"name": "<sourceName>",
"where": "<whereClause>"
}]
},
"line_barriers": {
"allowAutoRelocate": true | false,
"sources": [{
"name": "<sourceName>",
"where": "<whereClause>"
}]
},
"polygon_barriers": {
"allowAutoRelocate": true | false,
"sources": [{
"name": "<sourceName>",
"where": "<whereClause>"
}]
}
}
}
Examples for locate_settings
Ejemplo 1: especificar la configuración predeterminada de localización mediante una estructura JSON
En este ejemplo, se muestra cómo especificar la configuración de localización para que las entradas solo se ubiquen a menos de 500 metros de la ubicación especificada. Una pequeña tolerancia de búsqueda como esta puede ser valiosa si está solucionando utilizando un modo de viaje a pie y no desea que las entradas se ubiquen a más de 500 metros de la ubicación del punto original.
{
"default": {
"tolerance": 500,
"toleranceUnits": "esriMeters",
"allowAutoRelocate": true,
"sources": [
{
"name": "Routing_Streets"
}
]
}
}
Ejemplo 2: especificar la configuración de localización predeterminada y las excepciones de la configuración de localización de algunas entradas mediante una estructura JSON
En este ejemplo, se muestra cómo especificar la configuración de localización para evitar que se ubiquen paradas en rampas de autopista. La configuración de localización predeterminada permite la localización en la fuente Routing_Streets. En el caso de las paradas, se utiliza la opción overrides para especificar una cláusula WHERE para la fuente Routing_Streets y así evitar que se ubiquen en rampas de autopista (un valor de campo ROAD_CLASS igual a 3). Con este JSON locate_settings, las paradas no pueden ubicarse en rampas de autopista, lo que sí puede ocurrir con las barreras ya que utilizan la configuración de localización predeterminada, que no incluye ninguna cláusula where.
{
"default": {
"tolerance": 20,
"toleranceUnits": "esriKilometers",
"allowAutoRelocate": true,
"sources": [{
"name": "Routing_Streets"
}]
},
"overrides": {
"stops": {
"sources": [{
"name": "Routing_Streets",
"where": "ROAD_CLASS <> 3"
}]
}
}
}
Ejemplo tres: especificar la configuración de localización predeterminada y las excepciones de la configuración de localización usando una estructura JSON para que las diferentes entradas se localicen utilizando diferentes fuentes.
En este ejemplo, se muestra cómo especificar la configuración de localización predeterminada para localizar entradas en la clase de entidad de origen Routing_Streets y permitir que las barreras de punto se ubiquen solo en la clase de entidad de cruces del sistema (Routing_ND_Junctions).
{
"default": {
"tolerance": 20,
"toleranceUnits": "esriKilometers",
"allowAutoRelocate": true,
"sources": [{
"name": "Routing_Streets"
}]
},
"overrides": {
"point_barriers": {
"sources": [{
"name": "Routing_ND_Junctions"
}]
}
}
}
accumulate_attributes
Lista de los atributos de coste que se acumularán durante el análisis. Estos atributos acumulados solo se utilizan como referencia; el solucionador solo utiliza el atributo de coste empleado en el modo de viaje indicado al solucionar el análisis.
Para cada atributo de coste acumulado, se rellena un campo Total_[Cost Attribute Name]_[Units] en las salidas creadas desde la herramienta.
Output parameters
Upon successful completion, the service returns the best paths between the stops and the status indicating whether the analysis was successful using the output parameters described below.
Sugerencia:
The geometries for the output parameters are returned by default in the WGS84 (WKID: 4326) spatial reference. You can get the geometries in a different spatial reference using the env:outSR parameter when submitting the request or using the outSR parameter when retrieving an output parameter.
output_routes
Ofrece acceso a las rutas resultantes.
La siguiente tabla muestra los campos que se devuelven para las rutas de salida:
Campo | Descripción |
---|---|
Name | El nombre de la ruta se basa en el campo RouteName de las paradas asociadas. Si el campo RouteName de entrada es nulo, el nombre se deriva del campo Name de la primera y de la última parada. |
StopCount | El número de paradas asignadas a la ruta. |
StartTime | La hora de inicio de la ruta, indicada en la zona horaria en la que se encuentra la primera parada. |
EndTime | La hora de fin de la ruta, indicada en la zona horaria en la que se encuentra la última parada. |
StartTimeUTC | La hora de inicio de la ruta en la hora universal coordinada (UTC). |
EndTimeUTC | La hora de finalización de la ruta en la hora universal coordinada (UTC). |
Total_Minutes | El tiempo de viaje acumulado en minutos desde el principio de la primera parada hasta el final de la última parada de una ruta. Se incluye cualquier valorAdditionalTime para las paradas visitadas, si se especifica. Nota:Se incluye un campo adicional, Total_[TimeUnits], si measurement_units está basado en tiempo y su valor es distinto de Minutes. Los valores de campo están en las unidades especificadas en el parámetro measurement_units. Nota:Se incluyen campos adicionales, Total_[AccumulateAttributeName]_[TimeUnits], para cada atributo de coste basado en el tiempo que se acumula durante el análisis. |
Total_Miles | La distancia de viaje acumulada en millas desde el principio de la primera parada hasta el final de la última parada de una ruta. Se incluye cualquier valorAdditionalDistance para las paradas visitadas, si se especifica. Nota:Se incluye un campo adicional, Total_[DistanceUnits], si el parámetro measurement_units está basado en distancia y su valor es distinto de Miles o Kilometers. Los valores de campo están en las unidades especificadas en el parámetro measurement_units. Nota:Se incluyen campos adicionales, Total_[AccumulateAttributeName]_[DistanceUnits], para cada atributo de coste basado en la distancia que se acumula durante el análisis. |
Total_Kilometers | La distancia de viaje acumulada en kilómetros desde el principio de la primera parada hasta el final de la última parada de una ruta. Se incluye cualquier valorAdditionalDistance para las paradas visitadas, si se especifica. |
Total_Other | El coste de viaje acumulado en unidades desconocidas desde el principio de la primera parada hasta el final de la última parada de una ruta. Se incluye cualquier valorAdditionalCost para las paradas visitadas, si se especifica. Este campo únicamente se incluye cuando el modo de viaje que se utiliza para el análisis tiene un atributo de impedancia que no está basado ni en tiempo ni en distancia. Nota:Se incluyen campos Total_[AccumulateAttributeName]_Other adicionales para cada atributo de coste que no esté basado en el tiempo ni en la distancia y que se acumule durante el análisis. |
TotalWait_Minutes | Este campo almacena el tiempo de espera total de la ruta, que es el tiempo transcurrido en las paradas esperando a que se abran las ventanas de tiempo. El campo presenta un valor nulo si no se usan ventanas de tiempo en el análisis. Nota:Se incluye un campo adicional, TotalWait_[TimeUnits], si el parámetro measurement_units no está definido como Minutes. Los valores de campo están en las unidades especificadas en el parámetro measurement_units. Nota:Se incluyen campos adicionales, TotalWait_[AccumulateAttributeName]_[TimeUnits], para cada atributo de coste basado en el tiempo que se acumula durante el análisis. |
TotalViolation_Minutes | Este campo almacena el tiempo total de infracción de la ruta en las paradas. El tiempo de infracción se agrega cuando la ruta llega a una parada con la ventana de tiempo ya finalizada; es la diferencia entre los valores de los campos ArriveTime y TimeWindowEnd de las paradas de entrada. El campo presenta un valor nulo si no se usan ventanas de tiempo en el análisis. Nota:Se incluye un campo adicional, TotalViolation_[TimeUnits], si la propiedad timeUnits del objeto de análisis no está definida como TimeUnits.Minutes. Los valores de campo están en las unidades especificadas en la propiedad timeUnits. Se incluyen campos adicionales, TotalViolation_[AccumulateAttributeName]_[TimeUnits], para cada atributo de coste basado en el tiempo que se acumula durante el análisis. |
FirstStopID | Identificador único generado automáticamente por el análisis de la primera parada de la ruta. |
FirstStopOID | Valor ObjectID de la primera parada de la ruta. Este campo se utiliza a menudo para unir información de las paradas de entrada con las rutas. |
LastStopID | Identificador único generado automáticamente por el análisis de la última parada de la ruta. |
LastStopOID | Valor ObjectID de la última parada de la ruta. Este campo se utiliza a menudo para unir información de las paradas de entrada con las rutas. |
Syntax example for output_routes
The output_routes parameter is returned as a JSON feature set with the following syntax:
{
"paramName": "output_routes",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
},
"fields": [
{
"name": "<field1Name>",
"type": "<field1Type>",
"alias": "<field1Alias>",
"length": "<field1Length>" //length is included only for esriFieldTypeString
},
{
"name": "<field2Name>",
"type": "<field2Type>",
"alias": "<field2Alias>",
"length": "<field2Length>"
}
],
"features": [
{
"geometry": {
"paths": [
[
[
<x11>,
<y11>
],
[
<x12>,
<y12>
]
],
[
[
<x21>,
<y21>
],
[
<x22>,
<y22>
]
]
]
},
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"geometry": {
"paths": [
[
[
<x11>,
<y11>
],
[
<x12>,
<y12>
]
],
[
[
<x21>,
<y21>
],
[
<x22>,
<y22>
]
]
]
},
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
],
"exceededTransferLimit": <true|false>
}
}
Example for output_routes
The following shows an example of the output_routes parameter.
Nota:
Dado que la respuesta es muy detallada, los elementos repetidos dentro de la respuesta se abrevian para mayor claridad.
{
"paramName": "output_routes",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"fields": [
{
"name": "OID",
"type": "esriFieldTypeOID",
"alias": "OID"
},
{
"name": "Name",
"type": "esriFieldTypeString",
"alias": "Name",
"length": 260
},
{
"name": "StopCount",
"type": "esriFieldTypeInteger",
"alias": "StopCount",
"domain": {
"type": "range",
"name": "StopCount",
"range": [
0,
2147483647
],
"mergePolicy": "esriMPTDefaultValue",
"splitPolicy": "esriSPTDefaultValue"
}
},
{
"name": "Total_Minutes",
"type": "esriFieldTypeDouble",
"alias": "Total_Minutes"
},
{
"name": "Total_Kilometers",
"type": "esriFieldTypeDouble",
"alias": "Total_Kilometers"
},
{
"name": "FirstStopOID",
"type": "esriFieldTypeInteger",
"alias": "FirstStopOID"
},
{
"name": "LastStopOID",
"type": "esriFieldTypeInteger",
"alias": "LastStopOID"
},
{
"name": "Total_Miles",
"type": "esriFieldTypeDouble",
"alias": "Total_Miles"
},
{
"name": "Shape_Length",
"type": "esriFieldTypeDouble",
"alias": "Shape_Length"
}
],
"features": [
{
"attributes": {
"OID": 1,
"Name": "Stop1 - Stop2",
"StopCount": 2,
"Total_Minutes": 14.296418563584401,
"Total_Kilometers": 8.6253749504299684,
"FirstStopOID": 1,
"LastStopOID": 2,
"Total_Miles": 5.3595600000000001,
"Shape_Length": 0.08518273838097945
},
"geometry": {
"paths": [
[
[
145.06591391900008,
-37.864739829999962
],
[
145.0671000000001,
-37.865289999999959
]
]
]
}
},
{
"attributes": {
"OID": 2,
"Name": "Stop3 - Stop4",
"StopCount": 2,
"Total_Minutes": 16.896418563584401,
"Total_Kilometers": 15.9853749504299684,
"FirstStopOID": 3,
"LastStopOID": 4,
"Total_Miles": 9.9895600000000001,
"Shape_Length": 0.08590273838097945
},
"geometry": {
"paths": [
[
[
145.496098061475,
-37.75135883264409
],
[
145.45440000035967,
-37.75123999982617
]
]
]
}
}
],
"exceededTransferLimit": false
}
}
output_directions
Ofrece acceso a las indicaciones paso a paso para cada ruta resultante.
The directions_language, directions_distance_units, and directions_style_name parameters influence the driving directions. The features are empty if the populate_directions parameter is false.
La siguiente tabla muestra los campos que se devuelven para las indicaciones de salida:
Campo | Descripción |
---|---|
RouteName | El nombre de la ruta a la que se aplica la acción de conducción. Este valor es el mismo que el del campo Name de las rutas de salida. |
ArriveTime | La hora del día para iniciar determinada acción de conducción. Si la ruta abarca varios días, la fecha y hora del día se muestran. |
Type | El tipo de maniobra que representa la entidad de indicaciones o el tipo de texto de las indicaciones. Para determinar si Type hace referencia a un tipo de maniobra o a un tipo de cadena de caracteres de las indicaciones, revise el valor del campo SubItemType. Type se puede utilizar, por ejemplo, para asignar un icono para un texto de indicación en función del tipo de maniobra, o usar un estilo de formato dependiendo del tipo de cadena de caracteres de las indicaciones cuando se visualizan las indicaciones de conducción en la aplicación. El valor Type es un valor entero de las siguientes listas Tipos de maniobra o Tipos de cadena de caracteres de las indicaciones. Tipos de maniobra
Tipos de cadena de caracteres de las indicaciones
|
SubItemType | Especifica si el campo Type hace referencia a un entero de la tabla Tipos de cadena de caracteres de las indicaciones o la tabla Tipos de maniobra.
|
Text | Una descripción de texto de las indicaciones de viaje. |
ElaspsedTime | El tiempo transcurrido en minutos desde el momento en que comienza la actual indicación de conducción hasta que empieza la próxima, o hasta que finaliza la ruta de la última indicación de conducción. |
DriveDistance | La distancia desde donde se produce la actual indicación de conducción a donde ocurre la siguiente, o donde finaliza la ruta para la última indicación de conducción. El valor está en las unidades que se especifican en el parámetro Directions_Distance_Units. Este valor es cero para las indicaciones de conducción que ocurren en la misma ubicación en la que comienza la próxima. Por ejemplo, el valor DriveDistance es 0 para el texto de indicaciones al inicio de la ruta. |
Syntax example for output_directions
The output_directions parameter is returned as a JSON feature set with the following syntax:
Precaución:
The service can only return a maximum of 10.000.000 features with the output_directions parameter.
{
"paramName": "output_directions",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
},
"fields": [
{
"name": "<field1Name>",
"type": "<field1Type>",
"alias": "<field1Alias>",
"length": "<field1Length>" //length is included only for esriFieldTypeString
},
{
"name": "<field2Name>",
"type": "<field2Type>",
"alias": "<field2Alias>",
"length": "<field2Length>"
}
],
"features": [
{
"geometry": {
"paths": [
[
[
<x11>,
<y11>
],
[
<x12>,
<y12>
]
],
[
[
<x21>,
<y21>
],
[
<x22>,
<y22>
]
]
]
},
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"geometry": {
"paths": [
[
[
<x11>,
<y11>
],
[
<x12>,
<y12>
]
],
[
[
<x21>,
<y21>
],
[
<x22>,
<y22>
]
]
]
},
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
],
"exceededTransferLimit": <true|false>
}
}
Example for output_directions
The following shows an example of the output_directions parameter.
Nota:
Dado que la respuesta es muy detallada, los elementos repetidos dentro de la respuesta se abrevian para mayor claridad.
{
"paramName": "output_directions",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"fields": [
{
"name": "ObjectID",
"type": "esriFieldTypeOID",
"alias": "ObjectID"
},
{
"name": "RouteName",
"type": "esriFieldTypeString",
"alias": "RouteName",
"length": 128
},
{
"name": "ArriveTime",
"type": "esriFieldTypeDate",
"alias": "ArriveTime",
"length": 16
},
{
"name": "Type",
"type": "esriFieldTypeSmallInteger",
"alias": "Type"
},
{
"name": "SubItemType",
"type": "esriFieldTypeSmallInteger",
"alias": "SubItemType"
},
{
"name": "Text",
"type": "esriFieldTypeString",
"alias": "Text",
"length": 255
},
{
"name": "ElapsedTime",
"type": "esriFieldTypeSingle",
"alias": "ElapsedTime"
},
{
"name": "DriveDistance",
"type": "esriFieldTypeSingle",
"alias": "DriveDistance"
},
{
"name": "Shape_Length",
"type": "esriFieldTypeDouble",
"alias": "Shape_Length"
}
],
"features": [
{
"attributes": {
"ObjectID": 1,
"RouteName": "Stop1 - Stop2",
"ArriveTime": -2209161600000,
"Type": 18,
"SubItemType": 1,
"Text": "Start at Stop1",
"ElapsedTime": 0,
"DriveDistance": 0,
"Shape_Length": 0
}
},
{
"attributes": {
"ObjectID": 2,
"RouteName": "Stop1 - Stop2",
"ArriveTime": -2209161600000,
"Type": 2,
"SubItemType": 1,
"Text": "Go southeast on Francis Cres toward Albion Rd",
"ElapsedTime": 0.3060721,
"DriveDistance": 7.480023E-02,
"Shape_Length": 0.001307468992936962
},
"geometry": {
"paths": [
[
[
145.06591391900008,
-37.864739829999962
],
[
145.0671000000001,
-37.865289999999959
],
]
]
}
},
{
"attributes": {
"ObjectID": 15,
"RouteName": "Stop1 - Stop2",
"ArriveTime": -2209161600000,
"Type": 1,
"SubItemType": 1,
"Text": "Finish at Stop2, on the left",
"ElapsedTime": 0,
"DriveDistance": 0,
"Shape_Length": 0
}
},
{
"attributes": {
"ObjectID": 9,
"RouteName": "Station 20 - Fire Incident",
"ArriveTime": 1365637766665,
"Type": 1,
"SubItemType": 1,
"Text": "Finish at Fire Incident",
"ElapsedTime": 0,
"DriveDistance": 0,
"Shape_Length": 0
}
}
],
"exceededTransferLimit": false
}
}
output_direction_points
Especifica las indicaciones paso a paso de salida para las rutas calculadas en el análisis, representadas como ubicaciones de puntos a lo largo de las rutas donde se producen eventos o maniobras de indicación específicos.
Field name | Description |
---|---|
RouteID | The ObjectID of the output output_routes feature with which this direction point is associated. |
Sequence | La secuencia de los puntos de indicación de la ruta, empezando por 1. |
DirectionPointType | El tipo de evento o maniobra de indicación descrito por el punto, designado por uno de los valores siguientes.
|
StopID | The ObjectID of the stop with which this direction point is associated, if any. If the point does not represent a visit to a stop, the value is null. |
DisplayText | El texto de las indicaciones que se va a mostrar en la aplicación que utiliza. |
ArrivalTime | Hora en la que ocurre el evento de indicación en la hora universal coordinada (UTC). |
ArrivalUTCOffset | La diferencia en minutos entre la hora local en la ubicación de maniobra y la hora UTC mostrada en el campo ArrivalTime. |
Name | Nombre del punto de indicación. |
ExitName | El nombre de salida de carretera que aparece en la instrucción de las indicaciones. |
AlternateName | Nombre de origen alternativo que aparece en la instrucción de las indicaciones. |
IntersectingName | El nombre de la calle de intersección o de cruce que aparece en la instrucción de las indicaciones. |
BranchName | El nombre de rama del poste indicador que aparece en la instrucción de las indicaciones. |
TowardName | El nombre del poste indicador hacia el destino que aparece en la instrucción de las indicaciones. |
Level | El nivel de edificio en el que ocurre este evento de indicación. Este valor corresponde a la propiedad Level definida en el dataset de red utilizado para el análisis. |
ShortVoiceInstruction | Texto corto que se utiliza como texto de la guía de voz en la aplicación que utiliza. |
VoiceInstruction | Texto adicional, incluidas las abreviaturas expandidas y los plurales, para utilizarlo como texto de la guía de voz en la aplicación que utiliza. |
Azimuth | El rumbo en grados del vehículo que sale de este punto. El cero indica el norte. |
Syntax example for output_direction_points
El parámetro output_direction_points se devuelve como un conjunto de entidades JSON con la siguiente sintaxis:
{
"paramName": "output_direction_points",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPoint",
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
},
"fields": [
{
"name": "<field1Name>",
"type": "<field1Type>",
"alias": "<field1Alias>",
"length": "<field1Length>"
},
{
"name": "<field2Name>",
"type": "<field2Type>",
"alias": "<field2Alias>",
"length": "<field2Length>"
}
],
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {
"x": <x11>,
"y": <y11>
}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {
"x": <x21>,
"y": <y21>
}
],
"exceededTransferLimit": <true|false>
}
}
}
Example for output_direction_points
La siguiente imagen muestra un ejemplo del parámetro output_direction_points:
{
"paramName": "output_direction_points",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPoint",
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"fields": [{
"name": "ObjectID",
"type": "esriFieldTypeOID",
"alias": "ObjectID"
},
{
"name": "RouteID",
"type": "esriFieldTypeInteger",
"alias": "Route ID"
},
{
"name": "Sequence",
"type": "esriFieldTypeInteger",
"alias": "Sequence"
},
{
"name": "DirectionPointType",
"type": "esriFieldTypeInteger",
"alias": "Direction Point Type"
},
{
"name": "StopID",
"type": "esriFieldTypeInteger",
"alias": "Stop ID"
},
{
"name": "DisplayText",
"type": "esriFieldTypeString",
"alias": "Display Text",
"length": 1024
},
{
"name": "ArrivalTime",
"type": "esriFieldTypeDate",
"alias": "Arrival Time"
},
{
"name": "ArrivalUTCOffset",
"type": "esriFieldTypeDouble",
"alias": "Arrival Time: Offset from UTC in Minutes"
},
{
"name": "Name",
"type": "esriFieldTypeString",
"alias": "Primary Name",
"length": 1024
},
{
"name": "ExitName",
"type": "esriFieldTypeString",
"alias": "Highway Exit Name"
},
{
"name": "AlternateName",
"type": "esriFieldTypeString",
"alias": "Alternate Name"
},
{
"name": "IntersectingName",
"type": "esriFieldTypeString",
"alias": "Intersecting Name"
},
{
"name": "BranchName",
"type": "esriFieldTypeString",
"alias": "Signpost Branch Name"
},
{
"name": "TowardName",
"type": "esriFieldTypeString",
"alias": "Signpost Toward Name"
},
{
"name": "Level",
"type": "esriFieldTypeInteger",
"alias": "Level"
},
{
"name": "ShortVoiceInstruction",
"type": "esriFieldTypeString",
"alias": "Short Voice Instruction",
"length": 1024
},
{
"name": "VoiceInstruction",
"type": "esriFieldTypeString",
"alias": "Voice Instruction",
"length": 1024
},
{
"name": "Azimuth",
"type": "esriFieldTypeDouble",
"alias": "Azimuth"
}
],
"features": [{
"attributes": {
"ObjectID": 1,
"RouteID": 1,
"Sequence": 1,
"DirectionPointType": 51,
"StopID": 1,
"DisplayText": "Start at Stop1",
"ArrivalTime": null,
"ArrivalUTCOffset": null,
"Name": "Stop1",
"ExitName": null,
"AlternateName": null,
"IntersectingName": null,
"BranchName": null,
"TowardName": null,
"Level": null,
"ShortVoiceInstruction": null,
"VoiceInstruction": null,
"Azimuth": 0
},
"geometry": {
"x": -116.99007760199999,
"y": 33.967480587000068
}
},
{
"attributes": {
"ObjectID": 2,
"RouteID": 1,
"Sequence": 2,
"DirectionPointType": 52,
"StopID": null,
"DisplayText": "Go north on Nancy Ave toward Cherry Valley Blvd",
"ArrivalTime": null,
"ArrivalUTCOffset": null,
"Name": "Nancy Ave",
"ExitName": null,
"AlternateName": null,
"IntersectingName": "",
"BranchName": null,
"TowardName": null,
"Level": null,
"ShortVoiceInstruction": null,
"VoiceInstruction": null,
"Azimuth": 1.7238311767578125
},
"geometry": {
"x": -116.99007760199999,
"y": 33.967480587000068
}
},
{
"attributes": {
"ObjectID": 3,
"RouteID": 1,
"Sequence": 3,
"DirectionPointType": 305,
"StopID": null,
"DisplayText": "Turn right on Cherry Valley Blvd",
"ArrivalTime": null,
"ArrivalUTCOffset": null,
"Name": "Cherry Valley Blvd",
"ExitName": null,
"AlternateName": null,
"IntersectingName": null,
"BranchName": null,
"TowardName": null,
"Level": null,
"ShortVoiceInstruction": null,
"VoiceInstruction": null,
"Azimuth": 90
},
"geometry": {
"x": -116.99003999999996,
"y": 33.96873000000005
}
},
{
"attributes": {
"ObjectID": 4,
"RouteID": 1,
"Sequence": 4,
"DirectionPointType": 50,
"StopID": 2,
"DisplayText": "Finish at Stop2, on the left",
"ArrivalTime": null,
"ArrivalUTCOffset": null,
"Name": "Stop2",
"ExitName": null,
"AlternateName": null,
"IntersectingName": null,
"BranchName": null,
"TowardName": null,
"Level": null,
"ShortVoiceInstruction": null,
"VoiceInstruction": null,
"Azimuth": 0
},
"geometry": {
"x": -116.98829886599998,
"y": 33.96873000000005
}
}
],
"exceededTransferLimit": false
}
}
output_direction_lines
Especifica las líneas de ruta de salida calculadas en el análisis dividido en zonas para representar cada segmento de ruta entre ubicaciones de eventos o maniobras de DirectionPoints.
Field name | Description |
---|---|
DirectionPointID | The ObjectID of the feature in the output_direction_points table with which this line is associated. |
RouteID | The ObjectID of the output output_routes feature with which this direction line is associated. |
DirectionLineType | Tipo de situación de indicaciones descrito por esta línea, designado por uno de los siguientes valores.
|
Meters | La longitud del segmento de línea medida en metros. |
Minutes | El tiempo de viaje a lo largo del segmento de línea en minutos. |
FromLevel | Nivel de edificio en el que se inicia este evento de indicación. Este valor corresponde a la propiedad Level definida en el dataset de red utilizado para el análisis. |
ToLevel | Nivel de edificio en el que finaliza este evento de indicación. Este valor corresponde a la propiedad Level definida en el dataset de red utilizado para el análisis. |
Syntax example for output_direction_lines
El parámetro output_direction_lines se devuelve como un conjunto de entidades JSON con la siguiente sintaxis:
{
"paramName": "output_direction_lines",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
},
"fields": [
{
"name": "<field1Name>",
"type": "<field1Type>",
"alias": "<field1Alias>",
"length": "<field1Length>" //length is included only for esriFieldTypeString
},
{
"name": "<field2Name>",
"type": "<field2Type>",
"alias": "<field2Alias>",
"length": "<field2Length>"
}
],
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {
"paths": [
[
[
<x11>,
<y11>
],
[
<x12>,
<y12>
]
],
[
[
<x21>,
<y21>
],
[
<x22>,
<y22>
]
]
]
}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {
"paths": [
[
[
<x11>,
<y11>
],
[
<x12>,
<y12>
]
],
[
[
<x21>,
<y21>
],
[
<x22>,
<y22>
]
]
]
}
}
],
"exceededTransferLimit": <true|false>
}
}
Example for output_direction_lines
La siguiente imagen muestra un ejemplo del parámetro output_direction_lines:
{
"paramName": "output_direction_lines",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"fields": [{
"name": "ObjectID",
"type": "esriFieldTypeOID",
"alias": "ObjectID"
},
{
"name": "DirectionPointID",
"type": "esriFieldTypeInteger",
"alias": "Direction Point ID"
},
{
"name": "RouteID",
"type": "esriFieldTypeInteger",
"alias": "Route ID"
},
{
"name": "DirectionLineType",
"type": "esriFieldTypeInteger",
"alias": "Direction Line Type"
},
{
"name": "Meters",
"type": "esriFieldTypeDouble",
"alias": "Meters"
},
{
"name": "Minutes",
"type": "esriFieldTypeDouble",
"alias": "Minutes"
},
{
"name": "FromLevel",
"type": "esriFieldTypeInteger",
"alias": "From Level"
},
{
"name": "ToLevel",
"type": "esriFieldTypeInteger",
"alias": "To Level"
},
{
"name": "Shape_Length",
"type": "esriFieldTypeDouble",
"alias": "Shape_Length"
}
],
"features": [{
"attributes": {
"ObjectID": 1,
"DirectionPointID": 2,
"RouteID": 1,
"DirectionLineType": 1,
"Meters": 138.63309138928537,
"Minutes": 0.20794963587952883,
"FromLevel": null,
"ToLevel": null,
"Shape_Length": 0.0012499787017906437
},
"geometry": {
"paths": [
[
[
-116.99007760199999,
33.967480587000068
],
[
-116.99003999999996,
33.96873000000005
]
]
]
}
},
{
"attributes": {
"ObjectID": 2,
"DirectionPointID": 3,
"RouteID": 1,
"DirectionLineType": 1,
"Meters": 160.91529151117024,
"Minutes": 0.14887344090869106,
"FromLevel": null,
"ToLevel": null,
"Shape_Length": 0.0017411339999853226
},
"geometry": {
"paths": [
[
[
-116.99003999999996,
33.96873000000005
],
[
-116.98971999999998,
33.96873000000005
],
[
-116.98903999999999,
33.96873000000005
],
[
-116.98829886599998,
33.96873000000005
]
]
]
}
}
],
"exceededTransferLimit": false
}
}
output_stops
Ofrece acceso a los atributos de las paradas que visitan las rutas, así como las paradas que no puede alcanzar ninguna de las rutas.
La tabla que aparece a continuación enumera los campos que se devuelven para las paradas de salida. Además de estos campos, el parámetro también incluye todos los campos de la clase de entidad de entrada que se utilizan como paradas del análisis.
Field | Description |
---|---|
Name | El nombre de la parada visitada por la ruta. Los valores de este campo se copian del campo Name de las paradas de entrada. |
RouteName | El nombre de la ruta a la que se ha asignado la parada. Las paradas de entrada que tienen el mismo nombre de ruta en el momento en el que se ejecuta la herramienta, se agrupan y se visitan por una ruta, asignando ese nombre a la ruta. Cuando hay más de un nombre de ruta presente en las paradas de entrada, la herramienta puede generar varias rutas: una para cada nombre de ruta. Si no hay presente ningún nombre, todas las paradas pertenecen a la misma ruta. |
Sequence | El orden en el que la ruta asignada visita las paradas, que aparece en el campo RouteName. |
TimeWindowStart | Hora más temprana a la que la ruta puede visitar la parada. Los valores de este campo se copian del campo TimeWindowStart de las paradas de entrada. |
TimeWindowEnd | Hora más tardía a la que la ruta puede visitar la parada. Los valores de este campo se copian del campo TimeWindowEnd de las paradas de entrada. |
ArriveCurbApproach | De qué lado del vehículo está el bordillo al llegar a la parada. |
DepartCurbApproach | De qué lado del vehículo está el bordillo al salir de la parada. |
ArriveTime | El valor de la fecha y la hora de llegada a la parada. La zona horaria de este valor de hora del día se toma del elemento de red en el que se encuentra la parada. |
DepartTime | El valor de la fecha y la hora que indican la hora de salida de la parada. La zona horaria de este valor de hora del día se toma del elemento de red en el que se encuentra la parada. |
ArriveTimeUTC | El valor de la fecha y la hora de llegada a la parada. La zona horaria de este valor de hora del día se toma del elemento de red en el que se encuentra la parada. |
DepartTimeUTC | El valor de la fecha y la hora de salida expresado en la hora universal coordinada (UTC) |
LocationType | El tipo de parada. Los valores de este campo se copian del campo LocationType de las paradas de entrada. |
SourceID | El identificador numérico de la clase de entidad de origen del dataset de red donde se ubica el punto de entrada. |
SourceOID | El ObjectID de la entidad del origen donde se ubica el punto de entrada. |
PosAlong | La posición a lo largo de la dirección digitalizada de la entidad de línea de origen. Este valor se almacena como ratio. Este campo es nulo si la ubicación de red hace referencia a un cruce. |
SideOfEdge | El lado del eje respecto a la dirección digitalizada de la entidad de línea. Este campo se limita a un dominio de dos valores: lado derecho (1) y lado izquierdo (2). |
CurbApproach | Dirección en la que un vehículo puede llegar a la parada y partir de ella. Los valores de este campo se copian del campo CurbApproach de las paradas de entrada. |
Status | Indica el estado del punto con respecto a su ubicación en la red y el resultado del análisis. Los posibles valores son los siguientes:
|
SnapX | La coordenada x de la posición en el dataset de red donde se ubica el punto, en el sistema de coordenadas del dataset de red. |
SnapY | La coordenada y de la posición en el dataset de red donde se ubica el punto, en el sistema de coordenadas del dataset de red. |
SnapZ | La coordenada z de la posición en el dataset de red donde se ubica el punto, en el sistema de coordenadas del dataset de red. El campo SnapZ es 0 si la red es bidimensional. |
DistanceToNetworkInMeters | La distancia en metros entre la ubicación geográfica del punto y la posición en la que se ubicaba en la red. |
AdditionalTime | Tiempo añadido al tiempo total de la ruta al visitar esta parada. Los valores de este campo se copian del campo AdditionalTime de las paradas de entrada. |
AdditionalDistance | Distancia añadida a la distancia total de la ruta al visitar esta parada. Los valores de este campo se copian del campo AdditionalDistance de las paradas de entrada. |
AdditionalCost | El coste agregado al coste total de la ruta cuando se visita esta parada. Los valores de este campo se copian del campo AdditionalCost de las paradas de entrada. Este campo únicamente se incluye cuando el modo de viaje que se utiliza para el análisis tiene un atributo de impedancia que no está basado ni en tiempo ni en distancia. |
Cumul_Minutes | La duración acumulada de la ruta en minutos desde el origen, incluida la parada. El valor detallado aquí es el tiempo acumulado de la ruta hasta la parada, incluido cualquier tiempo adicional en la parada y en cualquier parada anterior. Por ejemplo, si un análisis de ruta determina que se tardan 10 minutos en visitar dos paradas y la segunda parada tiene un valor AdditionalTime de 5, el valor Cumul_Minutes será 15 minutos. Nota:An additional field, Cumul_[TimeUnits], is included if the timeUnits property of the analysis object is set to something other than TimeUnits.Minutes. The field values are in the units specified by the timeUnits property. Nota:An additional field,Cumul_[AccumulateAttributeName]_[TimeUnits], is included for each time-based cost attribute that is accumulated during the analysis. |
Cumul_Miles | La distancia acumulada de la ruta en millas desde el origen, incluida la parada. El valor detallado aquí es la distancia acumulada de la ruta hasta la parada, incluida cualquier distancia adicional en la parada y en cualquier parada anterior. Nota:An additional field, Cumul_[DistanceUnits], is included if the distanceUnits property of the analysis object is set to something other than DistanceUnits.Miles or DistanceUnits.Kilometers. The field values are in the units specified by the distanceUnits property. Nota:An additional field, Cumul_[AccumulateAttributeName]_[DistanceUnits], is included for each distance-based cost attribute that is accumulated during the analysis. |
Cumul_Kilometers | La distancia acumulada de la ruta en kilómetros desde el origen, incluida la parada. El valor detallado aquí es la distancia acumulada de la ruta hasta la parada, incluida cualquier distancia adicional en la parada y en cualquier parada anterior. |
Cumul_Cost | El coste acumulado de la ruta desde el origen, incluida la parada. El valor detallado aquí es el coste acumulado de la ruta hasta la parada, incluido cualquier coste adicional en la parada y en cualquier parada anterior. Este campo únicamente se incluye cuando el modo de viaje que se utiliza para el análisis tiene un atributo de impedancia que no está basado ni en tiempo ni en distancia. El valor está en unidades desconocidas. Nota:An additional field, Cumul_[AccumulateAttributeName]_Other, is included for each cost attribute that is neither time based nor distance based and accumulated during the analysis. |
Wait_Minutes | Este campo almacena el tiempo invertido en esperar a que la ventana de tiempo se abra cuando la ruta llega temprano a la parada. El campo presenta un valor nulo si no se usan ventanas de tiempo en el análisis. Nota:An additional field, Wait_[TimeUnits], is included if the timeUnits property of the analysis object is set to something other than TimeUnits.Minutes. The field values are in the units specified by the timeUnits property. Nota:An additional field, Wait_[AccumulateAttributeName]_[TimeUnits], is included for each time-based cost attribute that is accumulated during the analysis. |
CumulWait_Minutes | Este campo almacena la suma del tiempo que se espera a que se abran las ventanas de tiempo. Mide el tiempo inactivo. Incluye el tiempo de espera desde la parada actual y desde todas las paradas anteriores visitadas por la ruta. El campo presenta un valor nulo si no se usan ventanas de tiempo en el análisis. Nota:An additional field, CumulWait_[TimeUnits], is included if the timeUnits property of the analysis object is set to something other than TimeUnits.Minutes. The field values are in the units specified by the timeUnits property. An additional field, CumulWait_[AccumulateAttributeName]_[TimeUnits], is included for each time-based cost attribute that is accumulated during the analysis. |
Violation_Minutes | Este campo es una medida del retraso de la ruta una vez cerrada la ventana de tiempo. Específicamente, almacena la cantidad de tiempo entre el fin de la ventana de tiempo y el momento en que la ruta llegó a la parada. El campo presenta un valor nulo si no se usan ventanas de tiempo en el análisis. Nota:An additional field, Violation_[TimeUnits], is included if the timeUnits property of the analysis object is set to something other than TimeUnits.Minutes. The field values are in the units specified by the timeUnits property. An additional field, Violation_[AccumulateAttributeName]_[TimeUnits] is included for each time-based cost attribute that is accumulated during the analysis. |
CumulViolation_Minutes | Este campo almacena el tiempo de infracción acumulativo desde la parada actual y desde todas las paradas anteriores visitadas por la ruta. El campo presenta un valor nulo si no se usan ventanas de tiempo en el análisis. Nota:An additional field, CumulViolation_[TimeUnits], is included if the timeUnits property of the analysis object is set to something other than TimeUnits.Minutes. The field values are in the units specified by the timeUnits property. An additional field, CumulViolation_[AccumulateAttributeName]_[TimeUnits], is included for each time-based cost attribute that is accumulated during the analysis. |
ORIG_FID | Valor ObjectID de la parada de entrada. Este campo se puede usar para unir atributos de las paradas de salida con las paradas de entrada o viceversa. |
Bearing | Los valores de este campo se copian del campo Bearing de las paradas de entrada. |
BearingTol | Los valores de este campo se copian del campo BearingTol de las paradas de entrada. |
NavLatency | Los valores de este campo se copian del campo NavLatency de las paradas de entrada. |
Syntax example for output_stops
The output_stops parameter is returned as a JSON feature set with the following syntax:
{
"paramName": "output_stops",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPoint",
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
},
"fields": [
{
"name": "<field1Name>",
"type": "<field1Type>",
"alias": "<field1Alias>",
"length": "<field1Length>"
},
{
"name": "<field2Name>",
"type": "<field2Type>",
"alias": "<field2Alias>",
"length": "<field2Length>"
}
],
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {
"x": <x11>,
"y": <y11>
}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {
"x": <x21>,
"y": <y21>
}
],
"exceededTransferLimit": <true|false>
}
}
}
Example for output_stops
The following shows an example of the output_stops parameter:
{
"paramName": "output_stops",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPoint",
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"fields": [
{
"name": "OID",
"type": "esriFieldTypeOID",
"alias": "OID"
},
{
"name": "Name",
"type": "esriFieldTypeString",
"alias": "Name",
"length": 128
},
{
"name": "RouteName",
"type": "esriFieldTypeString",
"alias": "RouteName",
"length": 128
},
{
"name": "Sequence",
"type": "esriFieldTypeInteger",
"alias": "Sequence",
"domain": {
"type": "range",
"name": "Sequence",
"range": [
1,
2147483647
],
"mergePolicy": "esriMPTDefaultValue",
"splitPolicy": "esriSPTDefaultValue"
}
},
{
"name": "TimeWindowStart",
"type": "esriFieldTypeDate",
"alias": "TimeWindowStart",
"length": 16
},
{
"name": "TimeWindowEnd",
"type": "esriFieldTypeDate",
"alias": "TimeWindowEnd",
"length": 16
},
{
"name": "ArriveCurbApproach",
"type": "esriFieldTypeInteger",
"alias": "ArriveCurbApproach",
"domain": {
"type": "codedValue",
"name": "NACurbApproach",
"codedValues": [
{
"name": "Either side of vehicle",
"code": 0
},
{
"name": "Right side of vehicle",
"code": 1
},
{
"name": "Left side of vehicle",
"code": 2
},
{
"name": "No U-turn",
"code": 3
}
],
"mergePolicy": "esriMPTDefaultValue",
"splitPolicy": "esriSPTDefaultValue"
}
},
{
"name": "DepartCurbApproach",
"type": "esriFieldTypeInteger",
"alias": "DepartCurbApproach",
"domain": {
"type": "codedValue",
"name": "NACurbApproach",
"codedValues": [
{
"name": "Either side of vehicle",
"code": 0
},
{
"name": "Right side of vehicle",
"code": 1
},
{
"name": "Left side of vehicle",
"code": 2
},
{
"name": "No U-turn",
"code": 3
}
],
"mergePolicy": "esriMPTDefaultValue",
"splitPolicy": "esriSPTDefaultValue"
}
},
{
"name": "LocationType",
"type": "esriFieldTypeInteger",
"alias": "LocationType",
"domain": {
"type": "codedValue",
"name": "NALocationType",
"codedValues": [
{
"name": "Stop",
"code": 0
},
{
"name": "Waypoint",
"code": 1
},
{
"name": "Break",
"code": 2
}
],
"mergePolicy": "esriMPTDefaultValue",
"splitPolicy": "esriSPTDefaultValue"
}
},
{
"name": "CurbApproach",
"type": "esriFieldTypeInteger",
"alias": "CurbApproach",
"domain": {
"type": "codedValue",
"name": "NACurbApproach",
"codedValues": [
{
"name": "Either side of vehicle",
"code": 0
},
{
"name": "Right side of vehicle",
"code": 1
},
{
"name": "Left side of vehicle",
"code": 2
},
{
"name": "No U-turn",
"code": 3
}
],
"mergePolicy": "esriMPTDefaultValue",
"splitPolicy": "esriSPTDefaultValue"
}
},
{
"name": "Status",
"type": "esriFieldTypeInteger",
"alias": "Status",
"domain": {
"type": "codedValue",
"name": "NALocationStatus",
"codedValues": [
{
"name": "OK",
"code": 0
},
{
"name": "Not located",
"code": 1
},
{
"name": "Network element not located",
"code": 2
},
{
"name": "Element not traversable",
"code": 3
},
{
"name": "Invalid field values",
"code": 4
},
{
"name": "Not reached",
"code": 5
},
{
"name": "Time window violation",
"code": 6
}
],
"mergePolicy": "esriMPTDefaultValue",
"splitPolicy": "esriSPTDefaultValue"
}
},
{
"name": "AdditionalTime",
"type": "esriFieldTypeDouble",
"alias": "AdditionalTime"
},
{
"name": "Cumul_Minutes",
"type": "esriFieldTypeDouble",
"alias": "Cumul_Minutes"
},
{
"name": "Cumul_Kilometers",
"type": "esriFieldTypeDouble",
"alias": "Cumul_Kilometers"
},
{
"name": "ORIG_FID",
"type": "esriFieldTypeInteger",
"alias": "ORIG_FID"
},
{
"name": "Cumul_Miles",
"type": "esriFieldTypeDouble",
"alias": "Cumul_Miles"
}
],
"features": [
{
"attributes": {
"OID": 1,
"Name": "Stop1",
"RouteName": null,
"Sequence": 1,
"TimeWindowStart": null,
"TimeWindowEnd": null,
"ArriveCurbApproach": null,
"DepartCurbApproach": 1,
"LocationType": 0,
"CurbApproach": 0,
"Status": 0,
"AdditionalTime": 0,
"Cumul_Minutes": 0,
"Cumul_Kilometers": 0,
"ORIG_FID": 1,
"Cumul_Miles": 0
},
"geometry": {
"x": 145.06573064800011,
"y": -37.865134933999968
}
},
{
"attributes": {
"OID": 2,
"Name": "Stop2",
"RouteName": null,
"Sequence": 2,
"TimeWindowStart": null,
"TimeWindowEnd": null,
"ArriveCurbApproach": 2,
"DepartCurbApproach": null,
"LocationType": 0,
"CurbApproach": 0,
"Status": 0,
"AdditionalTime": 0,
"Cumul_Minutes": 14.296418563584401,
"Cumul_Kilometers": 8.6253749504299684,
"ORIG_FID": 2,
"Cumul_Miles": 5.3595600000000001
},
"geometry": {
"x": 145.10495676700009,
"y": -37.81866925199995
}
}
],
"exceededTransferLimit": false
}
}
output_route_edges
Ofrece acceso a los ejes de red individuales por los que viajan las rutas.
Este parámetro solo tiene un valor si el parámetro populate_route_edges tiene el valor True.
La siguiente tabla muestra los campos que admiten los ejes de la ruta de salida:
Campo | Descripción |
---|---|
SourceName | El nombre de la clase de entidad de origen de borde desde la que se generó la línea. |
SourceOID | Valor ObjectID de la entidad de calle del trazado poligonal. En resumen, los valores de este campo ofrecen información de utilidad como, por ejemplo, el número de veces que una entidad de calle concreta se incluye en todas las rutas. |
RouteEdgeID | ID que representa el eje que forma la entidad de calle. Dado que puede haber más de un eje por entidad de calle, el campo SourceOID se puede utilizar para identificar de forma única la entidad de calle del trazado poligonal, mientras que el campo RouteEdgeID se puede utilizar para identificar de forma única el eje dentro de la entidad de calle atravesada. |
FromPosition | Especifica dónde comienza la entidad de RouteEdges de salida en referencia con la dirección digitalizada de la entidad de calle subyacente.
|
ToPosition | Especifica dónde finaliza la entidad de RouteEdges de salida en referencia a la dirección digitalizada de la entidad de calle subyacente.
|
FromJunctionID | ObjectID de la entidad de la clase de entidad RouteJunctions que coincide con el inicio de la entidad RouteEdges. |
ToJunctionID | ObjectID de la entidad de la clase de entidad RouteJunctions que coincide con el final de la entidad RouteEdges. |
RouteID | Identifica de manera única la ruta que atravesó el eje. El valor RouteID corresponde a un valor ObjectID de las rutas de salida. |
Attr_Minutes | Tiempo de viaje en minutos de la parte atravesada de la entidad de calle subyacente. Nota:Se incluye un campo adicional, Attr_[TimeUnits], si el parámetro measurement_units está basado en tiempo y su valor es distinto de Minutes. Los valores de campo están en las unidades especificadas en el parámetro measurement_units. |
Attr_Miles | Longitud en millas de la parte atravesada de la entidad de calle subyacente. Nota:Se incluye un campo adicional, Attr_[DistanceUnits], si el parámetro measurement_units está basado en distancia y su valor es distinto de Miles o Kilometers. Los valores de campo están en las unidades especificadas en el parámetro measurement_units. |
Attr_Kilometers | Longitud en kilómetros de la parte atravesada de la entidad de calle subyacente. |
Attr_Other | El coste de viaje de la parte atravesada de la entidad de calle subyacente. Este campo únicamente se incluye cuando el modo de viaje que se utiliza para el análisis tiene un atributo de impedancia que no está basado ni en tiempo ni en distancia. El valor está en unidades desconocidas. Nota:Se incluyen campos Attr_[AccumulateAttributeName] adicionales para cada atributo de coste que no esté basado en el tiempo ni en la distancia y que se acumule durante el análisis. |
Cumul_Minutes | Tiempo de viaje en minutos de la ruta desde su origen hasta el final de la parte atravesada de esta entidad de calle subyacente. Nota:Se incluye un campo adicional, Cumul_[TimeUnits], si el parámetro measurement_units está basado en tiempo y su valor es distinto de Minutes. Los valores de campo están en las unidades especificadas en el parámetro measurement_units. Nota:Se incluyen campos adicionales, Cumul_[AccumulateAttributeName], para cada atributo de coste basado en el tiempo que se acumula durante el análisis. Los valores están en las unidades de tiempo que se utilizan en el análisis. |
Cumul_Miles | Longitud en millas de la ruta desde su origen hasta el final de la parte atravesada de esta entidad de calle subyacente. Nota:Se incluye un campo adicional, Cumul_[DistanceUnits], si el parámetro measurement_units está basado en distancia y su valor es distinto de Miles o Kilometers. Los valores de campo están en las unidades especificadas en el parámetro measurement_units. Nota:Se incluyen campos adicionales, Cumul_[AccumulateAttributeName], para cada atributo de coste basado en la distancia que se acumula durante el análisis. Los valores están en las unidades de distancia que se utilizan en el análisis. |
Cumul_Kilometers | Longitud en kilómetros de la ruta desde su origen hasta el final de la parte atravesada de esta entidad de calle subyacente. |
Cumul_Other | El coste de viaje de la ruta desde su origen hasta el final de la parte atravesada de esta entidad de calle subyacente. Este campo únicamente se incluye cuando el modo de viaje que se utiliza para el análisis tiene un atributo de impedancia que no está basado ni en tiempo ni en distancia. El valor está en unidades desconocidas. Nota:Se incluyen campos Cumul_[AccumulateAttributeName] adicionales para cada atributo de coste que no esté basado en el tiempo ni en la distancia y que se acumule durante el análisis. |
Attr_[Soft Restriction Attribute Name] | Especifica si el borde atravesado utiliza el atributo de restricción no estricta al que hace referencia en el nombre de este campo.
Por ejemplo, si el análisis se realizó usando la restricción no estricta Evitar carreteras con peaje, se crea un campo Attr_Avoid_Toll_Roads para esta restricción no estricta. Un valor de 1 en este campo representaría las carreteras con peaje de la ruta. |
Syntax example for output_route_edges
The output_route_edges parameter is returned as a JSON feature set with the following syntax:
Precaución:
The service can only return a maximum of 10.000.000 features with the output_route_edges parameter.
{
"paramName": "output_route_edges",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
},
"fields": [
{
"name": "<field1Name>",
"type": "<field1Type>",
"alias": "<field1Alias>",
"length": "<field1Length>" //length is included only for esriFieldTypeString
},
{
"name": "<field2Name>",
"type": "<field2Type>",
"alias": "<field2Alias>",
"length": "<field2Length>"
}
],
"features": [
{
"geometry": {
"paths": [
[
[
<x11>,
<y11>
],
[
<x12>,
<y12>
]
],
[
[
<x21>,
<y21>
],
[
<x22>,
<y22>
]
]
]
},
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"geometry": {
"paths": [
[
[
<x11>,
<y11>
],
[
<x12>,
<y12>
]
],
[
[
<x21>,
<y21>
],
[
<x22>,
<y22>
]
]
]
},
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
],
"exceededTransferLimit": <true|false>
}
}
Example for output_route_edges
The following shows an example of the output_route_edges parameter.
Nota:
Dado que la respuesta es muy detallada, los elementos repetidos dentro de la respuesta se abrevian para mayor claridad.
{
"paramName": "output_route_edges",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"fields": [
{
"name": "ObjectID",
"type": "esriFieldTypeOID",
"alias": "ObjectID"
},
{
"name": "SourceName",
"type": "esriFieldTypeString",
"alias": "SourceName",
"length": 255
},
{
"name": "SourceOID",
"type": "esriFieldTypeInteger",
"alias": "SourceOID"
},
{
"name": "RouteEdgeID",
"type": "esriFieldTypeInteger",
"alias": "RouteEdgeID"
},
{
"name": "FromPosition",
"type": "esriFieldTypeDouble",
"alias": "FromPosition"
},
{
"name": "ToPosition",
"type": "esriFieldTypeDouble",
"alias": "ToPosition"
},
{
"name": "RouteID",
"type": "esriFieldTypeInteger",
"alias": "RouteID"
},
{
"name": "Attr_Minutes",
"type": "esriFieldTypeDouble",
"alias": "Attr_Minutes"
},
{
"name": "Cumul_Minutes",
"type": "esriFieldTypeDouble",
"alias": "Cumul_Minutes"
},
{
"name": "Attr_Kilometers",
"type": "esriFieldTypeDouble",
"alias": "Attr_Kilometers"
},
{
"name": "Cumul_Kilometers",
"type": "esriFieldTypeDouble",
"alias": "Cumul_Kilometers"
},
{
"name": "Attr_Avoid_Unpaved_Roads",
"type": "esriFieldTypeInteger",
"alias": "Attr_Avoid Unpaved Roads"
},
{
"name": "Attr_Avoid_Private_Roads",
"type": "esriFieldTypeInteger",
"alias": "Attr_Avoid Private Roads"
},
{
"name": "Attr_Avoid_Gates",
"type": "esriFieldTypeInteger",
"alias": "Attr_Avoid Gates"
},
{
"name": "Attr_Through_Traffic_Prohibited",
"type": "esriFieldTypeInteger",
"alias": "Attr_Through Traffic Prohibited"
},
{
"name": "Attr_Miles",
"type": "esriFieldTypeDouble",
"alias": "Attr_Miles"
},
{
"name": "Cumul_Miles",
"type": "esriFieldTypeDouble",
"alias": "Cumul_Miles"
},
{
"name": "Shape_Length",
"type": "esriFieldTypeDouble",
"alias": "Shape_Length"
}
],
"features": [
{
"attributes": {
"ObjectID": 1,
"SourceName": "Routing_Streets",
"SourceOID": 28553595,
"RouteEdgeID": 33578310,
"FromPosition": 0.53935587127584417,
"ToPosition": 0,
"RouteID": 1,
"Attr_Minutes": 0.30607205176400221,
"Cumul_Minutes": 0.30607205176400221,
"Attr_Kilometers": 0.12037825998265438,
"Cumul_Kilometers": 0.12037825998265438,
"Attr_Avoid_Unpaved_Roads": 0,
"Attr_Avoid_Private_Roads": 0,
"Attr_Avoid_Gates": 0,
"Attr_Through_Traffic_Prohibited": 0,
"Attr_Miles": 0.074800000000000005,
"Cumul_Miles": 0.074800000000000005,
"Shape_Length": 0.001307468992936962
},
"geometry": {
"paths": [
[
[
145.06591391900008,
-37.864739829999962
],
[
145.0671000000001,
-37.865289999999959
]
]
]
}
},
{
"attributes": {
"ObjectID": 2,
"SourceName": "Routing_Streets",
"SourceOID": 28553594,
"RouteEdgeID": 33578307,
"FromPosition": 0.78894821574891705,
"ToPosition": 0.65663679210329906,
"RouteID": 1,
"Attr_Minutes": 0.14121413009703704,
"Cumul_Minutes": 0.44728618186103924,
"Attr_Kilometers": 0.079332016796953356,
"Cumul_Kilometers": 0.19971027677960773,
"Attr_Avoid_Unpaved_Roads": 0,
"Attr_Avoid_Private_Roads": 0,
"Attr_Avoid_Gates": 0,
"Attr_Through_Traffic_Prohibited": 0,
"Attr_Miles": 0.04929,
"Cumul_Miles": 0.12409000000000001,
"Shape_Length": 0.00076609398903347678
},
"geometry": {
"paths": [
[
[
145.0671000000001,
-37.865289999999959
],
[
145.0666500000001,
-37.864669999999933
],
]
]
}
}
],
"exceededTransferLimit": false
}
}
solve_succeeded
Use this parameter to determine whether the service successfully found the routes. The error messages for the failure can be obtained by making a request to get the status of the job.
The solve_succeeded parameter is returned as a JSON feature set with the following syntax:
{
"paramName": "Solve_Succeeded",
"dataType": "GPBoolean",
"value": <true | false>
}
The following shows an example of the solve_succeeded parameter:
{
"paramName": "solve_succeeded",
"dataType": "GPBoolean",
"value": true
}
output_route_data
Use este parámetro para acceder a un archivo .zip que contiene una geodatabase de archivos que alberga las entradas y las salidas del análisis en un formato que se puede usar para compartir las capas de ruta con ArcGIS Online o Portal for ArcGIS. El valor del parámetro se rellena únicamente si el parámetro Guardar datos de ruta está definido como Verdadero.
output_result_file
Utilice este parámetro para acceder a los resultados del análisis en un archivo .zip que contiene uno o varios archivos para cada salida. El formato de los archivos individuales viene especificado por el parámetro Formato de salida. El valor del parámetro no se rellena si el parámetro Formato de salida está definido como Conjunto de entidades.
output_network_analysis_layer
Use este parámetro para acceder al archivo de capa de análisis de red que almacena la configuración de análisis y las entradas y salidas utilizadas para el análisis. El valor del parámetro se rellena únicamente si el parámetro Guardar capa de análisis de red de salida está definido como Verdadero.
Example usage
You can make a request to the asynchronous route service using the following form:
https://<gpservice-url>/FindRoutes/submitJob?parameters
The route service supports synchronous and asynchronous modes. Synchronous and asynchronous modes define how the application interacts with the service and gets the results.
The request URL and the parameter names supported by the service when using synchronous operation are different and are described in the Route service with synchronous operation topic.
Precaución:
The maximum time an application can use the route service when using the asynchronous mode is 1 hora (3.600 segundos) by default. If your request does not complete within this time limit, it will time out and fail. You can increase this time-out by modifying the The maximum time a client can use a service property using ArcGIS Server Manager
Routing between two points
This example demonstrates routing between two points in Melbourne, Australia.
Request URL to submit the job
The first request is to submit a job that returns the job ID.
https://<gpservice-url>/FindRoutes/submitJob?stops=%7B%22features%22:%5B%7B%22attributes%22:%7B%22Name%22:%22Stop1%22%7D,
%22geometry%22:%7B%22x%22:145.0657306480001,%22y%22:-37.86513493399997%7D%7D,%7B%22attributes%22:%7B%22Name%22:%22Stop2%22%7D,%22geometry%22:%7B%22x%22:145.1049567670001,
%22y%22:-37.81866925199995%7D%7D%5D%7D&f=json&token=<yourToken>
JSON Response
{
"jobId": "jd6f6b61f07654f5aa5ef1b2392384e67",
"jobStatus": "esriJobSubmitted"
}
Query the job status
The job ID obtained from the response of the first request can be queried periodically to determine the status of the job.
Request to query job status
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>?returnMessages=true&f=json&token=<yourToken>
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>?returnMessages=true&f=json&token=<yourToken>
JSON Response
{
"jobId": "j40959ba120534c138797d79bc9b40df9",
"jobStatus": "esriJobSucceeded",
"results": {
"Solve_Succeeded": {
"paramUrl": "results/Solve_Succeeded"
},
"Output_Routes": {
"paramUrl": "results/Output_Routes"
},
"Output_Route_Edges": {
"paramUrl": "results/Output_Route_Edges"
},
"Output_Directions": {
"paramUrl": "results/Output_Directions"
},
"Output_Stops": {
"paramUrl": "results/Output_Stops"
}
},
"inputs": {
"Stops": {
"paramUrl": "inputs/Stops"
},
"Measurement_Units": {
"paramUrl": "inputs/Measurement_Units"
},
"Analysis_Region": {
"paramUrl": "inputs/Analysis_Region"
},
"Reorder_Stops_to_Find_Optimal_Routes": {
"paramUrl": "inputs/Reorder_Stops_to_Find_Optimal_Routes"
},
"Preserve_Terminal_Stops": {
"paramUrl": "inputs/Preserve_Terminal_Stops"
},
"Return_to_Start": {
"paramUrl": "inputs/Return_to_Start"
},
"Use_Time_Windows": {
"paramUrl": "inputs/Use_Time_Windows"
},
"Time_of_Day": {
"paramUrl": "inputs/Time_of_Day"
},
"Time_Zone_for_Time_of_Day": {
"paramUrl": "inputs/Time_Zone_for_Time_of_Day"
},
"UTurn_at_Junctions": {
"paramUrl": "inputs/UTurn_at_Junctions"
},
"Point_Barriers": {
"paramUrl": "inputs/Point_Barriers"
},
"Line_Barriers": {
"paramUrl": "inputs/Line_Barriers"
},
"Polygon_Barriers": {
"paramUrl": "inputs/Polygon_Barriers"
},
"Use_Hierarchy": {
"paramUrl": "inputs/Use_Hierarchy"
},
"Restrictions": {
"paramUrl": "inputs/Restrictions"
},
"Attribute_Parameter_Values": {
"paramUrl": "inputs/Attribute_Parameter_Values"
},
"Route_Shape": {
"paramUrl": "inputs/Route_Shape"
},
"Route_Line_Simplification_Tolerance": {
"paramUrl": "inputs/Route_Line_Simplification_Tolerance"
},
"Populate_Route_Edges": {
"paramUrl": "inputs/Populate_Route_Edges"
},
"Populate_Directions": {
"paramUrl": "inputs/Populate_Directions"
},
"Directions_Language": {
"paramUrl": "inputs/Directions_Language"
},
"Directions_Distance_Units": {
"paramUrl": "inputs/Directions_Distance_Units"
},
"Directions_Style_Name": {
"paramUrl": "inputs/Directions_Style_Name"
}
},
"messages": []
}
Return the output stops
Because the job succeeded, a request can be made to return the stops visited by the route. The output parameter used to retrieve these results is output_stops.
Request to return output stops
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>/results/output_stops?returnMessages=true&f=json&token=<yourToken>
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>/results/output_stops?returnMessages=true&f=json&token=<yourToken>
JSON Response
The stops are essentially duplicates of the input facilities, but they exclude any stops that weren't reached.
{
"paramName": "Output_Closest_Facilities",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPoint",
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"fields": [
{
"name": "OID",
"type": "esriFieldTypeOID",
"alias": "OID"
},
{
"name": "Name",
"type": "esriFieldTypeString",
"alias": "Name",
"length": 50
},
{
"name": "ID",
"type": "esriFieldTypeString",
"alias": "ID",
"length": 50
},
{
"name": "AdditionalTime",
"type": "esriFieldTypeDouble",
"alias": "Additional Time"
},
{
"name": "AdditionalDistance",
"type": "esriFieldTypeDouble",
"alias": "Additional Distance"
},
{
"name": "CurbApproach",
"type": "esriFieldTypeSmallInteger",
"alias": "Curb Approach"
},
{
"name": "ORIG_FID",
"type": "esriFieldTypeSmallInteger",
"alias": "ORIG_FID"
}
],
"features": [
{
"attributes": {
"OID": 1,
"Name": "Station 20",
"ID": null,
"AdditionalTime": 0,
"AdditionalDistance": 0,
"CurbApproach": 0,
"ORIG_FID": 1
},
"geometry": {
"x": -122.45596200044594,
"y": 37.75131599973366
}
},
{
"attributes": {
"OID": 2,
"Name": "Station 39",
"ID": null,
"AdditionalTime": 0,
"AdditionalDistance": 0,
"CurbApproach": 0,
"ORIG_FID": 3
},
"geometry": {
"x": -122.45784400000059,
"y": 37.74071300000497
}
}
],
"exceededTransferLimit": false
}
}
Return the output routes
Because the job succeeded, a request can be made to return the routes from the output_routes output parameter.
Request to return output routes
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>/results/output_stops?returnMessages=true&f=json&token=<yourToken>
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>/results/output_stops?returnMessages=true&f=json&token=<yourToken>
JSON Response
Nota:
Dado que la respuesta es muy detallada, los elementos repetidos dentro de la respuesta se abrevian para mayor claridad.
{
"paramName": "Output_Routes",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"fields": [
{
"name": "OID",
"type": "esriFieldTypeOID",
"alias": "OID"
},
{
"name": "Name",
"type": "esriFieldTypeString",
"alias": "Name",
"length": 128
},
{
"name": "StopCount",
"type": "esriFieldTypeInteger",
"alias": "StopCount"
},
{
"name": "Total_Minutes",
"type": "esriFieldTypeDouble",
"alias": "Total_Minutes"
},
{
"name": "Total_Miles",
"type": "esriFieldTypeDouble",
"alias": "Total_Miles"
},
{
"name": "FirstStopOID",
"type": "esriFieldTypeInteger",
"alias": "FirstStopOID"
},
{
"name": "LastStopOID",
"type": "esriFieldTypeInteger",
"alias": "LastStopOID"
},
{
"name": "Total_Kilometers",
"type": "esriFieldTypeDouble",
"alias": "Total_Kilometers"
},
{
"name": "Shape_Length",
"type": "esriFieldTypeDouble",
"alias": "Shape_Length"
}
],
"features": [
{
"attributes": {
"OID": 1,
"Name": "Stop1 - Stop2",
"StopCount": 2,
"Total_Minutes": 12.560998302743993,
"Total_Miles": 5.332129199370574,
"FirstStopOID": 1,
"LastStopOID": 2,
"Total_Kilometers": 8.58123,
"Shape_Length": 0.08516636408377337
},
"geometry": {
"paths": [
[
[
145.06591391900008,
-37.86473982999996
],
[
145.0671000000001,
-37.86528999999996
],
[
145.10584000000006,
-37.818539999999985
],
[
145.10498172400003,
-37.81844463599998
]
]
]
}
}
],
"exceededTransferLimit": false
}
}
Return the output route edges
A request can also be made to return the roads the route traversed using the output_route_edges output parameter.
Request to return output route edges
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>/results/output_route_edges?returnMessages=true&f=json&<yourToken>
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>/results/output_route_edges?returnMessages=true&f=json&<yourToken>
JSON Response
Nota:
Dado que la respuesta es muy detallada, los elementos repetidos dentro de la respuesta se abrevian para mayor claridad.
{
"paramName": "Output_Route_Edges",
"dataType": "GPFeatureRecordSetLayer",
"value": {
"displayFieldName": "",
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"fields": [
{
"name": "ObjectID",
"type": "esriFieldTypeOID",
"alias": "ObjectID"
},
{
"name": "SourceName",
"type": "esriFieldTypeString",
"alias": "SourceName",
"length": 255
},
{
"name": "SourceOID",
"type": "esriFieldTypeInteger",
"alias": "SourceOID"
},
{
"name": "RouteEdgeID",
"type": "esriFieldTypeInteger",
"alias": "RouteEdgeID"
},
{
"name": "FromPosition",
"type": "esriFieldTypeDouble",
"alias": "FromPosition"
},
{
"name": "ToPosition",
"type": "esriFieldTypeDouble",
"alias": "ToPosition"
},
{
"name": "RouteID",
"type": "esriFieldTypeInteger",
"alias": "RouteID"
},
{
"name": "Attr_Minutes",
"type": "esriFieldTypeDouble",
"alias": "Attr_Minutes"
},
{
"name": "Cumul_Minutes",
"type": "esriFieldTypeDouble",
"alias": "Cumul_Minutes"
},
{
"name": "Attr_Miles",
"type": "esriFieldTypeDouble",
"alias": "Attr_Miles"
},
{
"name": "Cumul_Miles",
"type": "esriFieldTypeDouble",
"alias": "Cumul_Miles"
},
{
"name": "Attr_Kilometers",
"type": "esriFieldTypeDouble",
"alias": "Attr_Kilometers"
},
{
"name": "Cumul_Kilometers",
"type": "esriFieldTypeDouble",
"alias": "Cumul_Kilometers"
},
{
"name": "Attr_Avoid_Unpaved_Roads",
"type": "esriFieldTypeInteger",
"alias": "Attr_Avoid Unpaved Roads"
},
{
"name": "Attr_Avoid_Private_Roads",
"type": "esriFieldTypeInteger",
"alias": "Attr_Avoid Private Roads"
},
{
"name": "Attr_Avoid_Gates",
"type": "esriFieldTypeInteger",
"alias": "Attr_Avoid Gates"
},
{
"name": "Attr_Through_Traffic_Prohibited",
"type": "esriFieldTypeInteger",
"alias": "Attr_Through Traffic Prohibited"
},
{
"name": "Shape_Length",
"type": "esriFieldTypeDouble",
"alias": "Shape_Length"
}
],
"features": [
{
"attributes": {
"ObjectID": 1,
"SourceName": "Routing_Streets",
"SourceOID": 348757,
"RouteEdgeID": 1044044,
"FromPosition": 0.24152278890808054,
"ToPosition": 0,
"RouteID": 1,
"Attr_Minutes": 0.26806711433068997,
"Cumul_Minutes": 0.26806711433068997,
"Attr_Miles": 0.08134,
"Cumul_Miles": 0.08134,
"Attr_Kilometers": 0.1309,
"Cumul_Kilometers": 0.13091,
"Attr_Avoid_Unpaved_Roads": 0,
"Attr_Avoid_Private_Roads": 0,
"Attr_Avoid_Gates": 0,
"Attr_Through_Traffic_Prohibited": 0,
"Shape_Length": 0.001307468992936962
},
"geometry": {
"paths": [
[
[
145.06591391900008,
-37.86473982999996
],
[
145.0671000000001,
-37.86528999999996
]
]
]
}
},
{
"attributes": {
"ObjectID": 2,
"SourceName": "Routing_Streets",
"SourceOID": 348752,
"RouteEdgeID": 1044034,
"FromPosition": 0.7871324499552366,
"ToPosition": 0.6536826964062661,
"RouteID": 1,
"Attr_Minutes": 0.12864303488287535,
"Cumul_Minutes": 0.3967101492135653,
"Attr_Miles": 0.04901,
"Cumul_Miles": 0.13035,
"Attr_Kilometers": 0.07887,
"Cumul_Kilometers": 0.20977,
"Attr_Avoid_Unpaved_Roads": 0,
"Attr_Avoid_Private_Roads": 0,
"Attr_Avoid_Gates": 0,
"Attr_Through_Traffic_Prohibited": 0,
"Shape_Length": 0.0007660939890334768
},
"geometry": {
"paths": [
[
[
145.0671000000001,
-37.86528999999996
],
[
145.0666500000001,
-37.86466999999993
]
]
]
}
},
{
"attributes": {
"ObjectID": 94,
"SourceName": "Routing_Streets",
"SourceOID": 353664,
"RouteEdgeID": 1053829,
"FromPosition": 1,
"ToPosition": 0.5795813481826116,
"RouteID": 1,
"Attr_Minutes": 0.034457844833688085,
"Cumul_Minutes": 12.338099872364964,
"Attr_Miles": 0.00627,
"Cumul_Miles": 5.28493,
"Attr_Kilometers": 0.01009,
"Cumul_Kilometers": 8.50527,
"Attr_Avoid_Unpaved_Roads": 0,
"Attr_Avoid_Private_Roads": 0,
"Attr_Avoid_Gates": 0,
"Attr_Through_Traffic_Prohibited": 0,
"Shape_Length": 0.00009999999999763532
},
"geometry": {
"paths": [
[
[
145.10592000000008,
-37.81859999999995
],
[
145.10584000000006,
-37.818539999999985
]
]
]
}
},
{
"attributes": {
"ObjectID": 95,
"SourceName": "Routing_Streets",
"SourceOID": 353638,
"RouteEdgeID": 1053824,
"FromPosition": 1,
"ToPosition": 0.8187049287099665,
"RouteID": 1,
"Attr_Minutes": 0.22289843037902846,
"Cumul_Minutes": 12.560998302743993,
"Attr_Miles": 0.0472,
"Cumul_Miles": 5.33213,
"Attr_Kilometers": 0.07596,
"Cumul_Kilometers": 8.58123,
"Attr_Avoid_Unpaved_Roads": 0,
"Attr_Avoid_Private_Roads": 0,
"Attr_Avoid_Gates": 0,
"Attr_Through_Traffic_Prohibited": 0,
"Shape_Length": 0.0008635577483443818
},
"geometry": {
"paths": [
[
[
145.10584000000006,
-37.818539999999985
],
[
145.10498172400003,
-37.81844463599998
]
]
]
}
}
],
"exceededTransferLimit": false
}
}
JSON Response syntax
When you submit a request, the service assigns a unique job ID for the transaction. The job ID and the status of the job are returned in the response.
{
"jobId": <jobID>,
"jobStatus": <jobStatus>
}
The jobStatus property can have the following values:
- esriJobSubmitted
- esriJobWaiting
- esriJobExecuting
- esriJobSucceeded
- esriJobFailed
- esriJobTimedOut
- esriJobCancelling
- esriJobCancelled
You can use the job ID to periodically check the status of the job and messages. Additionally, if the job has successfully completed, you can use the job ID to retrieve the results or the inputs. The job information and results remain available for 24 hours after the job is completed.
Job status
After the initial request is submitted, you can make a request of the following form to get the status of the job:
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>?token=<yourToken>&returnMessages=true&f=json
Below is a sample JSON response syntax that will be returned when using the above request.
{
"jobId": "<jobId>",
"jobStatus": "<jobStatus>",
"messages": [
{
"type": "<type1>",
"description": "<description1>"
},
{
"type": "<type2>",
"description": "<description2>"
}
]
}
While a job is processing, you can cancel it by making a request of the following form:
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>/cancel?token=<yourToken>&f=json
Nota:
When you submit a request, if the service is processing other requests, the job will remain in the queue. The job status will be reported as esriJobSubmitted. If you cannot wait for the entire duration while the job is in the queue, you can cancel the request and submit it at a later time. A canceled request will not incur service credits. However, if the application request is not canceled, it will eventually process and will incur service credits regardless of whether the application retrieved the results or ignored them. Therefore, you should always cancel the request if necessary.
Job completion
After the successful completion of the job, you can make a request of the following form to retrieve the outputs. Refer to the Output parameters section for more information on how to interpret the solution provided by the service.
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>/results/<output_parameter_name>?token=<yourToken>&f=json
The feature geometries are returned by default in the WGS84 spatial reference. You can get the feature geometries in a different spatial reference by specifying the outSR parameter value when retrieving an output parameter. The following example shows how to retrieve an output parameter with feature geometries in the Web Mercator (WKID: 102100) spatial reference:
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>/results/<output_parameter_name>?token=<yourToken>&f=json&outSR=102100
You can also retrieve the value of an input parameter by making requests of the following form:
https://<gpservice-url>/FindRoutes/jobs/<yourJobID>/inputs/<inputParameterName>?token=<yourToken>&f=json
Usage limits
The table below lists the limits that apply to the asynchronous route operation.
Limit value | Limit description |
---|---|
12,42 millas (20 kilómetros) | Maximum snap tolerance. (If the distance between an input point and its nearest traversable street is greater than the distance specified here, the point is excluded from the analysis.) |
4 horas | Maximum time a client can use the asynchronous route service. |
10.000.000 | Maximum number of directions features that can be returned. |
10.000.000 | Maximum number of route edges that can be returned. |
El límite para la tolerancia de alineación no se puede cambiar; sin embargo, puede configurar otros límites siguiendo los pasos que aparecen a continuación:
- Abra Server Manager del sitio de ArcGIS Server que contiene el servicio de geoprocesamiento de NetworkAnalysis e inicie sesión. Si necesita ayuda con este paso, consulte Iniciar sesión en Manager.
- Haga clic en Servicios > Administrar servicios.
- En el módulo Administrar servicios, busque Servicio de geoprocesamiento de NetworkAnalysis y haga clic en Editar servicio .
Si no ve el servicio en la carpeta Generación de rutas, es posible que esté ubicado dentro de otra carpeta en Sitio (raíz) >.
- Haga clic en la opción Parámetros y cambie el límite del número de registros devueltos por el servicio editando el valor en el cuadro de texto Cantidad máxima de registros devueltos por el servidor.
- Haga clic en la opción Agrupación y cambie el tiempo máximo que se puede usar el servicio editando el valor en el cuadro de texto El tiempo máximo que un cliente puede utilizar un servicio.
- Haga clic en Guardar y reiniciar para aplicar sus ediciones y reiniciar el servicio.