Skip To Content

Job request

  • URL:https://<gpservice-url>/GenerateOriginDestinationCostMatrix
  • Version Introduced:

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.

Request parameters

ParameterDescription
origins

(Required)

Specify locations that function as starting points in generating the paths to destinations.

Syntax:

destinations

(Required)

Specify locations that function as ending points in generating the paths from origins.

Syntax:

token

(Required)

Provides the identity of a user who has the permissions to access the service.

f

(Required)

Specify the response format.

The default value is html.

Values: html | json| pjson

travel_mode

(Optional)

Specify the mode of transportation for the analysis.

Value: JSON object

time_units

(Optional)

Specify the units that will be used to measure and report the total travel time between each origin-destination pair.

The default value is Minutes.

Values: Minutes | Seconds | Hours | Days

distance_units

(Optional)

Specify the units that will be used to measure and report the total travel distance between each origin-destination pair.

The default value is Kilometers.

Values: Kilometers | Meters | Feet | Yards | Miles | NauticalMiles

analysis_region

(Optional)

Specify the region in which the analysis will be performed.

number_of_destinations_to_find

(Optional)

Specify the maximum number of destinations to find per origin. The default is to be undefined.

cutoff

(Optional)

Specify the travel time or travel distance value at which to stop searching for destinations from a given origin. Any destination beyond the cutoff value will not be considered. The default is to be undefined.

time_of_day

(Optional)

Especifique la hora y fecha de salida de los orígenes.

time_zone_for_time_of_day

(Optional)

Specify the time zone or zones of the time_of_day parameter.

The default value is Geographically Local.

Values: Geographically Local | UTC

point_barriers

(Optional)

Specify 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. To learn about the accepted values for this parameter, see the point_barriers section below.

Syntax:

line_barriers

(Optional)

Specify one or more lines that prohibit travel anywhere the lines intersect the streets. To learn about the accepted values for this parameter, see the line_barriers section below.

Syntax:

polygon_barriers

(Optional)

Specify polygons that either prohibit travel or proportionately scale the time or distance required to travel on the streets intersected by the polygons. To learn about the accepted values for this parameter, see the polygon_barriers section below.

Syntax:

uturn_at_junctions

(Optional)

Restrict or allow the analysis to make U-turns at junctions.

The default value is Allowed only at Intersections and Dead Ends.

Values: Allowed only at Intersections and Dead Ends | Allowed | Allowed only at Dead Ends | Not Allowed

use_hierarchy

(Optional)

Specify whether hierarchy will be used when finding the shortest paths.

The default value is true.

Values: true | false

restrictions

(Optional)

Specify the restrictions that will be honored by the service. To learn about all the accepted values for this parameter, see the restrictions section below.

You can specify the value of this parameter as in the example below.

restrictions=Avoid Carpool Roads, Avoid Express Lanes, Avoid Gates, Avoid Private Roads, Avoid Unpaved Roads, Driving a Truck, Use Preferred Truck Routes, Roads Under Construction Prohibited, Through Traffic Prohibited

attribute_parameter_values

(Optional)

Specify additional values required by an attribute or restriction, such as whether the restriction prohibits, avoids, or prefers travel on restricted roads. To learn about the accepted values for this parameter, see the attribute_parameter_values section below.

impedance

(Optional)

Specify the impedance.

Values: TravelTime | Minutes | TruckTravelTime | TruckMinutes | WalkTime | Miles | Kilometers

Nota:

Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.

origin_destination_line_shape

(Optional)

Specify the shape of the line feature connecting each origin-destination pair in the output matrix.

The default value is None.

Values: None | Straight Line

save_output_network_analysis_layerr

(Optional)

Specify whether the service will save the analysis settings as a network analysis layer file.

The default value is false.

Values: true | false

overrides

(Optional)

Nota:

Este parámetro es solo para uso interno.

time_impedance

(Optional)

Specify the time-based impedance.

The default value is TravelTime.

Values: TravelTime | Minutes | TruckTravelTime | TruckMinutes | WalkTime

Nota:

Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.

distance_impedance

(Optional)

Specify the distance-based impedance.

The default value is Kilometers.

Values:Miles | Kilometers

Nota:

Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.

output_format

(Optional)

Specify the format in which the output features will be created.

The default value is Feature Set.

Values: Feature Set | JSON File | GeoJSON File | CSV File

env:outSR

(Optional)

Specify the spatial reference of the geometries, such as the output origins or the output destinations returned by the service.

ignore_network_location_fields

(Optional)

Especifica si los campos de ubicación de red se tendrán en cuenta al localizar entradas como paradas o instalaciones en la red.

The default value is false.

Values: true | false

ignore_invalid_locations

(Optional)

Specify whether invalid input locations will be ignored.

The default value is true.

Values: true | false

locate_settings

(Optional)

Specify settings that affect how inputs are located.

Value: JSON object

accumulate_attributes

(Optional)

Lista de los atributos de coste que se acumularán durante el análisis. Estos atributos acumulados solo se utilizan como referencia; el solucionador solo utiliza el atributo de coste empleado en el modo de viaje indicado al solucionar el análisis.

Required parameters

The following parameters are required.

origins

Use this parameter to specify locations that function as starting points in generating the paths to destinations.

The origins parameter can be specified using a JSON structure that represents a set of point features. The property is optional; however, the JSON structure must specify either the url or features property:

  • url: especifique una solicitud de consulta REST para cualquier entidad, mapa o servicio de geoprocesamiento de ArcGIS Server que devuelva un conjunto de entidades JSON.

  • features: especifique una matriz de entidades.

    Each feature in the features array represents 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.

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

    El nombre del origen. El nombre puede ser un identificador único del origen. El nombre se incluye en las líneas de salida (como el campo OriginName) y en los orígenes de salida (como el campoName) y se puede utilizar para unir información adicional de las salidas de la herramienta a los atributos de los orígenes.

    Si no se especifica el nombre, se genera automáticamente un nombre único con el prefijo de Location.

  • TargetDestinationCount

    La cantidad máxima de destinos que se buscarán por origen.

    Si no se especifica un valor, se utilizará el valor del parámetro Número de destinos para buscar.

    Este campo permite especificar un número distinto de destinos que buscar para cada origen. Por ejemplo, con este campo puede encontrar los tres destinos más cercanos desde un origen y los dos destinos más cercanos desde otro origen.

  • Cutoff

    El valor de impedancia en el que se debe detener la búsqueda de destinos de un origen dado. Este atributo permite especificar un valor límite distinto para cada destino. Por ejemplo, con este atributo puede especificar buscar destinos que se encuentren a cinco minutos de tiempo de viaje desde un origen y buscar destinos que se encuentren a ocho minutos de tiempo de viaje desde otro origen.

    Las unidades del valor límite son las mismas que las unidades de su atributo de impedancia. Si no se especifica un valor, se utilizará el valor del parámetro Cutoff.

  • CurbApproach

    Specify the direction a vehicle can 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.

    SettingCoded valueDescription

    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.

    Cualquier lado del vehículo
    El valor Cualquier lado del vehículo de la aproximación a borde permite todas las combinaciones de salida y llegada.

    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 derecho del vehículo
    Se muestra la combinación permitida de llegadas y salidas para la aproximación a borde Lado derecho del vehículo.

    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.

    Lado izquierdo del vehículo
    Se muestra la combinación permitida de llegadas y salidas para la aproximación a borde Lado izquierdo del vehículo.

    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.

    No realizar cambios de sentido
    Se muestra la combinación permitida de llegadas y salidas para la aproximación a borde No realizar cambios de sentido.

    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.

    Lado derecho del vehículo con circulación por la derecha
    Con tráfico por la derecha, la aproximación a borde que deja al vehículo más cerca del origen es Lado derecho del vehículo.
    Lado izquierdo del vehículo con circulación por la izquierda
    Con tráfico por la izquierda, la aproximación a borde que deja al vehículo más cerca del origen es Lado izquierdo del vehículo.

  • Bearing

    La dirección en la que está avanzando un punto. Las unidades son grados y se miden en sentido horario desde el norte verdadero. Este campo se utiliza junto con el campo BearingTol.

    Los datos de rumbo normalmente se envían de forma automática desde un dispositivo móvil dotado de un receptor GPS. Intente incluir datos de rumbo si está cargando una ubicación de entrada que se mueve, como un peatón o un vehículo.

    Utilizar este campo tiende a evitar agregar ubicaciones a los ejes equivocados, que puede ocurrir cuando un vehículo está cerca de una intersección o un paso elevado, por ejemplo. El rumbo también ayuda a la herramienta a determinar en qué lado de la calle está el punto.

    Más información sobre el rumbo y la tolerancia de rumbo

  • BearingTol

    El valor de tolerancia de rumbo crea un rango de valores de rumbo aceptable al ubicar los puntos en movimiento en un eje con el campo Bearing. Si el valor del campo Bearing está dentro del rango de valores aceptables que se generan a partir de la tolerancia de rumbo en un eje, el punto se puede agregar como una ubicación de red ahí; de lo contrario, se evalúa el punto más cercano sobre el próximo eje más cercano.

    Las unidades se expresan en grados y el valor predeterminado es 30. Los valores deben ser mayores que 0 y menores que 180. Un valor de 30 significa que, cuando Network Analyst intenta agregar una ubicación de red en un eje, se genera un rango de valores de rumbo aceptable 15 grados hacia cada lado del eje (izquierda y derecha) y en ambas direcciones digitalizadas del eje.

    Más información sobre el rumbo y la tolerancia de rumbo

  • NavLatency

    Este campo solo se utiliza en el proceso de resolución si los campos Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor de campo NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto coste se espera desde el momento en que se envía la información de GPS desde un vehículo en movimiento a un servidor y el momento en que el dispositivo de navegación del vehículo recibe la ruta procesada.

    Las unidades de NavLatency son las mismas que las unidades del atributo de impedancia.

Syntax examples for origins

Syntax for specifying origins using a JSON structure for features


{
  "spatialReference": {
    "wkid": <wkid>,
    "latestWkid": <wkid>
  },
  "features": [
    {
      "geometry": {
        "x": <x1>,
        "y": <y1>
      },
      "attributes": {
        "<field1>": <value1_1>,
        "<field2>": <value1_2>
      }
    },
    {
      "geometry": {
        "x": <x2>,
        "y": <y2>
      },
      "attributes": {
        "<field1>": <value2_1>,
        "<field2>": <value2_2>
      }
    }
  ]
}

Syntax for specifying origins using a URL returning a JSON response


{
  "url": "<url>"
}

Examples for origins

Example 1: Specify origins in the same spatial reference as the network dataset, WGS84, using a JSON structure. The example also shows how to specify some attributes for the origins.


{
  "features": [
    {
      "geometry": {
        "y": 51.5254,
        "x": -0.1891
      },
      "attributes": {
        "Name": "Origin 1",
        "TargetDestinationCount": 50, 
        "Cutoff": 120,
        "CurbApproach": 0
      }
    },
    {
      "geometry": {
        "y": 51.5353,
        "x": -0.1744
      },
      "attributes": {
        "Name": "Origin 2",
        "TargetDestinationCount": 40,
        "Cutoff": 90,
        "CurbApproach": 0
      }
    }
  ]
}

Example 2: Specify origins in the Web Mercator spatial reference using a JSON structure


{
  "spatialReference": {
    "wkid": 102100
  },
  "features": [
    {
      "geometry": {
        "y": -5192521.476,
        "x": -2698533.989
      },
      "attributes": {
        "Name": "Origin 1"
      }
    },
    {
      "geometry": {
        "y": -5191915.261,
        "x": -2697821.094
      },
      "attributes": {
        "Name": "Origin 2"
      }
    }
  ]
}

Example 3: Specify 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/NetworkAnalysis/SanDiego/MapServer/21/query?where=1%3D1&outFields=Name&f=json"
}

destinations

Use this parameter to specify locations that function as ending points in generating the paths from origins.

The destinations parameter can be specified using a JSON structure that represents a set of point features. The property is optional; however, the JSON structure must specify either the url or features property:

  • url: especifique una solicitud de consulta REST para cualquier entidad, mapa o servicio de geoprocesamiento de ArcGIS Server que devuelva un conjunto de entidades JSON.

  • features: especifique una matriz de entidades.

    Each feature in the features array represents a 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.

Attributes for destinations

