Skip To Content

Job request

Description

La ubicación y asignación le ayuda a elegir qué instalaciones de un conjunto de instalaciones operar en función de su interacción potencial con los puntos de demanda. Puede ayudarle a responder a preguntas como éstas:

  • Dado un determinado conjunto de estaciones de bomberos, ¿en qué punto obtendría una nueva estación de bomberos los mejores tiempos de respuesta?
  • Si una empresa de venta minorista tiene que reducir su tamaño, ¿qué tiendas debería cerrar para conservar la máxima demanda global?
  • ¿En qué lugar debería construirse una fábrica para minimizar la distancia a los centros de distribución?
En estos ejemplos, las estaciones de bomberos, los establecimientos y la fábrica serían las instalaciones, y los puntos de demanda serían los edificios, los clientes y los centros de distribución.

El objetivo puede consistir en minimizar la distancia total entre los puntos de demanda y las instalaciones, maximizar el número de puntos de demanda cubiertos dentro de una cierta distancia a las instalaciones, maximizar una cantidad prorrateada de demanda que cae con el aumento de la distancia a una instalación o maximizar la cantidad de demanda captada en un entorno de instalaciones colaboradores y de la competencia.

Request parameters

ParameterDescription
facilities

(Required)

Specify one or more locations that serve as facilities.

Syntax:

demand_points

(Required)

Specify one or more demand points.

Syntax:

token

(Required)

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

f

(Required)

Specify the response format.

The default value is html.

Values: html | json| pjson

travel_mode

(Optional)

Specify the mode of transportation for the analysis.

Value: JSON object

measurement_units

(Optional)

Specify the units that will be used to measure the travel times or travel distances between demand points and facilities.

The default value is Minutes.

Values: Meters | Kilometers | Feet | Yards | Miles | NauticalMiles | Seconds | Minutes | Hours | Days

analysis_region

(Optional)

Specify the region in which to perform the analysis.

problem_type

(Optional)

Specify the objective of the location-allocation analysis.

The default value is Minimize Impedance.

Values: Minimize Impedance | Maximize Coverage | Maximize Capacitated Coverage | Minimize Facilities | Maximize Attendance | Maximize Market Share | Target Market Share

number_of_facilities_to_find

(Optional)

Specify the number of facilities the task will find. The default value is demonstrated in the following example:

number_of_facilities_to_find=1
default_measurement_cutoff

(Optional)

Specify the maximum travel time or distance allowed between a demand point and the facility to which it is allocated. If a demand point is outside the cutoff of a facility, it cannot be allocated to that facility.

The default value is None.

default_capacity

(Optional)

This parameter is specific to the Maximize Capacitated Coverage problem type and is ignored for all other problem types. The default value is demonstrated in the following example:

default_capacity=1
target_market_share

(Optional)

This parameter is specific to the Target Market Share problem type and is ignored for all other problem types. The default value is demonstrated in the following example:

target_market_share=10
measurement_transformation_model

(Optional)

Set the equation for transforming the network cost between facilities and demand points.

The default value is Linear.

Values: Linear | Power | Exponential

measurement_transformation_factor

(Optional)

Provide an impedance parameter value (λ) to the equation specified in the impedance_transformation_model parameter. The default value is demonstrated in the following example:

measurement_transformation_factor=1
travel_direction

(Optional)

Specify whether travel times or distances will be measured from facilities to demand points or from demand points to facilities.

The default value is Facility to Demand.

Values: Facility to Demand | Demand to Facility

time_of_day

(Optional)

Especifique la hora a la que empieza el viaje, o parte, de las ubicaciones iniciales.

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

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

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.

Syntax:

line_barriers

(Optional)

Specify one or more lines that prohibit travel anywhere the lines intersect the streets.

Syntax:

polygon_barriers

(Optional)

Specify polygons that either prohibit travel or proportionately scale the time or distance required to travel on the streets intersected by the polygons.

Syntax:

use_hierarchy

(Optional)

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

The default value is true.

Values: true | false

restrictions

(Optional)

Specify the restrictions that will be honored by the service. To learn about the accepted values, see the restrictions section 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.

allocation_line_shape

(Optional)

Specify the type of line features that will be output by the tool.

The default value is Straight Line.

Values: Straight Line | None

save_output_network_analysis_layer

(Optional)

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

The default value is false.

Values: true | false

overrides

(Optional)

Nota:

Este parámetro es solo para uso interno.

time_impedance

(Optional)

Specify the time-based impedance.

The default value is TravelTime.

Values: TravelTime | Minutes | TruckTravelTime | TruckMinutes | WalkTime

Nota:

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

distance_impedance

(Optional)

Specify the distance-based impedance.

The default value is Kilometers.

Values:Miles | Kilometers

Nota:

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

output_format

(Optional)

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

The default value is Feature Set.

Values: Feature Set | JSON File | GeoJSON File

env:outSR

(Optional)

Specify the spatial reference of the geometries, such as the chosen facilities or the allocation lines 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

facilities

Use this parameter to specify one or more locations that serve as facilities. This service identifies the best facility or facilities to serve the demand points.

The facilities 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 facility and contains the following properties:

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

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

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

Attributes for facilities

Cuando se definen las instalaciones, se pueden definir propiedades para cada una, como su nombre o tipo, mediante los siguientes atributos:

  • Name

    El nombre de la instalación. El nombre se incluye en el nombre de las líneas de asignación de salida si la instalación forma parte de la solución.

  • FacilityType

    Especifica si la instalación es candidata, obligatoria o competidora. 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 (Candidata): instalación que puede formar parte de la solución.
    • 1 (Obligatoria): instalación que debe formar parte de la solución.
    • 2 (Competidora): instalación rival que puede hacer mermar la demanda de sus instalaciones. Las instalaciones competidoras son específicas de los tipos de problema Maximizar cuota de mercado y Cuota de mercado objetivo; se ignoran en otros tipos de problema.

  • Weight

    El peso relativo de la instalación, que se utiliza para valorar el atractivo, la conveniencia o la predisposición de una instalación en comparación con otra.

    Por ejemplo, un valor de 2,0 podría capturar la preferencia de los clientes que prefieren, en un ratio de 2 a 1, ir de compras a una instalación más que a otra. Entre los factores que pueden afectar al peso de la instalación se encuentran la superficie, el vecindario y la antigüedad del edificio. Los valores de peso que no sean uno solo se admiten en los tipos de problema Maximización de la cuota de mercado y Cuota de mercado objetivo; no se tienen en cuenta en otros tipos de problema.

  • Cutoff

    El valor de impedancia en el que se debe detener la búsqueda de puntos de demanda de una instalación dada. El punto de demanda no se puede asignar a una instalación que se encuentre más allá del valor indicado aquí.

    Este atributo permite especificar un valor límite distinto para cada punto de demanda. Por ejemplo, quizá descubra que, en las áreas rurales, las personas están dispuestas a recorrer hasta 10 millas para llegar a una instalación, mientras que los urbanitas solo están dispuestos a recorrer 2 millas. Puede modelar este comportamiento estableciendo el valor Cutoff de todos los puntos de demanda que se encuentran en áreas rurales en 10 y el valor Cutoff de los puntos de demanda de áreas urbanas en 2.

  • Capacity

    El campo Capacity es específico del tipo de problema Maximizar la cobertura capacitada; el resto de tipos de problemas ignoran este campo.

    La capacidad especifica qué cantidad de demanda ponderada puede suministrar la instalación. El exceso de demanda no se asignará a una instalación incluso si la demanda está dentro del valor límite de medición predeterminado de la instalación.

    Cualquier valor asignado al campo Capacity invalida el parámetro Capacidad predeterminada (Default_Capacity en Python) de la instalación en cuestión.

  • CurbApproach

    Specify the direction a vehicle can arrive at and depart from the facility.

    Se debe especificar uno de los enteros enumerados en la columna Valor codificado de la siguiente tabla como un valor de este atributo. Los valores de la columna Configuración son los nombres descriptivos de los valores del atributo CurbApproach que puede haber visto al utilizar el software Extensión ArcGIS Network Analyst.

    SettingCoded valueDescription

    Cualquier lado del vehículo

    0

    El vehículo puede aproximarse a la instalación y abandonarla en cualquier dirección, de modo que se admite un cambio de sentido en la instalación. Puede elegir esta configuración si es posible y deseable que un vehículo dé la vuelta en la instalación. Esta decisión puede depender del ancho del camino y del volumen de tráfico, o de si la instalación dispone de una zona estacionamiento en la que los vehículos pueden maniobrar.

    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 se aproxime y se aleje de la instalación, la instalación debe quedar a la derecha del vehículo. Los cambios de sentido están prohibidos. Esto se usa normalmente para vehículos como los autobuses que deben llegar con la parada a la derecha.

    Lado 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 se aproxime y se aleje de la instalación, la instalación debe quedar a la izquierda del vehículo. Los cambios de sentido están prohibidos. Se usa normalmente para vehículos como los buses que deben llegar con la parada de bus por la izquierda.

    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 se aproxima a la instalación, esta puede estar en cualquier lado del vehículo; sin embargo, en el momento de partir, el vehículo debe reanudar la marcha en la misma dirección en la que llegó. Los cambios de sentido están prohibidos.

    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.

    Right side of vehicle with right-hand traffic
    With right-hand traffic, the curb approach that leaves the vehicle closest to the facility is Right side of vehicle.
    Left side of vehicle with left-hand traffic
    With left-hand traffic, the curb approach that leaves the vehicle closest to the facility is Left side of vehicle.

  • 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 facilities

Syntax for specifying facilities 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 facilities using a URL returning a JSON response


{
  "url": "<url>"
}

Examples for facilities

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


{
  "features": [
    {
      "geometry": {
        "y": 51.5254,
        "x": -0.1891
      },
      "attributes": {
        "Name": "Facility 1",
        "ID": "F100045", 
        "Capacity": 100,
        "CurbApproach": 0
      }
    },
    {
      "geometry": {
        "y": 51.5353,
        "x": -0.1744
      },
      "attributes": {
        "Name": "Facility 2",
        "ID": "F100086",
        "Capacity": 150,
        "CurbApproach": 0
      }
    }
  ]
}

