GetRouteCostMatrix
Descripción
The GetRouteCostMatrix service calculates the travel time and distances between an array of start and end locations and returns the route that is either the fastest or the shortest. 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.
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}
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 | sí | 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 | sí | 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:
|
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":
[
{
"startPoint":
{
"type": "Point",
"coordinates":
[
-73.56567672202618,
40.554384822358614
],
"crs":
{
"type": "name",
"properties":
{
"name": "epsg:4322"
}
}
},
"endPoint":
{
"type": "Point",
"coordinates":
[
-73.34345711862802,
40.66688488742393
],
"crs":
{
"type": "name",
"properties":
{
"name": "epsg:4322"
}
}
},
"distance": 35.268,
"distanceUnit": "km
},
{
"startPoint":
{
"type": "Point",
"coordinates":
[
-73.46567684021008,
40.454384834155185
],
"crs":
{
"type": "name",
"properties":
{
"name": "epsg:4322"
}
}
},
"endPoint":
{
"type": "Point",
"coordinates":
[
-73.34345711862802,
40.66688488742393
],
"crs":
{
"type": "name",
"properties":
{
"name": "epsg:4322"
}
}
},
"distance": 44.444,
"distanceUnit": "km"
}
]
}