Cuando se especifican los destinos, se pueden definir propiedades para cada uno, como su nombre, mediante los siguientes atributos:

  • Name

    El nombre del destino. El nombre puede ser un identificador único del destino. El nombre se incluye en las líneas de salida (como el campo DestinationName) y en los destinos de salida (como el campo Name) y se puede utilizar para unir información adicional de las salidas de la herramienta a los atributos de los destinos.

    Si no se especifica el nombre, se genera automáticamente un nombre único con el prefijo de Location.

  • CurbApproach

    Specify the direction a vehicle can 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.

    SettingCoded valueDescription

    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.

    Cualquier lado del vehículo
    El valor Cualquier lado del vehículo de la aproximación a borde permite todas las combinaciones de salida y llegada.

    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 derecho del vehículo
    Se muestra la combinación permitida de llegadas y salidas para la aproximación a borde Lado derecho del vehículo.

    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.

    Lado izquierdo del vehículo
    Se muestra la combinación permitida de llegadas y salidas para la aproximación a borde Lado izquierdo del vehículo.

    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.

    No realizar cambios de sentido
    Se muestra la combinación permitida de llegadas y salidas para la aproximación a borde No realizar cambios de sentido.

    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.

    Lado derecho del vehículo con circulación por la derecha
    Con tráfico por la derecha, la aproximación a borde que deja al vehículo más cerca del destino es Lado derecho del vehículo.
    Lado izquierdo del vehículo con circulación por la izquierda
    Con tráfico por la izquierda, la aproximación a borde que deja al vehículo más cerca del destino es Lado izquierdo del vehículo.

  • Bearing

    La dirección en la que está avanzando un punto. Las unidades son grados y se miden en sentido horario desde el norte verdadero. Este campo se utiliza junto con el campo BearingTol.

    Los datos de rumbo normalmente se envían de forma automática desde un dispositivo móvil dotado de un receptor GPS. Intente incluir datos de rumbo si está cargando una ubicación de entrada que se mueve, como un peatón o un vehículo.

    Utilizar este campo tiende a evitar agregar ubicaciones a los ejes equivocados, que puede ocurrir cuando un vehículo está cerca de una intersección o un paso elevado, por ejemplo. El rumbo también ayuda a la herramienta a determinar en qué lado de la calle está el punto.

    Más información sobre el rumbo y la tolerancia de rumbo

  • BearingTol

    El valor de tolerancia de rumbo crea un rango de valores de rumbo aceptable al ubicar los puntos en movimiento en un eje con el campo Bearing. Si el valor del campo Bearing está dentro del rango de valores aceptables que se generan a partir de la tolerancia de rumbo en un eje, el punto se puede agregar como una ubicación de red ahí; de lo contrario, se evalúa el punto más cercano sobre el próximo eje más cercano.

    Las unidades se expresan en grados y el valor predeterminado es 30. Los valores deben ser mayores que 0 y menores que 180. Un valor de 30 significa que, cuando Network Analyst intenta agregar una ubicación de red en un eje, se genera un rango de valores de rumbo aceptable 15 grados hacia cada lado del eje (izquierda y derecha) y en ambas direcciones digitalizadas del eje.

    Más información sobre el rumbo y la tolerancia de rumbo

  • NavLatency

    Este campo solo se utiliza en el proceso de resolución si los campos Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor de campo NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto coste se espera desde el momento en que se envía la información de GPS desde un vehículo en movimiento a un servidor y el momento en que el dispositivo de navegación del vehículo recibe la ruta procesada.

    Las unidades de NavLatency son las mismas que las unidades del atributo de impedancia.

Syntax examples for destinations

Syntax for specifying destinations using a JSON structure for features


{
  "spatialReference": {
    "wkid": <wkid>,
    "latestWkid": <wkid>
  },
  "features": [
    {
      "geometry": {
        "x": <x1>,
        "y": <y1>
      },
      "attributes": {
        "<field1>": <value1_1>,
        "<field2>": <value1_2>
      }
    },
    {
      "geometry": {
        "x": <x2>,
        "y": <y2>
      },
      "attributes": {
        "<field1>": <value2_1>,
        "<field2>": <value2_2>
      }
    }
  ] 
}

Syntax for specifying destinations using a URL returning a JSON response


{
  "url": "<url>"
}

Examples for destinations

Example 1: Specify destinations in the same spatial reference as the network dataset using a JSON structure. The example also shows how to specify some attributes for the destinations.


{
  "features": [
    {
      "geometry": {
        "y": 51.5354,
        "x": -0.1991
      },
      "attributes": {
        "Name": "Destination 1",
        "CurbApproach": 0
      }
    },
    {
      "geometry": {
        "y": 51.5458,
        "x": -0.1844
      },
      "attributes": {
        "Name": "Destination 2",
        "CurbApproach": 0
      }
    }
  ]
}

Example 2: Specify destinations in the Web Mercator spatial reference using a JSON structure


{
  "spatialReference": {
    "wkid": 102100
  },
  "features": [
    {
      "geometry": {
        "y": -5182521.476,
        "x": -2688533.989
      },
      "attributes": {
        "Name": "Destination 1"
      }
    },
    {
      "geometry": {
        "y": -5201915.261,
        "x": -2717821.094
      },
      "attributes": {
        "Name": "Destination 2"
      }
    }
  ]
}

Example 3: Specify 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/NetworkAnalysis/SanDiego/MapServer/21/query?where=1%3D1&outFields=Name&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.

Ejemplo (reemplace <yourToken> por un token válido):
token=<yourToken>

f

Utilice este parámetro para especificar el formato de respuesta. El parámetro puede tener html, json o pjson como argumentos, por ejemplo, f=json. El valor pjson se utiliza para imprimir la respuesta JSON en un formato embellecido.

Optional parameters

The following parameters are optional.

travel_mode

Seleccione el modo de transporte para el análisis.

Los modos de viaje se administran en ArcGIS Enterprise y el administrador de su organización puede configurarlos para reflejar mejor los flujos de trabajo de la organización.

Para obtener más información sobre los modos de viaje, consulte Configurar modos de viaje.

Debe especificar el objeto JSON que contiene la configuración de un modo de viaje compatible con su organización. Para obtener una lista de los modos de viaje admitidos, ejecute la herramienta GetTravelModes desde el servicio Utilidades.

El valor del parámetro travel_mode debe ser un objeto JSON que represente la configuración del modo de viaje. Si se utiliza la herramienta GetTravelModes del servicio Utilidades, se obtiene una cadena de caracteres que representa el JSON del modo de viaje. Debe convertir esta cadena de caracteres en un objeto JSON válido utilizando su API y, a continuación, entregar el objeto JSON como valor para el parámetro travel_mode.

Por ejemplo, se muestra a continuación una cadena de caracteres que representa el modo de viaje Tiempo a pie, tal y como lo devuelve la herramienta GetTravelModes.

"{\"attributeParameterValues\": [{\"parameterName\": \"Restriction Usage\", \"attributeName\": \"Walking\", \"value\": \"PROHIBITED\"}, {\"parameterName\": \"Restriction Usage\", \"attributeName\": \"Preferred for Pedestrians\", \"value\": \"PREFER_LOW\"}, {\"parameterName\": \"Walking Speed (km/h)\", \"attributeName\": \"WalkTime\", \"value\": 5}], \"description\": \"Follows paths and roads that allow pedestrian traffic and finds solutions that optimize travel time. The walking speed is set to 5 kilometers per hour.\", \"impedanceAttributeName\": \"WalkTime\", \"simplificationToleranceUnits\": \"esriMeters\", \"uturnAtJunctions\": \"esriNFSBAllowBacktrack\", \"restrictionAttributeNames\": [\"Preferred for Pedestrians\", \"Walking\"], \"useHierarchy\": false, \"simplificationTolerance\": 2, \"timeAttributeName\": \"WalkTime\", \"distanceAttributeName\": \"Miles\", \"type\": \"WALK\", \"id\": \"caFAgoThrvUpkFBW\", \"name\": \"Walking Time\"}"

El valor anterior se debe convertir a un objeto JSON válido y transferirse como valor para el parámetro travel_mode.

travel_mode={"attributeParameterValues":[{"parameterName":"Restriction Usage","attributeName":"Walking","value":"PROHIBITED"},{"parameterName":"Restriction Usage","attributeName":"Preferred for Pedestrians","value":"PREFER_LOW"},{"parameterName":"Walking Speed (km/h)","attributeName":"WalkTime","value":5}],"description":"Follows paths and roads that allow pedestrian traffic and finds solutions that optimize travel time. The walking speed is set to 5 kilometers per hour.","impedanceAttributeName":"WalkTime","simplificationToleranceUnits":"esriMeters","uturnAtJunctions":"esriNFSBAllowBacktrack","restrictionAttributeNames":["Preferred for Pedestrians","Walking"],"useHierarchy":false,"simplificationTolerance":2,"timeAttributeName":"WalkTime","distanceAttributeName":"Miles","type":"WALK","id":"caFAgoThrvUpkFBW","name":"Walking Time"}

El valor predeterminado, Custom, le permite configurar su propio modo de viaje. Cuando se entrega en Custom, puede definir valores para los siguientes parámetros: impedance, time_impedance, distance_impedance, uturn_at_junctions, use_hierarchy, route_line_simplification_tolerance, restrictions y attribute_parameter_values. Puede elegir Custom y establecer los parámetros de modo de viaje personalizado indicados anteriormente, por ejemplo, para modelar un peatón con una velocidad de caminata rápida o un camión con una altura y un peso determinados y con una carga de determinados materiales peligrosos. Puede probar distintas configuraciones hasta conseguir resultados de análisis deseados. Una vez que haya identificado la configuración de análisis, debe trabajar con el administrador de su organización y guardar esta configuración como parte de un modo de viaje nuevo o existente para que todos los usuarios de su organización puedan volver a ejecutar el análisis con la misma configuración.

Los valores predeterminados de los parámetros de modo de viaje personalizado se basan en viajes en coche. Si especifica el modo de viaje como Custom o no proporciona ningún valor para el parámetro travel_mode, el análisis será similar al uso del modo de viaje Driving Time predeterminado.

Precaución:

Si el parámetro travel_mode no tiene el valor Custom, significa que está eligiendo un modo de viaje configurado por su organización y el servicio invalida automáticamente los valores de otros parámetros con valores que modelen el modo de viaje elegido. Se invalidan los siguientes parámetros: impedance, time_impedance, distance_impedance, uturn_at_junctions, use_hierarchy, route_line_simplification_tolerance, restrictions y attribute_parameter_values.

time_units

Especifique las unidades que se deben usar para medir e indicar el tiempo total de viaje entre cada par de origen-destino.

Las opciones son las siguientes:

  • Seconds
  • Minutes (predeterminado)
  • Hours
  • Days

distance_units

Especifique las unidades que se deben usar para medir e indicar la distancia total de viaje entre cada par de origen-destino.

Las opciones son las siguientes:

  • Meters
  • Kilometers (predeterminado)
  • Feet
  • Yards
  • Miles
  • NauticalMiles

analysis_region

El servicio ignora este parámetro y la especificación de un valor no tiene ningún efecto en el análisis.

number_of_destinations_to_find

Especifique la cantidad máxima de destinos que se buscarán por origen. Si no se especifica ningún valor para este parámetro (lo cual es lo predeterminado), la matriz de salida incluye los costes de viaje desde cada origen hasta cada destino. Determinados orígenes pueden tener sus propios valores (especificados como el campo TargetDestinationCount), que invalidan el valor del parámetro number_of_destinations_to_find.

valor límite

Especifica el valor del tiempo de viaje o la distancia de viaje en la cual se debe detener la búsqueda de destinos desde un origen determinado. Los destinos situados más allá del valor de punto crítico serán ignorados. Determinados orígenes pueden tener sus propios valores (especificados como el campo Cutoff), que invalidan el valor del parámetro cutoff.

El valor debe estar expresado en las unidades especificadas en el parámetro time_units si el atributo de impedancia de su modo de viaje está basado en el tiempo, o bien en las unidades especificadas en el parámetro distance_units si el atributo de impedancia de su modo de viaje está basado en la distancia. Si no se especifica ningún valor (lo cual es lo predeterminado), la herramienta no aplicará ningún límite de tiempo ni de distancia de viaje al buscar destinos.

time_of_day

Especifique la hora y fecha de salida de los orígenes.

Al especificar una hora del día, se obtienen estimaciones más precisas de tiempos de viaje porque los tiempos de viaje tienen en cuenta las condiciones del tráfico aplicables a esa fecha y hora.

Para utilizar el tráfico en el análisis, elija una unidad basada en tiempo para impedance y asigne un valor a time_Of_day.

El valor de time_Of_day 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 no se aprueba una hora del día, el servicio utiliza velocidades de carretera estáticas basadas en velocidades históricas promedio o límites de velocidad permitidos. Utiliza las velocidades permitidas en áreas donde la información de tráfico histórico no está disponible.

Nota:
El tráfico solo es compatible con el modo de viaje o la impedancia del tiempo de conducción.

Cuando el servicio utiliza datos de ArcGIS StreetMap Premium, puede admitir dos tipos de tráfico: en directo y típico.

Si la time_Of_day especificada está a menos de 4 horas de la hora actual, se utilizará el tráfico en directo cuando esté disponible. El tráfico en directo recupera las velocidades en función de los registros desde teléfonos móviles, sensores y otras fuentes de datos y refleja las velocidades de viaje actuales y predice las velocidades del futuro cercano. Si la time_Of_day especificada es 4 horas anterior o 4 horas posterior de la hora actual o si la carretera no tiene tráfico en directo, se utilizarán velocidades de tráfico típico. Las velocidades típicas se basan en patrones de tráfico históricos. Los datos de tiempo de viaje se agregan en intervalos de 15 minutos por día de la semana basándose en datos de varios años. Por tanto, una carretera puede tener un tiempo de viaje diferente un lunes a las 8:00, un lunes a las 8:15 o un martes a las 8:00. Debido a que la varianza es solo en el día de la semana y en la hora del día, el tiempo de viaje es el mismo en una carretera para cualquier lunes a las 8:00, independientemente del mes o año.

Si su objetivo es modelar las condiciones típicas de viaje y evitar grandes varianzas a partir de la media debido al tráfico en directo, se recomienda usar una fecha del pasado para garantizar que no coincida con la ventana de 4 horas desde la hora actual. Como ejemplo extremo, incluso puede utilizar fechas de 1990.

La página Cobertura de datos muestra los países para los que Esri proporciona actualmente datos de tráfico.

Typical traffic

Para garantizar que la tarea use el tráfico típico en las ubicaciones en las que está disponible, elija una hora y un día de la semana y, luego, convierta el día de la semana a una de las siguientes fechas de 1990:

  • Lunes, 1/1/1990
  • Martes, 2/1/1990
  • Miércoles, 3/1/1990
  • Jueves, 4/1/1990
  • Viernes, 5/1/1990
  • Sábado, 6/1/1990
  • Domingo, 7/1/1990

Establezca la hora y la fecha en hora UNIX en milisegundos. Por ejemplo, para resolver para 13:03 los jueves, establezca la fecha y la hora en 13:03, 4 de enero de 1990, y convierta a milisegundos (631458180000). Aunque las fechas que representan los días de la semana son de 1990, el tráfico típico se calcula a partir de las tendencias de tráfico recientes, normalmente a lo largo de los datos de los últimos dos años.