Example 2: Specifying facilities in the Web Mercator spatial reference using a JSON structure


{
  "spatialReference": {
    "wkid": 102100
  },
  "features": [
    {
      "geometry": {
        "y": -5192521.476,
        "x": -2698533.989
      },
      "attributes": {
        "Name": "123 Main St", 
        "ID": "200156",
        "FacilityType": 0
      }
    },
    {
      "geometry": {
        "y": -5191915.261,
        "x": -2697821.094
      },
      "attributes": {
        "Name": "845 Cypress Ave",
        "ID": "300242",
        "FacilityType": 0
      }
    }
  ]
}

Example 3: Specifying facilities using a URL

The URL makes a query for a few features from a map service. A URL querying features from a feature service can also be specified.


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

demand_points

Use this parameter to specify one or more demand points. The service identifies the best facilities based in large part on how the facilities serve the demand points specified.

The demand_points 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 demand point 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 demand_points

Cuando se especifican los puntos de demanda, se pueden definir propiedades para cada uno, como su nombre o ponderación, mediante los siguientes atributos:

  • Name

    El nombre del punto de demanda. El nombre se incluye en el nombre de la o las líneas de asignación de salida si el punto de demanda forma parte de la solución.

  • GroupName

    El nombre del grupo al que pertenece el punto de demanda. El campo se ignora para los tipos de problema Maximizar cobertura con capacidad, Cuota de mercado objetivo y Maximizar cuota de mercado.

    Si los puntos de demanda comparten un nombre de grupo, el solucionador asigna todos los miembros del grupo a la misma instalación. (Si hay restricciones, tales como un valor límite de distancia, que impidan que alguno de los puntos de demanda del grupo alcance la misma instalación, no se asignará ninguno de los puntos de demanda).

    Minimizing distance without group names
    Minimize distance without grouped demand points.
    Minimizing distance with group names
    Minimize distance with grouped demand points. In this example, the yellow demand points have the same GroupName value, so they are allocated to the same facility.
  • Weight

    Ponderación relativa del punto de demanda. Un valor de 2,0 significa que el punto de demanda es dos veces más importante que uno con un peso de 1,0. Si los puntos de demanda representan hogares, por ejemplo, la ponderación puede indicar la cantidad de personas de cada hogar.

  • Cutoff

    El valor de impedancia en el que se debe detener la búsqueda de puntos de demanda de una instalación dada. El punto de demanda no se puede asignar a una instalación que se encuentre más allá del valor indicado aquí.

    Este atributo permite especificar un valor límite para cada punto de demanda. Por ejemplo, quizá descubra que en áreas rurales las personas están dispuestas a recorrer hasta 10 millas para llegar a una instalación, mientras que las que se encuentran en áreas urbanas solo están dispuestas a recorrer 2 millas. Puede modelar este comportamiento estableciendo el valor Cutoff de todos los puntos de demanda que se encuentran en áreas rurales en 10 y el valor Cutoff de los puntos de demanda de áreas urbanas en 2.

    The units for this attribute value are specified by the measurement_units parameter.

    A value for this attribute overrides the default set for the analysis using the default_measurement_cutoff parameter. The default value is Null, which results in the default value set by the default_measurement_cutoff parameter being used for all the demand points.

  • ImpedanceTransformation

    Override the default value set for the analysis by the measurement_transformation_model parameter.

  • ImpedanceParameter

    Override the default value set for the analysis by the measurement_transformation_model parameter.

  • CurbApproach

    Specify the direction a vehicle can arrive at or depart from the demand point. One of the integers listed in the Coded value column in the following table must be specified as a value of this attribute. The values in the Setting column are the descriptive names for the CurbApproach attribute values that you may have seen when using the Extensión ArcGIS Network Analyst software.

    SettingCoded valueDescription

    Cualquier lado del vehículo

    0

    The vehicle can approach and depart the demand point in either direction.

    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

    When the vehicle approaches or departs the demand point, the demand point must be on the right side of the vehicle. This is typically used for vehicles such as buses that must arrive with the bus stop on the right side.

    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

    When the vehicle approaches or departs the demand point, the demand point must be on the left side of the vehicle. This is typically used for vehicles such as buses that must arrive with the bus stop on the left side.

    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

    When the vehicle approaches the demand point, the demand point can be on either side of the vehicle; however, when it departs, the vehicle must continue in the same direction in which it arrived. A U-turn is prohibited.

    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 punto de demanda 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. Las normas de circulación nacionales pueden influir en su decisión de aproximarse a un punto de demanda 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 punto de demanda y que no haya un carril entre el vehículo y el punto de demanda, elija 1 (Lado derecho del vehículo) en Estados Unidos y 2 (Lado izquierdo del vehículo) en Reino Unido.

    Right side of vehicle with right-hand traffic
    With right-hand traffic, the curb approach that leaves the vehicle closest to the demand point is Right side of vehicle.
    Left side of vehicle with left-hand traffic
    With left-hand traffic, the curb approach that leaves the vehicle closest to the demand point is Left side of vehicle.
  • 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 demand_points

Syntax for specifying demand points 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 demand points using a URL returning a JSON response


{
  "url": "<url>"
}

Examples for demand_points

Example 1: Specifying demand points in the spatial reference of the network dataset using a JSON structure. The example also shows how to specify some attributes for the demand points.


{
  "features": [
    {
      "geometry": {
        "y": 51.5254,
        "x": -0.1891
      },
      "attributes": {
        "Name": "Customer 1",
        "ID": "C00001", 
        "Weight": 10,
        "CurbApproach": 0
      }
    },
    {
      "geometry": {
        "y": 51.5353,
        "x": -0.1744
      },
      "attributes": {
        "Name": "Customer 2",
        "ID": "C00002",
        "Weight": 7,
        "CurbApproach": 1
      }
    }
  ]
}

Example 2: Specifying demand points in the Web Mercator spatial reference using a JSON structure


{
  "spatialReference": {
    "wkid": 102100
  },
  "features": [
    {
      "geometry": {
        "y": -5192521.476,
        "x": -2698533.989
      },
      "attributes": {
        "Name": "Patron 1",
        "ID": "P1", 
        "TimeCutoff": 10,
      }
    },
    {
      "geometry": {
        "y": -5191915.261,
        "x": -2697821.094
      },
      "attributes": {
        "Name": "Patron 2",
        "ID": "P2",
        "TimeCutoff": 15,
      }
    }
  ]
}

Example 3: Specifying demand points 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

travel_mode

Seleccione el modo de transporte para el análisis.

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

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

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

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

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

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

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

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

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

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

Precaución:

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

measurement_units

Especifique las unidades que se utilizarán para medir los tiempos o las distancias de viaje entre los puntos de demanda y las instalaciones. El servicio busca las mejores instalaciones en función de aquellas que pueden alcanzar (o a las que pueden llegar) la mayor cantidad de demanda ponderada con la menor cantidad de viaje.

Las líneas de asignación de salida informan acerca de la distancia de viaje o del tiempo de viaje en unidades diferentes, incluidas las que se especifiquen para este parámetro.

  • Meters
  • Kilometers
  • Feet
  • Yards
  • Miles
  • NauticalMiles
  • Seconds
  • Minutes
  • Hours
  • Days

analysis_region

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

problem_type

Especifica el objetivo del análisis de ubicación y asignación, que puede ser una de las siguientes opciones: El objetivo predeterminado es minimizar la impedancia.

Minimizar la impedancia

Tipo de problema Minimizar impedancia
Minimizar impedancia elige las instalaciones de modo que se minimice la suma de las impedancias ponderadas (la demanda asignada a una instalación multiplicada por la impedancia hasta la instalación).

Esto también se conoce como el tipo de problema mediana de P. Las instalaciones se ubican de un modo que minimiza la suma de todos los tiempos o distancias de viaje ponderados entre los puntos de demanda y las instalaciones de la solución. (El viaje ponderado es la cantidad de demanda asignada a una instalación multiplicada por la distancia o el tiempo de viaje a la instalación).

Este tipo de problema se utiliza tradicionalmente para buscar almacenes, porque puede reducir los costes de transporte totales de la entrega de mercancías a las tiendas. Dado que Minimizar impedancia reduce la distancia total que debe recorrer el público para llegar a las instalaciones elegidas, el problema de minimización de la impedancia sin tolerancia de impedancia se considera habitualmente más adecuado que otros tipos de problema para ubicar determinadas instalaciones del sector público tales como bibliotecas, aeropuertos regionales, museos, departamentos de oficinas de vehículos a motor y clínicas de salud.

La lista siguiente describe cómo gestiona la demanda el tipo de problema de minimización de la impedancia:

  • Un punto de demanda que no pueda alcanzar ninguna instalación, debido a la configuración de un valor límite de distancia o tiempo, no se asigna.
  • Un punto de demanda que solamente puede alcanzar una instalación tiene todo su peso de demanda asignado a esa demanda.
  • Un punto de la demanda que puede alcanzar dos o más instalaciones tiene todo su peso de demanda asignado en exclusiva a la instalación más cercana.

Maximizar la cobertura

Tipo de problema Maximizar cobertura
Maximizar cobertura elige las instalaciones de modo que la máxima demanda posible quede cubierta por el valor límite de impedancia de las instalaciones. En este gráfico, se indicó a la tarea que eligiera tres instalaciones.

Las instalaciones se ubican de modo que se asigna la máxima demanda posible a instalaciones de la solución situadas dentro del valor límite de impedancia.

Maximizar cobertura se utiliza con frecuencia para ubicar estaciones de bomberos, comisarías de policía y centros de servicios de respuesta a emergencias (ERS), porque a menudo se exige a los servicios de emergencia que lleguen a todos los puntos de demanda dentro de un tiempo de respuesta especificado. Observe que es importante para todas las organizaciones, y crítico para los servicios de emergencia, tener datos exactos y precisos para que los resultados del análisis modelen correctamente los resultados del mundo real.

