GetRouteCostMatrix - web_services - 23.1

Guía de servicios web de Spectrum

Product type
Portfolio
Integrate
Product family
Product
Spectrum > Web Services
Version
23.1
Language
Español (México)
Product name
Spectrum Technology Platform
Title
Guía de servicios web de Spectrum
First publish date
2007
ft:lastEdition
2024-02-07
ft:lastPublication
2024-02-07T18:09:34.894393

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 comprobar los 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 Spectrum Spatial 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}

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 de caracteres 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 de caracteres 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 de caracteres 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 de caracteres 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 de caracteres 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 de caracteres 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 de caracteres 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 AMPeak 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 PMPeak 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 OffPeak 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 Night es el momento desde las 22:00 hasta las 04:00 hs.
avoid Cadena de caracteres 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.
version Cadena de caracteres No Especifica la versión del servicio REST GetRouteCostMatrix. Los valores válidos son 1 y 2. El valor predeterminado para version es 1.

localRoadsLoadFactor

Cadena de caracteres No

Especifica el número de caminos locales que se pueden cargar en la memoria durante el cálculo de la ruta o la matriz. El número de caminos que puede cargar es directamente proporcional al valor seleccionado en el parámetro donde 1 es el mínimo y 3 es el valor máximo. Los valores válidos pueden ser 1, 2 o 3. El valor predeterminado es 1.

Consulte Factor de carga de caminos localespara obtener una descripción detallada, así como el impacto del parámetro en el cálculo de ruta o de matriz.

Nota: El parámetro no acepta valores decimales.

Ejemplos

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

http://<server>:<port>/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" 				} 			} 		} 	}] }

Respuesta de error específica de la versión

Cuando ingresa un valor de parámetro no válido (por ejemplo, puntos que quedan fuera de los límites) en una solicitud, la respuesta de error que obtiene depende de la versión que ingresó. Cuando la versión es 1, obtiene valor y error, y cuando la versión es 2, la respuesta sólo contiene el error.

  • Solicitud cuando version es 1:
    http://<server>:<port>/rest/Spatial/erm/databases/usroutedatabase.json? q=routeCostMatrix&startPoints=-73.56565,40.5545,-73.46565,40.4545,epsg:4326& endPoints=-14.321600,60.662859,-73.14343,40.267,epsg:4326&version=1
  • Respuesta:
    {   "value": "Point outside boundaries: (-14.3216,60.662859,0)",   "errors": [     {       "errorCode": 5008,       "userMessage": "Point outside boundaries: (-14.3216,60.662859,0)"     }   ] }
  • Solicitud cuando version es 2:
    http://<server>:<port>/rest/Spatial/erm/databases/usroutedatabase.json? q=routeCostMatrix&startPoints=-73.56565,40.5545,-73.46565,40.4545,epsg:4326& endPoints=-14.321600,60.662859,-73.14343,40.267,epsg:4326&version=2
  • Respuesta:
    {   "errors": [     {       "errorCode": 5008,       "userMessage": "Point outside boundaries: (-14.3216,60.662859,0)"     }   ] }