https://machine.domain.com/webadaptor/rest/services/World/ClosestFacility/NAServer/ClosestFacility/solveClosestFacility?incidents=-122.4496,37.7467&facilities={"spatialReference":{"wkid":4326},"features":[{"attributes":{"Name":"Station 11"},"geometry":{"x":-122.4267,"y":37.7486}},{"attributes":{"Name":"Station 20"},"geometry":{"x":-122.4561,"y":37.7513}},{"attributes":{"Name":"Station 24"},"geometry":{"x":-122.4409,"y":37.7533}},{"attributes":{"Name":"Station 39"},"geometry":{"x":-122.4578,"y":37.7407}}]}&defaultTargetFacilityCount=2&travelDirection=esriNATravelDirectionFromFacility&defaultCutoff=3&returnCFRoutes=true&returnDirections=true&directionsLengthUnits=esriNAUMiles&outSR=102100&token=<yourToken
- URL:https://<nalayer-url>/solveClosestFacility
- Version Introduced:10.0
Description
Encontrar el hospital más cercano a un accidente, los coches patrulla más próximos a la escena de un crimen o la tienda más cercana a la dirección de un cliente son algunos ejemplos de problemas que se pueden resolver mediante el servicio Instalación más cercana. Cuando busque las instalaciones más cercanas, puede especificar cuántas se deben buscar y si la dirección de viaje se acerca o se aleja de ellas. Una vez que haya encontrado las instalaciones más cercanas, puede mostrar la mejor ruta hacia o desde ellas e incluir el tiempo de viaje, la distancia de viaje y las indicaciones para llegar a cada instalación. El servicio puede utilizar las condiciones de tráfico actuales al determinar las mejores rutas. También puede especificar un valor límite de impedancia por encima del cual el servicio no buscará una instalación. Por ejemplo, puede configurar un servicio de Instalación más cercana para buscar hospitales a menos de 15 minutos de tiempo de recorrido desde la ubicación de un accidente. Los hospitales que queden a más de 15 minutos no se incluirán en los resultados. Los hospitales aparecen como instalaciones, mientras que los accidentes se muestran como incidentes. El servicio le permite realizar simultáneamente varios análisis de instalación más cercana. Esto le permite introducir varios incidentes y buscar la instalación (o instalaciones) más cercana a cada uno de ellos.
The solveClosestFacility operation is performed on a network layer resource of type closest facility.
You can provide arguments to the solveClosestFacility operation as query parameters defined in the parameters table below.
Update at 11.0
- Use locateSettings to specify settings that affect how inputs are located.
- Use returnEmptyResults to return empty results instead of an error when the request fails.
Updates at 10.9.1
- Use returnTraversedEdges, returnTraversedJunctions, and returnTraversedTurns to specify whether the service will return the elements traversed during the solveClosestFacility operation.
- Use geometryPrecision, geometryPrecisionZ, and geometryPrecisionM to specify the output geometry precision for x-, y-, and z-coordinates and the value of m.
Updates at 10.8.1
When the authoring application for services is ArcGIS Pro, you can specify the now value in the timeOfDay parameter to set the analysis to begin or end at the current time.
Updates at 10.8
Use the preserveObjectID parameter to specify whether the object IDs from the input locations will be preserved when the input locations are returned as output.
Updates at 10.5
Use the overrides parameter to specify additional settings that can influence the behavior of the solver when finding solutions for the network analysis problems.
Updates at 10.4
Pass in a complete JSON representation of a travel mode through travelMode and automatically set override values for various other parameters to quickly and consistently model cars, trucks, a type of truck, and so on.
Updates at 10.3
Use the travelMode parameter to automatically set override values for various other parameters to quickly and consistently model cars, trucks, a type of truck, and so on.
Updates at 10.2.1
Use the timeOfDayIsUTC parameter to specify whether the timeOfDay parameter value is in UTC or the time zone of the facilities or incidents. Using timeOfDayIsUTC, you can start or end all routes at the same time regardless of the time zone where the facilities and incidents are located.
Updates at 10.1
- M-values—The OutputLines parameter supports a new value: esriNAOutputLineTrueShapeWithMeasure. If specified, returned routes, compressed geometry, and service area lines will contain m-values on each vertex.
- Z-values—The Closest Facility solver supports the new returnZ parameter. If returnZ=true and the Closest Facility solver is using a z-aware network dataset, returned routes and compressed geometry will contain z-values on each vertex. Input point and line locations can have z-values on them.
- Routes—Directions in the response include the hasZ or hasM property to indicate whether the geometry includes z-values or m-values, respectively.
- CompressedGeometry—CompressedGeometry can contain m- and z-values and indicates how to decompress them.
- Use the optional url property to specify input facilities, incidents, barriers, polylineBarriers, or polygonBarriers values. The url value contains a REST Query request to a feature, map, or geoprocessing service returning a JSON feature set. The advantage of using this property is that locations can be passed directly from a service endpoint as input to the network analysis operation, bypassing the client as intermediate storage.
- TimeOfDay and TimeOfDayUsage—The 10.1 Closest Facility solver is time aware and can be used in conjunction with historic and real-time traffic information.
Request parameters
Parameter | Description |
---|---|
incidents (Required) | One or more locations from which the service searches for the nearby locations. These locations are referred to as incidents. Syntax: |
facilities (Required) | One or more locations that are searched for when finding the closest location. Syntax: |
token (Required) | The identity of a user who has permissions to access the service. |
f (Optional) | Specify the response format. The default value is html. Values: html | json| pjson |
travelMode (Optional) | The mode of transportation for the analysis. Value: JSON object |
defaultTargetFacilityCount (Optional) | The number of closest facilities to find per incident. |
travelDirection (Optional) | Specify whether the search for the closest facility is measured from the incident to the facility or from the facility to the incident. Values: esriNATravelDirectionToFacility | esriNATravelDirectionFromFacility |
defaultCutoff (Optional) | The travel time or travel distance value at which to stop searching for facilities for a given incident. |
timeOfDay (Optional) | The time and date to depart from or arrive at incidents or facilities. You can also use the now value to set the depart or arrive time to the current time. |
timeOfDayIsUTC (Optional) | Specify the time zone or zones of the timeOfDay parameter. Values: true | false |
timeOfDayUsage (Optional) | Specify whether the timeOfDay parameter value represents the arrival or departure time for the routes. Values: esriNATimeOfDayUseAsStartTime | esriNATimeOfDayUseAsEndTime |
useHierarchy (Optional) | Specify whether hierarchy will be used when finding the shortest paths. Values: true | false |
restrictUTurns (Optional) | Specify how U-turns at junctions will be handled on the route. Values: esriNFSBAtDeadEndsAndIntersections | esriNFSBAllowBacktrack | esriNFSBAtDeadEndsOnly | esriNFSBNoBacktrack |
impedanceAttributeName (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. |
accumulateAttributeNames (Optional) | Specify whether the service will accumulate values other than the value specified for impedanceAttributeName. You can specify the values as in the example below:
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. |
restrictionAttributeNames (Optional) | Specify the restrictions that will be honored by the service. You can specify the values as in the example below:
For a complete list of values, see the restrictionAttributeNames section below. 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. |
attributeParameterValues (Optional) | Specify additional values required by an attribute or restriction. For a complete list of accepted values, see the attributeParameterValues section below. |
barriers (Optional) | One or more points that act as temporary restrictions or represent additional time or distance that may be required to travel on the underlying streets. Syntax: |
polylineBarriers (Optional) | One or more lines that prohibit travel where the lines intersect the streets. Syntax: |
polygonBarriers (Optional) | The polygons that either prohibit travel or proportionately scale the time or distance required to travel on the streets intersected by the polygons. Syntax: |
returnDirections (Optional) | Specify whether the service will generate driving directions for each route. The default value is false. Values: true | false |
returnCFRoutes (Optional) | Specify whether the service will return routes. The default value is false. Values: true | false |
directionsLanguage (Optional) | Specify the language that will be used when generating driving directions. This parameter is required only when the returnDirections parameter is set to true. For a complete list of accepted values, see the directionsLanguage section below. |
directionsOutputType (Optional) | Specify the content and verbosity of the driving directions. This parameter is required only when the returnDirections parameter is set to true. The default value is esriDOTStandard. Values: esriDOTStandard | esriDOTComplete | esriDOTCompleteNoEvents | esriDOTInstructionsOnly | esriDOTSummaryOnly | esriDOTFeatureSets |
directionsStyleName (Optional) | Specify the name of the formatting style for the directions. This parameter is required only when the returnDirections parameter is set to true. The default value is NA Desktop. Values: NA Desktop | NA Navigation | NA Campus |
directionsLengthUnits (Optional) | Specify the units for displaying travel distance in the driving directions. This parameter is required only when the returnDirections parameter is set to true. The default value is esriNAUMiles. Values: esriNAUFeet | esriNAUKilometers | esriNAUMeters | esriNAUMiles | esriNAUNauticalMiles | esriNAUYards |
directionsTimeAttributeName (Optional) | Specify the time-based impedance attribute to display the duration of a maneuver. 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. |
outputLines (Optional) | Specify the type of route features that are output by the service. Values: esriNAOutputLineTrueShape | esriNAOutputLineTrueShapeWithMeasure | esriNAOutputLineStraight | esriNAOutputLineNone |
returnFacilities (Optional) | Specify whether facilities will be returned by the service. The default value is false. Values: true | false |
returnIncidents (Optional) | Specify whether incidents will be returned by the service. The default value is false. Values: true | false |
returnBarriers (Optional) | Specify whether barriers will be returned by the service. The default value is false. Values: true | false |
returnPolylineBarriers (Optional) | Specify whether polyline barriers will be returned by the service. The default value is false. Values: true | false |
returnPolygonBarriers (Optional) | Specify whether polygon barriers will be returned by the service. The default value is false. Values: true | false |
returnTraversedEdges (Optional) | Specify whether traversed edges will be returned by the service. The default value is false. Values: true | false When this parameter is set to true, the traversed edges are available in the traversedEdges property of the JSON response. |
returnTraversedJunctions (Optional) | Specify whether traversed junctions will be returned by the service. The default value is false. Values: true | false When this parameter is set to true, the traversed junctions are available in the traversedJunctions property of the JSON response. |
returnTraversedTurns (Optional) | Specify whether traversed turns will be returned by the service. The default value is false. Values: true | false When this parameter is set to true, the traversed turns are available in the traversedTurns property of the JSON response. |
returnZ (Optional) | Specify whether z-values will be included for the returned geometries if supported by the underlying network. The default value is false. Values: true | false |
ignoreInvalidLocations (Optional) | Specify whether invalid input locations will be ignored when finding the best solution. The default value is true. Values: true | false |
outSR (Optional) | The spatial reference of the geometries. |
outputGeometryPrecision (Optional) | Indicate how the route geometry will be simplified. The units for this parameter are set using the outputGeometryPrecisionUnits parameter. |
outputGeometryPrecisionUnits (Optional) | Specify the units for the outputGeometryPrecision parameter value. Values: esriMeters | esriCentimeters | esriDecimalDegrees | esriDecimeters | esriFeet | esriInches | esriKilometers | esriMiles | esriMillimeters | esriNauticalMiles | esriPoints | esriYards |
geometryPrecision (Optional) | The number of decimal places in the response geometries returned by the solve operation. This applies to x- and y-values only (not m- or z-values).
|
geometryPrecisionZ (Optional) | The number of decimal places in the response geometries returned by the solve operation. This applies to z-values only (not x-,y-, or m-values).
|
geometryPrecisionM (Optional) | The number of decimal places in the response geometries returned by the solve operation. This applies to m-values only (not x-,y-, or z-values).
|
overrides (Optional) | Nota:Este parámetro es solo para uso interno. |
preserveObjectID (Optional) | Specify whether the object IDs from the input locations will be preserved when the input locations are returned as output. The default value is false. Values: true | false |
locateSettings (Optional) | Additional input location settings. Value: JSON object |
returnEmptyResults (Optional) | Especifique si el servicio devolverá resultados vacíos en lugar de la propiedad de error cuando la solicitud falle. El valor predeterminado es false. |
Nota:
El valor predeterminado de cada parámetro se basa en la configuración de la capa cuando el servicio de mapas se publica con las capacidades de análisis de red. Para obtener el valor predeterminado de cada parámetro, consulte el recurso de la capa de red.
Required parameters
incidents
Utilice este parámetro para especificar una o varias ubicaciones desde las que el servicio busque ubicaciones cercanas. Estas ubicaciones se denominan incidentes.
Puede utilizar una sintaxis simple basada en comas y punto y coma si pasa las ubicaciones de entrada con sus valores de longitud y latitud en el sistema de coordenadas WGS84 y no necesita pasar campos adicionales para cada ubicación.
Simple syntax for incidentsincidents=x1,y1; x2, y2; ...; xn, yn
Example using simple syntaxincidents=-117.1957,34.0564; -117.184,34.0546
The incidents parameter can be specified using a JSON structure that references a set of point features. The property is optional; however, the JSON structure must specify either the features, url, or layer 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.
La estructura JSON puede incluir esta propiedad:
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
features: especifique una matriz de entidades.
Each feature in the features array represents an incident 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.
The JSON structure can include the following property:
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
- 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.
- layer—Specify a feature layer in the map service. Attribute and spatial filters can also be applied on the layer. The JSON structure can include the following properties:
- type—Set type to layer to indicate that you're specifying the incidents by referencing a layer.
- layerName: el nombre o Id. de la capa de datos en el servicio de mapas al que se hace referencia.
- where (opcional): una cláusula WHERE para el filtro de consulta. Se permite cualquier cláusula WHERE de SQL legal que funcione en los campos de la capa.
- geometry (opcional): la geometría que se aplica como filtro espacial. La estructura de la geometría coincide con la estructura de los objetos de geometría JSON devueltos por la ArcGIS REST API.
El tipo de geometría se especifica usando la propiedad geometryType.
- geometryType (opcional): el tipo de geometría especificado por la propiedad geometry. Los tipos de geometría compatibles son sobre, punto, línea y polígono. El tipo de geometría predeterminado es esriGeometryEnvelope.
Valores: esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolyline | esriGeometryPolygon | esriGeometryEnvelope
- spatialRel (opcional): la relación espacial que se aplicará en geometry de entrada. Entre las relaciones espaciales admitidas se incluyen interseca, contiene, el sobre interseca, dentro de, etc. La relación espacial predeterminada es esriSpatialRelIntersects.
Valores: esriSpatialRelIntersects | esriSpatialRelContains | esriSpatialRelCrosses | esriSpatialRelEnvelopeIntersects | esriSpatialRelIndexIntersects | esriSpatialRelOverlaps | esriSpatialRelTouches | esriSpatialRelWithin
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
Attributes for incidents
Cuando se especifican los incidentes, se pueden definir propiedades para cada uno, como su nombre o el tiempo de servicio, mediante los siguientes atributos:
- Name
El nombre del incidente. El nombre se utiliza en las indicaciones sobre cómo llegar. Si no se especifica el nombre, se genera automáticamente un nombre único con Location en las rutas e indicaciones de salida.
- ObjectID
El Id. de objeto del incidente. ObjectID es un identificador único del incidente. Si desea mantener una relación entre la entrada y la salida, establezca preserveObjectID en true y el valor de ObjectID del incidente de entrada se incluirá en las rutas de salida (como el campo IncidentID). El valor de ObjectID se incluye también en los incidentes de salida (como el campo ObjectID) y se puede utilizar para unir información adicional de salidas de análisis al atributo de los incidentes. Si no se especifica el valor de ObjectID, se genera automáticamente un Id. único en la salida.
- 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).
Nota:
SourceID, SourceOID, PosAlong y SideOfEdge son campos de ubicación. Si estos campos están presentes en la entrada, el análisis ubicará la entrada basándose en estos campos, de lo contrario, el análisis calculará la ubicación de entrada en función de la geometría de la entrada. Sin embargo, estos campos no son obligatorios.
- TargetFacilityCount
Specify the number of facilities that need to be found for the incident. If TargetFacilityCount is not set for an incident, the service will use the value specified in the defaultTargetFacilityCount parameter. The value for the TargetFacilityCount attribute allows the defaultTargetFacilityCount value to be overridden on a per-incident basis. The default value for this attribute is null, which causes the service to use the value set for the defaultTargetFacilityCount parameter. If the TargetFacilityCount attribute is set to a value other than null, the defaultTargetFacilityCount value is overwritten.
- CurbApproach
Especifica la dirección en la que un vehículo puede llegar al incidente y partir de él. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
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 al incidente y abandonarlo en cualquier dirección, de modo que se admite un cambio de sentido en el incidente. Puede elegir esta configuración si es posible y deseable que un vehículo dé la vuelta en el incidente. Esta decisión puede depender del ancho de la carretera y del volumen de tráfico, o de si la ubicación dispone de un aparcamiento en el que los vehículos pueden maniobrar.
Lado derecho del vehículo
1
Cuando el vehículo se aproxime y se aleje del incidente, el incidente debe quedar a la derecha 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
Cuando el vehículo se aproxime y se aleje del incidente, el incidente debe quedar a la izquierda 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 al incidente, este 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.
- Attr_[Cost]
Este campo especifica el tiempo o la distancia de viaje adicionales que pueden darse en el incidente.
Para determinar las unidades del campo, consulte las unidades del atributo de coste de red especificado en el nombre de campo. Por ejemplo, si existe un atributo de coste TravelTime que tiene una unidad de minutos, Attr_TravelTime estará en minutos.
Un valor de cero o nulo indica que el incidente no requiere tiempo de servicio ni distancia adicional de viaje. El valor predeterminado es 0.
Puede agregar tiempo a un incidente para representar cuánto tiempo se tarda en realizar una entrega, instalar equipos o llevar a cabo alguna otra tarea en el incidente. Asimismo, agregar más distancia puede resultar de utilidad para explicar un camino de entrada largo u otra carretera que el dataset de red no represente.
Si tiene varios atributos de coste de red, habrá varios campos Attr_[Cost]. En consecuencia, es posible que tenga más de un campo Attr_[Cost] basado en tiempo o distancia. Solo se hace referencia a los valores de campo introducidos si el atributo de coste al que se hace referencia en el nombre de campo se usa en el análisis, por ejemplo, para minimizar o acumular tiempo o distancia.
- Cutoff_[Cost]
Especifica el tiempo o la distancia de viaje en la cual se debe detener la búsqueda de instalaciones para un incidente determinado.
Si Cutoff_[Cost] no se ha definido para un incidente, el servicio usará el valor especificado para el parámetro defaultCutoff. El valor predeterminado de este atributo es nulo, lo que hace que el servicio utilice el valor definido para el parámetro defaultCutoff. Si el atributo Cutoff_[Cost] tiene un valor distinto de nulo, el valor defaultCutoff se invalida.
Si tiene varios atributos de coste de red, habrá varios campos Cutoff_[Cost]. En consecuencia, es posible que tenga más de un campo Cutoff_[Cost] basado en tiempo o distancia. Solo se hace referencia a los valores de campo introducidos si el atributo de coste al que se hace referencia en el nombre de campo se usa en el análisis como un atributo de impedancia, no se usa si el atributo se utiliza en el análisis como atributo de acumulación.
- 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 incidents
Syntax for specifying incidents using JSON structure for features
{
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
},
"features": [
{
"geometry": {
"x": <x>,
"y": <y>
},
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"geometry": {
"x": <x>,
"y": <y>
},
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
],
"doNotLocateOnRestrictedElements": true | false
}
Syntax for specifying incidents using a URL returning a JSON response
{
"url": "<url>"
"doNotLocateOnRestrictedElements": true | false
}
Syntax for specifying incidents using a layer
{
"type" : "layer",
"layerName" : "<layerName>",
"where" : "<whereClause>",
"geometry" : {<geometry>},
"geometryType" : "<geometryType>",
"spatialRel" : "<spatialRel>"
"doNotLocateOnRestrictedElements": true | false
}
Examples for incidents
Example 1: Specify incident geometries and attributes using a JSON structure
This example also shows how to specify the Name attribute for each incident as well as a service time for each incident using the Attr_TraveTime attribute.
{
"spatialReference": {
"wkid": 4326
},
"features": [
{
"geometry": {
"x": -122.4079,
"y": 37.78356
},
"attributes": {
"Name": "Fire Incident 1",
"Attr_TravelTime": 4
}
},
{
"geometry": {
"x": -122.404,
"y": 37.782
},
"attributes": {
"Name": "Crime Incident 45",
"Attr_TravelTime": 5
}
}
]
}
Example 2: Specify incident geometries in the Web Mercator spatial reference using a JSON structure
This example also shows how to specify the Name attribute for each incident as well as the distance in miles between the actual incident location and its location on the street using the Attr_Miles attribute.
{
"spatialReference": {
"wkid": 102100
},
"features": [
{
"geometry": {
"x": -13635398.9398,
"y": 4544699.034400001,
},
"attributes": {
"Name": "123 Main St",
"Attr_Miles": 0.29
}
},
{
"geometry": {
"x": -13632733.3441,
"y": 4547651.028300002,
},
"attributes": {
"Name": "845 Mulberry St",
"Attr_Miles" : 0.31
}
}
]
}
Example 3: Specify incidents 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"
}
Example 4: Specify incidents using a layer
{
"type" : "layer",
"layerName" : "TrafficAccidents",
"where" : "SEVERITY > 0"
}
facilities
Utilice este parámetro para especificar una o varias ubicaciones que se buscan para encontrar la ubicación más cercana. Estas ubicaciones se denominan instalaciones.
You can use a simple comma- and semicolon-based syntax if you are passing the facilities using their longitude and latitude values in the WGS84 coordinate system and don't need to pass additional fields for each location.
Simple syntax for facilitiesfacilities=x1,y1; x2, y2; ...; xn, yn
Example using simple syntaxfacilities=-117.1957,34.0564; -117.184,34.0546
The facilities parameter can be specified using a JSON structure that references a set of point features. The property is optional however, the JSON structure must specify either the features, url, or layer 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.
La estructura JSON puede incluir esta propiedad:
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
features: especifique una matriz de entidades.
Each feature in the features array represents a facility 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.
The JSON structure can include the following property:
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
- 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.
- layer—Specify a feature layer in the map service. Attribute and spatial filters can also be applied on the layer. The JSON structure can include the following properties:
- type—Set type to layer to indicate that you're specifying the facilities by referencing a layer.
- layerName: el nombre o Id. de la capa de datos en el servicio de mapas al que se hace referencia.
- where (opcional): una cláusula WHERE para el filtro de consulta. Se permite cualquier cláusula WHERE de SQL legal que funcione en los campos de la capa.
- geometry (opcional): la geometría que se aplica como filtro espacial. La estructura de la geometría coincide con la estructura de los objetos de geometría JSON devueltos por la ArcGIS REST API.
El tipo de geometría se especifica usando la propiedad geometryType.
- geometryType (opcional): el tipo de geometría especificado por la propiedad geometry. Los tipos de geometría compatibles son sobre, punto, línea y polígono. El tipo de geometría predeterminado es esriGeometryEnvelope.
Valores: esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolyline | esriGeometryPolygon | esriGeometryEnvelope
- spatialRel (opcional): la relación espacial que se aplicará en geometry de entrada. Entre las relaciones espaciales admitidas se incluyen interseca, contiene, el sobre interseca, dentro de, etc. La relación espacial predeterminada es esriSpatialRelIntersects.
Valores: esriSpatialRelIntersects | esriSpatialRelContains | esriSpatialRelCrosses | esriSpatialRelEnvelopeIntersects | esriSpatialRelIndexIntersects | esriSpatialRelOverlaps | esriSpatialRelTouches | esriSpatialRelWithin
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
Attributes for facilities
When specifying the stops using a JSON structure, you can specify additional properties for facilities such as their names using attributes. The facilities parameter can be specified with the following attributes:
- Name
El nombre de la instalación. El nombre se utiliza en las indicaciones sobre cómo llegar. Si no se especifica el nombre, se genera automáticamente un nombre único con Location en las rutas e indicaciones de salida.
- ObjectID
El Id. de objeto de la instalación. ObjectID es un identificador único de la instalación. Si desea mantener una relación entre la entrada y la salida, establezca preserveObjectID en true y el valor de ObjectID de la instalación de entrada se incluirá en las rutas de salida (como el campo FacilityID). El valor de ObjectID se incluye también en las instalaciones de salida (como el campo ObjectID) y se puede utilizar para unir información adicional de salidas de análisis al atributo de las instalaciones. Si no se especifica el valor de ObjectID, se genera automáticamente un Id. único en la salida.
- 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).
Nota:
SourceID, SourceOID, PosAlong y SideOfEdge son campos de ubicación. Si estos campos están presentes en la entrada, el análisis ubicará la entrada basándose en estos campos, de lo contrario, el análisis calculará la ubicación de entrada en función de la geometría de la entrada. Sin embargo, estos campos no son obligatorios.
- CurbApproach
Specify the direction a vehicle can arrive at and depart from the facility.
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 instalación y abandonarla en cualquier dirección, de modo que se admite un cambio de sentido en la instalación. Puede elegir esta configuración si es posible y deseable que un vehículo dé la vuelta en la instalación. Esta decisión puede depender del ancho del camino y del volumen de tráfico, o de si la instalación dispone de una zona estacionamiento en la que los vehículos pueden maniobrar.
Lado derecho del vehículo
1
Cuando el vehículo se aproxime y se aleje de la instalación, la instalación debe quedar a la derecha del vehículo. Los cambios de sentido están prohibidos. Esto se usa normalmente para vehículos como los autobuses que deben llegar con la parada a la derecha.
Lado izquierdo del vehículo
2
Cuando el vehículo se aproxime y se aleje de la instalación, la instalación debe quedar a la izquierda 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 instalación, 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.
- Attr_[Cost]
Este campo especifica el tiempo o la distancia de viaje adicionales que pueden darse en la instalación.
Para determinar las unidades del campo, consulte las unidades del atributo de coste de red especificado en el nombre de campo. Por ejemplo, si existe un atributo de coste TravelTime que tiene una unidad de minutos, Attr_TravelTime estará en minutos.
Un valor de cero o nulo indica que la instalación no requiere tiempo de servicio ni distancia adicional de viaje. El valor predeterminado es 0.
Puede agregar tiempo a una instalación para representar cuánto tiempo se tarda en llevar a cabo otras tareas en la instalación. Asimismo, agregar más distancia puede resultar de utilidad para explicar un camino de entrada largo u otra carretera que el dataset de red no represente.
Si tiene varios atributos de coste de red, verá varios campos Attr_[Cost]. En consecuencia, es posible que tenga más de un campo Attr_[Cost] basado en tiempo o distancia. Solo se hace referencia a los valores de campo introducidos si el atributo de coste al que se hace referencia en el nombre de campo se usa en el análisis, por ejemplo, para minimizar o acumular tiempo o distancia.
- Cutoff_[Cost]
Especifica el tiempo o la distancia de viaje en la cual se debe detener la búsqueda de instalaciones para un incidente determinado.
Si Cutoff_[Cost] no se ha definido para un incidente, el servicio usará el valor especificado para el parámetro defaultCutoff. El valor predeterminado de este atributo es nulo, lo que hace que el servicio utilice el valor definido para el parámetro defaultCutoff. Si el atributo Cutoff_[Cost] tiene un valor distinto de nulo, el valor defaultCutoff se invalida.
Si tiene varios atributos de coste de red, habrá varios campos Cutoff_[Cost]. En consecuencia, es posible que tenga más de un campo Cutoff_[Cost] basado en tiempo o distancia. Solo se hace referencia a los valores de campo introducidos si el atributo de coste al que se hace referencia en el nombre de campo se usa en el análisis como un atributo de impedancia, no se usa si el atributo se utiliza en el análisis como atributo de acumulación.
- 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 for facilities
Syntax for specifying facilities using a JSON structure for features
{
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
},
"features": [
{
"geometry": {
"x": <x>,
"y": <y>
},
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"geometry": {
"x": <x>,
"y": <y>
},
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
],
"doNotLocateOnRestrictedElements": true | false
}
Syntax for specifying facilities using a URL returning a JSON response
{
"url": "<url>"
"doNotLocateOnRestrictedElements": true | false
}
Syntax for specifying facilities using a layer
{
"type" : "layer",
"layerName" : "<layerName>",
"where" : "<whereClause>",
"geometry" : {<geometry>},
"geometryType" : "<geometryType>",
"spatialRel" : "<spatialRel>"
"doNotLocateOnRestrictedElements": true | false
}
Examples for facilities
Example 1: Specify facility geometries and attributes using a JSON structure
This example also shows how to specify the Name attribute and a service time for each facility using the Attr_TravelTime attribute.
{
"spatialReference": {
"wkid": 4326
},
"features": [
{
"geometry": {
"x": -122.4079,
"y": 37.78356
},
"attributes": {
"Name": "Fire Station 34",
"Attr_TravelTime": 4
}
},
{
"geometry": {
"x": -122.404,
"y": 37.782
},
"attributes": {
"Name": "Fire Station 29",
"Attr_TravelTime": 5
}
}
]
}
Example 2: Specify facility geometries in the Web Mercator spatial reference using a JSON structure
This example also shows how to specify the Name attribute for each facility and the distance in miles between the actual facility location and its location on the street using the Attr_Miles attribute.
{
"spatialReference": {
"wkid": 102100
},
"features": [
{
"geometry": {
"x": -13635398.9398,
"y": 4544699.034400001,
},
"attributes": {
"Name": "Store 45",
"Attr_Miles": 0.29
}
},
{
"geometry": {
"x": -13632733.3441,
"y": 4547651.028300002,
},
"attributes": {
"Name": "Store 67",
"Attr_Miles" : 0.31
}
}
]
}
Example 3: Specify facilities 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"
}
Example 4: Specify facilities using a layer
{
"type" : "layer",
"layerName" : "Hospitals",
"where" : "BEDS > 100"
}
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>
Optional parameters
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.
travelMode
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.
El valor del parámetro travelMode es el objeto JSON que contiene la configuración de un modo de viaje compatible con su organización. Para obtener los modos de viaje admitidos, ejecute el servicio retrieveTravelModes.
Puede hacer una solicitud para recuperar modos de viaje utilizando el siguiente formulario:
https://machine.domain.com/webadaptor/rest/services/Routing/NetworkAnalysis/NAServer/ClosestFacilty/retrieveTravelModes?f=json&token=<yourToken>
Nota:
Consulte Implementar inicio de sesión de aplicación para ArcGIS Online y Adquirir tokens de ArcGIS para ArcGIS Enterprise para obtener información sobre cómo generar uno.
El servicio retrieveTravelModes devuelve la respuesta siguiente.
Nota:
Dado que la respuesta es muy detallada, los elementos de la respuesta se abrevian para mayor claridad.
{
"currentVersion": 10.8,
"defaultTravelMode": "FEgifRtFndKNcJMJ",
"supportedTravelModes": [
{
"attributeParameterValues": [
{
"parameterName": "Restriction Usage",
"attributeName": "Avoid Private Roads",
"value": "AVOID_MEDIUM"
},
{
"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
},
{
"parameterName": "Restriction Usage",
"attributeName": "Avoid Roads Unsuitable for Pedestrians",
"value": "AVOID_HIGH"
}
],
"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": [
"Avoid Private Roads",
"Avoid Roads Unsuitable for Pedestrians",
"Preferred for Pedestrians",
"Walking"
],
"useHierarchy": false,
"simplificationTolerance": 2,
"timeAttributeName": "WalkTime",
"distanceAttributeName": "Kilometers",
"type": "WALK",
"id": "caFAgoThrvUpkFBW",
"name": "Walking Time"
},
{
"attributeParameterValues": [
{
"parameterName": "Restriction Usage",
"attributeName": "Avoid Unpaved Roads",
"value": "AVOID_HIGH"
},
{
"parameterName": "Restriction Usage",
"attributeName": "Avoid Private Roads",
"value": "AVOID_MEDIUM"
},
{
"parameterName": "Restriction Usage",
"attributeName": "Driving an Automobile",
"value": "PROHIBITED"
},
{
"parameterName": "Restriction Usage",
"attributeName": "Through Traffic Prohibited",
"value": "AVOID_HIGH"
},
{
"parameterName": "Vehicle Maximum Speed (km/h)",
"attributeName": "TravelTime",
"value": 0
},
{
"parameterName": "Restriction Usage",
"attributeName": "Roads Under Construction Prohibited",
"value": "PROHIBITED"
},
{
"parameterName": "Restriction Usage",
"attributeName": "Avoid Gates",
"value": "AVOID_MEDIUM"
},
{
"parameterName": "Restriction Usage",
"attributeName": "Avoid Express Lanes",
"value": "PROHIBITED"
},
{
"parameterName": "Restriction Usage",
"attributeName": "Avoid Carpool Roads",
"value": "PROHIBITED"
}
],
"description": "Models the movement of cars and other similar small automobiles,
such as pickup trucks, and finds solutions that optimize travel
time. Travel obeys one-way roads, avoids illegal turns, and
follows other rules that are specific to cars. When you specify
a start time, dynamic travel speeds based on traffic are used
where it is available.",
"impedanceAttributeName": "TravelTime",
"simplificationToleranceUnits": "esriMeters",
"uturnAtJunctions": "esriNFSBAtDeadEndsAndIntersections",
"restrictionAttributeNames": [
"Avoid Unpaved Roads",
"Avoid Private Roads",
"Driving an Automobile",
"Through Traffic Prohibited",
"Roads Under Construction Prohibited",
"Avoid Gates",
"Avoid Express Lanes",
"Avoid Carpool Roads"
],
"useHierarchy": true,
"simplificationTolerance": 10,
"timeAttributeName": "TravelTime",
"distanceAttributeName": "Kilometers",
"type": "AUTOMOBILE",
"id": "FEgifRtFndKNcJMJ",
"name": "Driving Time"
}
]
}
Desde el JSON anterior, para pasar Walking Time como modo de viaje, utilice el siguiente JSON como valor para el parámetro travelMode:
travelMode={"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"}
Precaución:
Si el parámetro travelMode no está definido, elige 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: impedanceAttributeName, attributeParameterValues, restrictUturns, useHierarchy, restrictionAttributeNames, outputGeometryPrecision, outputGeometryPrecisionUnits y directionsTimeAttributeName.
Si no establece el parámetro travelMode, el servicio respeta los valores predeterminados o definidos por el usuario para los parámetros que de otro modo se invalidarían, de modo que puede crear un modo de viaje.
defaultTargetFacilityCount
El número de instalaciones más próximas que se buscarán por incidente. Esto es útil en situaciones como un incendio en el que se precisen varios camiones de bomberos de estaciones de bomberos distintas. Por ejemplo, puede especificar que se busquen los tres parques de bomberos más próximos a un incendio.
El valor de este parámetro se puede invalidar por incidente especificando un valor para el atributo TargetFacilityCount al especificar el parámetro incidents.
travelDirection
Especifica la forma en la que se medirá la dirección de viaje para la búsqueda de la instalación más cercana.
Este parámetro se puede especificar mediante estos valores:
- esriNATravelDirectionFromFacility: la dirección de viaje es desde las instalaciones hasta los incidentes.
- esriNATravelDirectionToFacility: la dirección de viaje es desde los incidentes hasta las instalaciones.
Cada opción puede encontrar instalaciones distintas, ya que el tiempo de viaje a lo largo de ciertas calles puede variar según la dirección de viaje y restricciones de sentidos únicos. Por ejemplo, una instalación puede estar a una distancia de viaje de 10 minutos desde el incidente al viajar desde el incidente hasta la instalación, pero viajar desde la instalación hasta el incidente, puede llevar 15 minutos debido a que hay un tiempo de viaje distinto en esa dirección.
Normalmente, los cuerpos de bomberos usan el valor esriNATravelDirectionFromFacility para el parámetro, ya que lo que les interesa es el tiempo que se tarda en llegar desde la estación de bomberos (instalación) hasta la ubicación de la emergencia (incidente). A una tienda (instalación) le interesa más el tiempo que tardan los compradores (incidentes) en llegar a la tienda; las tiendas suelen utilizar el valor del parámetro esriNATravelDirectionToFacility.
defaultCutoff
El valor del tiempo de viaje o de la distancia de viaje en el que se debe detener la búsqueda de instalaciones para un incidente determinado. Por ejemplo, al buscar los hospitales más cercanos al lugar de un accidente, un valor límite de 15 minutos significa que la herramienta buscará el hospital más cercano a menos de 15 minutos del incidente. Si el hospital más próximo se encuentra a 17 minutos, no se devolverá ninguna ruta como resultado. Un valor de tolerancia es especialmente útil al buscar varias instalaciones.
La unidad de este parámetro se basa en la unidad del atributo de impedancia especificado usando el parámetro impedanceAttributeName o el valor de impedanceAttributeName del modo de viaje si se especifica un modo de viaje. Si el parámetro impedanceAttributeName es TravelTime, el valor de defaultCutoff se especifica en minutos. De lo contrario, el valor se especifica en millas o kilómetros en función de si el parámetro impedanceAttributeName está establecido en Miles o Kilometers, respectivamente.
Nota:
Los atributos de coste se basan en la fuente de datos que está utilizando para el análisis. TravelTime, Miles y Kilometers son atributos de coste en los datos de ArcGIS StreetMap Premium.
El valor del parámetro defaultCutoff se puede invalidar por incidente o instalación especificando un valor para el atributo Cutoff_[Impedance] al especificar los valores de los parámetros incidents o facilities.
timeOfDay
Especifique la hora y fecha de salida o de llegada a incidentes o instalaciones. También puede especificar un valor de now para establecer la hora de salida o de llegada en la hora actual.
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 usar el tráfico en el análisis, establezca impedanceAttributeName en TravelTime y asigne un valor de timeOfDay.
Nota:
TravelTime es un atributo de coste de los datos de ArcGIS StreetMap Premium. El atributo TravelTime se establece con un evaluador de tráfico para evaluar el coste en función del tráfico. Si utiliza sus propios datos, establezca impedanceAttributeName en un atributo de coste con un evaluador de tráfico y asigne un valor de timeOfDay para usar el tráfico en el análisis.El valor de timeOfDay representa la hora de inicio o llegada objetivo de las rutas del análisis. La hora se especifica como hora UNIX (milisegundos desde medianoche, 1 de enero de 1970).
Si se pasa un valor de now al parámetro timeOfDay, el viaje comienza en la hora actual. También invalidará el valor del parámetro timeOfDayIsUTC para que sea true. Cuando timeOfDay es now y timeOfDayIsUTC es true, el viaje comenzará o finalizará en las ubicaciones de entrada a la hora actual, independientemente de la zona horaria de las ubicaciones de entrada.
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.
Cuando el servicio utiliza datos de ArcGIS StreetMap Premium, puede admitir dos tipos de tráfico: en directo y típico.
Si el valor de timeOfDay especificado está a menos de cuatro 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 el valor de timeOfDay especificado es más de cuatro horas anterior o posterior a 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 consiguiente, una carretera puede tener un tiempo de viaje diferente un lunes a las 8:00 a.m., un lunes a las 8:15 a.m. o un martes a las 8:00 a.m. Dado que la varianza es 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 a.m., independientemente del mes o el año.
Si su objetivo es modelar las condiciones típicas de viaje y evitar grandes varianzas respecto a 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.
ArcGIS Online Directions and Routing Services Coverage 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.
Todas las instalaciones e incidentes deben estar en la misma zona horaria cuando realice cualquiera de las siguientes acciones:
- Especifica un tiempo de inicio y el viaje del incidente a la instalación
- Especifica una hora para finalizar y el viaje de la instalación al incidente
- Especifica una hora para finalizar y el viaje de la instalación al incidente.
- Especifica una hora para finalizar y el viaje de la instalación al incidente.
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.
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 timeOfDay
Ejemplo 1: 13:03, 4 de enero de 1990. Tráfico típico los jueves a las 13:03.
"timeOfDay": 631458180000
Ejemplo 2: 17:00, 7 de enero de 1990. Tráfico típico los domingos a las 17:00.
"timeOfDay": 631731600000
Ejemplo 3: especifique el valor now. El análisis comienza en la hora actual y las velocidades de tráfico en directo se referencian en el análisis.
"timeOfDay": now
Ejemplo 4: 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.
"timeOfDay": 1426674000000
timeOfDayIsUTC
Especifique la zona o zonas horarias del parámetro timeOfDay.
Falso (utilizar zonas horarias geográficamente locales)
El valor timeOfDay 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.
La siguiente imagen ilustra cómo establecer el valor en false (geográficamente local). Establecer timeOfDay como 9:00, 4 de enero de 1990 (631443600000 milisegundos) y timeOfDayIsUTC como false, 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 y a las 9:00 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).
Verdadero (usar UTC)
El valor timeOfDay hace referencia a la hora universal coordinada (UTC). Las horas de inicio son simultáneas para todos los puntos, independientemente de las zonas horarias.
La siguiente imagen ilustra cómo establecer el valor en true (UTC). Establecer timeOfDay como 9:00, 4 de enero de 1990 (631443600000 milisegundos) y timeOfDayIsUTC como true hace que el tiempo de inicio de los puntos en la zona horaria del este sean las 4:00 hora del este y las 3:00 hora central para quienes se encuentren en la zona horaria central.
timeOfDayUsage
El valor del parámetro timeOfDayUsage representa la hora de llegada o salida de las rutas. Este parámetro se puede especificar mediante estos valores:
- esriNATimeOfDayUseAsStartTime: el servicio busca la ruta mejor teniendo en cuenta el valor del parámetro timeOfDay como la hora de salida desde la instalación o incidente.
- esriNATimeOfDayUseAsEndTime: el servicio tiene en cuenta el valor del parámetro timeOfDay como la hora de llegada a la instalación o incidente. Este valor es útil si desea conocer a qué hora se debe salir de una ubicación para llegar al destino a la hora especificada en timeOfDay.
El valor del parámetro se ignora si el valor del parámetro timeOfDay es none.
useHierarchy
Especifique si se usará la jerarquía para buscar las rutas más cortas.
Precaución:
El valor de este parámetro, independientemente de si utiliza el valor predeterminado o establece explícitamente un valor, se invalida si se entrega en travelMode.
true: usar la jerarquía al viajar entre instalaciones e incidentes. 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 instalaciones e incidentes. 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.
restrictUTurns
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 utiliza el valor predeterminado o establece explícitamente un valor, se invalida si se entrega en travelMode.
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:
Valor del parámetro | Descripción |
---|---|
esriNFSBAllowBacktrack | 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. |
esriNFSBAtDeadEndsAndIntersections | Los cambios de sentido están prohibidos en los cruces donde se cruzan dos calles. |
esriNFSBAtDeadEndsOnly | Los cambios de sentido están prohibidos en todos los cruces y todas las intersecciones y solo se permiten en calles sin salida. |
esriNFSBNoBacktrack | 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). |
impedanceAttributeName
Especifique la impedancia.
Precaución:
El valor de este parámetro, independientemente de si utiliza el valor predeterminado o establece explícitamente un valor, se invalida si se entrega en travelMode.
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.
The impedanceAttributeName parameter can be specified using the following values:
- 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.
accumulateAttributeNames
Utilice este parámetro para especificar si el servicio acumulará valores además del valor especificado de impedanceAttributeName. Por ejemplo, si impedanceAttributeName tiene el valor TravelTime, el servicio calculará el tiempo de viaje total para la ruta. Sin embargo, si también desea calcular la distancia total de la ruta en millas, puede especificar Miles como el valor del parámetro accumulateAttributeNames.
Especifique el valor del parámetro como una lista de nombres separados por comas. Los valores del parámetro son los mismos que los del parámetro impedanceAttributeName. Por ejemplo, accumulateAttributeNames=Miles,Kilometers indica que el coste total de la ruta también se calculará en millas y kilómetros.
Nota:
Los valores especificados para el parámetro accumulateAttributeNames solo se utilizan como referencia. El servicio siempre usa impedanceAttributeName para encontrar las rutas mejores.
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.
restrictionAttributeNames
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 utiliza el valor predeterminado o establece explícitamente un valor, se invalida si se entrega en travelMode.
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.
The restrictionAttributeNames parameter can be specified using the following values:
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.
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 de parámetro restrictionAttributeName se especifica como una lista de nombres de restricción. Un valor de null indica que no se utilizarán restricciones para buscar la ruta mejor, sino solo si travelMode tiene el valor null.
attributeParameterValues
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 utiliza el valor predeterminado o establece explícitamente un valor, se invalida si se entrega en travelMode.
Este valor de parámetro se especifica como una matriz de objetos, cada uno con las siguientes propiedades:
attributeName: el nombre de la restricción.
parameterName: el nombre del parámetro asociado con la restricción. Una restricción puede tener una o más propiedades de parameterName.
value: el valor de parameterName.
La mayoría de parámetros de atributos están relacionados con los atributos de restricción en restrictionAttributeNames. Cada restricción tiene por lo menos un parámetro de atributos llamado 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. Es posible asignar al parámetro Restriction Usage cualquiera de los siguientes valores de cadena de caracteres o sus valores numéricos equivalentes entre paréntesis:
- 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.
Nota:
El parámetro restrictionAttributeNames está asociado con attributeParameterValues. El valor de parámetro del atributo de restricción se especifica como parte de attributeParameterValues. Cada restricción tiene al menos un parámetro llamado Restriction Usage que especifica si se prohíbe el viaje por las carreteras que tienen la restricción, se debe evitar o se debe preferir. Para las últimas dos opciones, también especifica el grado en que se evitan o prefieren las carreteras.
En la siguiente tabla, se muestran los nombres de parámetro de atributos y los valores predeterminados de los parámetros.
Sugerencia:
Para utilizar el valor predeterminado para una restricción, no es necesario especificar attributeName, parameterName y value como parte del parámetro attributeParameterValues.
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 attributeParameterValues
[
{
"attributeName": "<attribute1>",
"parameterName": "<parameter1>",
"value": "<value1>"
},
{
"attributeName": "<attribute2>",
"parameterName": "<parameter2>",
"value": "<value2>"
}
]
Example for attributeParameterValues
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 las rutas designadas para camiones. Da como resultado una ruta que no contiene carreteras en las que la distancia al suelo bajo pasos elevados o túneles sea menor que la altura del vehículo. La ruta tampoco incluirá carreteras con puentes de carga limitada 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. No se especifica el parámetro Restriction Usage para Height Restriction y Weight Restriction, ya que se utilizará el valor predeterminado de Prohibit para estos parámetros de restricción.
attributeParameterValues=
[
{
"attributeName": "Height Restriction",
"parameterName": "Vehicle Height (meters)",
"value": 4.12
},
{
"attributeName": "Weight Restriction",
"parameterName": "Vehicle Weight (kilograms)",
"value": 36287
},
{
"attributeName": "Use Preferred Truck Routes",
"parameterName": "Restriction Usage",
"value": "Prefer_High"
}
]
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.
Puede utilizar una sintaxis simple basada en comas y en punto y coma si pasa las ubicaciones de barrera de punto con sus valores de longitud y latitud en el sistema de coordenadas WGS84 y no necesita pasar campos adicionales para cada ubicación.
Sintaxis simple para barrerasbarriers=x1,y1; x2, y2; ...; xn, yn
Ejemplo con la sintaxis simplebarriers=-117.1957,34.0564; -117.184,34.0546
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, features, or layer 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.
La estructura JSON puede incluir esta propiedad:
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
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.
The JSON structure can include the following property:
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
- 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.
- layer—Specify a feature layer in the map service. Attribute and spatial filters can also be applied on the layer. The JSON structure can include the following properties:
- type—Set the type property to layer to indicate that you're specifying the point barriers by referencing a layer.
- layerName: el nombre o Id. de la capa de datos en el servicio de mapas al que se hace referencia.
- where (opcional): una cláusula WHERE para el filtro de consulta. Se permite cualquier cláusula WHERE de SQL legal que funcione en los campos de la capa.
- geometry (opcional): la geometría que se aplica como filtro espacial. La estructura de la geometría coincide con la estructura de los objetos de geometría JSON devueltos por la ArcGIS REST API.
El tipo de geometría se especifica usando la propiedad geometryType.
- geometryType (opcional): el tipo de geometría especificado por la propiedad geometry. Los tipos de geometría compatibles son sobre, punto, línea y polígono. El tipo de geometría predeterminado es esriGeometryEnvelope.
Valores: esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolyline | esriGeometryPolygon | esriGeometryEnvelope
- spatialRel (opcional): la relación espacial que se aplicará en geometry de entrada. Entre las relaciones espaciales admitidas se incluyen interseca, contiene, el sobre interseca, dentro de, etc. La relación espacial predeterminada es esriSpatialRelIntersects.
Valores: esriSpatialRelIntersects | esriSpatialRelContains | esriSpatialRelCrosses | esriSpatialRelEnvelopeIntersects | esriSpatialRelIndexIntersects | esriSpatialRelOverlaps | esriSpatialRelTouches | esriSpatialRelWithin
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
Attributes for barriers
Al especificar el parámetro barriers usando una estructura JSON, puede especificar información adicional sobre las barreras (por ejemplo, el tipo de barrera) mediante el uso de atributos. El parámetro barriers se puede especificar con los siguientes atributos:
Name
El nombre de la barrera.
ObjectID
El Id. de objeto de la barrera. ObjectID es un identificador único de la barrera. Si desea mantener una relación entre la entrada y la salida, establezca preserveObjectID en true. El valor de ObjectID de la barrera de entrada se incluye también en la barrera de salida (como el campo ObjectID) y se puede utilizar para unir información adicional de salidas de análisis al atributo de las barreras. Si no se especifica el valor de ObjectID, se genera automáticamente un Id. único en la salida.
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).
Nota:
SourceID, SourceOID, PosAlong y SideOfEdge son campos de ubicación. Si estos campos están presentes en la entrada, el análisis ubicará la entrada basándose en estos campos, de lo contrario, el análisis calculará la ubicación de entrada en función de la geometría de la entrada. Sin embargo, estos campos no son obligatorios.
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 el atributo Attr_[Cost]. Este tipo de barreras se conoce como una barrera de puntos de coste agregado.
Nota:
No existe ningún tipo de barrera de punto que tenga el valor 1 para el atributo BarrierType.
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.
Attr_[Cost]
Indica cómo el coste (tiempo o distancia) se agrega cuando se atraviesa la barrera. Este atributo solo se aplica a barreras de punto de coste añadido. El valor del atributo debe ser mayor o igual que cero.
Syntax examples for barriers
Sintaxis para especificar barreras utilizando una estructura JSON para entidades
{
"spatialReference": {
"wkid": <wkid>,
"latestWkid": <wkid>
},
"features": [
{
"geometry": {
"x": <x>,
"y": <y>
},
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"geometry": {
"x": <x>,
"y": <y>
},
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
],
"doNotLocateOnRestrictedElements": true | false
}
Sintaxis para especificar barreras utilizando una dirección URL a una respuesta JSON
{
"url": "<url>"
"doNotLocateOnRestrictedElements": true | false
}
Syntax for specifying point barriers using a layer
{
"type" : "layer",
"layerName" : "<layerName>",
"where" : "<whereClause>",
"geometry" : {<geometry>},
"geometryType" : "<geometryType>",
"spatialRel" : "<spatialRel>"
"doNotLocateOnRestrictedElements": true | false
}
Examples for 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 añadido para modelar un retraso de cinco minutos en un cruce de ferrocarril. El atributo BarrierType se utiliza para especificar que la barrera de punto es del tipo de coste añadido y el atributo Attr_TravelTime se utiliza para especificar el retraso en minutos.
{
"spatialReference": {
"wkid": 4326
},
"features": [
{
"geometry": {
"x": -122.053461,
"y": 37.541479
},
"attributes": {
"Name": "Haley St rail road crossing",
"BarrierType": 2,
"Attr_TravelTime": 5
}
}
]
}
Ejemplo 2: especificar una barrera de punto de restricción 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/0/query?where=1%3D1&returnGeometry=true&f=json"
}
Example 3: Specify a point barrier using a layer
{
"type" : "layer",
"layerName" : "TrafficAccidents",
"where" : "SEVERITY > 0"
}
polylineBarriers
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, features, or layer 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.
La estructura JSON puede incluir esta propiedad:
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
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.
The JSON structure can include the following property:
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
- 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.
- layer—Specify a feature layer in the map service. Attribute and spatial filters can also be applied on the layer. The JSON structure can include the following properties:
- type—Set the type property to layer to indicate that you're specifying the polyline barriers by referencing a layer.
- layerName: el nombre o Id. de la capa de datos en el servicio de mapas al que se hace referencia.
- where (opcional): una cláusula WHERE para el filtro de consulta. Se permite cualquier cláusula WHERE de SQL legal que funcione en los campos de la capa.
- geometry (opcional): la geometría que se aplica como filtro espacial. La estructura de la geometría coincide con la estructura de los objetos de geometría JSON devueltos por la ArcGIS REST API.
El tipo de geometría se especifica usando la propiedad geometryType.
- geometryType (opcional): el tipo de geometría especificado por la propiedad geometry. Los tipos de geometría compatibles son sobre, punto, línea y polígono. El tipo de geometría predeterminado es esriGeometryEnvelope.
Valores: esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolyline | esriGeometryPolygon | esriGeometryEnvelope
- spatialRel (opcional): la relación espacial que se aplicará en geometry de entrada. Entre las relaciones espaciales admitidas se incluyen interseca, contiene, el sobre interseca, dentro de, etc. La relación espacial predeterminada es esriSpatialRelIntersects.
Valores: esriSpatialRelIntersects | esriSpatialRelContains | esriSpatialRelCrosses | esriSpatialRelEnvelopeIntersects | esriSpatialRelIndexIntersects | esriSpatialRelOverlaps | esriSpatialRelTouches | esriSpatialRelWithin
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
Attributes for polylineBarriers
Al especificar el parámetro polylineBarriers usando una estructura JSON, el parámetro se puede especificar con el siguiente atributo:
Name
El nombre de la barrera.
ObjectID
El Id. de objeto de la barrera de línea. ObjectID es un identificador único de la barrera de línea. Si desea mantener una relación entre la entrada y la salida, establezca preserveObjectID en true. El valor de ObjectID de la barrera de línea de entrada se incluye también en la barrera de línea de salida (como el campo ObjectID) y se puede utilizar para unir información adicional de salidas de análisis al atributo de las barreras de línea. Si no se especifica el valor de ObjectID, se genera automáticamente un Id. único en la salida.
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).
Nota:
SourceID, SourceOID, PosAlong y SideOfEdge son campos de ubicación. Si estos campos están presentes en la entrada, el análisis ubicará la entrada basándose en estos campos, de lo contrario, el análisis calculará la ubicación de entrada en función de la geometría de la entrada. Sin embargo, estos campos no son obligatorios.
BarrierType
Especifique si la barrera restringe el recorrido completamente o escala el tiempo o la distancia cuando se atraviesa. 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 línea de restricción, ya que actúa como una restricción.
- 1 (Coste en escala): escala el tiempo o la distancia requeridos para recorrer las calles subyacentes por un factor especificado mediante el atributo Attr_[Cost].
Attr_[Cost]
Este atributo es específico de las barreras con coste en escala. Es el factor por el que se multiplica el coste de los ejes subyacentes a la barrera.
Syntax examples for polylineBarriers
Sintaxis para especificar barreras de polilí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>
}
}
],
"doNotLocateOnRestrictedElements": true | false
}
Sintaxis para especificar barreras de polilínea utilizando una dirección URL que devuelve una respuesta JSON
{
"url": "<url>"
"doNotLocateOnRestrictedElements": true | false
}
Syntax for specifying polyline barriers using a layer
{
"type" : "layer",
"layerName" : "<layerName>",
"where" : "<whereClause>",
"geometry" : {<geometry>},
"geometryType" : "<geometryType>",
"spatialRel" : "<spatialRel>"
"doNotLocateOnRestrictedElements": true | false
}
Examples for polylineBarriers
Ejemplo 1: especificar barreras de polilínea utilizando una estructura JSON
Este ejemplo muestra cómo agregar dos líneas como barreras de polilí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 compuesta por dos puntos. La barrera 2 es una entidad de línea de dos partes. La primera parte está compuesta por tres puntos y la segunda parte está compuesta 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 una barrera de polilínea 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/6/query?where=1%3D1&returnGeometry=true&f=json"
}
Example 3: Specify a polyline barrier using a layer
{
"type" : "layer",
"layerName" : "PolylineBarrier"
}
polygonBarriers
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, features, or layer 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.
La estructura JSON puede incluir esta propiedad:
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
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.
The JSON structure can include the following property:
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
- 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.
- layer—Specify a feature layer in the map service. Attribute and spatial filters can also be applied on the layer. The JSON structure can include the following properties:
- type—Set the type property to layer to indicate that you're specifying the polygon barriers by referencing a layer.
- layerName: el nombre o Id. de la capa de datos en el servicio de mapas al que se hace referencia.
- where (opcional): una cláusula WHERE para el filtro de consulta. Se permite cualquier cláusula WHERE de SQL legal que funcione en los campos de la capa.
- geometry (opcional): la geometría que se aplica como filtro espacial. La estructura de la geometría coincide con la estructura de los objetos de geometría JSON devueltos por la ArcGIS REST API.
El tipo de geometría se especifica usando la propiedad geometryType.
- geometryType (opcional): el tipo de geometría especificado por la propiedad geometry. Los tipos de geometría compatibles son sobre, punto, línea y polígono. El tipo de geometría predeterminado es esriGeometryEnvelope.
Valores: esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolyline | esriGeometryPolygon | esriGeometryEnvelope
- spatialRel (opcional): la relación espacial que se aplicará en geometry de entrada. Entre las relaciones espaciales admitidas se incluyen interseca, contiene, el sobre interseca, dentro de, etc. La relación espacial predeterminada es esriSpatialRelIntersects.
Valores: esriSpatialRelIntersects | esriSpatialRelContains | esriSpatialRelCrosses | esriSpatialRelEnvelopeIntersects | esriSpatialRelIndexIntersects | esriSpatialRelOverlaps | esriSpatialRelTouches | esriSpatialRelWithin
- doNotLocateOnRestrictedElements (opcional): especifique si los elementos de red restringidos se considerarán al buscar ubicaciones de red. El valor predeterminado es true.
Attributes for polygonBarriers
Al especificar el parámetro polygonBarriers usando una estructura JSON, puede especificar información adicional sobre las barreras (por ejemplo, el tipo de barrera) mediante el uso de atributos. El parámetro polygonBarriers se puede especificar con los siguientes atributos:
Name
El nombre de la barrera.
ObjectID
El Id. de objeto de la barrera de polígono. ObjectID es un identificador único de la barrera de polígono. Si desea mantener una relación entre la entrada y la salida, establezca preserveObjectID en true. El valor de ObjectID de la barrera de polígono de entrada se incluye también en la barrera de polígono de salida (como el campo ObjectID) y se puede utilizar para unir información adicional de salidas de análisis al atributo de las barreras de polígono. Si no se especifica el valor de ObjectID, se genera automáticamente un Id. único en la salida.
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).
Nota:
SourceID, SourceOID, PosAlong y SideOfEdge son campos de ubicación. Si estos campos están presentes en la entrada, el análisis ubicará la entrada basándose en estos campos, de lo contrario, el análisis calculará la ubicación de entrada en función de la geometría de la entrada. Sin embargo, estos campos no son obligatorios.
BarrierType
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 tiempo o la distancia requeridos para recorrer las calles subyacentes por un factor especificado mediante Attr_[Cost]. 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.
Attr_[Cost]
Este es el factor por el cual se multiplica el coste de las calles que se intersecan con la barrera. Este atributo solo se aplica a barreras con coste en escala. El valor del atributo debe ser mayor que cero.
Syntax examples for polygonBarriers
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>
}
}
],
"doNotLocateOnRestrictedElements": true | false
}
Sintaxis para especificar barreras de polígono utilizando una URL que devuelve una estructura JSON
{
"url": "<url>"
"doNotLocateOnRestrictedElements": true | false
}
Syntax for specifying polygon barriers using a layer
{
"type" : "layer",
"layerName" : "<layerName>",
"where" : "<whereClause>",
"geometry" : {<geometry>},
"geometryType" : "<geometryType>",
"spatialRel" : "<spatialRel>"
"doNotLocateOnRestrictedElements": true | false
}
Examples for polygonBarriers
Ejemplo 1: especificar una barrera de polígono utilizando una estructura JSON
Este ejemplo muestra cómo agregar dos polígonos como barreras. El primer polígono, Flood zone, 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 compuesta por cuatro puntos. El segundo polígono, Zona de condiciones meteorológicas adversas, es una barrera de polígono con coste en escala que reduce el tiempo de viaje por las calles subyacentes a 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,
"Attr_TravelTime": 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"
}
Example 3: Specify a polygon barrier using a layer
{
"type" : "layer",
"layerName" : "PolygonBarrier"
}
returnDirections
Especifique si el servicio generará indicaciones de conducción para cada ruta.
El valor predeterminado es false.
-
true: generar indicaciones. Las indicaciones se configuran en función de los valores de los parámetros directionsLanguage, directionsOutputType, directionsStyleName y directionsLengthUnits. Las indicaciones estarán disponibles en la propiedad directions de la respuesta JSON.
-
false: no generar indicaciones.
returnCFRoutes
Utilice este parámetro para especificar si el servicio devolverá rutas.
- true: se devuelven rutas. Las rutas están disponibles en la propiedad routes de la respuesta JSON. La forma de las rutas depende del valor del parámetro outputLines.
- false: no se devuelven rutas.
Precaución:
El valor predeterminado del parámetro returnCFRoutes es false. Para devolver las rutas mejores entre el incidente y las instalaciones más cercanas, especifique true para este parámetro. Si también desea que el servicio devuelva las entidades de puntos que representan las instalaciones más cercanas a los incidentes, especifique el parámetro returnFacilities como true.
Sugerencia:
Si no quiere devolver rutas porque la aplicación tiene que mostrar solo las indicaciones de conducción entre las paradas, puede establecer el parámetro returnDirections en true y el parámetro returnCFRoutes en false. En este caso, devolver las rutas no proporcionará información adicional y aumentará el tamaño de respuesta general.
directionsLanguage
El idioma que se utilizará para generar las indicaciones de viaje.
Este parámetro solo se aplica si el parámetro returnDirections está establecido en true. El servicio admite generar indicaciones en los siguientes idiomas:
- 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.
directionsOutputType
Defina el contenido y texto de las indicaciones de conducción. Este parámetro solo se aplica si el parámetro returnDirections está establecido en true. Este parámetro se puede especificar mediante estos valores:
- esriDOTComplete: la salida de indicaciones incluye todas las propiedades de indicaciones.
- esriDOTCompleteNoEvents: la salida de indicaciones incluye todas las propiedades de indicaciones excepto los eventos.
- esriDOTInstructionsOnly: salida de indicaciones incluye instrucciones de texto, tiempo, longitud y hora estimada de llegada. Las indicaciones no incluyen geometría.
- esriDOTStandard: la salida de indicaciones incluye instrucciones de texto, tiempo, longitud, hora estimada de llegada y geometría. Las indicaciones no incluyen eventos, nuevos tipos de cadenas de caracteres (nombres de calles, información de postes indicadores), tipo de maniobra, rumbos ni ángulo de giro.
- esriDOTSummaryOnly: la salida de indicaciones contiene un resumen (tiempo y longitud). No se incluyen instrucciones detalladas de texto ni geometría.
- esriDOTFeatureSets: la salida de indicaciones incluye dos conjuntos de entidades, puntos de dirección y líneas de dirección. El conjunto de puntos de dirección contiene entidades de puntos que representan las maniobras de dirección como llegar a o salir de una parada, girar a izquierda o derecha y otros eventos a lo largo de la ruta. Este conjunto de entidades contiene también las indicaciones paso a paso de la ruta. El conjunto de líneas de dirección contiene entidades de línea para cada segmento de la ruta. Este conjunto de entidades se puede utilizar para visualizar las indicaciones paso a paso en un mapa.
El valor predeterminado es esriDOTStandard.
directionsStyleName
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.
Este parámetro solo se aplica si el parámetro returnDirections está establecido en true.
directionsLengthUnits
Especifique las unidades para mostrar la distancia de viaje en las indicaciones de conducción. Este parámetro solo se aplica si el parámetro returnDirections está establecido en true. Este parámetro se puede especificar mediante estos valores:
- esriNAUFeet
- esriNAUKilometers
- esriNAUMeters
- esriNAUMiles
- esriNAUNauticalMiles
- esriNAUYards
El valor predeterminado es esriNAUMiles.
directionsTimeAttributeName
Establezca el atributo de impedancia basado en el tiempo para visualizar la duración de una maniobra, como "Diríjase al noroeste por Cl. Alvarado durante 5 minutos". Las unidades para todos los atributos de tiempo son minutos.
- TravelTime: tiempo de viaje para un coche
- Minutes: tiempo de viaje para un coche sin usar datos de tráfico en directo
- TruckTravelTime: tiempo de viaje para un camión
- TruckMinutes: tiempo de viaje para un camión sin usar datos de tráfico en directo
- WalkTime: tiempo de viaje para un peatón
Nota:
Estos valores son específicos de los servicios publicados con datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.
outputLines
Use este parámetro para especificar el tipo de entidades de ruta que constituyen la salida del servicio. Este parámetro solo es aplicable si el parámetro returnCFRoutes está establecido en true. El parámetro outputLines puede tener uno de los valores siguientes:
esriNAOutputLineTrueShape: devolver la forma exacta de la ruta resultante basada en las calles subyacentes.
esriNAOutputLineTrueShapeWithMeasure: devolver la forma exacta de la ruta resultante basada las calles subyacentes e incluir mediciones de ruta que rastreen el tiempo de viaje o distancia de viaje acumulativos a lo largo de la ruta relativa a la primera parada. Cuando se elige este valor para el parámetro outputLines, cada punto de la forma de la ruta incluirá un valor m junto con los valores x e y. El valor m, también conocido como valor de medición, indica el tiempo de viaje acumulado o la distancia de viaje acumulada en ese punto a lo largo de la ruta. Los valores m se pueden utilizar para determinar a qué distancia ha viajado desde el inicio de la ruta o la distancia restante o el tiempo restante para llegar al destino. Los valores m están en las mismas unidades que el atributo de impedancia.
esriNAOutputLineStraight: devuelve una línea recta entre el incidente y la instalación más cercana.
esriNAOutputLineNone: no devuelve ninguna forma para las rutas. Este valor puede ser útil si solo le interesa determinar el tiempo o la distancia total de viaje de la ruta. Por ejemplo, si la aplicación ha calculado la ruta y, transcurrido algún tiempo, calculará la hora estimada de llegada al destino, puede establecer el parámetro returnCFRoutes como true y el parámetro outputLines como esriNAOutputLineNone. La propiedad routes de la respuesta JSON solo contendrá el tiempo total de viaje que se pueda utilizar para determinar la hora estimada de llegada. Dado que la forma de la ruta no se devuelve al utilizar el valor esriNAOutputLineNone, el tamaño de la respuesta será considerablemente menor.
Sugerencia:
Si el parámetro outputLines se ha establecido en esriNAOutputLineTrueShape o esriNAOutputLineTrueShapeWithMeasure, la generalización de la forma de la ruta se puede controlar mejor usando los valores apropiados para los parámetros outputGeometryPrecision y outputGeometryPrecisionUnits.
Nota:
Sea cual sea el valor elegido para el parámetro outputLines, la ruta mejor siempre se determina minimizando el tiempo de viaje o la distancia de viaje; nunca se determina usando la distancia euclidiana (o como distancia en línea recta) entre las 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.
returnFacilities
Use este parámetro para especificar si el servicio devolverá las instalaciones. Los valores posibles para este parámetro son true o false. Un valor true indica que las instalaciones usadas como entradas se devuelven como parte de la propiedad facilities en la respuesta JSON. El valor predeterminado de este parámetro es false.
Si especificó el valor del parámetro facilities mediante una solicitud de consulta REST para cualquier servicio de geoprocesamiento, mapas o entidades de ArcGIS Server que devuelva un conjunto de entidades JSON, puede definir el parámetro returnFacilities como true para poder dibujar las ubicaciones de instalaciones en la aplicación. También puede establecer la propiedad returnFacilities como true para determinar si se han ubicado correctamente las instalaciones en la red de calles o hubo otros errores al revisar la propiedad Status en la respuesta JSON.
returnIncidents
Use este parámetro para especificar si el servicio devolverá los incidentes. Los valores posibles para este parámetro son true o false. Un valor true indica que los incidentes usados como entradas se devuelven como parte de la propiedad facilities en la respuesta JSON. El valor predeterminado de este parámetro es false.
Si especificó el valor del parámetro incidents mediante una solicitud de consulta REST para cualquier servicio de geoprocesamiento, mapas o entidades de ArcGIS Server que devuelva un conjunto de entidades JSON, puede definir el parámetro returnIncidents como true para poder dibujar las ubicaciones de incidentes en la aplicación. También puede establecer la propiedad returnIncidents como true para determinar si se han ubicado correctamente los incidentes en la red de calles o hubo otros errores al revisar la propiedad Status en la respuesta JSON.
returnBarriers
Especifique si el servicio devolverá barreras.
- true: las barreras de punto de entrada se devuelven como parte de la propiedad barriers de la respuesta JSON.
- false: no se devuelven barreras de punto. Esta es la opción predeterminada.
Para que este parámetro tenga efecto, debe especificar también un valor para el parámetro barriers.
Si especificó el valor del parámetro barriers mediante una solicitud de consulta REST para cualquier servicio de geoprocesamiento, mapas o entidades de ArcGIS Server que devuelva un conjunto de entidades JSON, puede definir el parámetro returnBarriers como true para poder dibujar las ubicaciones de barreras de punto en la aplicación. También puede definir la propiedad returnBarriers como true para ver dónde se han localizado las barreras en la red de calles o, si no estaban ubicadas, comprender cuál era el problema al revisar la propiedad Status de la respuesta JSON.
returnPolylineBarriers
Especifique si el servicio devolverá barreras de polilínea.
- true: las barreras de polilínea de entrada se devuelven como parte de la propiedad polylineBarriers en la respuesta JSON.
- false: no se devuelven barreras de polilínea. Esta es la opción predeterminada.
Para que este parámetro tenga efecto, debe especificar también un valor para el parámetro polylineBarriers.
Si especificó el valor del parámetro polylineBarriers mediante una solicitud de consulta REST para cualquier servicio de geoprocesamiento, mapas o entidades de ArcGIS Server que devuelva un conjunto de entidades JSON, puede definir el parámetro returnPolylineBarriers como true para poder dibujar las ubicaciones de barreras de polilínea en la aplicación.
returnPolygonBarriers
Especifique si el servicio devolverá barreras de polígono.
- true: las barreras de polígono de entrada se devuelven como parte de la propiedad polygonBarriers en la respuesta JSON.
- false: no se devuelven barreras de polígono. Esta es la opción predeterminada.
Para que este parámetro tenga efecto, debe especificar también un valor para el parámetro polygonBarriers.
Si especificó el valor del parámetro polygonBarriers mediante una solicitud de consulta REST para cualquier servicio de geoprocesamiento, mapas o entidades de ArcGIS Server que devuelva un conjunto de entidades JSON, puede definir el parámetro returnPolygonBarriers como true para poder dibujar las ubicaciones de barreras de polígono en la aplicación.
returnTraversedEdges
Especifique si el servicio devolverá los ejes en los que se ha realizado el trazado poligonal.
- true: los ejes en los que se ha realizado el trazado poligonal se devuelven como parte de la respuesta JSON.
- false: los ejes en los que se ha realizado el trazado poligonal no se devolverán.
Si el parámetro está establecido en true, los ejes en los que se ha realizado el trazado poligonal estarán disponibles en la propiedad traversedEdges de la respuesta JSON.
El valor predeterminado es false
returnTraversedJunctions
Especifique si el servicio devolverá los cruces en los que se ha realizado el trazado poligonal.
- true: los cruces en los que se ha realizado el trazado poligonal se devuelven como parte de la respuesta JSON.
- false: los cruces en los que se ha realizado el trazado poligonal no se devolverán.
Si el parámetro está establecido en true, los cruces en los que se ha realizado el trazado poligonal estarán disponibles en la propiedad traversedJunctions de la respuesta JSON.
El valor predeterminado es false
returnTraversedTurns
Especifique si el servicio devolverá los giros en los que se haya realizado el trazado poligonal.
- true: los giros en los que se ha realizado el trazado poligonal se devuelven como parte de la respuesta JSON.
- false: los giros en los que se ha realizado el trazado poligonal no se devuelven.
Si el parámetro está establecido en true, los giros en los que se ha realizado el trazado poligonal están disponibles en la propiedad traversedTurns de la respuesta JSON.
El valor predeterminado es false
returnZ
Incluye valores z para las geometrías devueltas si es compatible con la red subyacente. El valor predeterminado es false.
- true: las geometrías de salida tendrán un valor z.
- false (predeterminado): no se devuelve ningún valor x.
ignoreInvalidLocations
Especifique si se ignorarán las ubicaciones de entrada no válidas al buscar la mejor solución. El servicio considera que un punto de entrada no es válido si no está dentro de la tolerancia de alineación máxima de cualquier calle transitable.
- true: se ignoran los puntos no válidos.
- false: cualquier punto no válido en la solicitud hará que el servicio devuelva un error.
El valor predeterminado es true.
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 outSR=102100 se devuelven las geometrías de la referencia espacial Web Mercator, que se pueden dibujar sobre los mapas base.
outputGeometryPrecision
Utilice este parámetro para especificar el nivel de simplificación de la geometría de las rutas devueltas por el servicio.
Precaución:
El valor de este parámetro, independientemente de si utiliza el valor predeterminado o establece explícitamente un valor, se invalida si se entrega en travelMode.
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.
Las unidades se especifican con el parámetro outputGeometryPrecisionUnits.
outputGeometryPrecisionUnits
Utilice este parámetro para especificar las unidades del valor del parámetro outputGeometryPrecision.
Precaución:
El valor de este parámetro, independientemente de si utiliza el valor predeterminado o establece explícitamente un valor, se invalida si se entrega en travelMode.
Especifique uno de los valores siguientes:
- esriCentimeters
- esriDecimalDegrees
- esriDecimeters
- esriFeet
- esriInches
- esriKilometers
- esriMeters
- esriMiles
- esriMillimeters
- esriNauticalMiles
- esriPoints
- esriYards
geometryPrecision
Utilice este parámetro para especificar el número de posiciones decimales que se utilizarán en las geometrías de respuesta devueltas por la operación de resolución. Esto se aplica solo a los valores x e y (no a los valores m o z).geometryPrecision = 3
geometryPrecisionZ
Utilice este parámetro para especificar el número de posiciones decimales que se utilizarán en las geometrías de respuesta devueltas por la operación de resolución. Esto se aplica solo a los valores z (no a los valores x, y o m).geometryPrecisionZ = 3
geometryPrecisionM
Utilice este parámetro para especificar el número de posiciones decimales que se utilizarán en las geometrías de respuesta devueltas por la operación de resolución. Esto se aplica solo a los valores m (no a los valores x, y o z).geometryPrecisionM = 3
overrides
Nota:
Este parámetro es solo para uso interno.
preserveObjectID
Utilice este parámetro para especificar si los Id. de objeto especificados para ubicaciones de entrada, tales como instalaciones, incidentes, o barreras se conservarán cuando las ubicaciones de entrada se devuelvan como salida. Esto puede ser útil si desea asociar atributos adicionales con las ubicaciones de salida después de que la operación de resolución sea correcta y necesita un campo clave común para hacer la unión.
For example, the input incidents are specified as the following JSON representation of a feature set:
{
"spatialReference": {
"wkid": 4326
},
"features": [
{
"geometry": {
"x": -122.4079,
"y": 37.78356
},
"attributes": {
"ObjectID": 10,
"Name": "Fire Incident 1"
}
},
{
"geometry": {
"x": -122.404,
"y": 37.782
},
"attributes": {
"ObjectID": 20,
"Name": "Crime Incident 45"
}
}
]
}
The input facilities are specified as the following JSON representation of a feature set:
{
"spatialReference": {
"wkid": 4326
},
"features": [
{
"geometry": {
"x": -122.4079,
"y": 37.78356
},
"attributes": {
"ObjectID": 30,
"Name": "Fire Station 34"
}
},
{
"geometry": {
"x": -122.404,
"y": 37.782
},
"attributes": {
"ObjectID": 40,
"Name": "Fire Station 29"
}
}
]
}
If you solve a closest facility and specify preserveObjectID=false, the output incidents will have object IDs 1, 2, and the output facilities will have object IDs 1, 2, even though the input incidents have object IDs 10, 20, and the input facilities have object IDs 30, 40. However, if preserveObjectID=true, the output incidents and facilities will preserve the object IDs from the inputs.
Precaución:
El orden en el que se devuelven las ubicaciones de salida varía según otros parámetros especificados para la operación de resolución y no debe depender de este para correlacionar las ubicaciones de salida con las ubicaciones de entrada. Conservar el Id. de objeto es la mejor forma de lograr esta correlación. Si el identificador de la ubicación de entrada no se puede transmitir como valor de ObjectID, por ejemplo, si el identificador es no numérico, puede transmitir el identificador como el campo Name y, a continuación, utilizar el campo Name en ubicaciones de salida para correlacionar las ubicaciones de entrada y salida.
Precaución:
Cuando preserveObjectID=true, los valores de Id. de objeto deben ser 1 o superiores, se deben especificar para cada entidad y deben ser únicos.
locateSettings
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 basa en la configuración de las capas cuando el servicio de mapas se publica con las capacidades de análisis de red. Para obtener el valor predeterminado del parámetro, consulte el recurso de la capa de red.
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.
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. Al especificar el JSON locateSettings, deberá proporcionar todas las propiedades, incluidas tolerance, toleranceUnits, sources y allowAutoRelocate en el objeto JSON de localizador predeterminado. La cláusula where para cada fuente es opcional. Si necesita proporcionar un JSON de localizador diferente para una clase de entrada en particular, debe incluir la propiedad de invalidaciones para esa entrada. El nombre de propiedad debe coincidir con el nombre del parámetro de entrada. El JSON del localizador de una entrada concreta no tiene que incluir todas las propiedades; solo tiene que incluir las propiedades que son distintas de las propiedades del JSON del localizador predeterminado.
Syntax for locateSettings
Sintaxis para especificar locateSettings utilizando una estructura JSON
Nota:
Ni las barreras de polilínea ni las barreras de polígono admiten las propiedades tolerance ni toleranceUnits.
{
"default": {
"tolerance": <value>,
"toleranceUnits": "<unit>",
"allowAutoRelocate": true | false,
"sources": [
{
"name": "<sourceName>",
"where": "<whereClause>"
}
]
},
"overrides": {
"incidents": {
"tolerance": <value>,
"toleranceUnits": "<unit>",
"allowAutoRelocate": true | false,
"sources": [
{
"name": "<sourceName>",
"where": "<whereClause>"
}
]
},
"facilities": {
"tolerance": <value>,
"toleranceUnits": "<unit>",
"allowAutoRelocate": true | false,
"sources": [
{
"name": "<sourceName>",
"where": "<whereClause>"
}
]
},
"barriers": {
"tolerance": <value>,
"toleranceUnits": "<unit>",
"allowAutoRelocate": true | false,
"sources": [
{
"name": "<sourceName>",
"where": "<whereClause>"
}
]
},
"polylineBarriers": {
"allowAutoRelocate": true | false,
"sources": [
{
"name": "<sourceName>",
"where": "<whereClause>"
}
]
},
"polygonBarriers": {
"allowAutoRelocate": true | false,
"sources": [
{
"name": "<sourceName>",
"where": "<whereClause>"
}
]
}
}
}
Examples for locateSettings
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 ubicación para evitar que se ubiquen incidentes e instalaciones en rampas de autopista. La configuración de localización predeterminada permite la localización en la fuente Routing_Streets. En el caso de los incidentes y las instalaciones, 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 locateSettings, ni los incidentes ni las instalaciones 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": {
"incidents": {
"sources": [
{
"name": "Routing_Streets",
"where": "ROAD_CLASS <> 3"
}
]
},
"facilities": {
"sources": [
{
"name": "Routing_Streets",
"where": "ROAD_CLASS <> 3"
}
]
}
}
}
Ejemplo 3: 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 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": {
"barriers": {
"sources": [
{
"name": "Routing_ND_Junctions"
}
]
}
}
}
returnEmptyResults
Especifique si el servicio devolverá resultados vacíos en lugar de la propiedad de error cuando la solicitud falle.
- true: la respuesta JSON no contiene la propiedad de error cuando la solicitud falla. Todos los errores se devuelven en la propiedad messages. El JSON de respuesta puede contener un conjunto de entidades vacío o un resultado vacío para las propiedades que solicitó.
- false: la respuesta JSON solo contiene la propiedad de error cuando la solicitud falla.
El valor predeterminado es false.
Normalmente, cuando una solicitud falla, el servicio devuelve una respuesta JSON que contiene la propiedad de error. En algunos casos, es posible que desee definir returnEmptyResults como true para que siempre devuelva las propiedades solicitadas en lugar de devolver una respuesta de error para ayudar a manejar la respuesta de forma más coherente.
Even if the request fails, when you set returnEmptyResults = true, returnFacilities = true, and returnIncidents = true, you can return facilities and incidents to investigate why some of them failed to locate.
Output parameters
Upon a successful solver operation, the service returns the best route and travel directions between the incident and the chosen facility and the status indicating whether the analysis was successful using the output parameters described below.
routes
Ofrece acceso a la ruta o rutas resultantes entre las instalaciones y los incidentes.
The data type supports the following fields:
Field name | Description |
---|---|
ObjectID | The system-managed ID field. |
FacilityRank | La clasificación de la instalación entre todas las instalaciones encontradas para el incidente asociado; la instalación más cercana tiene una clasificación de 1. |
FacilityID | The unique ID of the facility the route visits. Si especifica preserveObjectID=false, el valor de este campo será un Id. generado por el sistema. Si especifica preserveObjectID=True, el valor de este campo será el ObjectID de su entrada asociada. |
Name | El nombre de la ruta de la instalación más cercana se basa en los nombres de la instalación y el incidente asociados. The facility name is first if the value for the travelDirection property on the analysis object is set to esriNATravelDirectionFromFacility. For example, Facility 5 - Incident 3 indicates that the route travels from Facility 5 to Incident 3. If esriNATravelDirectionToFacility is specified as the value for the travelDirection property, the incident name is first, for example, Incident 3 — Facility 5. |
IncidentCurbApproach | Lado del vehículo en el que se encuentra el incidente al llegar al incidente o al abandonarlo. Un valor de 1 significa el lado derecho del vehículo; un valor de 2 indica el lado izquierdo. |
FacilityCurbApproach | Lado del vehículo en el que se encuentra la instalación al llegar a la instalación o al abandonarla. Un valor de 1 significa el lado derecho del vehículo; un valor de 2 indica el lado izquierdo. |
IncidentID | The unique ID of the incident the route visits. Si especifica preserveObjectID=false, el valor de este campo será un Id. generado por el sistema. Si especifica preserveObjectID=True, el valor de este campo será el ObjectID de su entrada asociada. |
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_[Cost] (por ejemplo, Total_Minutes, donde Minutes es el coste del viaje) | The total distance, time, or other travel cost from the first stop to the last stop. The total travel cost and the Attr_[Cost] value of the visited stops are included in this value. This field will be populated if the [Cost] part of this field is used as an impedance attribute or accumulated attributes. |
facilities
Ofrece acceso a las instalaciones de salida desde un análisis de ubicación de instalaciones más cercanas.
These data types support the following fields. In addition to these fields, the data types also include all the fields from the input feature class used as facilities for the analysis.
Field name | Description |
---|---|
ObjectID | Si especifica preserveObjectID=false, el valor de este campo será un Id. generado por el sistema. Si especifica preserveObjectID=True, el valor de este campo será el ObjectID de su entrada asociada. |
Name | El nombre de la instalación. Los valores de este campo se copian del campo Name de las instalaciones 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 instalación y partir de ella. Los valores de este campo se copian del campo CurbApproach de las instalaciones 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. |
Attr_[Cost] (For instance, Attr_TravelMinutes, when TravelMinutes is the travel cost) | This field stores an extra cost for the network location. For example, to find the three closest fire stations to a fire incident using TravelTime as the impedance, Attr_TravelTime can store the turnout time for the facility. Turnout time is how long it takes a crew to put on the appropriate protective equipment and exit the fire station. |
Cutoff_[Cost] (For instance, Cutoff_TravelMinutes, when TravelMinutes is the travel cost) | While searching for the closest incident from a facility, a cutoff value for the impedance can be used. Any incident beyond the cutoff value will not be searched. If the Cutoff_[Cost] value is not set for a facility, the analysis will use the defaultCutoff value. If the defaultCutoff value is not set on the service, the closest incident will be found, regardless of how far it may be. |
incidents
Ofrece acceso a las ubicaciones que se utilizan como puntos de inicio y fin en un análisis de ubicación de instalaciones más cercanas.
The data type supports the following fields:
Field Name | Description |
---|---|
ObjectID | Si especifica preserveObjectID=false, el valor de este campo será un Id. generado por el sistema. Si especifica preserveObjectID=True, el valor de este campo será el ObjectID de su entrada asociada. |
Name | El nombre del incidente. Los valores de este campo se copian del campo Name de los incidentes de entrada. |
TargetFacilityCount | El número de instalaciones que es necesario encontrar para el incidente dado. Los valores de este campo se copian del campo TargetFacilityCount del incidente 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 al incidente y partir de él. Los valores de este campo se copian del campo CurbApproach del incidente 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. |
Attr_[Cost] (For instance, Attr_TravelMinutes, when TravelMinutes is the travel cost) | This field stores an extra cost for the network location. For example, to find the three closest fire stations to a fire incident using TravelTime as the impedance, Attr_TravelTime can store the amount of time spent at the fire incident. This can be the time it takes the firefighters to hook up their equipment and begin fighting the fire. |
Cutoff_[Cost] (For instance, Cutoff_TravelMinutes, when TravelMinutes is the travel cost) | This cutoff value indicates the farthest network distance to search for a facility. Any facility farther from the incident than the cutoff value will not be searched or included in the results. If the Cutoff_[Cost] value is not set for an incident, the analysis will use the defaultCutoff value. If the defaultCutoff value is not set on the service, the closest facility will be found, regardless of how far it may be. |
barriers
This provides access to points that act as temporary restrictions or represent additional time or distance that may be required to travel on the underlying streets.
Field name | Description |
---|---|
ObjectID | Si especifica preserveObjectID=false, el valor de este campo será un Id. generado por el sistema. Si especifica preserveObjectID=True, el valor de este campo será el ObjectID de su entrada asociada. |
Name | El nombre de la barrera. |
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 | The direction of traffic that is affected by the barrier. The field value is specified as one of the following integers (use the numeric code, not the name in parentheses):
|
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:
|
FullEdge | Point barriers are applied to the edge elements during the analysis. The field value is specified as one of the following integers (use the numeric code, not the name in parentheses):
|
BarrierType | Specify if the point barrier restricts travel completely or adds time or distance when it is crossed. The value for this attribute is specified as one of the following integers (use the numeric code, not the name in parentheses):
|
Attr_[Cost] (for instance Attr_TravelTime, where TravelTime is the travel cost) | This property is specific to added-cost barriers and is limited to values that are greater than or equal to zero. It indicates how much cost is added when the barrier is traversed. |
polylineBarriers
This provides access to one or more lines that prohibit travel anywhere the lines intersect the streets.
Field name | Description |
---|---|
ObjectID | Si especifica preserveObjectID=false, el valor de este campo será un Id. generado por el sistema. Si especifica preserveObjectID=True, el valor de este campo será el ObjectID de su entrada asociada. |
Name | El nombre de la barrera. |
BarrierType | Specify if the barrier restricts travel completely or scales time or distance when it is crossed. The value for this attribute is specified as one of the following integers (use the numeric code, not the name in parentheses):
|
Attr_[Cost] (for instance Attr_TraveTime, where TravelTime is the travel cost) | This property is specific to scaled-cost barriers. It is the factor by which the cost of edges underlying the barrier are multiplied. |
polygonBarriers
This provides access to polygons that either completely restrict travel or proportionately scale the time or distance required to travel on the streets intersected by the polygons.
Field name | Description |
---|---|
ObjectID | Si especifica preserveObjectID=false, el valor de este campo será un Id. generado por el sistema. Si especifica preserveObjectID=True, el valor de este campo será el ObjectID de su entrada asociada. |
Name | El nombre de la barrera. |
BarrierType | Specify if the barrier restricts travel completely or scales time or distance when it is crossed. The value for this attribute is specified as one of the following integers (use the numeric code, not the name in parentheses):
|
Attr_[Cost] (for instance Attr_TravelTime, where TravelTime is the travel cost) | This property is specific to scaled-cost barriers. It is the factor by which the cost of edges underlying the barrier are multiplied. |
traversedEdges
Este parámetro ofrece acceso a los ejes que se atraviesan al resolver una capa de análisis de red.
Nombre de campo | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
SourceID | El identificador numérico de la clase de entidad a la que hace referencia el elemento de trazado poligonal. |
SourceOID | La Id. de objeto de la entidad de origen atravesada. |
EID | Este campo indica la Id. de elemento (EID) del eje de red atravesado. Una EID describe de manera unívoca un elemento de red. El EID de un elemento de red es independiente del Id. de objeto de la entidad. Una entidad se puede almacenar como muchos elementos diferentes en la red. |
FromPosition | Especifica dónde comienza la ubicación de la entidad de línea de salida en referencia con la dirección digitalizada de la entidad de origen subyacente.
|
ToPosition | Especifica dónde termina la ubicación de la entidad de línea de salida en referencia con la dirección digitalizada de la entidad de origen subyacente.
|
FromJunctionID | La referencia al Id. de objeto del cruce del conjunto de registros traversedJunctions que coincide con el inicio del eje. |
ToJunctionID | La referencia al Id. de objeto del cruce del conjunto de registros traversedJunctions que coincide con el fin del eje. |
RouteID | El Id. de objeto de la ruta en el conjunto de registros routes de salida. |
Attr_[Cost] (por ejemplo, Attr_TravelTime cuando TravelTime es el coste de viaje) | El coste de los ejes subyacentes. Las unidades de este campo son las mismas que las unidades del atributo de coste en el nombre del campo. Este campo se rellenará si la parte [Cost] de este campo se utiliza como un atributo de impedancia o atributos acumulados. |
Cumul_[Cost] | El coste acumulativo de los elementos de la red subyacente desde el inicio de la ruta hasta el final del eje representado por la entidad de línea. Las unidades de este campo son las mismas que las unidades del atributo de coste en el nombre del campo. Este campo se rellenará si la parte [Cost] de este campo se utiliza como un atributo de impedancia o atributos acumulados. |
Attr_[Restriction] | Especifica si el eje atravesado utiliza el atributo de restricción al que hace referencia en el nombre de este campo.
Nota:Los elementos que utilizan restricciones de prohibición nunca se atraviesan; sin embargo, aquellos que utilizan restricciones de preferencia o evitación se pueden atravesar. |
traversedJunctions
Este parámetro ofrece acceso a los cruces que se atraviesan al resolver una capa de análisis de red.
Nombre de campo | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
SourceID | El identificador numérico de la clase de entidad a la que hace referencia el elemento de trazado poligonal. |
SourceOID | La Id. de objeto de la entidad de origen atravesada. |
EID | El Id. de elemento (EID) del elemento de la red atravesado. Una EID describe de manera unívoca un elemento de red. El EID de un elemento de red es independiente del Id. de objeto de la entidad. Una entidad se puede almacenar como muchos de los elementos de red. El EID es -1 si el registro actual no representa un cruce. Por ejemplo, es -1 si el registro representa una parada de una ruta. |
RouteID | El Id. de objeto de la ruta en el conjunto de registros routes de salida. |
Attr_[Cost] (por ejemplo, Attr_TravelTime cuando TravelTime es el coste de viaje) | El coste del cruce subyacente. Las unidades de este campo son las mismas que las unidades del atributo de coste en el nombre del campo. Este campo se rellenará si la parte [Cost] de este campo se utiliza como un atributo de impedancia o atributos acumulados. |
Cumul_[Cost] | El coste acumulativo de los elementos de red subyacentes desde el inicio de la ruta hasta la ubicación de la entidad de punto actual. Las unidades de este campo son las mismas que las unidades del atributo de coste en el nombre del campo. Este campo se rellenará si la parte [Cost] de este campo se utiliza como un atributo de impedancia o atributos acumulados. |
Attr_[Restriction] | Especifica si el cruce atravesado utiliza el atributo de restricción al que hace referencia en el nombre de este campo.
Nota:Los elementos que utilizan restricciones de prohibición nunca se atraviesan; sin embargo, aquellos que utilizan restricciones de preferencia o evitación se pueden atravesar. |
traversedTurns
Este parámetro ofrece acceso a los giros que se atraviesan al resolver una capa de análisis de red.
Nombre de campo | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
SourceID | El identificador numérico de la clase de entidad a la que hace referencia el elemento de trazado poligonal. |
SourceOID | La Id. de objeto de la entidad de origen atravesada. |
EID | El Id. de elemento (EID) del elemento de la red atravesado. Una EID describe de manera unívoca un elemento de red. El EID de un elemento de red es independiente del Id. de objeto de la entidad. Una entidad se puede almacenar como muchos de los elementos de red. La EID es - 1 si el registro representa un giro global atravesado. |
FromEdgeID | El Id. de objeto del eje del conjunto de registros traversedEdges que coincide con el giro. |
ToEdgeID | El Id. de objeto del eje del conjunto de registros traversedEdges que coincide con el fin del giro. |
RouteID | El Id. de objeto de la ruta en el conjunto de registros routes de salida. |
Attr_[Cost] (por ejemplo, Attr_TravelTime cuando TravelTime es el coste de viaje) | El coste del giro subyacente. Las unidades de este campo son las mismas que las unidades del atributo de coste en el nombre del campo. Este campo se rellenará si la parte [Cost] de este campo se utiliza como un atributo de impedancia o atributos acumulados. |
Cumul_[Cost] | El coste acumulativo de los elementos de red subyacentes desde el inicio de la ruta hasta la ubicación del giro actual. Las unidades de este campo son las mismas que las unidades del atributo de coste en el nombre del campo. Este campo se rellenará si la parte [Cost] de este campo se utiliza como un atributo de impedancia o atributos acumulados. |
Attr_[Restriction] | Especifica si el giro atravesado utiliza el atributo de restricción al que hace referencia en el nombre de este campo.
Nota:Los elementos que utilizan restricciones de prohibición nunca se atraviesan; sin embargo, aquellos que utilizan restricciones de preferencia o evitación se pueden atravesar. |
directions
Ofrece acceso a las indicaciones paso a paso para cada ruta resultante.
The data type supports the following fields:
Field name | Description |
---|---|
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. The value is in the units specified by the directionsDistanceUnits property of the analysis object. 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. |
directionPoints
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 | Valor ObjectID de la entidad de ruta de salida con el que está asociado este punto de indicación. |
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.
|
FacilityID | The object ID of the facility with which this direction point is associated, if any. If the point does not represent a visit to a facility, the value is null. |
IncidentID | The object ID of the incident with which this direction point is associated, if any. If the point does not represent a visit to an incident, 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. |
directionLines
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 | Valor ObjectID de la entidad de la tabla DirectionPoints con la que está asociada esta línea. |
RouteID | Valor ObjectID de la entidad de salida Routes con la que está asociada esta línea de indicación. |
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. |
Example usage
You can make a request to the synchronous Closest Facility service using the following form:
https://machine.domain.com/webadaptor/rest/services/World/ClosestFacility/NAServer/ClosestFacility/solveClosestFacility?<parameters>
The Closest Facility service supports synchronous and asynchronous modes.
The request URL and the parameter names supported by the service when using the asynchronous mode are different and described in Closest Facility service with asynchronous execution.
Find closest fire stations
This example shows how to find the two fire stations that can provide the quickest response to a fire at a given incident location within three minutes. You will also generate routes and driving directions for the firefighters.
Specify the four fire stations in the area as the facilities parameter values. Use the JSON structure to specify the facilities parameter, as you want to specify the name of the fire station that can be used by the service when generating driving directions for the routes from the fire stations.
Specify the longitude and latitude value for the fire location as the incidents parameter value.
Since you need to find the two closest fire stations, specify 2 as the value for the defaultTargetFacilityCount parameter. To model the fire engines traveling from the stations to the fire (incident), specify esriNATravelDirectionFromFacility as the value for the travelDirection parameter. You need to search for fire stations that are within three minutes of the fire, so specify 3 as the value for the defaultCutoff parameter. Any fire stations outside the cutoff time are ignored by the service.
Because you need to generate driving directions and report the distance information in the directions in miles, specify the value for the returnDirections parameter as true and the directionsLengthUnits parameter as esriNAUMiles. To get the route geometries, specify the value for the returnCFRoutes parameter as true. Specify 102100 as the value for the outSR parameter so that the output routes are returned in the Web Mercator spatial reference and can be displayed on top of an ArcGIS Online and ArcGIS Enterprise basemap.
Request URL
https://machine.domain.com/webadaptor/rest/services/World/ClosestFacility/NAServer/ClosestFacility/solveClosestFacility?incidents=-122.4496,37.7467&facilities=%7B%22spatialReference%22:%7B%22wkid%22:4326%7D,%22features%22:%5B%7B%22attributes%22:%7B%22Name%22:%22Station%2011%22%7D,%22geometry%22:%7B%22x%22:-122.4267,%22y%22:37.7486%7D%7D,%7B%22attributes%22:%7B%22Name%22:%22Station%2020%22%7D,%22geometry%22:%7B%22x%22:-122.4561,%22y%22:37.7513%7D%7D,%7B%22attributes%22:%7B%22Name%22:%22Station%2024%22%7D,%22geometry%22:%7B%22x%22:-122.4409,%22y%22:37.7533%7D%7D,%7B%22attributes%22:%7B%22Name%22:%22Station%2039%22%7D,%22geometry%22:%7B%22x%22:-122.4578,%22y%22:37.7407%7D%7D%5D%7D&defaultTargetFacilityCount=2&travelDirection=esriNATravelDirectionFromFacility&defaultCutoff=3&returnCFRoutes=true&returnDirections=true&directionsLength
Units=esriNAUMiles&outSR=102100&token=<yourToken>
JSON Response example
The response contains two route features representing the best route to travel from the two closest fire stations to the incident. The response includes the routes and directions properties because the returnCFRoutes and returnDirections parameters are set to true in the request.
Nota:
Dado que la respuesta es muy detallada, los elementos repetidos dentro de la respuesta se abrevian para mayor claridad.
{
"messages": [],
"routes": {
"fieldAliases": {
"ObjectID": "ObjectID",
"FacilityID": "FacilityID",
"FacilityRank": "FacilityRank",
"Name": "Name",
"IncidentCurbApproach": "IncidentCurbApproach",
"FacilityCurbApproach": "FacilityCurbApproach",
"IncidentID": "IncidentID",
"Total_TravelTime": "Total_TravelTime",
"Total_Kilometers": "Total_Kilometers",
"Total_Miles": "Total_Miles",
"Shape_Length": "Shape_Length"
},
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
},
"features": [
{
"attributes": {
"ObjectID": 1,
"FacilityID": 4,
"FacilityRank": 1,
"Name": "Station 39 - Location 1",
"IncidentCurbApproach": 2,
"FacilityCurbApproach": 1,
"IncidentID": 1,
"Total_TravelTime": 1.7600910249204684,
"Total_Kilometers": 1.0394628115064781,
"Total_Miles": 0.6458922464721514,
"Shape_Length": 1309.3896042400702
},
"geometry": {
"paths": [
[
[-13631945.0834,4542876.163199998],
[-13631904.317499999,4542899.317500003]
]
]
}
},
{
"attributes": {
"ObjectID": 2,
"FacilityID": 2,
"FacilityRank": 2,
"Name": "Station 20 - Location 1",
"IncidentCurbApproach": 1,
"FacilityCurbApproach": 1,
"IncidentID": 1,
"Total_TravelTime": 1.898575185300166,
"Total_Kilometers": 0.9460863750832559,
"Total_Miles": 0.5878708188449802,
"Shape_Length": 1229.0645653105717
},
"geometry": {
"paths": [
[
[-13631749.8412,4544361.9076000005],
[-13631561.4534,4544343.7250000015]
]
]
}
}
]
},
"directions": [
{
"routeId": 1,
"routeName": "Station 39 - Location 1",
"summary": {
"totalLength": 0.6458978652647239,
"totalTime": 1.7600910260807723,
"totalDriveTime": 1.7600910249204682,
"envelope": {
"xmin": -13631945.083355796,
"ymin": 4542859.901880716,
"xmax": -13631013.761512483,
"ymax": 4543705.678939983,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
}
},
"features": [
{
"attributes": {
"length": 0,
"time": 0,
"text": "Start at Station 39",
"ETA": -2209161600000,
"maneuverType": "esriDMTDepart"
},
"compressedGeometry": "+1-d00e8+4akcs+0+0"
},
{
"attributes": {
"length": 0.5233336473178214,
"time": 1.4396464250141916,
"text": "Go northeast on PORTOLA DR toward REX AVE",
"ETA": -2209161600000,
"maneuverType": "esriDMTStraight"
},
"compressedGeometry": "+1-d00e8+4akcs+19+n+40+2p+16+12+l+12+22+45+1j+21+1t+22+29+20+51+3n+1m+u+2r+16"
},
{
"attributes": {
"length": 0.1137367543451464,
"time": 0.29078273135879606,
"text": "Turn left on TWIN PEAKS BLVD",
"ETA": -2209161600000,
"maneuverType": "esriDMTTurnLeft"
},
"compressedGeometry": "+1-cvvln+4al2j-7+19+3+c+9+9+1o+8+i+9+23+1b"
},
{
"attributes": {
"length": 0.008827463601756125,
"time": 0.02966186854748069,
"text": "Make sharp left on PANORAMA DR",
"ETA": -2209161600000,
"maneuverType": "esriDMTSharpLeft"
},
"compressedGeometry": "+1-cvvh5+4al6d-c+d"
},
{
"attributes": {
"length": 0,
"time": 0,
"text": "Finish at Location 1",
"ETA": -2209161600000,
"maneuverType": "esriDMTStop"
},
"compressedGeometry": "+1-cvvhh+4al6q+0+0"
}
]
},
{
"routeId": 2,
"routeName": "Station 20 - Location 1",
"summary": {
"totalLength": 0.5878759328933506,
"totalTime": 1.8985751853324473,
"totalDriveTime": 1.898575185300166,
"envelope": {
"xmin": -13631750.69648736,
"ymin": 4543704.557076369,
"xmax": -13631026.43439348,
"ymax": 4544361.9075978,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
}
},
"features": [
{
"attributes": {
"length": 0,
"time": 0,
"text": "Start at Station 20",
"ETA": -2209161600000,
"maneuverType": "esriDMTDepart"
},
"compressedGeometry": "+1-d0085+4alra+0+0"
},
{
"attributes": {
"length": 0.21782291983305227,
"time": 0.6974671774325343,
"text": "Go east on OLYMPIA WAY toward DELLBROOK AVE",
"ETA": -2209161600000,
"maneuverType": "esriDMTStraight"
},
"compressedGeometry": "+1-d0085+4alra+37-4+2m-e+3g-a+4a+6"
},
{
"attributes": {
"length": 0.3700530130602983,
"time": 1.2011080078676315,
"text": "Turn right on PANORAMA DR",
"ETA": -2209161600000,
"maneuverType": "esriDMTTurnRight"
},
"compressedGeometry": "+1-cvvqe+4alqk+6-c6+a-t+4e-5s+h-7+2k+0+q-k"
},
{
"attributes": {
"length": 0,
"time": 0,
"text": "Finish at Location 1",
"ETA": -2209161600000,
"maneuverType": "esriDMTStop"
},
"compressedGeometry": "+1-cvvhh+4al6q+0+0"
}
]
}
]
}
JSON Response syntax
The JSON response from the closest facility service is based on the following syntax. The actual properties returned in the response depend on the request parameters. For example, the routes property is returned only if the returnCFRoutes parameter is set to true. If a request fails, the JSON response only contains the error property. The examples in the subsequent section illustrate the response returned with specific request parameters.
JSON Response syntax for a successful request
{
"routes": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {<polyline1>}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {<polyline2>}
}
]
},
"facilities": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {<point1>}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {<point2>}
}
]
},
"incidents": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {<point1>}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {<point2>}
}
]
},
"barriers": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {<point1>}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {<point2>}
}
]
},
"polylineBarriers": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {<polyline1>}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {<polyline2>}
}
]
},
"polygonBarriers": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {<polygon1>}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {<polygon2>}
}
]
},
"directions": [
{
"routeId": <routeId1>,
"routeName": "<routeName>",
"summary": {
"totalLength": <totalLength>,
"totalTime": <totalTime>,
"totalDriveTime": <totalDriveTime>,
"envelope": {<envelope>}
},
"features": [
{
"attributes": {
"length": <length1>,
"time": <time1>,
"text": "<text1>",
"ETA": <ETA>,
"maneuverType": "<maneuverType1>"
},
"compressedGeometry": "<compressedGeometry1>"
},
{
"attributes": {
"length": <length2>,
"time": <time2>,
"text": "<text2>",
"maneuverType": "<maneuverType2>"
},
"compressedGeometry": "<compressedGeometry2>"
}
]
},
{
"routeId": <routeId2>,
"routeName": "<routeName>",
"summary": {
"totalLength": <totalLength>,
"totalTime": <totalTime>,
"totalDriveTime": <totalDriveTime>,
"envelope": {<envelope>}
},
"features": [
{
"attributes": {
"length": <length1>,
"time": <time1>,
"text": "<text1>",
"ETA": <ETA>,
"maneuverType": "<maneuverType1>"
},
"compressedGeometry": "<compressedGeometry1>"
},
{
"attributes": {
"length": <length2>,
"time": <time2>,
"text": "<text2>",
"maneuverType": "<maneuverType2>"
},
"compressedGeometry": "<compressedGeometry2>"
}
]
}
],
"traversedEdges": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {<polyline1>}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {<polyline2>}
}
]
},
"traversedJunctions": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {<point1>}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {<point2>}
}
]
},
"traversedTurns": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
]
},
"messages": [
{
"type": <type1>,
"description": "<description1>"
},
{
"type": <type2>,
"description": "<description2>"
}
]
}
JSON Response syntax for a failed request
{
"error": {
"code": <code>,
"message": "<message>",
"details": ["<details>"]
}
}