Los negocios de reparto de pizzas, a diferencia de las pizzerías de tipo restaurante, intentan ubicar sus establecimientos donde puedan cubrir el máximo de población dentro de un determinado tiempo de recorrido. Las personas que piden pizzas a domicilio no suelen preocuparse de la distancia a la que se encuentra la pizzería; les preocupa principalmente que la pizza llegue dentro de la ventana de tiempo anunciada. Por consiguiente, una empresa de reparto de pizzas restaría el tiempo de preparación de la pizza de su tiempo de entrega anunciado y resolvería un problema de maximizar cobertura para elegir la instalación candidata que captara el máximo de clientes potenciales en el área de cobertura. (Los clientes potenciales de las pizzerías de tipo restaurante se ven más afectados por la distancia, dado que deben desplazarse hasta el restaurante; en consecuencia, los tipos de problema de maximización de la asistencia o de cuota de mercado son más adecuados para los restaurantes.)

La siguiente lista describe cómo gestiona la demanda el problema de maximización de la cobertura:

  • Un punto de demanda que no puede alcanzar ninguna instalación debido a un valor límite de distancia o tiempo no se asigna.
  • Un punto de demanda que solamente puede alcanzar una instalación tiene todo su peso de demanda asignado a esa demanda.
  • Un punto de la demanda que puede alcanzar dos o más instalaciones tiene todo su peso de demanda asignado en exclusiva a la instalación más cercana.

Maximizar cobertura con capacidad

Tipo de problema Maximizar cobertura con capacidad
Maximizar cobertura capacitada elige las instalaciones de modo que se pueda satisfacer toda o la mayor parte de la demanda sin exceder la capacidad de ninguna instalación. En este gráfico, cada instalación tiene una capacidad de uno, y se indicó a la tarea que eligiera tres instalaciones. Aunque el punto de demanda de la parte inferior del mapa está dentro del valor límite de impedancia de una instalación, no está asignado, porque de esa manera podría superar la capacidad de una instalación.

Las instalaciones se encuentran situadas de modo que toda la demanda o su mayor parte se puede atender sin exceder la capacidad de ninguna instalación.

Maximizar cobertura capacitada se comporta como el tipo de problema Minimizar la impedancia o Maximiza la cobertura, pero con la restricción de capacidad agregada. Puede especificar una capacidad para una instalación individual asignando un valor numérico a su atributo Capacity correspondiente en las instalaciones de entrada. Si el valor del atributo Capacity es nulo, a la instalación se le asigna una capacidad de la propiedad default_capacity.

Los casos de uso para Maximizar cobertura con capacidad incluyen la creación de territorios que abarcan un determinado número de personas o empresas, la localización de hospitales u otras instalaciones sanitarias con un número limitado de camas o pacientes que se pueden tratar, o localizar almacenes cuyo inventario no se suponga ilimitado.

La siguiente lista describe cómo gestiona la demanda el problema Maximizar cobertura capacitada:

  • A diferencia de Maximizar cobertura, Maximizar cobertura capacitada no exige un Valor límite de medición predeterminado; sin embargo, cuando se especifica un valor límite, cualquier punto de demanda fuera de los valores límite de tiempo o distancia de todas las instalaciones no se asigna.
  • Un punto de demanda asignado tiene toda o nada de su peso de demanda asignado a una instalación; esto es, la demanda no se reparte con este tipo de problema.
  • Si la demanda total que puede alcanzar una instalación es mayor que la capacidad de la instalación, sólo se asignan los puntos de demanda que maximizan la demanda capturada total y minimizan el viaje ponderado total.

Nota:

Puede experimentar una aparente ineficiencia cuando un punto de demanda se asigna a una instalación que no es la instalación de la solución más cercana. Esto puede producirse cuando los puntos de demanda tienen diferentes pesos y cuando el punto de demanda en cuestión puede alcanzar más de una instalación. Este tipo de resultado indica que la instalación de solución más cercana no tiene la capacidad adecuada para la demanda ponderada, o que la solución más eficaz para todo el problema requirió una o más ineficiencias locales. En cualquier caso, la solución es correcta.

Minimizar las instalaciones

Tipo de problema Minimizar las instalaciones
Minimizar las instalaciones elige las instalaciones de modo que tantos puntos de demanda como sea posible estén dentro del valor límite de impedancia de las instalaciones. Además, se minimiza el número de instalaciones necesarias para cubrir todos los puntos de demanda. En este gráfico, la tarea pudo cubrir todos los puntos de demanda con solo dos instalaciones.

Las instalaciones se escogen de modo que se asigne la mayor cantidad posible de demanda ponderada a las instalaciones de la solución dentro del valor límite de tiempo o distancia de viaje; además, se minimiza la cantidad de instalaciones necesarias para cubrir la demanda.

Minimizar instalaciones es igual que Maximizar cobertura, con la excepción del número de instalaciones que se van a ubicar, determinado en este caso por el solucionador. Cuando el coste de construcción de las instalaciones no es un factor limitante, los mismos tipos de organización que utilizan Maximizar cobertura (respuesta de emergencia, por ejemplo) utilizan Minimizar instalaciones, de modo que se cubran todos los puntos de demanda posibles.

La siguiente lista describe cómo gestiona la demanda el problema de minimización de instalaciones:

  • Un punto de demanda que no puede alcanzar ninguna instalación debido a un valor límite de distancia o tiempo no se asigna.
  • Un punto de demanda que solamente puede alcanzar una instalación tiene todo su peso de demanda asignado a esa instalación.
  • Un punto de la demanda que puede alcanzar dos o más instalaciones tiene todo su peso de demanda asignado en exclusiva a la instalación más cercana.

Maximizar la asistencia

Tipo de problema Maximizar la asistencia
Maximizar la asistencia elige instalaciones de modo que se asigne tanto peso de demanda como sea posible a las instalaciones, asumiendo que el peso de la demanda se reduce con la distancia. Los puntos de demanda, representados por gráficos circulares en este gráfico, muestran qué parte de la demanda total capta la instalación.

Las instalaciones se eligen de modo que se asigne el máximo peso de demanda posible a las instalaciones asumiendo que el peso de la demanda se reduce en relación con la distancia entre la instalación y el punto de demanda.

Las tiendas especializadas con poca o ninguna competencia se benefician de este tipo de problema, pero también puede beneficiar a comercios generalistas y restaurantes que no tengan los datos sobre competidores necesarios para los tipos de problema de cuota de mercado. Entre los negocios que podrían beneficiarse de este tipo de problema están las cafeterías, los gimnasios, las clínicas médicas y dentales, y las tiendas de electrónica. Las paradas del transporte público suelen elegirse con la ayuda de Maximizar asistencia. Maximizar asistencia supone que cuando más lejos tengan que desplazarse las personas para llegar hasta la instalación, menos probable será que la utilicen. Esto se refleja en cómo se reduce con la distancia la cantidad de demanda asignada a las instalaciones.

La siguiente lista describe cómo gestiona la demanda el problema de maximización de la asistencia:

  • Un punto de demanda que no puede alcanzar ninguna instalación debido a un valor límite de distancia o tiempo no se asigna.
  • Cuando un punto de demanda puede alcanzar una instalación, su peso de demanda solo se asigna parcialmente a la instalación. La cantidad asignada disminuye como una función del valor límite máximo de distancia (o tiempo) y la distancia (o tiempo) de viaje entre la instalación y el punto de demanda.
  • El peso de un punto de demanda que puede alcanzar más de una instalación se asigna de forma proporcional solo a la instalación más cercana.

Maximizar la cuota de mercado

Tipo de problema Maximizar la cuota de mercado
Maximizar la cuota de mercado elige las instalaciones de modo que se capte tanta demanda asignada como sea posible en presencia de competidores. El usuario especifica el número de instalaciones que desea elegir.

Se elige un número concreto de instalaciones de modo que la demanda asignada se maximice en presencia de competidores. El objetivo es captar la máxima cuota de mercado posible con un número dado de instalaciones que se especifique. La cuota de mercado total es la suma de todo el peso de demanda para los puntos de demanda válidos.

Los tipos de problema de cuota de mercado requieren la máxima cantidad de datos porque, además de conocer el peso de las instalaciones propias, también es necesario conocer el de las instalaciones de los competidores. Los mismos tipos de instalaciones que utilizan el tipo de problema Maximizar asistencia pueden utilizar también tipos de problema de cuota de mercado, dado que tienen información completa que incluye datos de los competidores. Las grandes tiendas de descuento suelen utilizar Maximizar porción de mercado para buscar un conjunto finito de nuevas tiendas. Los tipos de problema de cuota de mercado utilizan un modelo Huff, también conocido como problema de gravedad o interacción espacial.

La siguiente lista describe cómo gestiona la demanda el problema de maximización de la cuota de mercado:

  • Un punto de demanda que no puede alcanzar ninguna instalación debido a un valor límite de distancia o tiempo no se asigna.
  • Un punto de demanda que solamente puede alcanzar una instalación tiene todo su peso de demanda asignado a esa demanda.
  • Un punto de demanda que puede alcanzar dos o más instalaciones tiene todo su peso de demanda asignado a las mismas; además, el peso se divide entre las instalaciones de manera proporcional al atractivo de las instalaciones (peso de la instalación) e inversamente proporcional a la distancia entre la instalación y el punto de demanda. Dados pesos de instalación iguales, esto significa que se asigna más peso de demanda a las instalaciones cercanas que a las lejanas.

  • La cuota de mercado total, que se puede utilizar para calcular la cuota de mercado capturada, es la suma del peso de todos los puntos de demanda válidos.

Cuota de mercado objetivo

Tipo de problema Cuota de mercado objetivo
Cuota de mercado objetivo funciona en presencia de competidores e intenta elegir las mínimas instalaciones posibles para captar la cuota de mercado especificada.

Cuota de mercado objetivo elige el número mínimo de instalaciones necesarias para captar un porcentaje concreto de la cuota de mercado en presencia de competidores. La cuota de mercado total es la suma de todo el peso de demanda para los puntos de demanda válidos. Establezca el porcentaje de cuota de mercado que desea alcanzar y permita que el solucionador elija el número mínimo de instalaciones necesarias para alcanzar ese umbral.