Tráfico en vivo

Para utilizar el tráfico en directo cuando y donde esté disponible, elija una fecha y hora y convierta a hora UNIX.

Nota:
Debe tener una extensión de Tráfico en directo y configurar su dataset de red Street Map Premium para acceder al tráfico en directo.

Esri guarda los datos de tráfico en directo durante 4 horas y hace referencia a datos predictivos que abarcan hasta 4 horas en el futuro. Si la hora y la fecha que ha especificado para este parámetro están fuera de la ventana de tiempo de 8 horas o el tiempo de viaje del análisis sigue más allá de la ventana de datos predictivos, la tarea vuelve a las velocidades de tráfico típico.

Ejemplos de time_of_day

Ejemplo uno: 13:03, 4 de enero de 1990. Tráfico típico los jueves a las 13:03.

"time_Of_day": 631458180000

Ejemplo dos: 17:00, 7 de enero de 1990. Tráfico típico los domingos a las 17:00.

"time_Of_day": 631731600000

Ejemplo cuatro: 10:20, 18 de marzo de 2015. Si la hora actual está entre las 6:20, 18 de marzo de 2015, y 14:20, 18 de marzo de 2015, se hace referencia a las velocidades de tráfico en directo en el análisis; de lo contrario, se hace referencia a las velocidades de tráfico típico.

"time_Of_day": 1426674000000

time_zone_for_time_of_Day

Especifique la zona o zonas horarias del parámetro time_Of_day. Existen dos opciones: Geographically Local y UTC.

The default value is Geographically Local

Geographically Local

El valor time_Of_day hace referencia a las zonas horarias locales en las que se encuentran los puntos de entrada. Esta opción hace que el análisis tenga horas de inicio rotativas en las diferentes zonas horarias.

Ilustración de cómo establecer el valor en Geographically Local: cambiar time_of_day a 9:00, 4 de enero de 1990 (631443600000 milisegundos); time_zone_for_time_Of_Day a Geographically Local; y enviar una solicitud válida provoca que los tiempos de conducción de puntos en la zona horaria del este empiecen a las 9:00 a la hora del este y a las 9:00 a la hora central para puntos en la zona horaria central. (Las horas de inicio tienen una variación de una hora respecto a la hora real o UTC).

El parámetro Zona horaria para hora del día está configurado como geográficamente local
Entrada: time_Of_day es 9:00, 4 de enero de 1990 (631443600000 milisegundos) y time_zone_for_time_Of_day tiene el valor Geographically Local

UTC

El valor time_Of_day hace referencia a la hora universal coordinada (UTC). Las horas de inicio son simultáneas para todos los puntos, independientemente de las zonas horarias.

Ilustración de cómo establecer el valor en time_Of_day: cambiar time_Of_day a 9:00, 4 de enero de 1990 (631443600000 milisegundos); y el valor de UTC las horas de inicio de puntos en la zona horaria del este son a las 4:00 a la hora del este y las 3:00 a la hora central para aquellos en la zona horaria central.

El parámetro Zona horaria para hora del día tiene el valor UTC
Entrada: time_Of_day es 9:00, 4 de enero de 1990 (631443600000 milisegundos) y time_zone_for_time_Of_day tiene el valor UTC

point_barriers

Utilice este parámetro para especificar uno o varios puntos que actuarán como restricciones temporales o representen el tiempo o la distancia adicionales que puede que se necesiten para viajar en las calles subyacentes. Por ejemplo, una barrera de punto se puede usar para representar un árbol caído en una calle o el retraso acumulado en un cruce de ferrocarril.

You can specify barrier geometries as well as attributes using a more comprehensive JSON structure that references a set of features. The property is optional; however, the JSON structure must specify either the url or features property:

  • url: especifique una solicitud de consulta REST para cualquier entidad, mapa o servicio de geoprocesamiento de ArcGIS Server que devuelva un conjunto de entidades JSON.

  • features: especifique una matriz de entidades.

    Cada entidad de la matriz representa una barrera de punto y contiene los siguientes campos:

    • geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
      Sugerencia:

      Se recomienda especificar explícitamente el valor de spatialReference y especificarlo para todo el JSON en lugar de para cada geometría individual.

    • attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.

Attributes for point_barriers

Cuando se especifican las barreras de punto, se pueden definir propiedades para cada una de ellas, como su nombre o el tipo de barrera, mediante el uso de los siguientes atributos:

Name

El nombre de la barrera.

BarrierType

Especifica si la barrera de punto restringe el recorrido completamente o agrega tiempo o distancia cuando se cruza. El valor de este atributo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):

  • 0 (Restricción): prohíbe viajar por la barrera. La barrera se conoce como barrera de punto de restricción, ya que actúa como una restricción.

    Dos mapas demuestran cómo afecta una barrera de punto de restricción a un análisis de ruta.
    El primer mapa muestra la ruta más corta entre dos paradas sin ninguna barrera de punto de restricción. El segundo mapa tiene una carretera que está bloqueado por un árbol caído, de modo que la ruta más corta entre los mismos puntos es más larga.

  • 2 (Coste agregado): viajar a través de la barrera aumenta el tiempo o la distancia de viaje en la cantidad especificada en los atributos de Additional_[Cost]. Este tipo de barrera se denomina barrera de punto de coste agregado.

    Dos mapas demuestran cómo afectan las barreras de punto de coste agregado a un análisis de ruta.
    El mapa de la izquierda muestra la ruta más corta entre dos paradas sin ninguna barrera de punto de coste agregado. En el mapa de la derecha, el tiempo de viaje de la parada uno a la parada dos sería el mismo pasando por el extremo norte del bloqueo o por el extremo sur; sin embargo, dado que al cruzar las vías del ferrocarril se incurre en una penalización de tiempo (modelada con barreras de punto de coste agregado), se elige la ruta con un solo cruce de ferrocarril. El coste de cruzar la barrera se suma al tiempo de viaje agregado de la ruta resultante.

Additional_Time

El tiempo de viaje agregado cuando se realiza el trazado poligonal de la barrera. Este campo solo es aplicable para barreras con coste agregado y si el valor del parámetro measurement_units se basa en el tiempo.

Este valor de campo debe ser mayor o igual que cero, y sus unidades son las mismas que las especificadas en el parámetro measurement_units.

Additional_Distance

La distancia agregada cuando se realiza el trazado poligonal de la barrera. Este campo solo es aplicable para barreras con coste agregado y si el valor del parámetro measurement_units se basa en la distancia.

El valor del campo debe ser mayor o igual que cero, y sus unidades son las mismas que las especificadas en el parámetro measurement_units.

AdditionalCost

El coste agregado cuando se realiza el trazado poligonal de la barrera. Este campo solo es aplicable para barreras con coste agregado cuando el atributo de impedancia no se basa ni en tiempo ni en distancia.

FullEdge

Especifica cómo se aplican las barreras de punto de restricción a los elementos de eje durante el análisis. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):

  • 0 (Falso): permite viajar por el eje hasta la barrera, pero no a través de ella. Este es el valor predeterminado.
  • 1 (Verdadero): restringe el viaje a cualquier punto del eje asociado.

CurbApproach

Especifica la dirección de tráfico que se ve afectada por la barrera. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):

  • 0 (Cualquier lado del vehículo): la barrera afecta al viaje por el eje en ambas direcciones.
  • 1 (Lado derecho del vehículo): los vehículos solo se ven afectados si la barrera se encuentra a su lado derecho al acercase a ella. La barrera no afecta a los vehículos que atraviesan el mismo eje, pero se acercan la barrera por su lado izquierdo.
  • 2 (Lado izquierdo del vehículo): los vehículos solo se ven afectados si la barrera se encuentra a su lado izquierdo al acercase a ella. La barrera no afecta a los vehículos que atraviesan el mismo eje, pero se acercan la barrera por su lado derecho.

Debido a que los cruces son puntos y no tienen lados, las barreras sobre cruces afectan a todos los vehículos, independientemente de la aproximación a borde.

El atributo CurbApproach trabaja con los dos tipos de estándares nacionales de circulación: por la derecha (Estados Unidos) y por la izquierda (Reino Unido). En primer lugar, considere una instalación en el lado izquierdo de un vehículo. Siempre estará situada el lado izquierdo, independientemente de si el vehículo circula por la mitad izquierda o derecha del camino. Los estándares de circulación nacionales pueden influir en su decisión de aproximarse a una instalación por una de las dos direcciones posibles, de modo que quede en el lado derecho o en el lado izquierdo del vehículo. Por ejemplo, para llegar a una instalación y que no haya un carril entre el vehículo y la instalación, elija 1 (Lado derecho del vehículo) en Estados Unidos y 2 (Lado izquierdo del vehículo) en Reino Unido.

Bearing

La dirección en la que está avanzando un punto. Las unidades son grados y se miden en sentido horario desde el norte verdadero. Este campo se utiliza junto con el campo BearingTol.

Los datos de rumbo normalmente se envían de forma automática desde un dispositivo móvil dotado de un receptor GPS. Intente incluir datos de rumbo si está cargando una ubicación de entrada que se mueve, como un peatón o un vehículo.

Utilizar este campo tiende a evitar agregar ubicaciones a los ejes equivocados, que puede ocurrir cuando un vehículo está cerca de una intersección o un paso elevado, por ejemplo. El rumbo también ayuda a la herramienta a determinar en qué lado de la calle está el punto.

Más información sobre el rumbo y la tolerancia de rumbo

BearingTol

El valor de tolerancia de rumbo crea un rango de valores de rumbo aceptable al ubicar los puntos en movimiento en un eje con el campo Bearing. Si el valor del campo Bearing está dentro del rango de valores aceptables que se generan a partir de la tolerancia de rumbo en un eje, el punto se puede agregar como una ubicación de red ahí; de lo contrario, se evalúa el punto más cercano sobre el próximo eje más cercano.

Las unidades se expresan en grados y el valor predeterminado es 30. Los valores deben ser mayores que 0 y menores que 180. Un valor de 30 significa que, cuando Network Analyst intenta agregar una ubicación de red en un eje, se genera un rango de valores de rumbo aceptable 15 grados hacia cada lado del eje (izquierda y derecha) y en ambas direcciones digitalizadas del eje.

Más información sobre el rumbo y la tolerancia de rumbo

NavLatency

Este campo solo se utiliza en el proceso de resolución si los campos Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor de campo NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto coste se espera desde el momento en que se envía la información de GPS desde un vehículo en movimiento a un servidor y el momento en que el dispositivo de navegación del vehículo recibe la ruta procesada.

Las unidades de NavLatency son las mismas que las unidades del atributo de impedancia.

Syntax examples for point_barriers

Sintaxis para especificar point_barriers utilizando una estructura JSON para entidades


{
  "spatialReference": {
    "wkid": <wkid>,
    "latestWkid": <wkid>
  },
  "features": [
    {
      "geometry": {
        "x": <x1>,
        "y": <y1>
      },
      "attributes": {
        "<field1>": <value11>,
        "<field2>": <value12>
      }
    },
    {
      "geometry": {
        "x": <x2>,
        "y": <y2>
      },
      "attributes": {
        "<field1>": <value21>,
        "<field2>": <value22>
      }
    }
  ] 
}

Sintaxis para especificar point_barriers utilizando una URL que devuelve una respuesta JSON


{
  "url": "<url>"
}

Examples for point_barriers

Ejemplo 1: especificar una barrera de punto de coste agregado utilizando una estructura JSON

En este ejemplo, se muestra cómo utilizar una barrera de punto de coste agregado para modelar un retraso de cinco minutos en un cruce de ferrocarril. El atributo BarrierType utilizado para especificar la barrera de punto es de coste agregado y el atributo Additional_Time se utiliza para especificar el retraso agregado en minutos.


{
  "spatialReference": {
    "wkid": 4326
  },
  "features": [
    {
      "geometry": {
        "x": 37.541479,
        "y": -122.053461
      },
      "attributes": {
        "Name": "Haley St railroad crossing",
        "BarrierType": 2,
        "Additional_Time": 5
      }
    }
  ]
}

Ejemplo 2: especificar barreras de punto de restricción en la referencia espacial Web Mercator utilizando una estructura JSON

En este ejemplo, se muestra cómo utilizar una barrera de punto de restricción para modelar una carretera que está bloqueada por un árbol caído. Las geometrías de la barrera están en la referencia espacial Web Mercator y no en la referencia espacial del dataset de red.


{
  "spatialReference": {
    "wkid": 102100
  },
  "features": [
    {
      "geometry": {
        "y": -13635398.9398,
        "x": 4544699.034400001
      },
      "attributes": {
        "Name": "Fallen tree at 123 Main St", 
        "BarrierType": 0
      }
    }
  ]
}

Ejemplo 3: especificar barreras de punto utilizando una URL

La dirección URL hace una consulta para algunas entidades desde un servicio de mapas. También es posible especificar una URL que consulte entidades desde un servicio de entidades.


{
  "url": "https://machine.domain.com/webadaptor/rest/services/NetworkAnalysis/SanDiego/MapServer/21/query?where=1%3D1&outFields=Name&f=json"
}

line_barriers

Utilice este parámetro para especificar una o varias líneas que prohíban viajar a cualquier ubicación en la que las líneas se intersequen con las calles. Por ejemplo, un desfile o una protesta que bloquee el tráfico por varios segmentos de calle se puede modelar con una barrera de línea. Una barrera de línea también puede cercar rápidamente varios caminos para que no se puedan atravesar, alejando así las posibles rutas de las partes no deseadas de la red de calles.

Dos mapas demuestran cómo afecta una barrera de línea a la búsqueda de una ruta entre dos paradas.
El primer mapa permite visualizar la ruta más corta entre dos paradas. El segundo mapa muestra la ruta más corta si hay varias calles bloqueadas por una barrera de polilínea.

