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