Los tipos de problema de cuota de mercado requieren la máxima cantidad de datos porque, además de conocer el peso de las instalaciones propias, también es necesario conocer el de las instalaciones de los competidores. Los mismos tipos de instalaciones que utilizan el tipo de problema Maximizar asistencia pueden utilizar también tipos de problema de cuota de mercado, dado que tienen información completa que incluye datos de los competidores.

Las tiendas con grandes descuentos suelen utilizar el tipo de problema Cuota de mercado objetivo cuando desean conocer cuánta expansión sería necesaria para alcanzar un determinado nivel de cuota de mercado o ver qué estrategia sería necesaria para simplemente mantener la cuota de mercado actual dada la introducción de nuevas instalaciones de la competencia. Los resultados suelen representar lo que les gustaría hacer a las tiendas si no tuvieran que preocuparse por los presupuestos. En otros casos en los que el presupuesto es una prioridad, las tiendas recurren al problema Maximizar la cuota de mercado y, simplemente, captan el máximo posible de cuota de mercado con un número limitado de instalaciones.

La siguiente lista describe cómo gestiona la demanda el problema de cuota de mercado objetivo:

  • La cuota de mercado total, que se utiliza en el cálculo de la cuota de mercado capturada, es la suma del peso de todos los puntos de demanda válidos.
  • Un punto de demanda que no puede alcanzar ninguna instalación debido a un valor límite de distancia o tiempo no se asigna.
  • Un punto de demanda que solamente puede alcanzar una instalación tiene todo su peso de demanda asignado a esa demanda.
  • Un punto de demanda que puede alcanzar dos o más instalaciones tiene todo su peso de demanda asignado a las mismas; además, el peso se divide entre las instalaciones de manera proporcional al atractivo de las instalaciones (peso de la instalación) e inversamente proporcional a la distancia entre la instalación y el punto de demanda. Dados pesos de instalación iguales, esto significa que se asigna más peso de demanda a las instalaciones cercanas que a las lejanas.

number_of_facilities_to_find

Especifique la cantidad de instalaciones que debe escoger la tarea. El valor predeterminado es 1.

Las instalaciones con un valor del atributo FacilityType de 1 (Obligatorio) siempre se eligen en primer lugar. Las instalaciones en exceso que se pueden seleccionar se escogen entre las instalaciones candidatas, cuyo valor del atributo FacilityType es 2. Si la cantidad de instalaciones que se desea buscar es menor que la cantidad de instalaciones obligatorias, se produce un error.

El parámetro number_of_facilities_to_find se ignora para los tipos de problema Minimizar instalaciones y Cuota de mercado objetivo, ya que la tarea determina el número mínimo de instalaciones necesarias para cumplir con los objetivos.

default_measurement_cutoff

Especifica el valor máximo de tiempo o distancia de viaje permitido entre un punto de demanda y la instalación a la que se asigna. Si un punto de demanda está fuera del valor límite de una instalación, no se puede asignar a esa instalación.

El valor predeterminado es nulo, lo que significa que no existe un valor límite del viaje. Las unidades de este parámetro son las mismas que las especificadas en el parámetro measurement_units. El tiempo o la distancia de viaje se mide mediante la ruta más corta por carretera. Esta propiedad se podría utilizar para modelar la distancia máxima que las personas están dispuestas a recorrer para visitar sus tiendas, o el tiempo máximo que se permite que tarde un departamento de bomberos en alcanzar cualquier punto de la comunidad.

Tenga en cuenta que los puntos de demanda tienen atributos TimeCutoff y DistanceCutoff, que, si se establecen como corresponden, invalidan el parámetro default_measurement_cutoff. Quizá descubra que, en las áreas rurales, las personas están dispuestas a recorrer hasta 10 millas para llegar a una instalación, mientras que los urbanitas solo están dispuestos a recorrer 2 millas. Suponiendo que las measurement_units se establecen en miles, puede modelar este comportamiento si define default_measurement_cutoff en 10 y el valor de atributo DistanceCutoff de los puntos de demanda en áreas urbanas en 2.

default_capacity

Este parámetro es específico del tipo de problema Maximizar cobertura con capacidad y se ignora para el resto de tipos de problemas. Es la capacidad predeterminada que se asigna a todas las instalaciones del análisis. Puede invalidar la capacidad predeterminada de una instalación especificando un valor en el atributo Capacidad de la instalación. El valor predeterminado es 1.

target_market_share

Este parámetro es específico del tipo de problema Cuota de mercado objetivo y se ignora para el resto de tipos de problemas. Es el porcentaje del peso de demanda total que desea que capturen las instalaciones elegidas y obligatorias. La tarea elige la cantidad mínima de instalaciones necesarias para capturar la cuota de mercado objetivo que se especifica aquí. El valor predeterminado es 10%.

measurement_transformation_model

Establece la ecuación para transformar el coste de la red entre instalaciones y puntos de demanda. Este parámetro, junto con impedance_parameter, especifica hasta qué punto influye la impedancia de red entre instalaciones y puntos de demanda en la elección de instalaciones por parte de la tarea.

En la siguiente lista de opciones de transformación, d hace referencia a puntos de demanda y f a instalaciones. "Impedancia" es la distancia o el tiempo de viaje más corto entre dos ubicaciones. Así, impedanciadf es la ruta más corta (tiempo o distancia) entre el punto de demanda d y la instalación f, y costedf es el tiempo o distancia de viaje transformado entre la instalación y el punto de demanda. Lambda (λ) denota el parámetro de impedancia. El ajuste measurement_units determina si se analiza el tiempo o la distancia de viaje.

Lineal

costdf = λ * impedancedf

El tiempo o la distancia transformado entre la instalación y el punto de demanda es el mismo que el tiempo o la distancia de la ruta más corta entre las dos ubicaciones. Con esta opción, el parámetro de impedancia (λ) siempre se establece en uno. Esta es la opción predeterminada.

Potencia

costdf = impedancedfλ

El tiempo o la distancia de viaje transformado entre la instalación y el punto de demanda es igual al tiempo o a la distancia de la ruta más corta elevada a la potencia especificada por el parámetro de impedancia (λ). Utilice la opción Potencia con un parámetro de impedancia positivo para especificar un peso mayor para las instalaciones cercanas.

Exponencial

costdf = e(λ * impedancedf)

El tiempo o la distancia de viaje transformado entre la instalación y el punto de demanda es igual a la e constante matemática elevada a la potencia especificada por la impedancia de la ruta más corta multiplicada por el parámetro de impedancia (λ). Utilice la opción Exponencial con un parámetro de impedancia positivo para especificar un peso muy alto para las instalaciones cercanas.

Ejemplo de measurement_transformation_model

En el siguiente conjunto de gráficos y tablas se utiliza Minimizar impedancia para demostrar los efectos potenciales de utilizar diferentes transformaciones y parámetros de impedancia.

Ejemplo de problema para demostrar los efectos de las transformaciones de impedancia
Se muestra una configuración de problema de muestra utilizando ejes de dos millas con puntos de demanda en los extremos e instalaciones candidatas a mitad de los ejes.

La transformación Linear siempre utiliza un valor de parámetro de uno, de modo que el coste no se modifica y la instalación B minimiza ese coste.

InstalaciónCoste total (lineal)Instalación de la solución

A

3+3+5=11

B

7+1+1=9

Se elige la instalación B.

Comparación de costes utilizando una transformación lineal
Problema de muestra para demostrar los efectos de las transformaciones de impedancia
La instalación B tiene un coste transformado total menor que la instalación A cuando se utiliza una función de transformación lineal.

Una transformación Power con un parámetro de dos amplifica las distancias más largas lo suficiente para que sea la instalación A la que minimice el coste.

InstalaciónCoste total (transformación de potencia, λ = 2)Instalación de la solución

A

32+32+52=43

Se elige la instalación A.

B

72+12+12=51

Comparación de costes utilizando una transformación de potencia con un parámetro de 2,0
Problema de ejemplo para demostrar los efectos de las transformaciones de impedancia
La instalación A tiene un coste transformado total menor que la instalación B cuando se utiliza una transformación de potencia al cuadrado.

Una transformación exponential con un parámetro de impedancia de 0,02 favorecerá a los puntos de demanda cercanos, de modo que la instalación B es la instalación de la solución en este caso. (Se omite el gráfico, dado que tendría el mismo aspecto que el gráfico de la transformación lineal.)

InstalaciónCoste total (transformación exponencial, λ = 0,02)Instalación de la solución

A

e0,02*3+e0,02*3+e0,02*5=3.23

B

e0,02*7+e0,02*1+e0,02*1=3.19

Se elige la instalación B.

Comparación de costes utilizando una transformación exponencial con un parámetro de 0,02

measurement_transformation_factor

Proporciona un valor de parámetro de impedancia (λ) a la ecuación especificada en el parámetro impedance_transformation_model. El valor del parámetro se ignora si la transformación de impedancia es lineal. Para las transformaciones de impedancia exponencial y de potencia, el valor debe ser distinto de cero. El valor predeterminado es 1.

travel_direction

Especifique si se van a medir tiempos o distancias de viaje de las instalaciones a los puntos de demanda o de los puntos de demanda a las instalaciones. El valor predeterminado es medir de la instalación a los puntos de demanda.

  • Facility to Demand: la dirección de viaje va desde las instalaciones hasta los puntos de demanda.

  • Demand to Facility: la dirección de viaje va desde los puntos de demanda hasta las instalaciones.

Los tiempos y las distancias de viaje pueden cambiar en función de la dirección del viaje. Si va del punto A al punto B, puede encontrar menos tráfico o una ruta más corta, debido a las calles de una dirección y las restricciones de giro, que si se desplaza en la dirección contraria. Por ejemplo, para ir del punto A al punto B puede tardar solo 10 minutos, pero en la dirección contraria puede llevar 15 minutos. Estas mediciones diferentes pueden influir en que los puntos de demanda se asignen a determinadas instalaciones debido a los valores límite o, en los tipos de problemas en los que se distribuye la demanda, pueden influir en la cantidad de demanda capturada.