You can specify polyline barrier geometries as well as attributes using a JSON structure that references a set of features. The property is optional; however, the JSON structure must specify either the url or features property:

  • url: especifique una solicitud de consulta REST para cualquier entidad, mapa o servicio de geoprocesamiento de ArcGIS Server que devuelva un conjunto de entidades JSON.

  • features: especifique una matriz de entidades.

    Cada entidad de la matriz representa una barrera de polilínea y contiene los siguientes campos:

    • geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
      Sugerencia:

      Se recomienda especificar explícitamente el valor de spatialReference y especificarlo para todo el JSON en lugar de para cada geometría individual.

    • attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.

Attributes for line_barriers

Cuando se especifican las barreras de línea, puede definir propiedades de nombre y tipo de barrera para cada una de ellas mediante los siguientes atributos:

  • Name

    El nombre de la barrera.

Syntax examples for line_barriers

Sintaxis para especificar barreras de línea utilizando una estructura JSON para entidades


{
  "spatialReference": {
    "wkid": <wkid>,
    "latestWkid": <wkid>, 
  },
  "features": [
    {
      "geometry": {
        "paths": [
          [
            [<x11>,<y11>],
            [<x12>,<y12>]
          ],
          [
            [<x21>,<y21>],
            [<x22>,<y22>]
          ]
        ]
      },
      "attributes": {
        "<field1>": <value11>,
        "<field2>": <value12>
      }
    },
		  {
      "geometry": {
        "paths": [
          [
            [<x11>,<y11>],
            [<x12>,<y12>]
          ],
          [
            [<x21>,<y21>],
            [<x22>,<y22>]
        ]
      },
      "attributes": {
        "<field1>": <value21>,
        "<field2>": <value22>
      }
    }
  ] 
}

Sintaxis para especificar barreras de línea utilizando una URL que devuelve una estructura JSON


{
  "url": "<url>"
}

Examples for line_barriers

Ejemplo 1: especificar barreras de línea mediante una estructura JSON

El ejemplo muestra cómo agregar dos líneas como barreras de línea para restringir el viaje por las calles que se intersecan con las líneas. La barrera 1 es una entidad de línea de una sola parte formada por dos puntos. La barrera 2 es una entidad de línea de dos partes cuya primera parte está formada por tres puntos y cuya segunda parte está formada por dos puntos.


{
  "spatialReference": {
    "wkid": 102100
  },
  "features": [
    {
      "geometry": {
        "paths": [
          [
            [-10804823.397,3873688.372],
            [-10804811.152,3873025.945]
          ]
        ]
      },
      "attributes": {
        "Name": "Barrier 1"
      }
    },
    {
      "geometry": {
        "paths": [
          [
            [-10804823.397,3873688.372],
            [-10804807.813 3873290.911],
            [-10804811.152,3873025.945]
          ],
          [
            [-10805032.678,3863358.76],
            [-10805001.508,3862829.281]
          ]
        ]
      },
      "attributes": {
        "Name": "Barrier 2"
      }
    }
  ]
}

Ejemplo 2: especificar barreras de línea mediante una URL

La dirección URL hace una consulta para algunas entidades desde un servicio de mapas. También es posible especificar una URL que consulte entidades desde un servicio de entidades.


{
  "url": "https://machine.domain.com/webadaptor/rest/services/Network/USA/MapServer/6/query?where=1%3D1&returnGeometry=true&f=json"
}

polygon_barriers

Utilice este parámetro para especificar polígonos que restrinjan completamente el viaje o ajusten de una forma proporcional el tiempo o la distancia que se requieren para viajar por las calles que se intersecan con los polígonos.

You can specify polygon barrier geometries as well as attributes using a JSON structure that references a set of features. The JSON structure can be specified as a url or features property:

  • url: especifique una solicitud de consulta REST para cualquier entidad, mapa o servicio de geoprocesamiento de ArcGIS Server que devuelva un conjunto de entidades JSON.

  • features: especifique una matriz de entidades.

    Cada entidad de la matriz representa una barrera de polígono y contiene los siguientes campos:

    • geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
      Sugerencia:

      Se recomienda especificar explícitamente el valor de spatialReference y especificarlo para todo el JSON en lugar de para cada geometría individual.

    • attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.

Attributes for polygon_barriers

Cuando se especifican las barreras de polígono, se pueden definir propiedades para cada una de ellas, como su nombre o el tipo de barrera, mediante el uso de los siguientes atributos:

  • Name

    El nombre de la barrera.

  • BarrierType

    Especifica si la barrera restringe el viaje completamente o si escala el coste (por ejemplo, el tiempo o la distancia) para viajar a través de ella. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):

    • 0 (Restricción): prohíbe atravesar cualquier parte de la barrera. La barrera se conoce como barrera de polígono de restricción, ya que prohíbe viajar por las calles que se intersecan con la barrera. Un uso de este tipo de barrera consiste en modelar inundaciones cubriendo áreas de las calles que hacen inviables los viajes por esas calles.

      Este es el valor predeterminado.

      Dos mapas demuestran cómo afecta una barrera de polígono de restricción a la búsqueda de una ruta entre dos paradas.
      El primer mapa representa la ruta más corta entre dos paradas. El segundo mapa muestra una barrera de polígono que bloquea las calles inundadas, de modo que la ruta más corta entre las mismas dos paradas es diferente.

    • 1 (Coste en escala): escala el coste (por ejemplo, el tiempo o la distancia) requerido para recorrer las calles subyacentes por un factor especificado mediante el campo ScaledTimeFactor o ScaledDistanceFactor. Si las calles están parcialmente cubiertas por la barrera, el tiempo o la distancia del viaje se prorratea y se ajusta. Por ejemplo, un factor de 0,25 significa que se espera que el viaje por las calles subyacentes sea cuatro veces más rápido de lo normal. Un factor de 3,0 significa que se espera que el viaje por las calles subyacentes dure tres veces más de lo normal. Este tipo de barrera se denomina barrera de polígono con coste en escala. Se puede utilizar para modelar tormentas que reducen las velocidades de viaje en regiones concretas, por ejemplo.

      Dos mapas demuestran cómo afecta una barrera de polígono de coste en escala a la búsqueda de una ruta entre dos paradas.
      El primer mapa muestra una ruta que va por condiciones meteorológicas adversas sin tener en cuenta el efecto que las carreteras en mal estado tienen en el tiempo de viaje. El segundo mapa muestra una barrera de polígono escalada que duplica el tiempo de viaje por las carreteras cubiertas por la tormenta. La ruta continúa atravesando el extremo sur de la tormenta, dado que es más rápido gastar tiempo conduciendo lentamente a través de una pequeña parte de la tormenta en lugar de rodearla conduciendo por completo. El servicio utiliza el tiempo de viaje modificado para calcular la ruta mejor, y el tiempo de viaje modificado se informa como el tiempo de viaje total en la respuesta.

  • ScaledTimeFactor

    Este es el factor por el cual se multiplica el tiempo de viaje de las calles que intersecan con la barrera. El valor del campo debe ser mayor que cero.

    Este campo solo es aplicable para barreras con coste en escala y cuando el parámetro measurement_units se basa en el tiempo.

  • ScaledDistanceFactor

    Este es el factor por el cual se multiplica la distancia de las calles que intersecan con la barrera. El valor del campo debe ser mayor que cero.

    Este campo solo es aplicable para barreras con coste en escala y cuando el parámetro measurement_units se basa en la distancia.

  • ScaledCostFactor

    Este es el factor por el cual se multiplica el coste de las calles que se intersecan con la barrera. El valor del campo debe ser mayor que cero.

    Este campo solo es aplicable para barreras con coste en escala cuando la impedancia no se basa ni en tiempo ni en distancia.

Syntax examples for polygon_barriers

Sintaxis para especificar barreras de polígono utilizando una estructura JSON para entidades


{
  "spatialReference": {
    "wkid": <wkid>,
    "latestWkid": <wkid>    
  }
  "features": [
    {
      "geometry": {
        "rings": [
          [
            [<x11>,<y11>],
            [<x12>,<y12>],
            [<x11>,<y11>]
          ],
          [
            [<x21>,<y21>],
            [<x22>,<y22>]
            [<x21>,<y21>]
          ]
        ]
      },
      "attributes": {
        "<field1>": <value11>,
        "<field2>": <value12>
      }
    },
    {
      "geometry": {
        "rings": [
          [
            [<x11>,<y11>],
            [<x12>,<y12>],
            [<x11>,<y11>]
          ],
          [
            [<x21>,<y21>],
            [<x22>,<y22>],
            [<x21>,<y21>]
          ]
        ]
      },
      "attributes": {
        "<field1>": <value21>,
        "<field2>": <value22>
      }
    }
  ]
}

Sintaxis para especificar barreras de polígono utilizando una URL que devuelve una estructura JSON


{
  "url": "<url>"
}

Examples for polygon_barriers

Ejemplo 1: especificar barreras de polígono mediante una estructura JSON.

El ejemplo muestra cómo agregar dos polígonos como barreras. El primer polígono, denominado Zona inundable, es una barrera de polígono de restricción que prohíbe viajar por las calles subyacentes. El polígono es una entidad poligonal de una sola parte formada por cuatro puntos. El segundo polígono, denominado Severe weather zone, es una barrera de polígono de coste en escala que aumenta el tiempo de viaje por las calles subyacentes en un tercio del valor original. El polígono es una entidad poligonal de dos partes. Ambas partes están compuestas de cuatro puntos.


{
  "spatialReference": {
    "wkid": 4326
  },
  "features": [
    {
      "geometry": {
        "rings": [
          [
            [-97.0634,32.8442],
            [-97.0554,32.84],
            [-97.0558,32.8327],
            [-97.0638,32.83],
            [-97.0634,32.8442]
          ]
        ]
      },
      "attributes": {
        "Name": "Flood zone",
        "BarrierType": 0
      }
    },
    {
      "geometry": {
        "rings": [
          [
            
            [-97.0803,32.8235],
            [-97.0776,32.8277],
            [-97.074,32.8254],
            [-97.0767,32.8227],
            [-97.0803,32.8235]
          ],
          [
            [-97.0871,32.8311],
            [-97.0831,32.8292],
            [-97.0853,32.8259],
            [-97.0892,32.8279],
            [-97.0871,32.8311]
            
          ]
        ]
      },
      "attributes": {
        "Name": "Severe weather zone",
        "BarrierType": 1,
        "ScaledTimeFactor": 3
      }
    }
  ]
}

Ejemplo 2: especificar una barrera de polígono utilizando una URL

La dirección URL hace una consulta para algunas entidades desde un servicio de mapas. También es posible especificar una URL que consulte entidades desde un servicio de entidades.


{
  "url": "https://machine.domain.com/webadaptor/rest/services/Network/USA/MapServer/7/query?where=1%3D1&returnGeometry=true&f=json"
}

uturn_at_junctions

Use este parámetro para restringir o permitir que la ruta haga cambios de sentido en los cruces.

Precaución:

El valor de este parámetro, independientemente de si se basa en el valor predeterminado o se establece explícitamente un valor, se invalida si se cambia travel_mode a cualquier valor distinto de Custom. El valor predeterminado de travel_mode es Driving, por lo que, a menos que cambie travel_mode a un valor diferente, este valor de parámetro se invalidará.

Para comprender los valores del parámetro disponibles, un cruce es un punto donde solo hay dos calles que intersecan entre sí. Si hay tres o más calles que se intersecan en un punto, se llama intersección. Un cul-de-sac es una calle sin salida. Este parámetro puede tener los siguientes valores:

Parameter ValueDescription

Allowed

Los cambios de sentido están permitidos en todas partes. Permitir los cambios de sentido implica que el vehículo puede girar en un cruce y volver por la misma calle.

Cambios de sentido permitidos
Los cambios de sentido están permitidos en los cruces con cualquier número de calles adyacentes.

Allowed only at Intersections and Dead Ends

Los cambios de sentido están prohibidos en los cruces donde se cruzan dos calles.

Cambios de sentido permitidos solamente en intersecciones y calles sin salida
Los cambios de sentido están permitidos solamente en las intersecciones o en calles sin salida.

Allowed only at Dead Ends

Los cambios de sentido están prohibidos en todos los cruces y todas las intersecciones y solo se permiten en calles sin salida.

Cambios de sentido permitidos solamente en calles sin salida
Los cambios de sentido están permitidos solamente en calles sin salida.

Not Allowed

Los cambios de sentido están prohibidos en todos los cruces, todas las intersecciones y todas las calles sin salida. Aunque se elija este valor para el parámetro, una ruta puede hacer cambios de sentido en paradas. Para prohibir los cambios de sentido en una parada, puede cambiar la propiedad CurbApproach al valor adecuado (3).

El valor predeterminado de este parámetro es Allowed only at Intersections and Dead Ends.

use_hierarchy

Especifique si se usará la jerarquía para buscar los destinos.

The default value for this parameter is true.

Precaución:

El valor de este parámetro, independientemente de si se basa en el valor predeterminado o se establece explícitamente un valor, se invalida si se cambia travel_mode a cualquier valor distinto de Custom. El valor predeterminado de travel_mode es Driving, por lo que, a menos que cambie travel_mode a un valor diferente, este valor de parámetro se invalidará.

  • true: usar la jerarquía al viajar 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.

restrictions

Utilice este parámetro para especificar las restricciones que cumplirá el servicio. Una restricción representa una preferencia o un requisito de conducción. En la mayoría de casos, las restricciones ocasionan la prohibición de carreteras o rutas, pero también pueden hacer que se eviten o se les dé preferencia. Por ejemplo, utilizar la restricción Avoid Toll Roads dará como resultado una ruta que incluirá las carreteras de peaje solo si se requiere viajar por ellas para llegar a una parada. Utilice Height Restriction para trazar una ruta evitando cualquier lugar con una distancia al suelo que sea inferior a la altura del vehículo. Si el vehículo transporta materiales peligrosos, puede utilizar la restricción Any Hazmat Prohibited para impedir que los materiales se transporten por carreteras donde sea ilegal hacerlo.

