https://machine.domain.com/webadaptor/rest/services/Routing/NetworkAnalysis/NAServer/OriginDestinationCostMatrix/solveODCostMatrix?origins=
{"spatialReference":{"wkid":102100},"features":[{"geometry":{"x":-13042381.897669187,"y":3857625.761983883},"attributes":{"ObjectID":1,"Name":"San Diego"}},
{"geometry":{"x":-13163008.811087687,"y":4035986.6896486743},"attributes":{"ObjectID":2,"Name":"Los Angeles"}}]}&destinations={"spatialReference":{"wkid":102100},"features":[{"geometry":{"x":-13042381.897669187,"y":3857625.761983883},"attributes":{"ObjectID":1,"Name":"San Diego"}},
{"geometry":{"x":-13163008.811087687,"y":4035986.6896486743},"attributes":{"ObjectID":2,"Name":"Los Angeles"}}]}&f=pjson&token=<yourToken>
- URL:https://<nalayer-url>/solveODCostMatrix
- Version Introduced:10.8.1
Description
Utilice el servicio de matriz de coste de viaje para crear una matriz de coste origen-destino (OD) de varios orígenes a varios destinos. Una matriz de coste de viaje es una tabla que contiene el coste como, por ejemplo, el tiempo o la distancia de viaje, desde todos los orígenes hasta todos los destinos. Además, clasifica en orden ascendente los destinos a los que se llega desde cada origen basándose en el mínimo coste necesario para viajar desde ese origen a cada destino. Al generar una matriz de coste de viaje, puede especificar el número máximo de destinos que desee encontrar para cada origen y el tiempo o la distancia máximos de viaje al buscar destinos.
Los resultados del servicio de matriz de coste de viaje a menudo se convierten en datos de entrada para otros análisis espaciales cuando el coste de viajar por la red de calles es más adecuado que el coste en línea recta. Por ejemplo, predecir el movimiento de personas en una ciudad se modela mejor mediante costes basados en redes de calles, ya que las personas tienden a viajar por caminos y rutas peatonales.
El tiempo de viaje, la distancia o ambos para cada par de origen-destino se almacena en la matriz de salida (predeterminado) o como parte de los atributos de las líneas de salida, que no pueden tener formas ni una forma en línea recta. Aunque las líneas son rectas, siempre almacenan el tiempo y la distancia de viaje en función de la red de calles, no en función de la distancia euclidiana.
Sugerencia:
Los servicios de instalación más cercana y matriz de coste de viaje realizan análisis similares; la principal diferencia es la salida y la velocidad de cómputo. El servicio Matriz de coste de viaje genera resultados más rápido, pero no puede devolver líneas que sigan las calles subyacentes ni indicaciones de conducción. Se ha diseñado para resolver rápidamente problemas grandes de M x N y, como resultado, no contiene internamente la información necesaria para generar formas de ruta e instrucciones para conducir. Como alternativa, el servicio Instalación más cercana puede devolver rutas que siguen las calles subyacentes e indicaciones, pero se ejecuta más lento que el servicio Matriz de coste de viaje. Si necesita indicaciones de conducción o formas de ruta verdaderas, utilice el servicio Instalación más cercana; de lo contrario, utilice el servicio Matriz de coste de viaje para reducir el tiempo de cómputo.
The solve operation is performed on a network layer resource of type Origin Destination Cost Matrix.
You can provide arguments to the solveODCostMatrix 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 error when the request fails.
Especifique si el servicio devolverá resultados vacíos en lugar de la propiedad de error cuando la solicitud falle.
Updates at 10.9.1
Use geometryPrecision and geometryPrecisionZ to specify the output geometry precision for X, Y, and Z coordinates.
Request parameters
Parameter | Description |
---|---|
origins (Required) | Especifica los puntos de inicio desde los cuales desplazarse hasta los destinos. Syntax: |
destinations (Required) | Especifica las ubicaciones de puntos finales a las que desplazarse desde los orígenes. Syntax: |
token (Required) | Provides the identity of a user that has the permissions to access the service. |
f (Optional) | Specifies the response format. The default value is html. Values: html | json | pjson |
travelMode (Optional) | Specifies the mode of transportation for the analysis. Value: JSON object |
defaultCutoff (Optional) | Specifies the travel time or travel distance value at which to stop searching for destinations. |
defaultTargetDestinationCount (Optional) | Specifies the number of destinations to find per origin. |
outputType (Optional) | Specifies the type of output returned by the service. Values: esriNAODOutputSparseMatrix | esriNAODOutputStraightLines | esriNAODOutputNoLines |
timeOfDay (Optional) | Specifies the time and date at which to depart from the origins. You can also set a value of now to change the depart time from origins to the current time. |
timeOfDayIsUTC (Optional) | Specifies the time zone or zones of the timeOfDay parameter. Values: true | false |
useHierarchy (Optional) | Specifies whether hierarchy should be used when finding the shortest paths. Values: true | false |
restrictUTurns | Specifies whether to restrict or permit the route making U-turns at junctions. Values: esriNFSBAtDeadEndsAndIntersections | esriNFSBAllowBacktrack | esriNFSBAtDeadEndsOnly | esriNFSBNoBacktrack |
impedanceAttributeName (Optional) | Specifies 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) | Specifies whether the service should accumulate values other than the value specified for impedanceAttributeName. The parameter value should be specified as a comma-separated list of names. The parameter values are the same as the impedanceAttributeName parameter. 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) | Specifies which restrictions should 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) | Specifies additional values required by an attribute or restriction. For a complete list of accepted values, see the attributeParameterValues section below. |
barriers (Optional) | Specifies 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) | Specifies one or more lines that prohibit travel anywhere the lines intersect the streets. Syntax: |
polygonBarriers (Optional) | Specifies polygons that either prohibit travel or proportionately scale the time or distance required to travel on the streets intersected by the polygons. Syntax: |
returnOrigins (Optional) | Specifies whether origins will be returned by the service. The default value is false. Values: true | false |
returnDestinations (Optional) | Specifies whether destinations will be returned by the service. The default value is false. Values: true | false |
returnBarriers (Optional) | Specifies whether barriers will be returned by the service. The default value is false. Values: true | false |
returnPolylineBarriers (Optional) | Specifies whether polyline barriers will be returned by the service. The default value is false. Values: true | false |
returnPolygonBarriers (Optional) | Specifies whether polygon barriers will be returned by the service. The default value is false. Values: true | false |
geometryPrecision (Optional) | Specify the number of decimal places in the response geometries returned by solve operation. This applies to X- and Y-values only (not Z-values).
|
geometryPrecisionZ (Optional) | Specify the number of decimal places in the response geometries returned by solve operation. This applies to Z-value only (not X-,Y- values).
|
returnZ (Optional) | Specifies whether to include z-values for the returned geometries if supported by the underlying network. The default value is false. Values: true | false |
ignoreInvalidLocations (Optional) | Specifies whether invalid input locations should be ignored when finding the best solution. The default value is true. Values: true | false |
outSR (Optional) | Specifies the spatial reference of the geometries. |
overrides (Optional) | Nota:Este parámetro es solo para uso interno. |
locateSettings (Optional) | Specify settings that affect how inputs are located. 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
origins
Especifica los puntos de inicio desde los cuales desplazarse hasta los destinos.
You can use a simple comma- and semicolon-based syntax if you are passing the input locations 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 originsorigins=x1,y1; x2, y2; ...; xn, yn
Example using simple syntaxorigins=-117.1957,34.0564; -117.184,34.0546
The origins 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 origin 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—The type should be set to layer to indicate that the user is specifying the origins 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 origins
Cuando se especifican los orígenes, se pueden definir propiedades para cada uno, como su nombre o el número de destinos a buscar desde el origen, mediante los siguientes atributos:
- Name
The name of the origin. The name can be a unique identifier for the origin. If outputType is esriNAODOutputStraightLines or esriNAODOutputNoLines, the name is included in the output lines Name field (the output lines name will be origin name – destination name). The name is also included in the output origins as the Name field.
Si no se especifica el nombre, se genera automáticamente un nombre único con el prefijo de Location.
- ObjectID
El Id. de objeto del origen. ObjectID es un identificador único para el origen. Si el valor de outputType es esriNAODOutputStraightLines o esriNAODOutputNoLines, el valor de ObjectID se incluye en las líneas de salida (como el campo OriginID). Si outputType es esriNAODOutputSparseMatrix, el valor de ObjectID se incluye en la matriz de salida. El valor de ObjectID se incluye también en los orígenes de salida (como el campo ObjectID) y se puede utilizar para unir información adicional de salidas de herramientas al atributo de los orígenes. 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.
- TargetDestinationCount
La cantidad máxima de destinos que se buscarán por origen.
If a value is not specified, the value from the defaultTargetDestinationCount parameter is used.
Este campo permite especificar un número distinto de destinos que buscar para cada origen. Por ejemplo, con este campo puede encontrar los tres destinos más cercanos desde un origen y los dos destinos más cercanos desde otro origen.
- Cutoff_[Impedance]
If you want to stop searching for destinations once the search has exceeded a certain impedance value, specify a Cutoff_[Impedance] field for your origin.
Este es el nombre de atributo de impedancia del análisis o el nombre de impedancia del modo de viaje si especifica uno. Este atributo permite especificar un valor límite distinto para cada destino.
For example, using this attribute, you can specify to search for destinations within five minutes of travel time from one origin and to search for destinations within eight minutes of travel time from another origin.Las unidades del valor límite son las mismas que las unidades del atributo de impedancia. Si no se especifica un valor, se utilizará el valor del parámetro defaultCutoff.
- CurbApproach
Specifies the direction a vehicle may depart from the origin.
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 partir del origen en cualquier dirección, de modo que se admite un cambio de sentido en el origen. Puede elegir esta configuración si es posible y práctico que un vehículo dé la vuelta en el origen. Esta decisión puede depender del ancho del camino y del volumen de tráfico, o de si el origen dispone de una zona estacionamiento en la que los vehículos pueden maniobrar.
Lado derecho del vehículo
1
Cuando el vehículo salga del origen, este 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 salir de la parada de bus por el lado derecho.
Lado izquierdo del vehículo
2
Cuando el vehículo salga del origen, este 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 salir de la parada de bus por el lado izquierdo.
Sin cambio de sentido
3
Cuando el vehículo sale del origen, este puede estar a cualquier lado del vehículo; sin embargo, en el momento de partir, el vehículo debe reanudar la marcha en la misma dirección en la que llegó. Los cambios de sentido están prohibidos.
El atributo CurbApproach se ha diseñado para trabajar con los dos tipos de estándares nacionales de circulación: por la derecha (Estados Unidos) y por la izquierda (Reino Unido). En primer lugar, considere un incidente en el lado izquierdo de un vehículo. Siempre estará situada el lado izquierdo, independientemente de si el vehículo circula por la mitad izquierda o derecha del camino. Los estándares de circulación nacionales pueden influir en su decisión de aproximarse al incidente por una de las dos direcciones posibles, de modo que quede en el lado derecho o en el lado izquierdo del vehículo. Por ejemplo, si desea llegar a un incidente y que no haya un carril entre el vehículo y el incidente, elija 1 (Lado derecho del vehículo) en Estados Unidos y 2 (Lado izquierdo del vehículo) en Reino Unido.
- Bearing
La dirección en la que está avanzando un punto. Las unidades son grados y se miden en sentido horario desde el norte verdadero. Este campo se utiliza junto con el campo BearingTol.
Los datos de rumbo normalmente se envían de forma automática desde un dispositivo móvil dotado de un receptor GPS. Intente incluir datos de rumbo si está cargando una ubicación de entrada que se mueve, como un peatón o un vehículo.
Utilizar este campo tiende a evitar agregar ubicaciones a los ejes equivocados, que puede ocurrir cuando un vehículo está cerca de una intersección o un paso elevado, por ejemplo. El rumbo también ayuda a la herramienta a determinar en qué lado de la calle está el punto.
- BearingTol
El valor de tolerancia de rumbo crea un rango de valores de rumbo aceptable al ubicar los puntos en movimiento en un eje con el campo Bearing. Si el valor del campo Bearing está dentro del rango de valores aceptables que se generan a partir de la tolerancia de rumbo en un eje, el punto se puede agregar como una ubicación de red ahí; de lo contrario, se evalúa el punto más cercano sobre el próximo eje más cercano.
Las unidades se expresan en grados y el valor predeterminado es 30. Los valores deben ser mayores que 0 y menores que 180. Un valor de 30 significa que, cuando Network Analyst intenta agregar una ubicación de red en un eje, se genera un rango de valores de rumbo aceptable 15 grados hacia cada lado del eje (izquierda y derecha) y en ambas direcciones digitalizadas del eje.
- NavLatency
Este campo solo se utiliza en el proceso de resolución si los campos Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor de campo NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto coste se espera desde el momento en que se envía la información de GPS desde un vehículo en movimiento a un servidor y el momento en que el dispositivo de navegación del vehículo recibe la ruta procesada.
Las unidades de NavLatency son las mismas que las unidades del atributo de impedancia.
Syntax for origins
Syntax for specifying origins 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 origins using a URL returning a JSON response
{
"url": "<url>"
"doNotLocateOnRestrictedElements": true | false
}
Syntax for specifying origins using a layer
{
"type" : "layer",
"layerName" : "<layerName>",
"where" : "<whereClause>",
"geometry" : {<geometry>},
"geometryType" : "<geometryType>",
"spatialRel" : "<spatialRel>"
"doNotLocateOnRestrictedElements": true | false
}
Examples for origins
Example one: Specifying origins geometries in the Web Mercator spatial reference using JSON structure
The example also shows how to specify the originsName attribute for each origin and specify a different number of destinations to find for each origin using the TargetDestinationCount attribute.
{
"spatialReference": {
"wkid": 102100
},
"features": [
{
"geometry": {
"x": -13635398.9398,
"y": 4544699.034400001
},
"attributes": {
"Name": "123 Main St",
"TargetDestinationCount": 1
}
},
{
"geometry": {
"x": -13632733.3441,
"y": 4547651.028300002
},
"attributes": {
"Name": "845 Mulberry St",
"TargetDestinationCount": 2
}
}
]
}
Example two: Specifying origins 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"
}
destinations
Especifica las ubicaciones de puntos finales a las que desplazarse desde los orígenes.
You can use a simple comma- and semicolon-based syntax if you are passing the input locations 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 destinationsdestinations=x1,y1; x2, y2; ...; xn, yn
Example using simple syntaxdestinations=-117.1957,34.0564; -117.184,34.0546
The destinations 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 destination 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—The type should be set to layer to indicate that the user is specifying the destinations 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 destinations
Cuando se especifican los destinos, se pueden definir propiedades para cada uno, como su nombre, mediante los siguientes atributos:
- Name
The name of the destination. The name can be a unique identifier for the destination. If outputType is esriNAODOutputStraightLines or esriNAODOutputNoLines, the name is included in the output lines Name field (the output lines name will be origin name – destination name). The name is also included in the output destinations as the Name field.
Si no se especifica el nombre, se genera automáticamente un nombre único con el prefijo de Location.
- ObjectID
El Id. de objeto del destino. ObjectID es un identificador único del destino. Si el valor de outputType es esriNAODOutputStraightLines o esriNAODOutputNoLines, el valor de ObjectID se incluye en las líneas de salida (como el campo DestinationID). Si outputType es esriNAODOutputSparseMatrix, el valor de ObjectID se incluye en la matriz de salida. El valor de ObjectID se incluye también en los destinos de salida (como el campo ObjectID) y se puede utilizar para unir información adicional de salidas de herramientas al atributo de los destinos. 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
Specifies the direction from which a vehicle may arrive at the destination.
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 llegar al destino desde cualquier dirección. Puede elegir esta configuración si es posible y práctico que el vehículo dé la vuelta en el destino. Esta decisión puede depender del ancho del camino y del volumen de tráfico, o de si el destino dispone de una zona estacionamiento en la que los vehículos pueden maniobrar.
Lado derecho del vehículo
1
Cuando el vehículo llegue al destino, este debe quedar al lado derecho del vehículo. Los cambios de sentido están prohibidos. Se usa normalmente para vehículos como los buses que deben llegar a la parada del bus por la derecha.
Lado izquierdo del vehículo
2
Cuando el vehículo llegue al destino, este debe quedar al lado izquierdo del vehículo. Los cambios de sentido están prohibidos. Se usa normalmente para vehículos como los buses que deben llegar a la parada de bus por la izquierda.
Sin cambio de sentido
3
Cuando el vehículo llega al destino, 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.
- 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 destinations
Syntax for specifying destinations 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 destinations using a URL returning a JSON response
{
"url": "<url>"
"doNotLocateOnRestrictedElements": true | false
}
Syntax for specifying destinations using a layer
{
"type" : "layer",
"layerName" : "<layerName>",
"where" : "<whereClause>",
"geometry" : {<geometry>},
"geometryType" : "<geometryType>",
"spatialRel" : "<spatialRel>"
"doNotLocateOnRestrictedElements": true | false
}
Examples for destinations
Example one: Specifying destinations geometry in the Web Mercator spatial reference using JSON structure
The example also shows how to specify the Name attribute.
{
"spatialReference": {
"wkid": 102100
},
"features": [
{
"geometry": {
"x": -13635398.9398,
"y": 4544699.034400001
},
"attributes": {
"Name": "Store 45"
}
},
{
"geometry": {
"x": -13632733.3441,
"y": 4547651.028300002
},
"attributes": {
"Name": "Store 67"
}
}
]
}
Example two: Specifying destinations 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.domin.com/webadaptor/rest/services/Network/USA/MapServer/1/query?where=1%3D1&outFields=Name,RouteName&f=json"
}
token
Utilice este parámetro para especificar un token que proporcione la identidad de un usuario que tenga permisos para acceder al servicio. La página de seguridad y autenticación ofrece más información sobre cómo se puede obtener un token de acceso.
token=<yourToken>
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/OriginDestinationCostMatrix/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:
When the travelMode parameter is set, you are choosing a travel mode configured in your organization, and the service automatically overrides the values of other parameters with values that model the chosen travel mode. The following parameters are overridden: impedanceAttributeName, attributeParameterValues, restrictUturns, useHierarchy, restrictionAttributeNames, and directionsTimeAttributeName.
If you don't set the travelMode parameter, the service honors the default or user-defined values for the parameters that would otherwise be overridden, so you can create your own travel mode.
defaultCutoff
Use este parámetro para especificar el valor de tiempo de viaje o distancia de viaje en que se debe detener la búsqueda de destinos desde un origen determinado.
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 origen especificando un valor para el atributo Cutoff_[Impedance] al especificar el valor del parámetro origins.
defaultTargetDestinationCount
La cantidad máxima de destinos que se buscarán por origen. Si no se especifica un valor para este parámetro, la matriz de salida incluirá los costes de viaje desde cada origen hasta cada destino.
El valor del parámetro defaultTargetDestinationCount se puede invalidar especificando un valor para el atributo TargetDestinationCount al especificar el parámetro origins.
outputType
Especifica el tipo de entidades de ruta que constituyen la salida del servicio. El parámetro outputType puede tener uno de los valores siguientes:
- esriNAODOutputSparseMatrix: devuelve el coste entre origen y destino con un formato de matriz dispersa.
- esriNAODOutputStraightLines: devuelve una línea recta entre el origen y el destino.
- esriNAODOutputNoLines: no devuelve ninguna forma para el resultado.
timeOfDay
La hora y fecha de salida desde los orígenes. También puede especificar un valor de now para establecer la hora de salida desde los orígenes 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 a la que comienza el viaje desde los orígenes de entrada. 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.
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.
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.
useHierarchy
Especifique si se usará la jerarquía para buscar los destinos.
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 de orígenes a destinos. 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 de orígenes a destinos. Si no se utiliza la jerarquía, el servicio tiene en cuenta todas las calles y no da preferencia a las calles de orden superior. Se utiliza a menudo al resolver problemas en un área pequeña con una gran cantidad de destinos, pero se especifica un valor límite basado en un subconjunto de ellos.
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—The type should be set to layer to indicate that the user is 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.
Attribute 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
The ObjectID of the barrier. The ObjectID is a unique identifier for the barrier. The ObjectID of the input barrier is included in the output barrier (as the ObjectID field) and can be used to join additional information from analysis outputs to the attribute of your barriers. If the ObjectID is not specified, a unique ID is automatically generated in the output.
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: Specifying 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—The type should be set to layer to indicate that the user is 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
The ObjectID of the line barrier. The ObjectID is a unique identifier for the line barrier. The ObjectID of the input line barrier is included in the output line barrier (as the ObjectID field) and can be used to join additional information from analysis outputs to the attribute of your line barriers. If the ObjectID is not specified, a unique ID is automatically generated in the output.
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:Specifying 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—The type should be set to layer to indicate that the user is 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
The ObjectID of the polygon barrier. The ObjectID is a unique identifier for the polygon barrier. The ObjectID of the input polygon barrier is included in the output polygon barrier (as the ObjectID field) and can be used to join additional information from analysis outputs to the attribute of your polygon barriers. If the ObjectID is not specified, a unique ID is automatically generated in the output.
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
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.
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:Specifying a polygon barrier using a layer
{
"type" : "layer",
"layerName" : "PolygonBarrier"
}
returnOrigins
Use este parámetro para especificar si el servicio devolverá los orígenes. Los valores posibles para este parámetro son true o false. Un valor true indica que los orígenes usados como entradas se devuelven como parte de la propiedad origins en la respuesta JSON. El valor predeterminado de este parámetro es false.
Si especificó el valor del parámetro origins 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 returnOrigins como true para poder dibujar las ubicaciones de origen en la aplicación. También puede establecer la propiedad returnOrigins como true para determinar si se han ubicado correctamente las paradas en la red de calles o hubo otros errores al revisar la propiedad Status en la respuesta JSON.
returnDestinations
Use este parámetro para especificar si el servicio devolverá los destinos. Los valores posibles para este parámetro son true o false. Un valor true indica que los destinos usados como entradas se devuelven como parte de la propiedad destinations en la respuesta JSON. El valor predeterminado de este parámetro es false.
Si especificó el valor del parámetro destinations 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 returnDestinations como true para poder dibujar las ubicaciones de destino en la aplicación. También puede establecer la propiedad returnDestinations como true para determinar si se han ubicado correctamente los destinos 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.
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
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.
overrides
Nota:
Este parámetro es solo para uso interno.
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": {
"origins": {
"tolerance": <value>,
"toleranceUnits": "<unit>",
"allowAutoRelocate": true | false,
"sources": [
{
"name": "<sourceName>",
"where": "<whereClause>"
}
]
},
"destinations": {
"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 orígenes y destinos 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 orígenes y destinos, 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 orígenes ni los destinos 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": {
"origins": {
"sources": [
{
"name": "Routing_Streets",
"where": "ROAD_CLASS <> 3"
}
]
},
"destinations": {
"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, returnOrigins = true, and returnDestinations = true, you can return origins and destinations to investigate why some of them failed to locate.
Output parameters
Upon successfully execution, the service returns the travel time, distance, or both for each origin-destination pair. It returns either odLines or odCostMatrix for this information depending on the outputType you specify. The service can also return the output origins, the output destinations, the output barriers, the output polygon barriers, and the output polyline barriers if you choose to return them. It also returns the status of whether the analysis was successful. This information is output in the following output parameters:
odLines
When the outputType is esriNAODOutputNoLines or esriNAODOutputStraightLines, the output will be odLines. The odLines output include geometry for the straight line connecting each origin-destination pairs when the outputType is esriNAODOutputStraightLines.
Field | Description |
---|---|
ObjectID | The system-managed ID field. |
Name | The name of the corresponding input origin and destination feature. The origin name is first and the destination name is second, for example, Origin 1 – Destination 1. If the name is not specified for origin or destination, a unique name prefixed with Location is automatically generated for that origin or destination. |
OriginID | El valor ObjectID de la entidad de origen de entrada correspondiente. Esto se puede usar para unir atributos adicionales entre los orígenes de entrada y las líneas de destino de origen. |
DestinationID | The ObjectID value of the corresponding input destination feature. This can be used to join additional attributes between the input destinations and the origin-destination lines. |
DestinationRank | Clasificación del destino entre todos los destinos encontrados para el origen asociado. El destino más cercano al origen tiene una clasificación de 1. |
Total_[Cost](for instance, Total_TravelTime, where TravelTime is the travel cost) | The travel cost along the street network from the associated origin to the associated destination. These fields are populated for the impedance attribute and any accumulated attributes. |
odCostMatrix
When the outputType is esriNAODOutputSparseMatrix, the output is a JSON object that contains an array identified by costAttributeNames to know what cost attributes are in the matrix and in what index. It then has an associative array of origins (identified by their ObjectID), each of which has an associative array of destinations (identified by their ObjectID) containing an array of costs that are in the same order as the costAttributeNames array.
In the example below, TravelTime is the impedance attribute, and Miles and Kilometers are the accumulate attributes used in the analysis. In the returned matrix that contains the time and distance between the origin-destination pair, each nested JSON object is composed of origin ObjectID, destination ObjectID, and the costs from origin to destination in the order defined in costAttributeNames. In the example below, travel from origin ObjectID 1 to destination ObjectID 1 takes 62.88 miles.
"odCostMatrix": {
"costAttributeNames": [
"TravelTime",
"Miles",
"Kilometers"
],
"1": {
"1": [
78.61,
62.88,
101.20
]
}
}
origins
Access the origins that participated in the analysis. It provides information about origins that could not be included in the analysis.
The following table describes the attributes of the output origins:
Field | Description |
---|---|
ObjectID | The object ID of the input origin. If ObjectID is not specified, it will be a system-generated ID for the origin. |
Name | El nombre del origen. Si el nombre del origen se ha especificado como parte del campo Name, este campo tiene el mismo valor. De lo contrario, incluye un valor generado automáticamente con el prefijo Location. |
TargetDestinationCount | El valor del campo TargetDestinationCount en los orígenes de entrada correspondientes. |
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. For example, a value of 0.47 indicates that the point is positioned 47 percent from the start of the source line feature. |
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 | El valor del campo CurbApproach en los orígenes de entrada correspondientes. |
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. |
Cutoff_[Cost] | The value of the cutoff field in the corresponding input origins. |
destinations
Access the destinations that participated in the analysis. It provides information about destinations that could not be included in the analysis as well as the total number of origins that were able to reach a given destination.
The following table describes the attributes of the output destinations:
Field | Description |
---|---|
ObjectID | The object ID of the input destination. If ObjectID is not specified, it will be a system-generated ID for the destination. |
Name | El nombre del destino. Si el nombre del origen se ha especificado como parte del campo Name, este campo tiene el mismo valor. De lo contrario, incluye un valor generado automáticamente con el prefijo Location. |
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. For example, a value of 0.47 indicates that the point is positioned 47 percent from the start of the source line feature. |
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 | El valor del campo CurbApproach en los destinos de entrada correspondientes. |
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. |
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 | The object ID of the associated input barrier. If ObjectID is not specified, it will be a system-generated ID for the barrier. |
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. For example, a value of 0.47 indicates that the point is positioned 47 percent from the start of the source line feature. |
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 | Specifies whether 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
Este parámetro proporciona acceso a una o varias líneas que prohíban viajar a cualquier ubicación en la que las líneas se intersequen con las calles.
Nombre de campo | Descripción |
---|---|
ObjectID | El Id. de objeto de la barrera de polilínea de entrada asociada. Si no se especifica el valor ObjectID, el sistema lo generará para la barrera de polilínea. |
Name | El nombre de la barrera. |
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):
|
Attr_[Cost] (por ejemplo, Attr_TraveTime cuando TravelTime es el coste de viaje) | 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. |
polygonBarriers
Este parámetro proporciona acceso a polígonos que restrinjan completamente el viaje o escalen de una forma proporcional el tiempo o la distancia que se requieren para viajar por las calles que se intersecan con los polígonos.
Nombre de campo | Descripción |
---|---|
ObjectID | El Id. de objeto de la barrera de polígono de entrada asociada. Si no se especifica el valor ObjectID, el sistema lo generará para la barrera de polígono. |
Name | El nombre de la barrera. |
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):
|
Attr_[Cost] (por ejemplo, Attr_TravelTime cuando TravelTime es el coste de viaje) | 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. |
Example usage
You can make a request to the synchronous Origin Destination Cost Matrix service using the following form:
https://machine.domain.com/webadaptor/rest/services/Routing/NetworkAnalysis/NAServer/OriginDestinationCostMatrix/solveODCostMatrix?<parameters>
The Origin Destination Cost Matrix service supports synchronous and asynchronous execution modes.
The request URL and the parameter names supported by the service when using asynchronous execution are different and described in Origin Destination Cost Matrix service with asynchronous execution.
Calculate total travel time and distance between two cities
This example shows how to calculate total travel time and distance between two cities (San Diego and Los Angeles), a typical Origin Destination Cost Matrix problem.
Specify the same two cities as the origins and destinations parameter to get travel time and distance traveling between these two cities. Use the JSON structure to specify the origins and destinations parameter in order to specify the Name and ObjectID of the cities that will be included in the service output.
Request URL
https://machine.domain.com/webadaptor/rest/services/Routing/NetworkAnalysis/NAServer/OriginDestinationCostMatrix/solveODCostMatrix?origins=
%7B%22spatialReference%22%3A%7B%22wkid%22%3A102100%7D%2C%22features%22%3A%5B%7B%22geometry%22%3A%7B%22x%22%3A-13042381.897669187%2C%22y%22%
3A3857625.761983883%7D%2C%22attributes%22%3A%7B%22ObjectID%22%3A1%2C%22Name%22%3A%22San+Diego%22%7D%7D%2C%7B%22geometry%22%3A%7B%22x%22%
3A-13163008.811087687%2C%22y%22%3A4035986.6896486743%7D%2C%22attributes%22%3A%7B%22ObjectID%22%3A2%2C%22Name%22%3A%22Los+Angeles%22%7D%
7D%5D%7D&destinations=%7B%22spatialReference%22%3A%7B%22wkid%22%3A102100%7D%2C%22features%22%3A%5B%7B%22geometry%22%3A%7B%22x%22%
3A-13042381.897669187%2C%22y%22%3A3857625.761983883%7D%2C%22attributes%22%3A%7B%22ObjectID%22%3A1%2C%22Name%22%3A%22San+Diego%22%
7D%7D%2C%7B%22geometry%22%3A%7B%22x%22%3A-13163008.811087687%2C%22y%22%3A4035986.6896486743%7D%2C%22attributes%22%3A%7B%22ObjectID%
22%3A2%2C%22Name%22%3A%22Los+Angeles%22%7D%7D%5D%7D&f=pjson&token=<yourToken>
JSON response example
The default outputType is esriNAODOutputSparseMatrix, so the response is a matrix format. The default impedanceAttributeName is TravelTime, and the default accumulateAttributeNames are Miles and Kilometers in the example below. The response contains the travel time, travel distance in miles, and travel distance in kilometers between San Diego and Los Angeles. Within the odCostMatrix property, each nested JSON object is composed of origin ObjectID, destination ObjectID, and the costs from origin to destination in the order defined in costAttributeNames.
{
"messages": [],
"odCostMatrix": {
"1": {
"1": [
0,
0,
0
],
"2": [
157.0376430630198,
124.20114191467465,
199.88236253353011
]
},
"2": {
"1": [
158.82792954092292,
124.16291635554705,
199.82084445930158
],
"2": [
0,
0,
0
]
},
"costAttributeNames": [
"TravelTime",
"Miles",
"Kilometers"
]
}
}
JSON response syntax
The JSON response from the Origin Destination Cost Matrix service is based on the following syntax when outputType is esriNAODOutputSparseMatrix. The properties returned in the response are based on the request parameters. For example, the origins property is returned only if the returnOrigins 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 successful request
{
"odCostMatrix": {
"<OriginID1>": {
"<DestinationID1>": [
<costAttribute1Value1>,
<costAttribute2Value1>
],
"<DestinationID2>": [
<costAttribute1Value2>,
<costAttribute2Value2>
]
},
"<OriginID2>": {
"<DestinationID1>": [
<costAttribute1Value3>,
<costAttribute2Value3>
],
"<DestinationID2>": [
<costAttribute1Value4>,
<costAttribute2Value4>
]
},
"costAttributeNames": [
"<costAttribute1>",
"<costAttribute2>"
]
},
"origins": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {<point1>}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {<point2>}
}
]
},
"destinations": {
"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>}
}
]
}
}
JSON Response syntax for failed request
{
"error": {
"code": <code>,
"message": "<message>",
"details": ["<details>"]
}
}
When outputType is esriNAODOutputStraightLines or esriNAODOutputNoLines, the JSON response from Origin Destination Cost Matrix service includes odLinesproperty.
JSON Response syntax for successful request when outputType is esriNAODOutputStraightLines
When the outputType is esriNAODOutputStraightLines, the odLines property includes a geometry property for each feature.
{
"odLines": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
},
"geometry": {<polyline1>}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
},
"geometry": {<polyline2>}
}
]
}
}
JSON Response syntax for successful request when outputType is esriNAODOutputNoLines
When outputType is esriNAODOutputNoLines, the odLines property doesn't include a geometry property for each feature.
{
"odLines": {
"spatialReference": {<spatialReference>},
"features": [
{
"attributes": {
"<field1>": <value11>,
"<field2>": <value12>
}
},
{
"attributes": {
"<field1>": <value21>,
"<field2>": <value22>
}
}
]
}
}