Los departamentos de bomberos normalmente miden de las instalaciones a los puntos de demanda, puesto que les preocupa el tiempo necesario para desplazarse desde la estación de bomberos hasta la ubicación de la emergencia. A una tienda le preocupa más el tiempo que tardan los compradores en alcanzar la tienda; por consiguiente, las tiendas normalmente miden de los puntos de demanda a las instalaciones.

El parámetro travel_direction también determina el significado de cualquier hora de inicio que se proporciona. Consulte el parámetro time_of_day para obtener más información.

time_of_day

Especifique la hora a la que empieza el viaje, o parte, de las ubicaciones iniciales.

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 time_Of_day representa la hora de inicio objetivo desde las instalaciones o los puntos de demanda, dependiendo de la travel_direction. 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.

Nota:

All points in facilities must be in the same time zone when using traffic and travel_direction is set to Demand to Facility. Also, all points in demand_points must be in the same time zone when using traffic and travel_direction is set to Facility to Demand.

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

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.

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 property is optional, however, the JSON structure must specify either the url or features property:

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

  • features: especifique una matriz de entidades.

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

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

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

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

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"
}

use_hierarchy

Especifique si se usará la jerarquía para buscar las rutas más cortas.

The default value for this parameter is true.

Precaución:

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

  • true: usar la jerarquía al viajar entre paradas. Cuando se usa una jerarquía, el servicio da preferencia a las calles de orden superior (como las autovías) frente a las de orden inferior (como las carreteras locales), y se puede usar para simular la preferencia del conductor de viajar por autovías en lugar de carreteras locales, aunque suponga un viaje más largo. Esto se da especialmente al buscar rutas hasta ubicaciones lejanas, porque los conductores que realizan viajes de larga distancia prefieren viajar por autovías y así evitar paradas, intersecciones y giros. Desde el punto de vista del cómputo, usar la jerarquía es más rápido, especialmente en rutas de larga distancia, porque el servicio puede determinar la ruta mejor en un subconjunto de calles relativamente más pequeño.

  • false: no usar la jerarquía al viajar entre paradas. Si no se utiliza la jerarquía, el servicio tiene en cuenta todas las calles y no da preferencia a las calles de mayor orden al buscar una ruta. A menudo esto se usa al buscar rutas a corta distancia dentro de una ciudad.

restrictions

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

Precaución:

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

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

El servicio admite los siguientes nombres de restricción:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Nota:

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

Heredado:

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

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

Example for restrictions

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

attribute_parameter_values

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

Precaución:

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

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

  • features: especifique una matriz de entidades.

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

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

    • attributes: especifique cada atributo como un par de clave-valor donde la clave es el nombre de un campo dado y el valor es el valor de atributo del campo correspondiente.
  • 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 of the ParameterName attribute can be assigned any of the following string values or their equivalent numeric values listed in 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>
            }
        }
    ] 
}

Examples 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.

assignment_line_shape

Especifique el tipo de entidades de línea que produce la herramienta. El parámetro acepta estos valores:

  • Straight Line: se obtienen líneas rectas entre las instalaciones de la solución y los puntos de demanda asignados a las mismas. Dibujar líneas rectas en un mapa ayuda a visualizar la asignación de la demanda.
  • None: se obtiene una tabla con datos sobre las rutas más cortas entre las instalaciones de la solución y los puntos de demanda asignados a las mismas, no se devuelven líneas.

El valor predeterminado es Straight Line.

Sea cual sea el valor elegido para el parámetro allocation_line_shape, la ruta más corta se determina minimizando el tiempo de viaje o la distancia de viaje; sin utilizar la distancia en línea recta entre incidentes e instalaciones. Es decir, este parámetro solo cambia las formas de las líneas de salida; no cambia el método de medición.

save_output_network_analysis_layer

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

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

El valor predeterminado es false.

overrides

Nota:

Este parámetro es solo para uso interno.

time_impedance

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

  • Minutes
  • TravelTime
  • WalkTime
  • TruckMinutes
  • TruckTravelTime

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

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

Nota:

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

distance_impedance

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

  • Miles
  • Kilometers

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

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

Nota:

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

output_format

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

  • Conjunto de entidades: las entidades de salida se generarán como tablas y clases de entidad. Esta es la opción predeterminada.
  • Archivo JSON: las entidades de salida se devolverán como un archivo comprimido que contiene la representación JSON de las salidas. Si se especifica esta opción, la salida será un archivo único (con una extensión .zip) que contiene uno o varios archivos JSON (con una extensión .json) para cada una de las salidas que crea el servicio.
  • Archivo GeoJSON: las entidades de salida se devolverán como un archivo comprimido que contiene la representación GeoJSON de las salidas. Si se especifica esta opción, la salida será un archivo único (con una extensión .zip) que contiene uno o varios archivos GeoJSON (con una extensión .geojson) para cada una de las salidas que crea el servicio.

Sugerencia:

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

env:outSR

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

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

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

ignore_network_location_fields

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

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

El valor predeterminado es false.

ignore_invalid_locations

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

  • true

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

  • false

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

locate_settings

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

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

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

Nota:

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

El objeto JSON del localizador tiene las siguientes propiedades:

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

Syntax for locate_settings

Sintaxis para especificar locate_settings utilizando una estructura JSON.

Nota:

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


{
    "default": {
        "tolerance": <value>,
        "toleranceUnits": "<unit>",
        "allowAutoRelocate": true | false,
        "sources": [{
            "name": "<sourceName>",
            "where": "<whereClause>"
        }]
    },
    "overrides": {
        "facilities": {
            "tolerance": <value>,
            "toleranceUnits": "<unit>",
            "allowAutoRelocate": true | false,
            "sources": [{
                "name": "<sourceName>",
                "where": "<whereClause>"
            }]
        },
        "demand_points": {
            "tolerance": <value>,
            "toleranceUnits": "<unit>",
            "allowAutoRelocate": true | false,
            "sources": [{
                "name": "<sourceName>",
                "where": "<whereClause>"
            }]
        },
        "point_barriers": {
            "tolerance": <value>,
            "toleranceUnits": "<unit>",
            "allowAutoRelocate": true | false,             
            "sources": [{
                "name": "<sourceName>",
                "where": "<whereClause>"
            }]
        },
        "line_barriers": {
            "allowAutoRelocate": true | false,       
            "sources": [{
                "name": "<sourceName>",
                "where": "<whereClause>"
            }]
        },
        "polygon_barriers": {
            "allowAutoRelocate": true | false,  
            "sources": [{
                "name": "<sourceName>",
                "where": "<whereClause>"
            }]
        }
    }
}

Examples for locate_settings

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

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


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

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