Precaución:

El valor de este parámetro, independientemente de si se basa en el valor predeterminado o se establece explícitamente un valor, se invalida si se entrega en travel_mode.

Este valor de parámetro se especifica como una lista de nombres de restricción separados por comas. El valor none indica que no se utilizarán restricciones para buscar las rutas más cortas.

El servicio admite los siguientes nombres de restricción:

  • Prohibidos todos los materiales peligrosos: los resultados no incluirán las carreteras en las que esté prohibido el transporte de cualquier tipo de material peligroso.

  • Evitar carreteras VAO: el resultado evitará las carreteras designadas exclusivamente para los vehículos compartidos.

  • Evitar carriles rápidos: los resultados evitarán las carreteras diseñadas como carriles rápidos.

  • Evitar transbordadores: los resultados evitarán los transbordadores.

  • Evitar puertas: los resultados evitarán las carreteras en las que haya puertas, como los accesos con clave o las entradas controladas por guardas.

  • Evitar carreteras con acceso limitado: los resultados evitarán las carreteras que sean de acceso limitado.

  • Evitar carreteras privadas: los resultados evitarán las carreteras que no sean de propiedad pública y no se mantengan con recursos públicos.

  • Evitar las carreteras no aptas para peatones: los resultados evitarán las carreteras que no sean aptas para peatones.

  • Evitar tramos de escalera: los resultados evitarán todos los tramos de escalera de una ruta adecuada para peatones.

  • Evitar carreteras de peaje: los resultados evitarán todas las carreteras de peaje para automóviles.

  • Evitar carreteras de peaje para camiones: los resultados evitarán todas las carreteras de peaje para camiones.

  • Evitar carreteras con restricciones para camiones: los resultados evitarán las carreteras donde no estén permitidos los camiones excepto para hacer entregas.

  • Evitar carreteras sin pavimentar: los resultados evitarán las carreteras que no estén pavimentadas (de tierra, de gravilla, etc.).

  • Restricción de número de ejes: los resultados no incluirán carreteras en las que los camiones con el número especificado de ejes estén prohibidos. El número de ejes se puede especificar mediante el parámetro de restricción Número de ejes.

  • Conduciendo autobús: los resultados no incluirán carreteras en las que estén prohibidos los autobuses. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.

  • Conduciendo taxi: los resultados no incluirán carreteras en las que estén prohibidos los taxis. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.

  • Conduciendo camión: los resultados no incluirán carreteras en las que estén prohibidos los camiones. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.

  • Conduciendo automóvil: los resultados no incluirán carreteras en las que estén prohibidos los automóviles. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.

  • Conduciendo vehículo de emergencia: los resultados no incluirán carreteras en las que estén prohibidos los vehículos de emergencia. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.

  • Restricción de altura: los resultados no incluirán las carreteras en las que la altura del vehículo supere la altura máxima permitida para la carretera. La altura del vehículo se puede especificar usando el parámetro de restricción Altura del vehículo (metros).

  • Restricción de longitud de eje de dirección a eje trasero: los resultados no incluirán las carreteras en las que la longitud del vehículo supere la distancia máxima permitida entre el eje de dirección y el eje trasero para la carretera. La longitud entre el eje de dirección y el eje trasero se puede especificar usando el parámetro de restricción Longitud de eje de dirección a eje trasero del vehículo (metros).

  • Restricción de longitud: los resultados no incluirán las carreteras en las que la longitud del vehículo supere la longitud máxima permitida para la carretera. La longitud del vehículo se puede especificar usando el parámetro de restricción Longitud del vehículo (metros).

  • Preferido para peatones: los resultados utilizarán rutas preferidas adecuadas para la navegación para peatones.

  • En moto: los resultados no incluirán carreteras en las que estén prohibidas las motocicletas. Usar esta restricción también garantizará que los resultados respetarán las calles con sentido único.

  • Prohibidas las carreteras en obras: los resultados no incluirán carreteras que estén en obras.

  • Prohibidos los camiones o tractores con uno o varios remolques: los resultados no incluirán las carreteras en las que estén prohibidos los camiones o tractores con uno o varios remolques.

  • Prohibidos los vehículos de un solo eje: los resultados no incluirán carreteras en las que los vehículos de un solo eje estén prohibidos.

  • Prohibidos los vehículos de doble eje: los resultados no incluirán carreteras en las que los vehículos de doble eje estén prohibidos.

  • Prohibido el tráfico de paso: los resultados no incluyen las carreteras donde no se permita el tráfico de paso (tráfico no local).

  • Restricción de camiones con remolques: los resultados no incluirán carreteras en las que los camiones con el número especificado de remolques estén prohibidos. El número de remolques del camión se puede especificar mediante el parámetro de restricción Número de remolques del camión.

  • Usar rutas preferidas para materiales peligrosos: los resultados darán prioridad a las carreteras designadas para el transporte de materiales peligrosos.

  • Usar rutas preferidas para camiones: los resultados darán prioridad a las carreteras que se hayan diseñado como rutas para camiones, como las que forman parte de la red nacional descrita en la National Surface Transportation Assistance Act de Estados Unidos, las carreteras que se hayan diseñado como rutas de camiones en un estado o una provincia, o aquellas que prefieran los camioneros cuando conducen por un área.

  • A pie: los resultados no incluirán carreteras en las que estén prohibidos los peatones.

  • Restricción de peso: los resultados no incluirán las carreteras en las que el peso del vehículo supere el peso máximo permitido para la carretera. El peso del vehículo se puede especificar usando el parámetro de restricción Peso del vehículo (kilogramos).

  • Restricción de peso por eje: los resultados no incluirán las carreteras en las que el peso del vehículo por eje supere el peso máximo permitido por eje para la carretera. El peso por eje del vehículo se puede especificar usando el parámetro de restricción Peso por eje del vehículo (kilogramos).

  • Restricción de ancho: los resultados no incluirán las carreteras en las que el ancho del vehículo supere el ancho máximo permitido para la carretera. El ancho del vehículo se puede especificar usando el parámetro de restricción Ancho del vehículo (metros).

Nota:

Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.

Heredado:

El atributo de restricción Driving a Delivery Vehicle ya no está disponible. El servicio ignorará esta restricción, puesto que no es válida. Para obtener unos resultados similares, use el atributo de restricción Driving a Truck junto con el atributo de restricción Avoid Truck Restricted Roads.

El valor del parámetro de restricciones se especifica como una lista de nombres de restricción. Un valor de null indica que no se deben utilizar restricciones para buscar la ruta mejor, sino solo si travel_mode tiene el valor Custom.

Example for restrictions

restrictions=[Driving a Truck, Height Restriction, Length Restriction]

attribute_parameter_values

Utilice este parámetro para especificar valores adicionales requeridos por un atributo o restricción, como por ejemplo para especificar si la restricción prohíbe, evita o prefiere circular en carreteras restringidas. Si la restricción se ha ideado para evitar carreteras o darles preferencia, puede especificar en qué medida se deben evitar o se les debe dar preferencia usando este parámetro. Por ejemplo, puede elegir que nunca se usen carreteras de peaje, que se eviten en la medida de lo posible o que se les dé preferencia.

Precaución:

El valor de este parámetro, independientemente de si se basa en el valor predeterminado o se establece explícitamente un valor, se invalida si se entrega en el parámetro travel_mode.

Puede especificar el parámetro attribute_parameter_values con una estructura JSON que represente a un conjunto de entidades. La estructura JSON puede incluir estas propiedades:

  • features: especifique una matriz de entidades.

    • geometry: especifique la geometría de punto de entrada que contenga las propiedades x y y junto con la propiedad spatialReference. Si la propiedad spatialReference se define para todo el JSON, no es necesario que defina esta propiedad para cada geometría. Al hacerlo, se reduce el tamaño del JSON de entrada si la entrada tiene muchas entidades y también mejora el rendimiento. Esta propiedad no es necesaria si las coordenadas están en la referencia espacial predeterminada, WGS84. Si las coordenadas están en una referencia espacial diferente, debe especificar el Id. conocido de la referencia espacial (WKID). Consulte Utilizar referencias espaciales para buscar valores de WKID.
      Sugerencia:

      Se recomienda especificar explícitamente el valor de spatialReference y especificarlo para todo el JSON en lugar de para cada geometría individual.

    • attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.
  • url: especifique una solicitud de consulta REST para cualquier entidad, mapa o servicio de geoprocesamiento de ArcGIS Server que devuelva un conjunto de entidades JSON.

Cada entidad de la matriz de entidades representa un parámetro de atributos y contiene estos campos:

  • attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.
Nota:

La estructura JSON del parámetro attribute_parameter_values no tiene ninguna propiedad geometry.

Attributes for attribute_parameter_values

El parámetro attribute_parameter_values se puede especificar con los siguientes atributos:

  • AttributeName: el nombre de la restricción.
  • ParameterName: el nombre del parámetro asociado con la restricción. Una restricción puede tener uno o más valores de ParameterName según su uso previsto, lo que implica que pueden necesitarse varios parámetros attribute_parameter_values para un único nombre de atributo.
  • ParameterValue: el valor de ParameterName utilizado por el servicio al evaluar la restricción.

Nota:

En la mayoría de los casos, el parámetro attribute_parameter_values depende del parámetro restrictions. El ParameterValue especificado como parte de attribute_parameter_values es aplicable solo si el nombre de la restricción se especifica como valor del parámetro restrictions.

Si se especifica el parámetro attribute_parameter_values, cada restricción (mostrada como AttributeName) tiene un valor ParameterName, Restriction Usage, que especifica si la restricción prohíbe, evita o prefiere los viajes por las carreteras asociadas con la restricción y en qué medida las carreteras se evitan o tienen preferencia.

The Restriction Usage value for the ParameterName attribute can be assigned any of the following string values or their equivalent numeric values listed in the parentheses:

  • Prohibited (-1): está prohibido viajar por las carreteras que presenten esta restricción.
  • Avoid_High (5): es muy improbable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.
  • Avoid_Medium (2): es improbable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.
  • Avoid_Low (1.3): es algo improbable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.
  • Prefer_Low (0.8): es algo probable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.
  • Prefer_Medium (0.5): es probable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.
  • Prefer_High (0.2): es muy probable que el servicio incluya en la ruta las carreteras asociadas a esta restricción.

En la siguiente tabla, se enumeran los nombres de restricción y los valores de los parámetros de restricción predeterminados para todas las restricciones. El valor predeterminado del parámetro attribute_parameter_values es la estructura JSON que contiene todas las filas de la tabla siguiente.

Sugerencia:

Si desea utilizar el valor predeterminado para cualquier restricción, AttributeName, ParameterName y ParameterValue no tienen que especificarse como parte del parámetro attribute_parameter_values.

Nombre de restricciónNombre del parámetro de restricciónValor predeterminado del parámetro de restricción

Prohibido cualquier material peligroso

Uso con restricciones

Prohibido

Evitar carreteras VAO

Uso con restricciones

Prohibido

Evitar carriles rápidos

Uso con restricciones

Prohibido

Evitar ferries

Uso con restricciones

Avoid_Medium

Evitar barreras

Uso con restricciones

Avoid_Medium

Evitar carreteras de acceso limitado

Uso con restricciones

Avoid_Medium

Evitar carreteras privadas

Uso con restricciones

Avoid_Medium

Evitar las carreteras no aptas para peatones

Uso con restricciones

Avoid_High

Evitar tramos de escalera

Uso con restricciones

Avoid_High

Evitar carreteras de peaje

Uso con restricciones

Avoid_Medium

Evitar carreteras de peaje para camiones

Uso con restricciones

Avoid_Medium

Evitar carreteras con restricciones para camiones

Uso con restricciones

Avoid_High

Evitar carreteras sin pavimentar

Uso con restricciones

Avoid_High

Restricción de número de ejes

Número de ejes

0

Uso con restricciones

Prohibido

Conducción de un autobús

Uso con restricciones

Prohibido

Conducción de un taxi

Uso con restricciones

Prohibido

Conducción de un camión

Uso con restricciones

Prohibido

Conducción de un automóvil

Uso con restricciones

Prohibido

Conducción de un vehículo de emergencia

Uso con restricciones

Prohibido

Restricción de altura

Uso con restricciones

Prohibido

Altura del vehículo (metros)

0

Restricción de longitud de eje de dirección a eje trasero

Uso con restricciones

Prohibido

Longitud entre el bulón de arrastre y el eje trasero del vehículo (metros)

0

Restricción de longitud

Uso con restricciones

Prohibido

Longitud del vehículo (metros)

0

Preferido para peatones

Uso con restricciones

Prefer_Low

Conducción de una motocicleta

Uso con restricciones

Prohibido

Carreteras en obras prohibidas

Uso con restricciones

Prohibido

Prohibidos los camiones o tractores con uno o varios remolques

Uso con restricciones

Prohibido

Prohibidos los vehículos con un solo eje

Uso con restricciones

Prohibido

Prohibidos los vehículos con eje en tándem

Uso con restricciones

Prohibido

Prohibido el tráfico de paso

Uso con restricciones

Avoid_High

Restricción de camiones con remolques

Uso con restricciones

Prohibido

Número de remolques del camión

0

Usar rutas preferidas para materiales peligrosos

Uso con restricciones

Prefer_Medium

Usar rutas preferidas para camiones

Uso con restricciones

Prefer_High

Caminata

Uso con restricciones

Prohibido

WalkTime

Velocidad a pie (km/h)

5

Restricción de peso

Uso con restricciones

Prohibido

Peso del vehículo (kilogramos)

0

Restricción de peso por eje

Uso con restricciones

Prohibido

