Opciones de GetRouteCostMatrix HTTP POST

Formato de dirección URL de HTTP POST

Además de los parámetros regulares HTTP GET, puede agregar opciones de carga HTTP POST a su solicitud que especifica actualizaciones transitorias y prioridad de tipos de camino. La carga HTTP POST también se puede usar si la lista de puntos de entrada excede los límites del área de influencia del autor de la llamada. El tipo de contenido se debe configurar en aplicación/json. El siguiente formato se utiliza para solicitudes HTTP POST:


HTTP POST:  /rest/Spatial/erm/databases/dbsource.json?q=routeCostMatrix&query_parameters
POST BODY: Content-Type:application/json {Route Data}
			

Definición de puntos de inicio y llegada

Para incluir un conjunto de puntos de inicio y llegada en una solicitud HTTP POST, agregue una carga MultiPoint JSON que indique los puntos que debe incluir la ruta. Cuando se definen los puntos de inicio y llegada en la carga HTTP POST, los parámetros startPoints y endPoints no son parámetros de consulta obligatorios en la URL. Si están definidos en la URL, se ignoran. Cuando se ignoran los puntos en la URL, se registra un mensaje de advertencia en el archivo wrapper.log.

Ejemplos de carga de puntos de inicio HTTP POST.


{			
"startPoints": {"type": "MultiPoint","crs": {"type": "name","properties": {"name": "epsg:4326"}},"coordinates": [[ -73.976266,40.788717],[ -73.973562,40.792193],[ -73.971802,40.794630]]}
}			
			

Ejemplos de carga de puntos de llegada HTTP POST.


{			
"endPoints": {"type": "MultiPoint","crs": {"type": "name","properties": {"name": "epsg:4326"}},"coordinates": [[ -73.976266,40.788717],[ -73.973562,40.792193],[ -73.971802,40.794630]]}
}			
			

Actualizaciones transitorias

Este conjunto de preferencias le permite definir actualizaciones transitorias para cada solicitud. Por ejemplo, usted puede solicitar que el servidor intente evitar todos los tipos de caminos principales. Cada solicitud puede contener una o más actualizaciones. Para actualizaciones de velocidad, el valor de velocidad positivo es un aumento de velocidad y el valor de velocidad negativo es una disminución de velocidad. A continuación se ofrece una descripción de los tipos de actualización transitoria:

Tipo de actualización

Descripción

point

Las actualizaciones de punto son cambios que se aplican a un punto correspondiente (latitud, longitud). Para un punto en particular, puede: excluir el punto, definir la velocidad del punto o cambiar (aumentar o disminuir) la velocidad del punto en un valor o porcentaje. Use uno de los siguientes tipos de actualizaciones:

percentage
Esta es una actualización de velocidad donde define un aumento en la velocidad del punto, ya sea especificando un porcentaje para aumentar (valor positivo) o disminuir (valor negativo) la velocidad.
speed
Esta es una actualización de velocidad donde define la nueva velocidad del punto especificando la unidad de velocidad y la nueva velocidad. Para actualizaciones de velocidad, la unidad de velocidad puede tener uno de los siguientes valores: km/h (kilómetros por hora), mph (millas por hora), mtps (metros por segundo), mtpm (metros por minuto).
speedAdjustment
Esta es una actualización de velocidad donde define un cambio en la velocidad del punto, especificando el cambio en la velocidad (unidad y valor). Los valores de velocidad se pueden aumentar (valor positivo) o disminuir (valor negativo). Para actualizaciones de velocidad, la unidad de velocidad puede tener uno de los siguientes valores: km/h (kilómetros por hora), mph (millas por hora), mtps (metros por segundo), mtpm (metros por minuto).
exclude
Este es un valor de cadena para excluir el punto especificado de todo cálculo de la ruta. Para excluir un punto, tiene que especificar el punto e incluir el parámetro Excluir que se define como Y. Los valores válidos son: S (sí) y N (no).

segmentID