En este ejemplo, se muestra cómo especificar la configuración de localización para evitar que se ubiquen instalaciones y puntos de demanda en rampas de autopista. La configuración de localización predeterminada permite la localización en la fuente Routing_Streets. En el caso de las instalaciones y los puntos de demanda, 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 las instalaciones ni los puntos de demanda 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": {
        "facilities": {
            "sources": [{
                "name": "Routing_Streets",
                "where": "ROAD_CLASS <> 3"
            }]
        },
        "demand_points": {
            "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 facilities, participating demand points, connecting lines between demand points and the facilities they were assigned to, and the status indicating whether the analysis was successful. This information is output in the output parameters described below.

Sugerencia:

The geometries for the output parameters are returned by default in the WGS84 (WKID: 4326) spatial reference. You can get the geometries in a different spatial reference using the env:outSR parameter when submitting the request or by using the outSR parameter when retrieving an output parameter.

output_facilities

Proporciona acceso a las instalaciones elegidas, requeridas y competidoras, así como a cualquier instalación candidata no elegida.

Este parámetro admite los campos que aparecen a continuación. Además de estos campos, el parámetro también incluye todos los campos de las instalaciones de entrada que se utilizan en el análisis.

FieldDescription

Name

El nombre de la instalación. Los valores de este campo se copian del campo Name de las instalaciones de entrada.

FacilityOID

El valor de ObjectID de la entidad de la instalación de entrada correspondiente. Este campo se utiliza a menudo para unir la información de las instalaciones de entrada.

FacilityType

Las mejores instalaciones, o las que se han elegido en el análisis, están indicadas en este campo. Los tipos de instalación son los siguientes:

  • 0 (Candidata): el servicio no eligió que la instalación candidata forme parte de la solución.
  • 1 (Requerida): antes de emitir el análisis, la instalación se designó como "requerida"; por lo tanto, forma parte de la solución independientemente de la demanda que haya capturado.
  • 2 (Competidora): la instalación representa a los rivales y eliminará demanda del problema. Las instalaciones competidoras son específicas de los tipos de problema Maximización de la cuota de mercado y Cuota de mercado objetivo; no se tienen en cuenta en otros tipos de problemas.
  • 3 (Elegida): son las instalaciones elegidas, es decir, son las instalaciones candidatas que capturan la mayoría de demandas.

Weight

El peso relativo de la instalación, que se utiliza para valorar el atractivo, la conveniencia o la predisposición de una instalación en comparación con otra. Los valores de este campo se copian del campo Weight de las instalaciones de entrada.

Capacity

La cantidad de demanda ponderada que la instalación puede suministrar. Los valores de este campo se copian del campo Capacity de las instalaciones de entrada.

DemandCount

Un recuento de puntos de demanda asignados a la instalación. Un valor distinto de cero significa que la instalación formaba parte de la solución como requerida, competidora o elegida.

DemandWeight

La suma del peso efectivo de todos los puntos de demanda asignados a la instalación. El valor es la suma de todos los valores de peso de los puntos de demanda asignados a la instalación. En el caso de los tipos de problema de maximización de la asistencia y de cuota de mercado, el valor es la suma prorrateada de los valores del campo Weight, dado que estos tipos de problema permiten que la demanda se reduzca con la distancia o que se divida entre muchas instalaciones.

Total_Minutes

La suma del tiempo de viaje en minutos entre la instalación y cada uno de los puntos de demanda asignados a la instalación.

Este campo únicamente se incluye si el modo de viaje definido para el análisis tiene un atributo de impedancia que está basado en el tiempo.

Nota:

An additional field, Total_[TimeUnits], is included if the measurement_units parameter is time based and its value is not set to Minutes. The field values are in the units specified by the measurement_units parameter.

TotalWeighted_Minutes

El campo almacena el coste ponderado acumulativo en minutos para una instalación. El coste ponderado para un punto de demanda es su peso multiplicado por la trayectoria de menor coste entre la instalación y el punto de demanda. El coste ponderado para una instalación es la suma de todos los costes ponderados de los puntos de demanda asignados a la instalación.

Por ejemplo, si un punto de demanda con un peso de 2 se asigna a una instalación a 10 minutos de distancia, el valor de TotalWeighted_Minutes será 20 (2 x 10). Si se asigna otro punto de demanda con un peso de 3 a la misma instalación y está a 5 minutos de distancia, el valor de TotalWeighted_Minutes aumentará a 35 (3 x 5 + 20).

Este campo únicamente se incluye si el modo de viaje definido para el análisis tiene un atributo de impedancia que está basado en el tiempo.

Nota:

Se incluye un campo adicional, TotalWeighted_[TimeUnits], si el parámetro Unidades de medida está basado en tiempo y su valor es distinto de Minutos. Los valores de campo están en las unidades especificadas en el parámetro Unidades de medida.

Total_Miles

La suma de la distancia de viaje en millas entre la instalación y cada uno de los puntos de demanda asignados a la instalación.

Este campo únicamente se incluye si el modo de viaje definido para el análisis tiene un atributo de impedancia que está basado en la distancia.

Nota:

Se incluye un campo adicional, Total_[DistanceUnits], si el parámetro Unidades de medida está basado en distancia y su valor es distinto de Millas o Kilómetros. Los valores de campo están en las unidades especificadas en el parámetro Unidades de medida.

TotalWeighted_Miles

El campo almacena el coste ponderado acumulativo en millas para una instalación. El coste ponderado para un punto de demanda es su peso multiplicado por la trayectoria de menor coste entre la instalación y el punto de demanda. El coste ponderado para una instalación es la suma de todos los costes ponderados de los puntos de demanda asignados a la instalación.

Por ejemplo, si un punto de demanda con un peso de 2 se asigna a una instalación a 10 millas de distancia, el valor de TotalWeighted_Miles será 20 (2 x 10). Si se asigna otro punto de demanda con un peso de 3 a la misma instalación y está a 5 millas de distancia, el valor de TotalWeighted_Miles aumentará a 35 (3 x 5 + 20).

Este campo únicamente se incluye si el modo de viaje definido para el análisis tiene un atributo de impedancia que está basado en la distancia.

Nota:

Se incluye un campo adicional, TotalWeighted_[DistanceUnits], si el parámetro Unidades de medida está basado en distancia y su valor es distinto de Millas o Kilómetros. Los valores de campo están en las unidades especificadas en el parámetro Unidades de medida.

Total_Kilometers

Este campo es semejante al campo Total_Miles, salvo que los valores están en kilómetros en lugar de en millas.

TotalWeighted_Kilometers

Este campo es semejante al campo TotalWeighted_Miles, salvo que los valores están en kilómetros en lugar de en millas.

Total_Other

La suma del coste de viaje en unidades desconocidas entre la instalación y cada uno de los puntos de demanda asignados a la instalación.

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

TotalWeighted_Other

El campo almacena el coste ponderado acumulativo en unidades desconocidas para una instalación. El coste ponderado para un punto de demanda es su peso multiplicado por la trayectoria de menor coste entre la instalación y el punto de demanda. El coste ponderado para una instalación es la suma de todos los costes ponderados de los puntos de demanda asignados a la instalación.

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

SourceID

El identificador numérico de la clase de entidad de origen del dataset de red donde se ubica el punto de entrada.

SourceOID

El ObjectID de la entidad del origen donde se ubica el punto de entrada.

PosAlong

La posición a lo largo de la dirección digitalizada de la entidad de línea de origen. Este valor se almacena como ratio. Este campo es nulo si la ubicación de red hace referencia a un cruce.

SideOfEdge

El lado del eje respecto a la dirección digitalizada de la entidad de línea. Este campo se limita a un dominio de dos valores: lado derecho (1) y lado izquierdo (2).

CurbApproach

Dirección en la que un vehículo puede partir de una instalación o llegar a ella. Los valores de este campo se copian del campo CurbApproach de las instalaciones de entrada.

Status

Indica el estado del punto con respecto a su ubicación en la red y el resultado del análisis. Los posibles valores son los siguientes:

  • 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.

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_demand_points

Ofrece acceso a los puntos de demanda que han participado en los análisis: tanto los que se asignaron a instalaciones como los que se dejaron sin asignar.

Este parámetro admite los campos que aparecen a continuación. Además de estos campos, el parámetro también incluye todos los campos de la clase de entidad de entrada que se utilizan como instalaciones del análisis.

FieldDescription

Name

El nombre del punto de demanda. Los valores de este campo se copian del campo Name en los puntos de demanda de entrada.

FacilityOID

El valor ObjectID de la instalación a la que está asignado este punto de demanda. El valor de campo es Nulo si el punto de demanda no está asignado a ninguna instalación. Este campo se suele utilizar para unir información de las instalaciones de entrada con los puntos de demanda de salida.

DemandOID

El valor de ObjectID de la entidad de punto de demanda de entrada correspondiente. Este campo se suele utilizar para unir información.

Weight

Ponderación relativa del punto de demanda. Los valores de este campo se copian del campo Weight en los puntos de demanda de entrada.

AllocatedWeight

La cantidad de demanda asignada a las instalaciones elegidas y requeridas. El valor excluye la demanda asignada a instalaciones competidoras. Las opciones de valor son las siguientes:

  • Nulo: el punto de demanda no se asignó a ninguna instalación. Este puede ser el resultado, por ejemplo, si no se ha podido llegar al punto de demanda desde cualquier instalación.
  • 0: el punto de demanda solo se ha asignado a instalaciones competidoras.
  • Un valor positivo, distinto de cero: indica cuánta demanda se ha asignado a las instalaciones elegidas y requeridas.

GroupName

El nombre del grupo del que forma parte el punto de demanda. Los valores de este campo se copian del campo GroupName en los puntos de demanda de entrada.

ImpedanceTransformation

Los valores de este campo se copian del campo ImpedanceTransformation en los puntos de demanda de entrada.

ImpedancParameter

Los valores de este campo se copian del campo ImpedanceParameter en los puntos de demanda de entrada.

Cutoff

El punto de demanda no se puede asignar a una instalación que se encuentre más allá del valor indicado aquí. Los valores de este campo se copian del campo Cutoff en los puntos de demanda de entrada.

SourceID

El identificador numérico de la clase de entidad de origen del dataset de red donde se ubica el punto de entrada.

SourceOID

El ObjectID de la entidad del origen donde se ubica el punto de entrada.

PosAlong

La posición a lo largo de la dirección digitalizada de la entidad de línea de origen. Este valor se almacena como ratio. Este campo es nulo si la ubicación de red hace referencia a un cruce.

SideOfEdge

El lado del eje respecto a la dirección digitalizada de la entidad de línea. Este campo se limita a un dominio de dos valores: lado derecho (1) y lado izquierdo (2).

CurbApproach

Dirección en la que un vehículo puede partir de un punto de demanda o llegar a ella. Los valores de este campo se copian del campo CurbApproach de las instalaciones de entrada.

Status

Indica el estado del punto con respecto a su ubicación en la red y el resultado del análisis. Los posibles valores son los siguientes:

  • 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.

Bearing

Los valores de este campo se copian del campo Bearing en los puntos de demanda de entrada.

BearingTol

Los valores de este campo se copian del campo BearingTol en los puntos de demanda de entrada.

NavLatency

Los valores de este campo se copian del campo NavLatency en los puntos de demanda de entrada.

output_allocation_lines

Ofrece acceso a las líneas que conectan puntos de demanda con las instalaciones a las que fueron asignados. Se hace referencia a esas líneas en la documentación como líneas de asignación. Dichas líneas de asignación incluyen datos sobre la demanda asignada desde cada punto de demanda a la instalación asociada.

El parámetro admite estos campos:

FieldDescription

Name

The name of the allocation line that includes the names of the demand point and facility to which the demand point is allocated.

The name of the allocation line is based on the names of the associated facility and demand point.

The facility name is first if the travel_direction parameter value is set to Facility To Demand. For example, Facility 5 - Demand 3 indicates that the route travels from Facility 5 to Demand 3.

If Demand To Facility is specified as the travel_direction parameter value, the demand point name is first, for example, Demand 3 — Facility 5.

Weight

The weight assigned from the connected demand point to the connected facility.

FacilityOID

The ObjectID value of the corresponding input facility feature. This field is often used to join information from the facilities to the allocation lines.

DemandOID

The ObjectID value of the corresponding input demand point feature. This field is often used to join information from the demand points to the allocation lines.

Total_Minutes

The travel time in minutes between the facility and the demand point. Note that although the allocation lines have either straight or null geometries, the cost always refers to travel times as measured on a transportation network, not straight-line distances.

Nota:

An additional field, Total_[TimeUnits], is included if the measurement_units parameter is time based and its value is not set to Minutes. The field values are in the units specified by the measurement_units parameter.

Nota:

Additional fields, Total_[AccumulateAttributeName]_[TimeUnits], are included for each time-based cost attribute that is accumulated during the analysis.

TotalWeighted_Minutes

The weighted cost of traveling between the facility and the demand point in minutes. This is the Total_Minutes value multiplied by the weight of the demand point allocated to the facility.

This field is included only if the travel mode set for the analysis has an impedance attribute that is time based.

Nota:

An additional field, TotalWeighted_[TimeUnits], is included if the measurement_units parameter is time based and its value is not set to Minutes. The field values are in the units specified by the measurement_units parameter.

Total_Miles

The travel distance in miles between the facility and the demand point. Note that although the allocation lines have either straight or null geometries, the cost always refers to travel distances as measured on a transportation network, not straight-line distances.

Nota:

An additional field, Total_[DistanceUnits], is included if the measurement_units parameter is distance based and its value is not set to Miles or Kilometers. The field values are in the units specified by the measurement_units parameter.

Nota:

Additional fields, Total_[AccumulateAttributeName]_[DistanceUnits], are included for each time-based cost attribute that is accumulated during the analysis.

Total_Kilometers

The travel distance in kilometers between the facility and the demand point. Note that although the allocation lines have either straight or null geometries, the cost always refers to travel distances as measured on a transportation network, not straight-line distances.

TotalWeighted_Miles

The weighted cost of traveling between the facility and the demand point in miles. This is the Total_Miles value multiplied by the weight of the demand point allocated to the facility.

This field is included only if the travel mode set for the analysis has an impedance attribute that is distance based.

Nota:

An additional field, TotalWeighted_[DistanceUnits], is included if the measurement_units parameter is distance based and its value is not set to Miles or Kilometers. The field values are in the units specified by the measurement_units parameter.

TotalWeighted_Kilometers

The weighted cost of traveling between the facility and the demand point in kilometers. This is the Total_Kilometers value multiplied by the weight of the demand point allocated to the facility.

This field is included only if the travel mode set for the analysis has an impedance attribute that is distance based.

Total_Other

The travel cost in unknown units between the facility and the demand point. Note that although the allocation lines have either straight or null geometries, the cost always refers to travel cost as measured on a transportation network, not straight-line distances.

This field is included only when the travel mode used for the analysis has an impedance attribute that is neither time based nor distance based.

Nota:

Additional fields, Total_[AccumulateAttributeName]_Other, are included for each cost attribute that is neither time based nor distance based and accumulated during the analysis.

TotalWeighted_Other

The weighted cost of traveling between the facility and the demand point in unknown units. This is the Total_Cost value multiplied by the weight of the demand point allocated to the facility.

This field is included only if the travel mode set for the analysis has an impedance attribute that is neither time based nor distance based.

solve_succeeded

Use this parameter to determine whether the service successfully identified the best facilities. 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
}