Peso del vehículo por eje (kilogramos)

0

Restricción de ancho

Uso con restricciones

Prohibido

Anchura del vehículo (metros)

0

Nota:

Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.

Syntax example for attribute_parameter_values

Sintaxis para especificar attribute_parameter_values
{
    "features": [
        {
            "attributes": {
                "<field1>": <value11>,
                "<field2>": <value12>,
                "<field3>": <value13>

            }
        },
        {
            "attributes": {
                "<field1>": <value21>,
                "<field2>": <value22>,
                "<field3>": <value13>
            }
        }
    ] 
}

Example for attribute_parameter_values

Ejemplo: especificar la altura y el peso del vehículo y una preferencia alta por el uso de rutas designadas para camiones

En este ejemplo, se muestra cómo especificar la altura y el peso del vehículo para utilizarlo con las restricciones de altura y peso respectivamente, junto con una preferencia alta por la inclusión de rutas designadas para camiones. Da como resultado una ruta que no contiene ninguna carretera en la que la distancia al suelo bajo pasos elevados o túneles sea menor que la altura del vehículo. Los resultados tampoco incluirán ninguna carretera con puentes limitados o carreteras locales que prohíban los vehículos pesados si el peso del vehículo supera el peso máximo permitido. Sin embargo, la ruta incluirá la mayor cantidad de carreteras posible que estén designadas como rutas preferidas para camiones.

Recuerde que no se especifica el Restriction Usage ParameterName para las restricciones de Height Restriction y Weight Restriction dado que deseamos usar el valor predeterminado de PROHIBITED para estos parámetros de restricción.

attribute_parameter_values=
{
    "features": [
        {
            "attributes": {
                "AttributeName": "Height Restriction",
                "ParameterName": "Vehicle Height (meters)",
                "ParameterValue": 4.12
            }
        },
        {
            "attributes": {
                "AttributeName": "Weight Restriction",
                "ParameterName": "Vehicle Weight (kilograms)",
                "ParameterValue": 36287
            }
        },
        {
            "attributes": {
                "AttributeName": "Use Preferred Truck Routes",
                "ParameterName": "Restriction Usage",
                "ParameterValue": "PREFER_HIGH"
            }
        }
    ]
}

impedance

Especifique la impedancia.

Precaución:

El valor de este parámetro, independientemente de si se basa en el valor predeterminado o se establece explícitamente un valor, se invalida si se entrega en travel_mode.

La impedancia es un valor que cuantifica el viaje a lo largo de la red de transporte. La distancia de viaje es un ejemplo de impedancia; cuantifica la longitud de caminos y segmentos de la carretera. Del mismo modo, el tiempo de conducción (el tiempo típico que lleva conducir un coche a lo largo de un segmento de carretera), es un ejemplo de impedancia. Los tiempos de conducción pueden variar según el tipo de vehículo (por ejemplo, el tiempo que un camión tarda en viajar a lo largo de una ruta suele ser más largo que el de un coche) por lo que pueden existir muchos valores de impedancia que representan los tiempos de viaje para distintos tipos de vehículos. Los valores de la impedancia también pueden variar con el tiempo; el tráfico en directo y típico hace referencia a los valores de la impedancia dinámica. Cada recorrido a pie y segmento de carretera almacena al menos un valor de impedancia. Al realizar un análisis de red, los valores de impedancia se utilizan para calcular los mejores resultados, como buscar la ruta más corta (la ruta que minimiza la impedancia) entre dos puntos.

El parámetro impedance se puede especificar con estos valores:

  • TravelTime: se utilizan datos de tráfico históricos y en directo. Esta opción resulta útil para modelar el tiempo que tardan los automóviles en desplazarse por carreteras a una hora concreta del día utilizando datos de velocidad del tráfico en directo si están disponibles. Si utiliza TravelTime, si lo desea puede definir el parámetro de atributos TravelTime::Vehicle Maximum Speed (km/h) para especificar los límites físicos de la velocidad a la que el vehículo es capaz de desplazarse.
  • Minutos: no se utilizan datos de tráfico en directo, sino velocidades medias históricas de los datos de automóviles.
  • TruckTravelTime: se utilizan datos de tráfico históricos y en directo, pero se establece una velocidad máxima al límite de velocidad especificado para camiones. Resulta útil para modelar el tiempo que tardan los camiones en desplazarse por carreteras a una hora concreta del día. Si utiliza TruckTravelTime, si lo desea puede definir el parámetro de atributos TruckTravelTime::Vehicle Maximum Speed (km/h) para especificar los límites físicos de la velocidad a la que el camión es capaz de desplazarse.
  • TruckMinutes: no utiliza datos de tráfico en directo, pero sí utiliza las velocidades más bajas del promedio histórico para automóviles y los límites de velocidad permitidos para camiones.
  • WalkTime: el valor predeterminado es una velocidad de 5 km/h en todas las carreteras y caminos, pero se puede configurar mediante el parámetro de atributos WalkTime::Walking Speed (km/h).
  • Millas: las mediciones de longitud de carreteras se almacenan en millas y se pueden utilizar para realizar análisis según la distancia más corta.
  • Kilómetros: las mediciones de longitud de carreteras se almacenan en kilómetros y se pueden utilizar para realizar análisis según la distancia más corta.
Nota:

Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.

Si elige una impedancia basada en el tiempo, como TravelTime, TruckTravelTime, Minutes, TruckMinutes o WalkTime, el parámetro measurement_units se debe configurar con un valor basado en el tiempo; si prefiere una impedancia basada en la distancia, como Miles, Kilometers o measurement_units, deben estar basadas en la distancia.

Heredado:

Los valores de impedancia de Drive Time, Truck Time, Walk Time y Travel Distance ya no se admiten y se eliminarán en versiones futuras.

origin_destination_line_shape

Especifique la forma de la entidad de línea que conecta cada par de origen-destino en la matriz de salida. Las líneas resultantes de una matriz de coste origen-destino se pueden representar con geometría de línea recta o sin ninguna geometría. En ambos casos, la ruta siempre se calcula a lo largo de la red de calles minimizando el tiempo o la distancia de viaje; nunca usando la distancia en línea recta entre orígenes y destinos.

El parámetro acepta uno de los valores siguientes:

  • Straight Line: líneas rectas conectan orígenes y destinos.
  • None: no devolver ninguna forma para las líneas que conectan orígenes y destinos. Resulta útil si tiene un gran número de orígenes y destinos y solo le interesa la tabla de matriz de coste origen-destino (y no las formas de las líneas de salida).

El valor predeterminado es None

save_output_network_analysis_layer

Use este parámetro para especificar si el servicio debe guardar la configuración del análisis como un archivo de capa de análisis de red. No es posible trabajar directamente con este archivo, aunque lo abra en una aplicación de ArcGIS Desktop como ArcGIS Pro. Se debe enviar al Soporte técnico de Esri para diagnosticar la calidad de los resultados devueltos por el servicio.

  • true: guarda el archivo de capas de análisis de red. El archivo se puede descargar desde la dirección URL proporcionada como parte del parámetro output_network_analysis_layer.
  • false: no guarda el archivo de capas de análisis de red.

El valor predeterminado es false.

overrides

Nota:

Este parámetro es solo para uso interno.

time_impedance

El valor de impedancia basada en el tiempo representa el tiempo de viaje a lo largo de segmentos de carretera o en otras partes de la red de transporte.

  • Minutes
  • TravelTime
  • WalkTime
  • TruckMinutes
  • TruckTravelTime

Nota:
Si la impedancia del modo de viaje, según se especifica con el parámetro impedance, está basada en el tiempo, los valores de los parámetros time_impedance e impedance deben ser los mismos. De lo contrario, el servicio devolverá un error.
Nota:

Este parámetro se usa para definir un modo de viaje personalizado. El valor de este parámetro se ignora si el parámetro travel_mode no está definido como Custom.

Nota:

Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.

distance_impedance

El valor de impedancia basada en la distancia representa la distancia de viaje a lo largo de segmentos de carretera o en otras partes de la red de transporte.

  • Miles
  • Kilometers

Nota:
Si la impedancia del modo de viaje, según se especifica con el parámetro impedance, está basada en la distancia, los valores de los parámetros distance_impedance e impedance deben ser los mismos. De lo contrario, el servicio devolverá un error.
Nota:

Este parámetro se usa para definir un modo de viaje personalizado. El valor de este parámetro se ignora si el parámetro travel_mode no está definido como Custom.

Nota:

Estos valores son específicos de los servicios publicados con los datos de ArcGIS StreetMap Premium. Los valores serán diferentes si utiliza otros datos para el análisis.

output_format

Especifica el formato en el que se devolverán las entidades de salida.

Choose from the following formats:

  • Conjunto de entidades: las entidades de salida se generarán como tablas y clases de entidad. Esta es la opción predeterminada.
  • Archivo JSON: las entidades de salida se devolverán como un archivo comprimido que contiene la representación JSON de las salidas. Si se especifica esta opción, la salida será un archivo único (con una extensión .zip) que contiene uno o varios archivos JSON (con una extensión .json) para cada una de las salidas que crea el servicio.
  • Archivo GeoJSON: las entidades de salida se devolverán como un archivo comprimido que contiene la representación GeoJSON de las salidas. Si se especifica esta opción, la salida será un archivo único (con una extensión .zip) que contiene uno o varios archivos GeoJSON (con una extensión .geojson) para cada una de las salidas que crea el servicio.
  • CSV File—The output features will be returned as a compressed file containing a comma-separated value (CSV) representation of the outputs. When this option is specified, the output is a single file (with a .zip extension) that contains one or more CSV files (with a .csv extension) for each of the outputs created by the service.

Sugerencia:

Specifying file based output format, such asJSON File, is useful when you are calling the service using the REST endpoint of the service. In such cases, returning all the outputs as a single file allows you to download large results that can be generated by the service. For example, if you are working with GenerateOriginDestinationCostMatrix service and you generate a travel matrix with 1,000,000 records, returning such a large output as a Feature Set can cause the service to fail since the service will try to send the entire output in a single attempt. With a file based output, the service sends the output in multiple chunks reducing the possibility of timeouts when returning the outputs.

env:outSR

Utilice este parámetro para especificar la referencia espacial de las geometrías, como entidades de líneas o puntos, que devuelve un servicio.

El valor del parámetro se puede especificar como un Id. conocido (WKID) para la referencia espacial. Consulte Utilizar referencias espaciales para buscar valores de WKID.

Muchos de los mapas base proporcionados por ArcGIS Online están en la referencia espacial Web Mercator (WKID 102100). Al especificar env:outSR=102100 se devuelven las geometrías de la referencia espacial Web Mercator, que se pueden dibujar sobre los mapas base.

ignore_network_location_fields

Especifica si los campos de ubicación de red se tendrán en cuenta al localizar entradas como paradas o instalaciones en la red.

  • true: los campos de ubicación de red no se tendrán en cuenta al localizar las entradas en la red. En su lugar, las entradas siempre se localizarán realizando una búsqueda espacial.
  • false: los campos de ubicación de red se tendrán en cuenta al localizar las entradas en la red.

El valor predeterminado es false.

ignore_invalid_locations

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

  • true

    Las ubicaciones de red no ubicadas se ignorarán y el análisis se ejecutará únicamente utilizando ubicaciones de red válidas. El análisis también continuará si las ubicaciones están en elementos no transitables o tienen otros errores. Esta opción es útil si usted sabe que las ubicaciones de red no son todas correctas, pero desea ejecutar el análisis con las ubicaciones de red que son válidas. Esta es la opción predeterminada.

  • false

    Las ubicaciones no válidas no se ignorarán. No ejecute el análisis si hay ubicaciones no válidas. Corrija las ubicaciones no válidas y vuelva a ejecutar el análisis.

locate_settings

Use este parámetro para especificar configuraciones que afecten a cómo se ubican las entradas, como la máxima distancia de búsqueda que se usa al localizar las entradas en la red, o las fuentes de red que se usan para localizar. Para restringir la ubicación en una parte del origen, puede especificar una cláusula WHERE para un origen.

Más información sobre la localización de entradas

El valor de parámetro se especifica como un objeto JSON. El objeto JSON le permite especificar un JSON de localizador para todas las entidades de entrada en el análisis o puede especificar una excepción para una entrada concreta. La excepción le permite tener diferentes ajustes para cada entrada de análisis. Por ejemplo, es posible no permitir que las paradas se ubiquen en las rampas de autopista y permitir que las barreras de punto se ubiquen en las rampas de autopista.

Nota:

El valor predeterminado de este parámetro se puede obtener desde el recurso de servicio JSON. Incorpore ?token=<yourToken>&f=pjson a la URL de servicio para acceder al recurso de servicio JSON.