Las actualizaciones de segmentos son los cambios que se aplican a una ID de segmento correspondiente. Para un segmento en particular, puede: excluir el segmento, definir la velocidad del segmento, cambiar (aumentar o disminuir) la velocidad del segmento en un valor o porcentaje o cambiar el tipo de camino del segmento. Use uno de los siguientes tipos de actualizaciones:

percentage
Esta es una actualización de velocidad donde define un aumento en la velocidad de la ID del segmento, ya sea especificando un porcentaje para aumentar (valor positivo) o disminuir (valor negativo) la velocidad.
speed
Esta es una actualización de velocidad donde define la nueva velocidad de la ID del segmento, especificando la unidad de velocidad y la nueva velocidad. Para actualizaciones de velocidad, la unidad de velocidad puede tener uno de los siguientes valores: km/h (kilómetros por hora), mph (millas por hora), mtps (metros por segundo), mtpm (metros por minuto).
speedAdjustment
Esta es una actualización de velocidad donde define un cambio en la velocidad de la ID del segmento, especificando el cambio en la velocidad (unidad y valor). Los valores de velocidad se pueden aumentar (valor positivo) o disminuir (valor negativo). Para actualizaciones de velocidad, la unidad de velocidad puede tener uno de los siguientes valores: km/h (kilómetros por hora), mph (millas por hora), mtps (metros por segundo), mtpm (metros por minuto).
exclude
Este es un valor de cadena para excluir la segmentID especificada de todo cálculo de la ruta. Para excluir una ID del segmento, debe especificar la ID del segmento e incluir el parámetro Excluir que se define como Y. Los valores válidos son: S (sí) y N (no).
roadType

Este es un valor de cadena de caracteres para cambiar el valor del tipo de camino para el segmento para el cálculo de la ruta.

El roadType puede ser una de las siguientes opciones:

  • camino de acceso
  • camino secundario
  • conector
  • ferry
  • sendero
  • camino de acceso limitado, zona urbana de alta densidad
  • camino de acceso limitado, zona rural
  • camino de acceso limitado, zona suburbana
  • camino de acceso limitado, zona urbana
  • camino local, zona urbana de alta densidad
  • camino local, zona rural
  • camino local, zona suburbana
  • camino local, zona urbana
  • camino local principal, zona urbana de alta densidad
  • camino local principal, zona rural
  • camino local principal, zona suburbana
  • camino local principal, zona urbana
  • camino principal, zona urbana de alta densidad
  • camino principal, zona rural
  • camino principal, zona suburbana
  • camino principal, zona urbana
  • camino local secundario, zona urbana de alta densidad
  • camino local secundario, zona rural
  • camino local secundario, zona suburbana
  • camino local secundario, zona urbana
  • camino normal, zona urbana de alta densidad
  • camino normal, zona rural
  • camino normal, zona rural
  • camino normal, zona urbana
  • carretera principal, zona urbana de alta densidad
  • carretera principal, zona rural
  • carretera principal, zona suburbana
  • carretera principal, zona urbana
  • camino en pendiente, zona urbana de alta densidad
  • camino en pendiente, acceso limitado
  • camino principal en pendiente
  • carretera principal en pendiente
  • camino en pendiente, zona rural
  • carretera secundaria en pendiente
  • camino en pendiente, zona urbana
  • camino en pendiente, zona suburbana
  • carretera secundaria, zona urbana de alta densidad
  • carretera secundaria, zona rural
  • carretera secundaria, zona suburbana
  • carretera secundaria, zona urbana

roadType

Las actualizaciones de tipo de camino son cambios que se aplican al tipo de camino correspondiente. Para un tipo de camino en particular, puede: definir la velocidad del tipo de camino o cambiar (aumentar o disminuir) la velocidad del tipo de camino en un valor o porcentaje. Use uno de los siguientes tipos de actualizaciones:

percentage
Esta es una actualización de velocidad donde define un aumento en la velocidad del tipo de camino, ya sea especificando un porcentaje para aumentar (valor positivo) o disminuir (valor negativo) la velocidad.
speed
Esta es una actualización de velocidad donde define la nueva velocidad del tipo de camino especificando la unidad de velocidad y la nueva velocidad. Para actualizaciones de velocidad, la unidad de velocidad puede tener uno de los siguientes valores: km/h (kilómetros por hora), mph (millas por hora), mtps (metros por segundo), mtpm (metros por minuto).
speedAdjustment
Esta es una actualización de velocidad donde define un cambio en la velocidad del tipo de camino, especificando el cambio en la velocidad (unidad y valor). Los valores de velocidad se pueden aumentar (valor positivo) o disminuir (valor negativo). Para actualizaciones de velocidad, la unidad de velocidad puede tener uno de los siguientes valores: km/h (kilómetros por hora), mph (millas por hora), mtps (metros por segundo), mtpm (metros por minuto).

Ejemplos de carga de actualizaciones transitorias HTTP POST.


{
  "transientUpdates": [
    {
        "segmentID": "specify a segment id",
        "updates": [
            {"exclude": "Y"},
            {"roadType": "a road type"},
            {"percentage": 26.0},
            {"speed": { "velocity": 25, "velocityUnit": "kph"}},
            {"percentage": -13.5},
            {"speedAdjustment" : { "velocity": 5, "velocityUnit": "kph"}}
        ]
    },
    {
        "point": "specify a geojson point",
        "updates": [
            {"exclude": "Y"},
            {"percentage": 26.0},
            {"speed": { "velocity": 25, "velocityUnit": "kph"}},
            {"percentage": -13.5},
            {"speedAdjustment" : { "velocity": 5, "velocityUnit": "kph"}}
        ]
    },    
    {
        "roadType": "specify a road type",
        "updates": [
            {"percentage": 26.0},
            {"speed": { "velocity": 25, "velocityUnit": "kph"}},
            {"percentage": -13.5},
            {"speedAdjustment" : { "velocity": 5, "velocityUnit": "kph"}}
        ]
    }
]
}			
			

Ejemplo de punto geojson.


"point": {"type": "Point", "crs":
          {
              "type": "name",
              "properties":
                {"name": "epsg:4326"}
               },
               "coordinates":
               [-73.979102,40.785193]
			   }
			

Restricciones para vehículos comerciales

Las restricciones de vehículos comerciales se componen de directrices para el motor de enrutamiento que guía los atributos y el comportamiento de los vehículos comerciales que realizan recorridos a lo largo de la ruta. Según los atributos del vehículo provisto (como la altura, el ancho, la longitud y el peso) y los atributos de restricciones del vehículo comercial que se encuentran en la red de carreteras, se toma la decisión de permitir enviar o no un vehículo particular sobre un segmento. Si no existe un atributo de restricción del vehículo comercial en la red de carreteras, los parámetros de restricción de entrada no tendrán efecto en la ruta resultante.

A continuación se indican los conjuntos de parámetros para las restricciones de vehículos comerciales:

Opción Descripción

looseningBarrierRestrictions

Especifica que al determinar la ruta se eliminarán las barreras. Estas restricciones se dan con más frecuencia cuando se le prohíbe a un vehículo comercial atravesar un segmento debido a una ordenanza local o se le permite acceder al segmento solo cuando es necesario (por ejemplo, acceso de última milla, entrega local, etc.). Las rutas en las que se ha eliminado una barrera todavía tienen un mayor costo de ruta aún cuando sea más corta o rápida que una ruta sin obstáculos.

vehicleAttributes

Especifica los detalles del tipo de vehículo que tendrá restricciones en función del tipo, altura, peso, longitud, ancho al determinar la ruta. Los vehículos comerciales se dividen en diferentes tipos, que van desde los remolques cortos a los de tres vagones. La atribución de Vehículo comercial está organizada por tipo de vehículo. Esto significa que es muy posible que en un sector haya preferencia para un tipo de vehículos y el mismo sector tenga una restricción para otro tipo de vehículos. Use los siguientes tipos de información de vehículos:

vehicleType
Seleccione ALL o uno de los tipos de vehículos: STRAIGHT, SEMI_TRAILOR, STANDARD_DOUBLE, INTERMEDIATE_DOUBLE, LONG_DOUBLE, TRIPLE, OTHER_LONG_COMBINATION_VEHICLE.
weight
Especifica el peso máximo de un vehículo. Todos los vehículos sobre este valor estarán restringidos al momento de determinar la ruta. Las unidades de peso son: kg, lb, mt, t.
height
Especifica la altura máxima de un vehículo. Todos los vehículos sobre este valor estarán restringidos al momento de determinar la ruta. Las unidades de altura son: ft, yd, mi, m, km.
length
Especifica la longitud máxima de un vehículo. Todos los vehículos sobre este valor estarán restringidos al momento de determinar la ruta. Las unidades de longitud son: ft, yd, mi, m, km.
width

Especifica el ancho máximo de un vehículo. Todos los vehículos sobre este valor estarán restringidos al momento de determinar la ruta. Las unidades de ancho son: ft, yd, mi, m, km.

Nota: Necesita especificar el peso/altura o la longitud/ancho junto con su unidad correspondiente.

Ejemplos

Sin restricciones de vehículos

Solicitud:


HTTP GET /rest/Spatial/erm/databases/US_CVR.json?q=route&startPoint=-74.7221203,42.9737073,epsg:4326&endPoint=-74.6671887,42.8097083,epsg:4326
	

Respuesta:


{
   "distance": 24.87,
   "distanceUnit": "mi",
   "time": 36.57,
   "timeUnit": "min"
}	

Con restricciones de vehículos

Solicitud:


HTTP POST /rest/Spatial/erm/databases/US_CVR.json?q=route&startPoint=-74.7221203,42.9737073,epsg:4326&endPoint=-74.6671887,42.8097083,epsg:4326	
POST BODY: Content-Type:application/json {CVR Data}	
Carga de restricción de vehículos comerciales HTTP POST.


{
     "cvr":{
     "looseningBarrierRestrictions":"n","vehicleAttributes":{
     "vehicleType":"ALL","heightUnit":"meter","height":"4","weightUnit":"Kilogram","weight":"40000"
                                                            }
           }
} 	
Respuesta:
		
		{   
		"distance": 27.92,
		"distanceUnit": "mi",
		"time": 37.48,
		"timeUnit": "min"
		}

Las dos rutas en el siguiente mapa muestran el CVR aplicado para las mismas ubicaciones de inicio y de fin. La ruta que se muestra en color marrón es la que no tiene CVR y la ruta que se muestra en rojo sí la tiene. Note la desviación en la ruta al inicio del viaje, esto se debe a las restricciones de altura y peso que se les aplicaron.

Prioridad de tipo de camino

Especifica la prioridad que debe asignarse a los diferentes tipos de caminos al determinar la ruta. A continuación se ofrece una descripción de las opciones de prioridad de tipo de camino:

Opción

Descripción

alta

Se prefiere ese tipo de camino por sobre los demás.

media

Este tipo de camino tiene el mismo nivel de preferencia que los demás tipos de caminos. Si no se especifica una preferencia para un tipo de camino, esta será la opción predeterminada.

baja

Se prefieren otros tipos de caminos y no este tipo.

evitar

El tipo de camino se excluye de las rutas de ser posible. No siempre es posible excluir un tipo de camino de las indicaciones de viaje. Según la situación, si la alternativa para un tipo de camino evitado es demasiado deficiente, en ese caso el software elegirá una ruta que incluya el tipo de camino que se deseaba evitar. Asimismo, si el punto de partida o llegada se ubica en un segmento cuyo tipo de camino se había evitado, el software de todas formas utilizará ese segmento.

Ejemplo de carga de prioridad de tipo de camino HTTP POST


{
" roadTypesPriority ": {
        "RoadType.MajorRoadDenseUrban": "High",
        "RoadType.LimitedAccessDenseUrban":"Low",
        "RoadType.LimitedAccessRural":"Medium",
        "RoadType.PrimaryHighwayUrban":"Avoid"
      }
}