output_result_file

Utilice este parámetro para acceder a los resultados del análisis en un archivo .zip que contiene uno o varios archivos para cada salida. El formato de los archivos individuales viene especificado por el parámetro Formato de salida. El valor del parámetro no se rellena si el parámetro Formato de salida está definido como Conjunto de entidades.

output_network_analysis_layer

Use este parámetro para acceder al archivo de capa de análisis de red que almacena la configuración de análisis y las entradas y salidas utilizadas para el análisis. El valor del parámetro se rellena únicamente si el parámetro Guardar capa de análisis de red de salida está definido como Verdadero.

Example usage

This service uses the asynchronous execution mode. In this mode, the client must periodically verify 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 location-allocation 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 location-allocation service using the following form:

https://<gpservice-url>/SolveLocationAllocation/submitJob?parameters
Nota:

See Implementing App Login for ArcGIS Online or Acquire ArcGIS tokens for ArcGIS Enterprise to learn how to generate a token.

Choose the best store location

In this example, the one store location that provides the best access to customers is identified.

Before performing the analysis, you typically need to find locations that can accommodate your store. This can include surveying the real estate market to find commercial properties that are the right size and have the right price. The candidate facilities are specified with the facilities parameter. Households are added as demand_points and weighted by the number of people living there. They represent potential customers.

The facilities and demand points are in the spatial reference of the network dataset, so the spatialReference property is not required.

Request URL to submit the job

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

https://<gpservice-url>/SolveLocationAllocation/submitJob?facilities={"features":[{"attributes":{"OBJECTID":1,"Name":"Facility A","FacilityType":0,"CurbApproach":0},"geometry":{"x":-58.557329417999938,"y":-34.587693706999971}},{"attributes":{"OBJECTID":2,"Name":"Facility B","FacilityType":0,"CurbApproach":0},"geometry":{"x":-58.460247408999976,"y":-34.683348039999942}}]}& demand_points={"features":[{"attributes":{"OBJECTID":1,"Name":"Household 4","GroupName":"A","Weight":2,"CurbApproach":0},"geometry":{"x":-58.664405163999959,"y":-34.614819562999969}},{"attributes":{"OBJECTID":2,"Name":"Household 3","GroupName":"A","Weight":2,"CurbApproach":0},"geometry":{"x":-58.514499119999982,"y":-34.496322404999944}},{"attributes":{"OBJECTID":3,"Name":"Household 2","GroupName":null,"Weight":3,"CurbApproach":0},"geometry":{"x":-58.54162497599998,"y":-34.788996107999935}},{"attributes":{"OBJECTID":4,"Name":"Household 1","GroupName":null,"Weight":5,"CurbApproach":1},"geometry":{"x":-58.40599569799997,"y":-34.637662387999967}}]}&f=pjson&token=<yourToken>

JSON Response


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

Query the job status

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

Request a URL to query the job status

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

JSON Response


{
  "jobId": "jb937dc0c7e324e68b95923c8fd9c8a1b",
  "jobStatus": "esriJobSucceeded",
  "results": {
    "Solve_Succeeded": {
      "paramUrl": "results/Solve_Succeeded"
    },
    "Output_Allocation_Lines": {
      "paramUrl": "results/Output_Allocation_Lines"
    },
    "Output_Facilities": {
      "paramUrl": "results/Output_Facilities"
    },
    "Output_Demand_Points": {
      "paramUrl": "results/Output_Demand_Points"
    }
  },
  "inputs": {
    "Facilities": {
      "paramUrl": "inputs/Facilities"
    },
    "Demand_Points": {
      "paramUrl": "inputs/Demand_Points"
    },
    "Measurement_Units": {
      "paramUrl": "inputs/Measurement_Units"
    },
    "Analysis_Region": {
      "paramUrl": "inputs/Analysis_Region"
    },
    "Problem_Type": {
      "paramUrl": "inputs/Problem_Type"
    },
    "Number_of_Facilities_to_Find": {
      "paramUrl": "inputs/Number_of_Facilities_to_Find"
    },
    "Default_Measurement_Cutoff": {
      "paramUrl": "inputs/Default_Measurement_Cutoff"
    },
    "Default_Capacity": {
      "paramUrl": "inputs/Default_Capacity"
    },
    "Target_Market_Share": {
      "paramUrl": "inputs/Target_Market_Share"
    },
    "Measurement_Transformation_Model": {
      "paramUrl": "inputs/Measurement_Transformation_Model"
    },
    "Measurement_Transformation_Factor": {
      "paramUrl": "inputs/Measurement_Transformation_Factor"
    },
    "Travel_Direction": {
      "paramUrl": "inputs/Travel_Direction"
    },
    "Time_of_Day": {
      "paramUrl": "inputs/Time_of_Day"
    },
    "Time_Zone_for_Time_of_Day": {
      "paramUrl": "inputs/Time_Zone_for_Time_of_Day"
    },
    "UTurn_at_Junctions": {
      "paramUrl": "inputs/UTurn_at_Junctions"
    },
    "Point_Barriers": {
      "paramUrl": "inputs/Point_Barriers"
    },
    "Line_Barriers": {
      "paramUrl": "inputs/Line_Barriers"
    },
    "Polygon_Barriers": {
      "paramUrl": "inputs/Polygon_Barriers"
    },
    "Use_Hierarchy": {
      "paramUrl": "inputs/Use_Hierarchy"
    },
    "Restrictions": {
      "paramUrl": "inputs/Restrictions"
    },
    "Attribute_Parameter_Values": {
      "paramUrl": "inputs/Attribute_Parameter_Values"
    },
    "Allocation_Line_Shape": {
      "paramUrl": "inputs/Allocation_Line_Shape"
    }
  },
  "messages": []
}

Return the output facilities

Because the job succeeded, a request can be made to return the facilities using the output_facilities output parameter.

Request a URL to return the output facilities

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

JSON Response


{
  "paramName": "Output_Facilities",
  "dataType": "GPFeatureRecordSetLayer",
  "value": {
    "displayFieldName": "",
    "geometryType": "esriGeometryPoint",
    "spatialReference": {
      "wkid": 4326,
      "latestWkid": 4326
    },
    "fields": [
      {
        "name": "OID",
        "type": "esriFieldTypeOID",
        "alias": "OID"
      },
      {
        "name": "Name",
        "type": "esriFieldTypeString",
        "alias": "Name",
        "length": 128
      },
      {
        "name": "FacilityType",
        "type": "esriFieldTypeInteger",
        "alias": "FacilityType"
      },
      {
        "name": "Weight",
        "type": "esriFieldTypeDouble",
        "alias": "Weight"
      },
      {
        "name": "Capacity",
        "type": "esriFieldTypeDouble",
        "alias": "Capacity"
      },
      {
        "name": "DemandCount",
        "type": "esriFieldTypeInteger",
        "alias": "DemandCount"
      },
      {
        "name": "DemandWeight",
        "type": "esriFieldTypeDouble",
        "alias": "DemandWeight"
      },
      {
        "name": "CurbApproach",
        "type": "esriFieldTypeInteger",
        "alias": "CurbApproach"
      },
      {
        "name": "Status",
        "type": "esriFieldTypeInteger",
        "alias": "Status"
      },
      {
        "name": "Total_Minutes",
        "type": "esriFieldTypeDouble",
        "alias": "Total_Minutes"
      },
      {
        "name": "TotalWeighted_Minutes",
        "type": "esriFieldTypeDouble",
        "alias": "TotalWeighted_Minutes"
      },
      {
        "name": "FacilityOID",
        "type": "esriFieldTypeInteger",
        "alias": "FacilityOID"
      }
    ],
    "features": [
      {
        "attributes": {
          "OID": 1,
          "Name": "Facility A",
          "FacilityType": 0,
          "Weight": 1,
          "Capacity": 20,
          "DemandCount": 0,
          "DemandWeight": 0,
          "CurbApproach": 0,
          "Status": 0,
          "Total_Minutes": 0,
          "TotalWeighted_Minutes": 0,
          "FacilityOID": 1
        },
        "geometry": {
          "x": -58.557329417999938,
          "y": -34.587693706999971
        }
      },
      {
        "attributes": {
          "OID": 2,
          "Name": "Facility B",
          "FacilityType": 3,
          "Weight": 1,
          "Capacity": 20,
          "DemandCount": 4,
          "DemandWeight": 12,
          "CurbApproach": 0,
          "Status": 0,
          "Total_Minutes": 98.15948274044834,
          "TotalWeighted_Minutes": 255.65998780240028,
          "FacilityOID": 2
        },
        "geometry": {
          "x": -58.460247408999976,
          "y": -34.683348039999942
        }
      }
    ],
    "exceededTransferLimit": false
  }
}