El objeto JSON del localizador tiene las siguientes propiedades:

  • tolerance y toleranceUnits: permite controlar la distancia máxima de búsqueda al localizar las entradas. Si no se encuentra ninguna ubicación de red válida dentro de esta distancia, la entidad de entrada se considerará no ubicada. Una pequeña tolerancia de búsqueda disminuye la probabilidad de ubicarse en la calle equivocada, pero aumenta la probabilidad de no encontrar ninguna ubicación de red válida. El valor del parámetro toleranceUnits se puede especificar como uno de los siguientes valores:
    • esriCentimeters
    • esriDecimalDegrees
    • esriDecimeters
    • esriFeet
    • esriInches
    • esriIntFeet
    • esriIntInches
    • esriIntMiles
    • esriIntNauticalMiles
    • esriIntYards
    • esriKilometers
    • esriMeters
    • esriMiles
    • esriMillimeters
    • esriNauticalMiles
    • esriYards
  • sources: le permite controlar qué fuente de red se puede utilizar para la ubicación. Por ejemplo, puede configurar el análisis para localizar entradas en calles, pero no en aceras. La lista de posibles fuentes en las que localizar es específica del dataset de red al que hace referencia este servicio. Solo se usan para ubicar las fuentes que estén presentes en la matriz de fuentes. Es posible especificar una cláusula where en cada fuente especificada en la matriz de fuentes para restringir aún más la localización en ese origen que coincida con ciertas características mediante una expresión SQL. Por ejemplo, puede configurar el análisis para que localice las entradas solo en las entidades de calles que coincidan con determinadas clases de carreteras, como evitar las rampas de las autopistas. Las fuentes se especifican como una matriz de objetos, cada uno con las siguientes propiedades:
    • name: nombre de la clase de entidad de la fuente de red que se puede usar para ubicar entradas.
    • where: una expresión SQL en la clase de entidad de fuente de red.
  • allowAutoRelocate: permite controlar si las entradas con campos de ubicación de red existentes se pueden reubicar automáticamente al solucionar para garantizar que se disponga de campos de ubicación enrutables y válidos para el análisis. Si el valor es true, los puntos ubicados en elementos de red restringidos y los puntos afectados por las barreras se reubicarán en la ubicación enrutable más cercana. Si el valor es false, los campos de ubicación de red se utilizarán como están, aunque los puntos no sean accesibles, y esto puede hacer que la resolución falle. Aunque el valor sea false, las entradas sin campos de ubicación o campos de ubicación incompletos se localizarán durante la operación de resolución.

Syntax for locate_settings

Sintaxis para especificar locate_settings utilizando una estructura JSON.

Nota:

Ni las barreras de línea ni las barreras de polígono son compatibles con las propiedades tolerance y toleranceUnits.


{
    "default": {
        "tolerance": <value>,
        "toleranceUnits": "<unit>",
        "allowAutoRelocate": true | false,
        "sources": [{
            "name": "<sourceName>",
            "where": "<whereClause>"
        }]
    },
    "overrides": {
        "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>"
            }]
        },
        "point_barriers": {
            "tolerance": <value>,
            "toleranceUnits": "<unit>",
            "allowAutoRelocate": true | false,             
            "sources": [{
                "name": "<sourceName>",
                "where": "<whereClause>"
            }]
        },
        "line_barriers": {
            "allowAutoRelocate": true | false,       
            "sources": [{
                "name": "<sourceName>",
                "where": "<whereClause>"
            }]
        },
        "polygon_barriers": {
            "allowAutoRelocate": true | false,  
            "sources": [{
                "name": "<sourceName>",
                "where": "<whereClause>"
            }]
        }
    }
}

Examples for locate_settings

Ejemplo 1: especificar la configuración predeterminada de localización mediante una estructura JSON

En este ejemplo, se muestra cómo especificar la configuración de localización para que las entradas solo se ubiquen a menos de 500 metros de la ubicación especificada. Una pequeña tolerancia de búsqueda como esta puede ser valiosa si está solucionando utilizando un modo de viaje a pie y no desea que las entradas se ubiquen a más de 500 metros de la ubicación del punto original.


{
  "default": {
    "tolerance": 500,
    "toleranceUnits": "esriMeters",
    "allowAutoRelocate": true,
    "sources": [
      {
        "name": "Routing_Streets"
      }
    ]
  }
}

Ejemplo 2: especificar la configuración de localización predeterminada y las excepciones de la configuración de localización de algunas entradas mediante una estructura JSON

En este ejemplo, se muestra cómo especificar la configuración de ubicación para evitar que se ubiquen orígenes y destinos en rampas de autopista. La configuración de localización predeterminada para permitir 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 locate_settings, 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 tres: especificar la configuración de localización predeterminada y las excepciones de la configuración de localización usando una estructura JSON para que las diferentes entradas se localicen utilizando diferentes fuentes.

En este ejemplo, se muestra cómo especificar la configuración de localización predeterminada para localizar entradas en la clase de entidad de origen Routing_Streets y permitir que las barreras de punto se ubiquen solo en la clase de entidad de cruces del sistema (Routing_ND_Junctions).


{
    "default": {
        "tolerance": 20,
        "toleranceUnits": "esriKilometers",
        "allowAutoRelocate": true,
        "sources": [{
            "name": "Routing_Streets"
        }]
    },
    "overrides": {
        "point_barriers": {
            "sources": [{
                "name": "Routing_ND_Junctions"
            }]
        }
    }
}

accumulate_attributes

Lista de los atributos de coste que se acumularán durante el análisis. Estos atributos acumulados solo se utilizan como referencia; el solucionador solo utiliza el atributo de coste empleado en el modo de viaje indicado al solucionar el análisis.

Para cada atributo de coste acumulado, se rellena un campo Total_[Cost Attribute Name]_[Units] en las salidas creadas desde la herramienta.

Output parameters

Upon successful execution, the service returns the lines connecting each origin-destination pair, the output origins, the output destinations, and the status indicating whether the analysis was successful. This information is output in the output parameters described below.

output_origin_destination_lines

Access information about the resulting routes from the origins to the destinations. The routes include data about the total travel time and the travel distance between a given origin-destination pair. The line geometries connect an origin-destination pair using a straight line if the origin_destination_line_shape parameter is specified as Straight Line and are returned in the spatial reference specified as the env:outSR parameter.

The following table provides descriptions of the fields that are returned for each route:

FieldDescription

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_Time

Tiempo de viaje por la red de calles entre el origen y el destino asociados.

The value is in the units specified by the time_units parameter.

Total_Distance

Distancia de viaje por la red de calles entre el origen y el destino asociados.

The value is in the units specified by the distance_units parameter.

Total_Other

El coste de viaje en unidades desconocidas a lo lardo de la red de calles entre el origen y el destino asociados.

Este campo únicamente se incluye cuando el modo de viaje que se utiliza para el análisis tiene un atributo de impedancia que no está basado ni en tiempo ni en distancia.

OriginOID

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.

OriginName

El nombre de la entidad de origen de entrada correspondiente. Este campo solo se incluye si el campo Name se especifica en los orígenes de entrada y al menos uno de los orígenes tiene un nombre válido. Si no se especifica el nombre para algunos de los orígenes, se crea un nombre generado automáticamente con el prefijo Location para esos orígenes.

DestinationOID

El valor ObjectID de la entidad de destino de entrada correspondiente. Esto se puede usar para unir atributos adicionales entre los destinos de entrada y las líneas de destino de origen.

DestinationName

El nombre de la entidad de destino de entrada correspondiente. Este campo solo se incluye si el campo Name se especifica en los destinos de entrada y al menos uno de los destinos tiene un nombre válido. Si no se especifica el nombre para algunos de los destinos, se crea un nombre generado automáticamente con el prefijo Location para esos destinos.

output_origins

Access the origins that participated in the analysis. Information is provided about origins that could not be included in the analysis as well as the total number of destinations that could be reached from a given origin. The origin geometries are returned in the spatial reference specified as the env:outSR parameter.

The following table describes the attributes of the output origins:

FieldDescription

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.

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:

  • 0 (Aceptar): el punto se ubicó en la red.
  • 1 (No ubicado): el punto no se ubicó en la red y, por tanto, no se incluye en el análisis.
  • 2 (Elemento de red no localizado): el elemento de red identificado por los campos de ubicación de red del punto no se pudo encontrar. Esto puede producirse si se eliminó un elemento de red donde debería estar el punto y la ubicación de red no se volvió a calcular.
  • 3 (Elemento no transitable): el elemento de red donde está ubicado el punto no es transitable. Puede ocurrir cuando el elemento está restringido por un atributo de restricción.
  • 4 (Valores de campo no válido): los valores de campo caen fuera de un rango o un dominio de valor codificado. Por ejemplo, existe un número negativo donde se requieren números positivos.
  • 5 (No ha llegado): el solucionador no puede alcanzar el punto. El punto puede estar en un área separada y desconectada de la red con respecto a las demás entradas, o barreras o restricciones evitan el desplazamiento con respecto al punto.
  • 6 (Violación de ventana de tiempo): no se pudo alcanzar el punto dentro de las ventanas de tiempo designadas. Este estado solo se aplica a tipos de análisis de red que admiten ventanas de tiempo.
  • 7 (No ubicado en el más cercano): la ubicación de red más cercana al punto no se puede atravesar debido a una restricción o barrera, de modo que el punto se ha ubicado en la entidad de red más cercana que se puede atravesar.

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

El valor del campo Cutoff en los orígenes de entrada correspondientes.

OriginOID

El valor ObjectID de la entidad de origen de entrada correspondiente. Esto se puede utilizar para unir los atributos adicionales desde los orígenes de entrada.

DestinationCount

Recuento de los destinos que se han alcanzado desde el origen.

Bearing

Los valores de este campo se copian del campo Bearing de las instalaciones de entrada.

BearingTol

Los valores de este campo se copian del campo BearingTol de las instalaciones de entrada.

NavLatency

Los valores de este campo se copian del campo NavLatency de las instalaciones de entrada.

output_destinations

Access the destinations that participated in the analysis. Information is provided about destinations that could not be included in the analysis as well as the total number of origins that reached a given destination. The destination geometries are returned in the spatial reference specified as the env:outSR parameter.

The following table describes the attributes of the output destinations:

FieldDescription

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.

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:

  • 0 (Aceptar): el punto se ubicó en la red.
  • 1 (No ubicado): el punto no se ubicó en la red y, por tanto, no se incluye en el análisis.
  • 2 (Elemento de red no localizado): el elemento de red identificado por los campos de ubicación de red del punto no se pudo encontrar. Esto puede producirse si se eliminó un elemento de red donde debería estar el punto y la ubicación de red no se volvió a calcular.
  • 3 (Elemento no transitable): el elemento de red donde está ubicado el punto no es transitable. Puede ocurrir cuando el elemento está restringido por un atributo de restricción.
  • 4 (Valores de campo no válido): los valores de campo caen fuera de un rango o un dominio de valor codificado. Por ejemplo, existe un número negativo donde se requieren números positivos.
  • 5 (No ha llegado): el solucionador no puede alcanzar el punto. El punto puede estar en un área separada y desconectada de la red con respecto a las demás entradas, o barreras o restricciones evitan el desplazamiento con respecto al punto.
  • 6 (Violación de ventana de tiempo): no se pudo alcanzar el punto dentro de las ventanas de tiempo designadas. Este estado solo se aplica a tipos de análisis de red que admiten ventanas de tiempo.
  • 7 (No ubicado en el más cercano): la ubicación de red más cercana al punto no se puede atravesar debido a una restricción o barrera, de modo que el punto se ha ubicado en la entidad de red más cercana que se puede atravesar.

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.

DestinationOID

El valor ObjectID de la entidad de destino de entrada correspondiente. Esto se puede utilizar para unir los atributos adicionales desde los destinos de entrada.

OriginCount

El número de orígenes que llegaron al destino.

Bearing

Los valores de este campo se copian del campo Bearing de las instalaciones de entrada.

BearingTol

Los valores de este campo se copian del campo BearingTol de las instalaciones de entrada.

NavLatency

Los valores de este campo se copian del campo NavLatency de las instalaciones de entrada.

solve_succeeded

Specify whether the service successfully generated the origin-destination cost matrix. The error messages for a failure can be obtained by making a request to get the status of the job.

The solve_succeeded parameter is returned as a JSON feature set with the following syntax:


{
  "paramName": "solve_succeeded",
  "dataType": "GPBoolean",
  "value": <true | false>
}

The following shows an example of the solve_succeeded parameter:


{
  "paramName": "solve_succeeded",
  "dataType": "GPBoolean",
  "value": true
}

Example usage

This service uses the asynchronous execution mode. The client must periodically check whether the service has completed execution and, once complete, get the result. While the service is executing, you can use the application for other things.

Precaución:

The maximum time an application can use the Origin Destination Cost Matrix service is 1 hora (3.600 segundos). If your request does not complete within this time limit, it will time out and fail.

You can make a request to the Origin Destination Cost Matrix service using the following form:

https://<gpservice-url>/GenerateOriginDestinationCostMatrix/submitJob?parameters

In this example, you will generate an origin-destination cost matrix between two origins and two destinations. The resulting origin-destination cost matrix will have four features.

The origins and destinations are in the same spatial reference as your network dataset, so the spatialReference property is not required.

Generate a travel cost matrix

The following generate a travel cost matrix.

Request to submit a job

The first request submits a job and returns the job ID.

https://<gpservice-url>/GenerateOriginDestinationCostMatrix/submitJob?origins={"features":[{"geometry":{"y":51.5254,"x":-0.1891},"attributes":{"Name":"Origin 1","TargetDestinationCount":2,"Cutoff":120,"CurbApproach":0}},{"geometry":{"y":51.5353,"x":-0.1744},"attributes":{"Name":"Origin 2","TargetDestinationCount":3,"Cutoff":90,"CurbApproach":0}}]}&destinations={"features":[{"geometry":{"y":51.5354,"x":-0.1991},"attributes":{"Name":"Destination 1","CurbApproach":0}},{"geometry":{"y":51.5458,"x":-0.1844},"attributes":{"Name":"Destination 2","CurbApproach":0}}]}&f=pjson&token=<yourToken>

JSON Response


{
  "jobId": "j5943d41e8b2c4de7a0aaca3283655a33",
  "jobStatus": "esriJobSubmitted"
}

Query job status

The job ID obtained from the response of the first request can be queried periodically to determine the status of the job.

Request to query job status

https://<gpservice-url>/GenerateOriginDestinationCostMatrix/jobs/<jobID>?returnMessages=true&f=pjson&token=<yourToken>

JSON Response


