GetRouteCostMatrix

Descripción

El servicio GetRouteCostMatrix calcula el tiempo y las distancias del recorrido entre una serie de ubicaciones de inicio y finalización, y devuelve la ruta más rápida o más corta. El resultado determina el tiempo y la distancia total de las rutas individuales (los costos de la ruta). Por ejemplo, si ingresa cuatro puntos de inicio y cuatro puntos de llegada, se calculará un total de 16 rutas.

Nota: La respuesta del servicio REST será en formato JSON y la geometría arrojada estará en formato GeoJSON. Cuando una solicitud contiene parámetros de consulta no válidos en la URL de GET o una carga no válida para POST, se obtiene una respuesta de error acumulativa en un conjunto JSON. El nodo value en la respuesta JSON está obsoleto. Para la comprobación de errores, solo se debe utilizar el nodo errors.

Formato de dirección URL de HTTP GET

El siguiente formato se utiliza para solicitudes HTTP GET. HTTP GET se utiliza para cálculos de costos simples, donde no se requiere carga JSON adicional.


HTTP GET /rest/Spatial/erm/databases/dbsource.json?q=routeCostMatrix&query_parameters
			

Donde dbsource es el nombre de la base de datos que contiene los datos que se van a usar para la ruta. Utilice el nombre de la base de datos especificado en la herramienta Recursos de base de datos del módulo Enterprise Routing.

Formato de dirección URL de HTTP POST

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}
			

es el cuerpo POST json (Tipo de contenido: aplicación/json) para la información de ruta adicional que se va a utilizar en el cálculo, si la lista de puntos de entrada excede los límites del área de influencia de URL del autor de la llamada, además de incluir actualizaciones transitorias o prioridad de tipos de camino. Para obtener información y ejemplos de estas opciones, consulte Opciones de GetRouteCostMatrix HTTP POST.

Parámetros de consulta

Esta operación toma los siguientes parámetros de consulta.

Parámetro Tipo Requerido Descripción
startPoints Cadena Las ubicaciones de inicio de la ruta en formato: long,lat,long,lat,...,coordSys. Por ejemplo: -74.2,40.8,-73,42,epsg:4326
endPoints Cadena Las ubicaciones de llegada de la ruta en formato: long,lat,long,lat,...,coordSys. Por ejemplo: -74.2,40.8,-73,42,epsg:4326
destinationSrs Cadena No El sistema de coordenadas devuelve la ruta y las geometrías resultantes. El valor predeterminado es el sistema de coordenadas de los datos que se utilizan.
optimizeBy Cadena No El tipo de optimización para usar en la ruta. Los valores válidos son tiempo o distancia. El valor predeterminado es tiempo.
returnDistance Boolean No Las direcciones de la ruta incluyen la distancia recorrida. El valor predeterminado es verdadero. Los parámetros de returnDistance y returnTime no pueden ser falsos en la misma solicitud.
distanceUnit Cadena No Las unidades para devolver la distancia. El valor predeterminado es m (metros). Los valores disponibles son : m(meter), km(kilometer), yd(yard), ft(foot), mi(mile).
returnTime Boolean No Las direcciones de la ruta incluyen el tiempo que tarda seguir una indicación. El valor predeterminado es verdadero. Los parámetros de returnDistance y returnTime no pueden ser falsos en la misma solicitud.
timeUnit Cadena No Las unidades para devolver el tiempo. El valor predeterminado es min (minutos). Los valores disponibles son: min(minuto), msec (milisegundo), s(segundo), h(hora).
majorRoads Boolean No Especifica si en el cálculo deben incluirse todos los caminos o solo los caminos principales. Si se opta por incluir solo los caminos principales, el rendimiento mejorará pero se reducirá la precisión. El valor predeterminado es "false".
returnOptimalRoutesOnly Boolean No Especifica si se arrojará solo la ruta optimizada para cada combinación de punto de inicio y llegada. El valor predeterminado es verdadero. La ruta optimizada puede ser la ruta más rápida o más corta, según el parámetro optimizeBy.
historicTrafficTimeBucket Cadena No

Especifica si el cálculo de ruta utiliza las velocidades de tráfico histórico. Estas velocidades se basan en los diferentes depósitos de momento del día. Los datos deben incluir las velocidades de tráfico histórico para utilizar esta característica. Los datos para cada país/región tienen las mismas definiciones de depósito, donde las velocidades para estos valores de depósito pueden variar. Las opciones son:

None
El valor predeterminado. No se utilizan los datos del tráfico histórico en el cálculo. En su lugar, se utiliza un valor de velocidad promedio.
AMPeak
Calcule las rutas con las velocidades máximas de la mañana. El depósito de tiempo AMMáximo es el momento desde las 07:00 hasta las 10:00 hs.
PMPeak
Calcule las rutas con las velocidades máximas de la tarde. El depósito de tiempo PMMáximo es el momento desde las 16:00 hasta las 19:00 hs.
OffPeak
Calcule las rutas con las velocidades fuera del horario pico (durante el día). El depósito de tiempo Fuera del máximo es el momento desde las 10:00 hasta las 16:00 hs.
Night
Calcule las rutas con las velocidades nocturnas. El depósito de tiempo Noche es el momento desde las 22:00 hasta las 04:00 hs.
evitar Cadena No Especifica una lista separada por comas de tipos de camino que se deben evitar durante el cálculo de rutas. Este es un parámetro de cadena de caracteres. Cuando se proporciona un tipo de camino como el valor del parámetro, la ruta excluye ese tipo de caminos durante el cálculo de rutas. Por ejemplo, si se proporciona tollRoad como el valor de parámetro, la ruta calculada contiene una ruta sin carreteras de peaje.

Ejemplos

Ruta matriz de costo con dos puntos de inicio y dos de llegada.


http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase.json?q=routeCostMatrix&startPoints=-73.56565,40.5545,-73.46565,40.4545,epsg:4326&endPoints=-73.34343,40.667,-73.14343,40.267,epsg:4326&returnOptimalRoutesOnly=true&optimizeBy=distance&distanceUnit=km&timeUnit=min&majorRoads=true&destinationSrs=epsg:4322&returnTime=false			
			

Respuesta


				
					{
					"matrix": [{
					"distance": 35.258,
					"distanceUnit": "km",
					"endPoint": {
					"type": "Point",
					"coordinates": [-73.34345711862802, 40.66688488742393],
					"crs": {
					"type": "name",
					"properties": {
					"name": "epsg:4322"
					}
					}
					},
					"startPoint": {
					"type": "Point",
					"coordinates": [-73.56567672202618, 40.554384822358614],
					"crs": {
					"type": "name",
					"properties": {
					"name": "epsg:4322"
					}
					}
					}
					}, {
					"distance": 41.761,
					"distanceUnit": "km",
					"endPoint": {
					"type": "Point",
					"coordinates": [-73.34345711862802, 40.66688488742393],
					"crs": {
					"type": "name",
					"properties": {
					"name": "epsg:4322"
					}
					}
					},
					"startPoint": {
					"type": "Point",
					"coordinates": [-73.46567684021008, 40.454384834155185],
					"crs": {
					"type": "name",
					"properties": {
					"name": "epsg:4322"
					}
					}
					}
					}]
					}