Return the output demand points

The output demand points are requested using output_demand_points.

Request a URL to return the output demand points

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

JSON Response


{
  "paramName": "Output_Demand_Points",
  "dataType": "GPFeatureRecordSetLayer",
  "value": {
    "displayFieldName": "",
    "geometryType": "esriGeometryPoint",
    "spatialReference": {
      "wkid": 4326,
      "latestWkid": 4326
    },
    "fields": [
      {
        "name": "OID",
        "type": "esriFieldTypeOID",
        "alias": "OID"
      },
      {
        "name": "Name",
        "type": "esriFieldTypeString",
        "alias": "Name",
        "length": 128
      },
      {
        "name": "Weight",
        "type": "esriFieldTypeDouble",
        "alias": "Weight"
      },
      {
        "name": "AllocatedWeight",
        "type": "esriFieldTypeDouble",
        "alias": "AllocatedWeight"
      },
      {
        "name": "GroupName",
        "type": "esriFieldTypeString",
        "alias": "GroupName",
        "length": 128
      },
      {
        "name": "CurbApproach",
        "type": "esriFieldTypeInteger",
        "alias": "CurbApproach"
      },
      {
        "name": "Status",
        "type": "esriFieldTypeInteger",
        "alias": "Status"
      },
      {
        "name": "DemandOID",
        "type": "esriFieldTypeInteger",
        "alias": "DemandOID"
      },
      {
        "name": "FacilityOID",
        "type": "esriFieldTypeInteger",
        "alias": "FacilityOID"
      },
      {
        "name": "TimeCutoff",
        "type": "esriFieldTypeDouble",
        "alias": "Time Cutoff"
      }
    ],
    "features": [
      {
        "attributes": {
          "OID": 1,
          "Name": "Household 4",
          "Weight": 2,
          "AllocatedWeight": 2,
          "GroupName": "A",
          "CurbApproach": 0,
          "Status": 0,
          "DemandOID": 1,
          "FacilityOID": 2,
          "TimeCutoff": null
        },
        "geometry": {
          "x": -58.664405163999959,
          "y": -34.614819562999969
        }
      },
      {
        "attributes": {
          "OID": 2,
          "Name": "Household 3",
          "Weight": 2,
          "AllocatedWeight": 2,
          "GroupName": "A",
          "CurbApproach": 0,
          "Status": 0,
          "DemandOID": 2,
          "FacilityOID": 2,
          "TimeCutoff": null
        },
        "geometry": {
          "x": -58.514499119999982,
          "y": -34.496322404999944
        }
      },
      {
        "attributes": {
          "OID": 3,
          "Name": "Household 2",
          "Weight": 3,
          "AllocatedWeight": 3,
          "GroupName": null,
          "CurbApproach": 0,
          "Status": 0,
          "DemandOID": 3,
          "FacilityOID": 2,
          "TimeCutoff": null
        },
        "geometry": {
          "x": -58.54162497599998,
          "y": -34.788996107999935
        }
      },
      {
        "attributes": {
          "OID": 4,
          "Name": "Household 1",
          "Weight": 5,
          "AllocatedWeight": 5,
          "GroupName": null,
          "CurbApproach": 1,
          "Status": 0,
          "DemandOID": 4,
          "FacilityOID": 2,
          "TimeCutoff": null
        },
        "geometry": {
          "x": -58.40599569799997,
          "y": -34.637662387999967
        }
      }
    ],
    "exceededTransferLimit": false
  }
}

Return the output allocation lines

The lines connecting demand points to the facilities to which they are allocated are requested using the output_allocation_lines output parameter.

Request a URL to return the output allocation lines

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

JSON Response


{
  "paramName": "Output_Allocation_Lines",
  "dataType": "GPFeatureRecordSetLayer",
  "value": {
    "displayFieldName": "",
    "geometryType": "esriGeometryPolyline",
    "spatialReference": {
      "wkid": 4326,
      "latestWkid": 4326
    },
    "fields": [
      {
        "name": "OID",
        "type": "esriFieldTypeOID",
        "alias": "OID"
      },
      {
        "name": "Name",
        "type": "esriFieldTypeString",
        "alias": "Name",
        "length": 128
      },
      {
        "name": "Weight",
        "type": "esriFieldTypeDouble",
        "alias": "Weight"
      },
      {
        "name": "TotalWeighted_Minutes",
        "type": "esriFieldTypeDouble",
        "alias": "TotalWeighted_Minutes"
      },
      {
        "name": "Total_Minutes",
        "type": "esriFieldTypeDouble",
        "alias": "Total_Minutes"
      },
      {
        "name": "Total_Miles",
        "type": "esriFieldTypeDouble",
        "alias": "Total_Miles"
      },
      {
        "name": "FacilityOID",
        "type": "esriFieldTypeInteger",
        "alias": "FacilityOID"
      },
      {
        "name": "DemandOID",
        "type": "esriFieldTypeInteger",
        "alias": "DemandOID"
      },
      {
        "name": "Total_Kilometers",
        "type": "esriFieldTypeDouble",
        "alias": "Total_Kilometers"
      },
      {
        "name": "Shape_Length",
        "type": "esriFieldTypeDouble",
        "alias": "Shape_Length"
      }
    ],
    "features": [
      {
        "attributes": {
          "OID": 1,
          "Name": "Facility B - Household 4",
          "Weight": 2,
          "TotalWeighted_Minutes": 60.168576445604977,
          "Total_Minutes": 30.084288222802488,
          "Total_Miles": 15.37109520474797,
          "FacilityOID": 2,
          "DemandOID": 1,
          "Total_Kilometers": 24.737380000000002,
          "Shape_Length": 0.21535213276531256
        },
        "geometry": {
          "paths": [
            [
              [
                -58.460247408999976,
                -34.683348039999942
              ],
              [
                -58.664405163999959,
                -34.614819562999969
              ]
            ]
          ]
        }
      },
      {
        "attributes": {
          "OID": 2,
          "Name": "Facility B - Household 3",
          "Weight": 2,
          "TotalWeighted_Minutes": 72.1604586665743,
          "Total_Minutes": 36.08022933328715,
          "Total_Miles": 17.676695567632418,
          "FacilityOID": 2,
          "DemandOID": 2,
          "Total_Kilometers": 28.447880000000001,
          "Shape_Length": 0.1947352980165141
        },
        "geometry": {
          "paths": [
            [
              [
                -58.460247408999976,
                -34.683348039999942
              ],
              [
                -58.514499119999982,
                -34.496322404999944
              ]
            ]
          ]
        }
      },
      {
        "attributes": {
          "OID": 3,
          "Name": "Facility B - Household 2",
          "Weight": 3,
          "TotalWeighted_Minutes": 54.965809847358813,
          "Total_Minutes": 18.321936615786271,
          "Total_Miles": 9.9908299927555344,
          "FacilityOID": 2,
          "DemandOID": 3,
          "Total_Kilometers": 16.078679999999999,
          "Shape_Length": 0.13335599980117666
        },
        "geometry": {
          "paths": [
            [
              [
                -58.460247408999976,
                -34.683348039999942
              ],
              [
                -58.54162497599998,
                -34.788996107999935
              ]
            ]
          ]
        }
      },
      {
        "attributes": {
          "OID": 4,
          "Name": "Facility B - Household 1",
          "Weight": 5,
          "TotalWeighted_Minutes": 68.365142842862213,
          "Total_Minutes": 13.673028568572441,
          "Total_Miles": 5.0529893827094323,
          "FacilityOID": 2,
          "DemandOID": 4,
          "Total_Kilometers": 8.1319999999999997,
          "Shape_Length": 0.070925502783490982
        },
        "geometry": {
          "paths": [
            [
              [
                -58.460247408999976,
                -34.683348039999942
              ],
              [
                -58.40599569799997,
                -34.637662387999967
              ]
            ]
          ]
        }
      }
    ],
    "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 verify the status of the job and messages. Additionally, if the job has successfully completed, you can use the job ID to retrieve the results or the inputs. The job information and results remain available for 24 hours after the job is completed.

Job execution

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

https://machine.domain.com/webadaptor/rest/services/World/LocationAllocation/GPServer/SolveLocationAllocation/jobs/<yourJobID>/?token=<yourToken>&returnMessages=true&f=pjson

JSON response syntax during job execution


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

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

https://<gpservice-url>/SolveLocationAllocation/jobs/<jobID>/cancel?token=<yourToken>&f=pjson
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 the application request is not canceled, it will eventually execute and will incur service credits regardless of whether the application retrieved the results or ignored them. Therefore, you should always cancel the request if necessary.

Job completion

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

https://machine.domain.com/webadaptor/rest/services/World/LocationAllocation/GPServer/SolveLocationAllocation/jobs/<jobID>/results/output_allocation_lines?token=<yourToken>&f=pjson

The feature geometries are returned by default in the WGS84 spatial reference. You can get the feature geometries in a different spatial reference by specifying the outSR parameter value when retrieving an output parameter. The following example shows how to retrieve an output parameter with feature geometries in the Web Mercator (WKID: 102100) spatial reference:

https://machine.domain.com/webadaptor/rest/services/World/LocationAllocation/GPServer/SolveLocationAllocation/jobs/<yourJobID>/results/<output_parameter_name>?token=<yourToken>&f=json&outSR=102100

You can also retrieve the value of an input parameter by making the requests of the following form:

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

Usage limits

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

Limit valueLimit description

10.000.000

Maximum number of allocation lines that can be returned by the asynchronous service

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

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.