{
  "jobId": "j5943d41e8b2c4de7a0aaca3283655a33",
  "jobStatus": "esriJobSucceeded",
  "results": {
    "Solve_Succeeded": {
      "paramUrl": "results/Solve_Succeeded"
    },
    "Output_Origin_Destination_Lines": {
      "paramUrl": "results/Output_Origin_Destination_Lines"
    },
    "Output_Origins": {
      "paramUrl": "results/Output_Origins"
    },
    "Output_Destinations": {
      "paramUrl": "results/Output_Destinations"
    }
  },
  "inputs": {
    "Origins": {
      "paramUrl": "inputs/Origins"
    },
    "Destinations": {
      "paramUrl": "inputs/Destinations"
    },
    "Travel_Mode": {
      "paramUrl": "inputs/Travel_Mode"
    },
    "Time_Units": {
      "paramUrl": "inputs/Time_Units"
    },
    "Distance_Units": {
      "paramUrl": "inputs/Distance_Units"
    },
    "Analysis_Region": {
      "paramUrl": "inputs/Analysis_Region"
    },
    "Number_of_Destinations_to_Find": {
      "paramUrl": "inputs/Number_of_Destinations_to_Find"
    },
    "Cutoff": {
      "paramUrl": "inputs/Cutoff"
    },
    "Time_of_Day": {
      "paramUrl": "inputs/Time_of_Day"
    },
    "Time_Zone_for_Time_of_Day": {
      "paramUrl": "inputs/Time_Zone_for_Time_of_Day"
    },
    "Point_Barriers": {
      "paramUrl": "inputs/Point_Barriers"
    },
    "Line_Barriers": {
      "paramUrl": "inputs/Line_Barriers"
    },
    "Polygon_Barriers": {
      "paramUrl": "inputs/Polygon_Barriers"
    },
    "UTurn_at_Junctions": {
      "paramUrl": "inputs/UTurn_at_Junctions"
    },
    "Use_Hierarchy": {
      "paramUrl": "inputs/Use_Hierarchy"
    },
    "Restrictions": {
      "paramUrl": "inputs/Restrictions"
    },
    "Attribute_Parameter_Values": {
      "paramUrl": "inputs/Attribute_Parameter_Values"
    },
    "Impedance": {
      "paramUrl": "inputs/Impedance"
    },
    "Origin_Destination_Line_Shape": {
      "paramUrl": "inputs/Origin_Destination_Line_Shape"
    }
  },
  "messages": []
}

Return the output origin-destination lines

Because the job succeeded, the travel time and travel distance between every origin-destination pair can be obtained using the output_origin_destination_lines output parameter. Since you did not specify a value for the origin_destination_line_shape parameter, the default value, None, was used by the service for this parameter. Consequently, the features array in the output response does not have the geometry property.

Request to return origin-destination lines

https://<gpservice-url>/GenerateOriginDestinationCostMatrix/jobs/<jobID>/results/output_origin_destination_lines?f=pjson&token=<yourToken>

JSON Response


{
  "paramName": "output_origin_destination_lines",
  "dataType": "GPFeatureRecordSetLayer",
  "value": {
    "displayFieldName": "",
    "geometryType": "esriGeometryPolyline",
    "spatialReference": {
      "wkid": 4326,
      "latestWkid": 4326
    },
    "fields": [
      {
        "name": "OBJECTID",
        "type": "esriFieldTypeOID",
        "alias": "OBJECTID"
      },
      {
        "name": "DestinationRank",
        "type": "esriFieldTypeInteger",
        "alias": "Destination Rank"
      },
      {
        "name": "Total_Time",
        "type": "esriFieldTypeDouble",
        "alias": "Total Time (Minutes)"
      },
      { 
        "name": "Total_Distance",
        "type": "esriFieldTypeDouble",
        "alias": "Total Distance (Kilometers)"
      },
      {
        "name": "OriginName",
        "type": "esriFieldTypeString",
        "alias": "Origin Name",
        "length": 128
      },
      {
        "name": "OriginOID",
        "type": "esriFieldTypeInteger",
        "alias": "Origin OID"
      },
      {
        "name": "DestinationName",
        "type": "esriFieldTypeString",
        "alias": "Destination Name",
        "length": 128
      },
      {
        "name": "DestinationOID",
        "type": "esriFieldTypeInteger",
        "alias": "Destination OID"
      },
      {
        "name": "Shape_Length",
        "type": "esriFieldTypeDouble",
        "alias": "Shape_Length"
      }
    ],
    "features": [
      {
        "attributes": {
          "OBJECTID": 1,
          "DestinationRank": 1,
          "Total_Time": 6.2279130881726257,
          "Total_Distance": 2.4774838708418678,
          "OriginName": "Origin 1",
          "OriginOID": 1,
          "DestinationName": "Destination 1",
          "DestinationOID": 1,
          "Shape_Length": 0
        }
      },
      {
        "attributes": {
          "OBJECTID": 2,
          "DestinationRank": 2,
          "Total_Time": 9.0778785641163715,
          "Total_Distance": 3.723118842219868,
          "OriginName": "Origin 1",
          "OriginOID": 1,
          "DestinationName": "Destination 2",
          "DestinationOID": 2,
          "Shape_Length": 0
        }
      },
      {
        "attributes": {
          "OBJECTID": 3,
          "DestinationRank": 1,
          "Total_Time": 4.6095379183132064,
          "Total_Distance": 1.9294457981067437,
          "OriginName": "Origin 2",
          "OriginOID": 2,
          "DestinationName": "Destination 2",
          "DestinationOID": 2,
          "Shape_Length": 0
        }
      },
      {
        "attributes": {
          "OBJECTID": 4,
          "DestinationRank": 2,
          "Total_Time": 6.0035312672863181,
          "Total_Distance": 2.3148191217414382,
          "OriginName": "Origin 2",
          "OriginOID": 2,
          "DestinationName": "Destination 1",
          "DestinationOID": 1,
          "Shape_Length": 0
        }
      }
    ],
    "exceededTransferLimit": false
  }
}

Return the output origins

The output origins can be obtained using the output_origins output parameter.

Request to return output origins

https://<gpservice-url>/GenerateOriginDestinationCostMatrix/jobs/<jobID>/results/output_origins?f=pjson&token=<yourToken>

JSON Response


{
  "paramName": "output_origins",
  "dataType": "GPFeatureRecordSetLayer",
  "value": {
    "displayFieldName": "",
    "geometryType": "esriGeometryPoint",
    "spatialReference": {
      "wkid": 4326,
      "latestWkid": 4326
    },
    "fields": [
      {
        "name": "OBJECTID",
        "type": "esriFieldTypeOID",
        "alias": "OBJECTID"
      },
      {
        "name": "Name",
        "type": "esriFieldTypeString",
        "alias": "Name",
        "length": 128
      },
      {
        "name": "TargetDestinationCount",
        "type": "esriFieldTypeInteger",
        "alias": "Target Destination Count"
      },
      {
        "name": "CurbApproach",
        "type": "esriFieldTypeInteger",
        "alias": "Curb Approach"
      },
      {
        "name": "Status",
        "type": "esriFieldTypeInteger",
        "alias": "Status"
      },
      {
        "name": "Cutoff",
        "type": "esriFieldTypeDouble",
        "alias": "Cutoff"
      },
      {
        "name": "OriginOID",
        "type": "esriFieldTypeInteger",
        "alias": "Origin OID"
      },
      {
        "name": "DestinationCount",
        "type": "esriFieldTypeInteger",
        "alias": "Destination Count"
      }
    ],
    "features": [
      {
        "attributes": {
          "OBJECTID": 1,
          "Name": "Origin 1",
          "TargetDestinationCount": 2,
          "CurbApproach": 0,
          "Status": 0,
          "Cutoff": 120,
          "OriginOID": 1,
          "DestinationCount": 2
        },
        "geometry": {
          "x": -0.18909999999993943,
          "y": 51.525400000000047
        }
      },
      {
        "attributes": {
          "OBJECTID": 2,
          "Name": "Origin 2",
          "TargetDestinationCount": 2,
          "CurbApproach": 0,
          "Status": 0,
          "Cutoff": 90,
          "OriginOID": 2,
          "DestinationCount": 2
        },
        "geometry": {
          "x": -0.17439999999993461,
          "y": 51.535300000000063
        }
      }
    ],
    "exceededTransferLimit": false
  }
}

Return the output destinations

The output destinations can be obtained using the output_destinations output parameter.

Request to return output destinations

https://<gpservice-url>/GenerateOriginDestinationCostMatrix/jobs/<jobID>/results/output_destinations?f=pjson&token=<yourToken>

JSON Response


{
  "paramName": "output_destinations",
  "dataType": "GPFeatureRecordSetLayer",
  "value": {
    "displayFieldName": "",
    "geometryType": "esriGeometryPoint",
    "spatialReference": {
      "wkid": 4326,
      "latestWkid": 4326
    },
    "fields": [
      {
        "name": "OBJECTID",
        "type": "esriFieldTypeOID",
        "alias": "OBJECTID"
      },
      {
        "name": "Name",
        "type": "esriFieldTypeString",
        "alias": "Name",
        "length": 128
      },
      {
        "name": "CurbApproach",
        "type": "esriFieldTypeInteger",
        "alias": "Curb Approach"
      },
      {
        "name": "Status",
        "type": "esriFieldTypeInteger",
        "alias": "Status"
      },
      {
        "name": "DestinationOID",
        "type": "esriFieldTypeInteger",
        "alias": "Destination OID"
      },
      {
        "name": "OriginCount",
        "type": "esriFieldTypeInteger",
        "alias": "Origin Count"
      }
    ],
    "features": [
      {
        "attributes": {
          "OBJECTID": 1,
          "Name": "Destination 1",
          "CurbApproach": 0,
          "Status": 0,
          "DestinationOID": 1,
          "OriginCount": 2
        },
        "geometry": {
          "x": -0.19909999999993033,
          "y": 51.535400000000038
        }
      },
      {
        "attributes": {
          "OBJECTID": 2,
          "Name": "Destination 2",
          "CurbApproach": 0,
          "Status": 0,
          "DestinationOID": 2,
          "OriginCount": 2
        },
        "geometry": {
          "x": -0.18439999999992551,
          "y": 51.545800000000042
        }
      }
    ],
    "exceededTransferLimit": false
  }
}

JSON Response syntax

When you submit a request, the service assigns a unique job ID to the transaction. The job ID and the status of the job are returned in the response.


{
  "jobId": <jobID>,
  "jobStatus": <jobStatus>
}

The jobStatus property can have the following values:

  • esriJobSubmitted
  • esriJobWaiting
  • esriJobExecuting
  • esriJobSucceeded
  • esriJobFailed
  • esriJobTimedOut
  • esriJobCancelling
  • esriJobCancelled

You can use the job ID to periodically check the status of the job and messages. Additionally, if the job has successfully completed, you can use the job ID to retrieve the results or the inputs. The job information and results remain available for 24 hours after the job is complete.

Job execution

After the initial request is submitted, you can make a request of the following form to get the status of the job:

https://<gpservice-url>/GenerateOriginDestinationCostMatrix/jobs/<yourJobID>/?token=<yourToken>&returnMessages=true&f=json

The example below demonstrates the JSON response syntax returned when using the request above:


{
  "jobId": "<jobId>",
  "jobStatus": "<jobStatus>",
  "messages": [
    {
      "type": "<type1>",
      "description": "<description1>"
    },
    {
      "type": "<type2>",
      "description": "<description2>"
    }
  ]
}

While a job is running, you can cancel it by making a request of the following form:

https://<gpservice-url>/GenerateOriginDestinationCostMatrix/jobs/<jobID>/cancel?token=<yourToken>&f=json
Nota:

When you submit your request, if the service is processing other requests, the job will remain in the queue. The job status will be reported as esriJobSubmitted. If you cannot wait for the entire duration while the job is in the queue, you can cancel the request and submit it at a later time. A canceled request will not incur service credits. However, if you do not cancel the request, it will eventually run and will incur service credits regardless of whether the application retrieved the results or ignored them. Therefore, it is recommended that you cancel the request if necessary.

Job completion

After the successful completion of the job, you can make a request of the following form to retrieve the outputs. Refer to the Output parameters section for more information on how to interpret the solution provided by the service.

https://<gpservice-url>/GenerateOriginDestinationCostMatrix/jobs/<jobID>/results/<output_parameter_name>?token=<yourToken>&f=pjson

You can also retrieve the value for any input parameter by making a request of the following form:

https://<gpservice-url>/GenerateOriginDestinationCostMatrix/jobs/<jobID>/inputs/<input_parameter_name>?token=<yourToken>f=pjson

Usage limits

The following table lists the limits that apply to this service:

Limit valueLimit description

12,42 millas (20 kilómetros)

Maximum snap tolerance

If the distance between an input point and its nearest traversable street is greater than the distance specified here, the point is excluded from the analysis.

4 horas

Maximum time a client can use the asynchronous service

10.000.000

Maximum number of features that can be returned by the asynchronous service

El límite para la tolerancia de alineación no se puede cambiar; sin embargo, puede configurar otros límites siguiendo los pasos que aparecen a continuación:

  1. Abra Server Manager del sitio de ArcGIS Server que contiene el servicio de geoprocesamiento de NetworkAnalysis e inicie sesión. Si necesita ayuda con este paso, consulte Iniciar sesión en Manager.
  2. Haga clic en Servicios > Administrar servicios.
  3. En el módulo Administrar servicios, busque Servicio de geoprocesamiento de NetworkAnalysis y haga clic en Editar servicio Edit.

    Si no ve el servicio en la carpeta Generación de rutas, es posible que esté ubicado dentro de otra carpeta en Sitio (raíz) >.

  4. Haga clic en la opción Parámetros y cambie el límite del número de registros devueltos por el servicio editando el valor en el cuadro de texto Cantidad máxima de registros devueltos por el servidor.
  5. Haga clic en la opción Agrupación y cambie el tiempo máximo que se puede usar el servicio editando el valor en el cuadro de texto El tiempo máximo que un cliente puede utilizar un servicio.
  6. Haga clic en Guardar y reiniciar para aplicar sus ediciones y reiniciar el servicio.