API: Routes
M: Listar rutas
HTTP GET:
https://<hostname>/api/route
URL PARAMETERS:
Nombre | Tipo | Requerido | Descripción | |
---|---|---|---|---|
page_size |
Tamaño de Página | Numérico | no | (opcional, default: 5000, max: 5000) Cantidad de elementos que se quiere obtener en la respuesta. |
page_num |
Número de Página | Numérico | no | (opcional, default: 0) Si la cantidad global de elementos es mayor al tamaño de página utilizado, se utiliza este parámetro para obtener una página específica. |
sort_by |
Ordernar por | string | no | Nombre del campo del Route Data Object que se utilizará para ordenar la respuesta. Si el campo es de tipo texto, el orden es alfabético. |
sort_dir |
Dirección de ordenamiento | string | no | Dirección del orden de la respuesta, ascendente (asc) o descendente (desc). |
fields |
Campos | string | no | Nombres de los campos que se quiere obtener del Route Data Object. Deben estar separados por , . |
Este método soporta el uso de filtros.
OUTPUT:
Json con los campos:
success
:boolean
data
:json
Contiene una lista de Route Data Objects.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X GET
https://<hostname>/api/route?page_size=2
RESPUESTA:
{
"success": true,
"data": [
{
"id":"12556",
"client_id":"92",
"name":"Stores Route",
"start_place":"",
"end_place":"",
"type":"2",
"distance":"0",
"avg_duration":"0",
"expected_duration":"0",
"times_driven":"0",
"num_points":"0",
"last_seq":"0",
"the_geom":"",
"creation_date":"2016-07-07",
"changed_date":"2016-07-07 10:21:35-06",
"deactivated":"0"
},
{
"id":"12563",
"client_id":"92",
"name":"Retail Route",
"start_place":"",
"end_place":"",
"type":"0",
"distance":"0",
"avg_duration":"0",
"expected_duration":"0",
"times_driven":"0",
"num_points":"13",
"last_seq":"13",
"the_geom":"01020...CFE23202D40",
"creation_date":"2016-07-11",
"changed_date":"2016-07-11 10:54:24-06",
"deactivated":"0"
}
]
}
M: Ver ruta
HTTP GET:
https://<hostname>/api/route/<id>
OUTPUT:
Json con los campos:
success
:boolean
data
: Route Data Object
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X GET
https://<hostname>/api/route/9584
RESPUESTA:
{
"success":true,
"data":{
"id":"9584",
"client_id":"92",
"name":"Distribution Route",
"start_place":"",
"end_place":"",
"type":"0",
"distance":"0",
"avg_duration":"0",
"expected_duration":"0",
"times_driven":"0",
"num_points":"4",
"last_seq":"4",
"the_geom":"01020...F212D40",
"creation_date":"2015-04-22",
"changed_date":"2015-04-22 15:08:36-06",
"deactivated":"0"
}
}
M: Ver puntos de una ruta trazada
HTTP GET:
https://<hostname>/api/route/<id>/points
OUTPUT:
Json con los campos:
success
:boolean
data
:json
Contiene una lista de RoutePoint Data Objects
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X GET
https://<hostname>/api/route/9584/points
RESPUESTA:
{
"success":true,
"data":[
{
"id":"651638",
"seq":"1",
"x":"-90.54583129783",
"y":"14.566157823613",
"reason":"1",
"fromlast":null,
"speed":null,
"time":null,
"placename":"Walblues"
},
{
"id":"651639",
"seq":"2",
"x":"-90.48086643218",
"y":"14.573698457906",
"reason":"1",
"fromlast":null,
"speed":null,
"time":null,
"placename":"Cheapsmart"
},
{
"id":"651640",
"seq":"3",
"x":"-90.54945817647",
"y":"14.563043801205",
"reason":"1",
"fromlast":null,
"speed":null,
"time":null,
"placename":"CTS"
},
{
"id":"651641",
"seq":"4",
"x":"-90.53704261779",
"y":"14.601851880278",
"reason":"1",
"fromlast":null,
"speed":null,
"time":null,
"placename":"CostInc"
}
]
}
M: Ver geocercas de una ruta de geocercas
HTTP GET:
https://<hostname>/api/route/<id>/pois
OUTPUT:
Json con los campos:
success
:boolean
data
:array
Contiene una lista de los ids de Geocercas en la Ruta de Geocercas
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X GET
https://<hostname>/api/route/9585/pois
RESPUESTA:
{
"success":true,
"data":["132", "448", "458", "467", "513", "556"]
}
M: Crear ruta
HTTP POST:
https://<hostname>/api/route
BODY PARAMETERS:
- Route Data Object. Todos los campos requeridos.
OUTPUT:
Json con los campos:
success
:boolean
id
:string
Id de la ruta creada.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
--data "name=ejemplo&start_place=&end_place=&type=0&expected_duration=7200"
https://<hostname>/api/route
RESPUESTA:
{
"success": true,
"id": "9267"
}
M: Agregar puntos a una ruta trazada
HTTP POST:
https://<hostname>/api/route/<id>/point
BODY PARAMETERS:
- RoutePoint Data Object. Todos los campos requeridos.
OUTPUT:
Json con los campos:
success
:boolean
data
:json
Lista de RoutePoint Data Objects que pertenecen a la Ruta.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
--data "x=-90.54945817647&y=14.563043801205&placename=First"
https://<hostname>/api/route/9584/point
$ curl -u <api_key>:<password>
--data "x=-90.54583129783&y=14.566157823613&placename=Second"
https://<hostname>/api/route/9584/point
M: Agregar una geocerca a una ruta de geocercas
HTTP POST:
https://<hostname>/api/route/<id>/poi
URL PARAMETERS:
Nombre | Tipo | Requerido | Descripción | |
---|---|---|---|---|
id | Id de Ruta | Numérico | sí | Id de la ruta a la que se quiere agregar la geocerca. |
BODY PARAMETERS:
Nombre | Tipo | Requerido | Descripción | |
---|---|---|---|---|
poi_id | Id de Geocerca | Numérico | sí | Id de la geocerca que se quiere agregar a la ruta. |
OUTPUT:
Json con los campos:
success
:boolean
data
:array
Contiene una lista de ids de geocercas en la ruta después de agregar la nueva.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
--data "poi_id=615"
https://<hostname>/api/route/9585/poi
RESPUESTA:
{
"success":true,
"data":["132", "448", "458", "467", "513", "556", "615"]
}
M: Agregar múltiples geocercas a una ruta de geocercas
Nota: No se recomienda para rutas de geocercas con secuencia, ya que el orden enviado de las geocercas no se conserva. En este caso, se recomienda usar el método M: Agregar una geocerca a una ruta de geocercas.
HTTP POST:
https://<hostname>/api/route/<id>/pois
BODY PARAMETERS:
Campo | Nombre | Tipo | Formato | Requerido | Descripción |
---|---|---|---|---|---|
poi_ids | Ids de Geocercas | Lista | Números separados por coma | sí | Ids de las geocercas que se quiere agregar a la ruta. |
OUTPUT:
Json con los campos:
success
:boolean
data
:array
Contiene una lista de ids de geocercas en la ruta después de agregar la nueva.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
--data "poi_ids=645,655,690"
https://<hostname>/api/route/9585/pois
RESPUESTA:
{
"success":true,
"data":["132", "448", "458", "467", "513", "556", "615", "645", "655", "690"]
}
M: Quitar una geocerca de una ruta de geocercas sin secuencia
HTTP DELETE:
https://<hostname>/api/route/<id>/poi/<poi_id>
URL PARAMETERS:
Nombre | Tipo | Requerido | Descripción | |
---|---|---|---|---|
id | Id de Ruta | Numérico | sí | Id de la ruta a la que se quiere quitar la geocerca. |
poi_id | Id de Geocerca | Numérico | sí | Id de la geocerca que quiere quitar de la ruta. |
OUTPUT:
Json con los campos:
success
:boolean
data
:array
Contiene una lista de ids de geocercas en la ruta después de quitar la geocerca.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X DELETE
https://<hostname>/api/route/9585/poi/615
RESPUESTA:
{
"success":true,
"data":["132", "448", "458", "467", "513", "556"]
}
M: Quitar una geocerca de una ruta de geocercas con secuencia
HTTP DELETE:
https://<hostname>/api/route/<id>/seq/<seq>
URL PARAMETERS:
Nombre | Tipo | Requerido | Descripción | |
---|---|---|---|---|
id | Id de Ruta | Numérico | sí | Id de la ruta a la que se quiere quitar la geocerca. |
seq | Número de Secuencia | Numérico | sí | Número de secuencia de la geocerca que quiere quitar de la ruta. |
OUTPUT:
Json con los campos:
success
:boolean
data
:array
Contiene una lista de ids de geocercas en la ruta después de quitar la geocerca.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X DELETE
https://<hostname>/api/route/9585/seq/3
RESPUESTA:
{
"success":true,
"data":["132", "448", "458", "513", "556"]
}
M: Reordenar las geocercas de una ruta de geocercas con secuencia
HTTP PUT:
https://<hostname>/api/route/<id>/poi
URL PARAMETERS:
Nombre | Tipo | Requerido | Descripción | |
---|---|---|---|---|
id | Id de Ruta | Numérico | sí | Id de la ruta a la que se quiere agregar la geocerca. |
BODY PARAMETERS:
Nombre | Tipo | Requerido | Descripción | |
---|---|---|---|---|
poi_ids | Ids de Geocercas | Lista | Números separados por coma | sí |
OUTPUT:
Json con los campos:
success
:boolean
data
:array
Contiene una lista de ids de geocercas en la ruta después de reordenarla.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X PUT
--data "poi_id=467,513,556,132,448,458"
https://<hostname>/api/route/9585/poi
RESPUESTA:
{
"success":true,
"data":["467", "513", "556", "132", "448", "458"]
}
M: Actualizar ruta
HTTP PUT:
https://<hostname>/api/route/<id>
BODY PARAMETERS:
- Route Data Object. Sólo los campos que se quiere modificar.
OUTPUT:
Json con los campos:
success
:boolean
data
:json
Route Data Object con los campos modificados.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X PUT
--data "name=mod&expected_duration=3600"
https://<hostname>/api/route/9584
RESPUESTA:
{
"success":true,
"data":{
"id":"9584",
"client_id":"92",
"name":"mod",
"start_place":"",
"end_place":"",
"type":"0",
"distance":"0",
"avg_duration":"0",
"expected_duration":"3600",
"times_driven":"0",
"num_points":"4",
"last_seq":"4",
"the_geom":"0102...12D40",
"creation_date":"2015-04-22",
"changed_date":"2015-04-22 15:08:36-06",
"deactivated":"0"
}
}
M: Borrar ruta
HTTP DELETE:
https://<hostname>/api/route/<id>
URL PARAMETERS:
Nombre | Tipo | Requerido | |
---|---|---|---|
id | Id de Ruta | Numérico | sí |
OUTPUT:
Json con los campos:
success
:boolean
data
:json
Route Data Object.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X DELETE
https://<hostname>/api/route/9585
RESPUESTA:
{
"success":true,
"data":{
"id":"9585",
"client_id":"92",
"name":"mod",
"start_place":"",
"end_place":"",
"type":"0",
"distance":"0",
"avg_duration":"0",
"expected_duration":"3600",
"times_driven":"0",
"num_points":"4",
"last_seq":"4",
"the_geom":"0102...12D40",
"creation_date":"2015-04-22",
"changed_date":"2015-04-22 15:08:36-06",
"deactivated":"1"
}
}
M: Importar rutas trazadas (CSV)
HTTP POST:
https://<hostname>/api/route/csv
BODY PARAMETERS:
- Texto en formato CSV o archivo CSV incluyendo línea de encabezados en el siguiente orden
- Nombre (máximo 50 caracteres)
- Duración prevista en segundos
- Coordenadas
- El campo de coordenadas puede repetirse indefinidamente según la cantidad de
puntos en la ruta. Cada punto debe contener la longitud y la latitud en grados
decimales y separadas con un espacio. Eg.
-90.5234 14.6567,-90.5345 14.6678
.
- El campo de coordenadas puede repetirse indefinidamente según la cantidad de
puntos en la ruta. Cada punto debe contener la longitud y la latitud en grados
decimales y separadas con un espacio. Eg.
OUTPUT:
Json con los campos:
success
:boolean
data
:json
Contiene una lista de Route Data Objects de las rutas creadas.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X POST
https://<hostname>/api/route/csv
-d "nombre,duracion,coordenadas
ruta1,86400,-90.5123 14.6456,-90.5234 14.6567,-90.5345 14.6678
ruta2,43200,-90.5567 14.6123,-90.5678 14.6234,-90.5789 14.6345,-90.5890 14.6456"
RESPUESTA:
{
"success": true,
"data": {
"routes": [
{
"id": "69",
"client_id": "22",
"name": "ruta1",
"start_place": "?",
"end_place": "?",
"type": "1",
"distance": "0",
"avg_duration": "0",
"expected_duration": "86400",
"times_driven": "0",
"num_points": "310",
"last_seq": "312",
"the_geom": "LINESTRING(-90.5123 14.6456,-90.5234 14.6567,-90.5345 14.6678)",
"creation_date": "2017-04-22 15:08:25",
"changed_date": "2017-04-22 15:08:36",
"deactivated": "0",
"status": "imported"
},
{
"id": "70",
"client_id": "22",
"name": "ruta2",
"start_place": "?",
"end_place": "?",
"type": "1",
"distance": "0",
"avg_duration": "0",
"expected_duration": "43200",
"times_driven": "0",
"num_points": "310",
"last_seq": "312",
"the_geom": "LINESTRING(-90.5567 14.6123,-90.5678 14.6234,-90.5789 14.6345,-90.5890 14.6456)",
"creation_date": "2017-04-22 15:08:46",
"changed_date": "2017-04-22 15:08:57",
"deactivated": "0",
"status": "imported"
}
]
}
}
M: Importar rutas trazadas (KML)
HTTP POST:
https://<hostname>/api/route/kml
BODY PARAMETERS:
- Archivo KML. Puede contener 1 o más trazos que serán convertidos en rutas trazadas.
OUTPUT:
Json con los campos:
success
:boolean
data
:json
Contiene una lista de Route Data Objects de las rutas creadas.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X POST
https://<hostname>/api/route/kml
-d "@rutas/mis-rutas.kml"
RESPUESTA:
{
"success": true,
"data": {
"routes": [
{
"id": "69",
"client_id": "22",
"name": "ruta1",
"start_place": "?",
"end_place": "?",
"type": "1",
"distance": "0",
"avg_duration": "0",
"expected_duration": "86400",
"times_driven": "0",
"num_points": "310",
"last_seq": "312",
"the_geom": "LINESTRING(-90.5123 14.6456,-90.5234 14.6567,-90.5345 14.6678)",
"creation_date": "2017-04-22 15:08:25",
"changed_date": "2017-04-22 15:08:36",
"deactivated": "0",
"status": "imported"
},
{
"id": "70",
"client_id": "22",
"name": "ruta2",
"start_place": "?",
"end_place": "?",
"type": "1",
"distance": "0",
"avg_duration": "0",
"expected_duration": "43200",
"times_driven": "0",
"num_points": "310",
"last_seq": "312",
"the_geom": "LINESTRING(-90.5567 14.6123,-90.5678 14.6234,-90.5789 14.6345,-90.5890 14.6456)",
"creation_date": "2017-04-22 15:08:46",
"changed_date": "2017-04-22 15:08:57",
"deactivated": "0",
"status": "imported"
}
]
}
}
M: Ver asignaciones de todas las rutas
HTTP GET:
https://<hostname>/api/route/assignment
URL PARAMETERS:
Nombre | Tipo | Requerido | Descripción | |
---|---|---|---|---|
page_size |
Tamaño de Página | Numérico | no | (opcional, default: 5000, max: 5000) Cantidad de elementos que se quiere obtener en la respuesta. |
page_num |
Número de Página | Numérico | no | (opcional, default: 0) Si la cantidad global de elementos es mayor al tamaño de página utilizado, se utiliza este parámetro para obtener una página específica. |
sort_by |
Ordernar por | string | no | Nombre del campo del Vehicle Route Data Object que se utilizará para ordenar la respuesta. Si el campo es de tipo texto, el orden es alfabético. |
sort_dir |
Dirección de ordenamiento | string | no | Dirección del orden de la respuesta, ascendente (asc) o descendente (desc). |
fields |
Campos | string | no | Nombres de los campos que se quiere obtener del Vehicle Route Data Object. Deben estar separados por , . |
Este método soporta el uso de filtros.
OUTPUT:
Json con los campos:
success
:boolean
count
: Cantidad total de Rutas Asignadasdata
:json
Contiene una lista de Vehicle Route Data Objects de las rutas creadas.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X GET
https://<hostname>/api/route/assignment
RESPUESTA:
{
"success": true,
"count": 2,
"data": [
{
"id": "14",
"vehicle_id": "240",
"route_id": "14",
"user_id": "64",
"driver_id": "",
"trip_id": "171892",
"last_route_point_id": "-1",
"last_route_point_seq": "-1",
"last_trip_id": "171892",
"last_point_id": "908023",
"extra_envio_num": "",
"extra_boleta": "",
"expected_start_date": "2017-08-07 04:00:00+00",
"actual_start_date": "2017-10-06 18:29:52+00",
"expected_end_date": "2017-10-07 18:29:52+00",
"actual_end_date": "",
"auto_reassign": "0",
"timeout_enabled": "0",
"num_rules_triggered": "",
"max_mts_from_route": "",
"notes": "",
"seq": "0",
"matched_poi_ids": "",
"matched_point_seqs": "",
"percent_completed": "",
"deactivated": "0",
"deactivated_date": "",
"deactivated_user_id": "0"
},
{
"id": "16",
"vehicle_id": "250",
"route_id": "42",
"user_id": "64",
"driver_id": "50",
"trip_id": "163842",
"last_route_point_id": "221",
"last_route_point_seq": "13",
"last_trip_id": "163842",
"last_point_id": "644619",
"extra_envio_num": "",
"extra_boleta": "",
"expected_start_date": "2017-08-08 18:00:00+00",
"actual_start_date": "2017-08-30 22:48:34+00",
"expected_end_date": "2017-08-30 23:48:34+00",
"actual_end_date": "2017-08-30 23:20:47+00",
"auto_reassign": "0",
"timeout_enabled": "0",
"num_rules_triggered": "",
"max_mts_from_route": "",
"notes": "",
"seq": "0",
"matched_poi_ids": "",
"matched_point_seqs": "",
"percent_completed": "",
"deactivated": "0",
"deactivated_date": "",
"deactivated_user_id": "0"
}
]
}
M: Ver asignaciones de una ruta específica
HTTP GET:
https://<hostname>/api/route/<id>/assignment
URL PARAMETERS:
Nombre | Tipo | Requerido | Descripción | |
---|---|---|---|---|
page_size |
Tamaño de Página | Numérico | no | (opcional, default: 5000, max: 5000) Cantidad de elementos que se quiere obtener en la respuesta. |
page_num |
Número de Página | Numérico | no | (opcional, default: 0) Si la cantidad global de elementos es mayor al tamaño de página utilizado, se utiliza este parámetro para obtener una página específica. |
sort_by |
Ordernar por | string | no | Nombre del campo del Vehicle Route Data Object que se utilizará para ordenar la respuesta. Si el campo es de tipo texto, el orden es alfabético. |
sort_dir |
Dirección de ordenamiento | string | no | Dirección del orden de la respuesta, ascendente (asc) o descendente (desc). |
fields |
Campos | string | no | Nombres de los campos que se quiere obtener del Vehicle Route Data Object. Deben estar separados por , . |
Este método soporta el uso de filtros.
OUTPUT:
Json con los campos:
success
:boolean
count
: Cantidad total de asignaciones de la Rutadata
:json
Contiene una lista de Vehicle Route Data Objects de las rutas creadas.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X GET
https://<hostname>/api/route/14/assignment
RESPUESTA:
{
"success": true,
"count": 1,
"data": [
{
"id": "14",
"vehicle_id": "240",
"route_id": "14",
"user_id": "64",
"driver_id": "",
"trip_id": "171892",
"last_route_point_id": "-1",
"last_route_point_seq": "-1",
"last_trip_id": "171892",
"last_point_id": "908023",
"extra_envio_num": "",
"extra_boleta": "",
"expected_start_date": "2017-08-07 04:00:00+00",
"actual_start_date": "2017-10-06 18:29:52+00",
"expected_end_date": "2017-10-07 18:29:52+00",
"actual_end_date": "",
"auto_reassign": "0",
"timeout_enabled": "0",
"num_rules_triggered": "",
"max_mts_from_route": "",
"notes": "",
"seq": "0",
"matched_poi_ids": "",
"matched_point_seqs": "",
"percent_completed": "",
"deactivated": "0",
"deactivated_date": "",
"deactivated_user_id": "0"
}
]
}
O: Vehicle Route Data Object
Cada objeto de ruta de vehículo tiene estos campos
campo | read-only | requerido | |
---|---|---|---|
id |
sí | sí | |
route_id |
sí | no | Id de la ruta que se ejecutó |
last_route_point_id |
sí | no | En una ruta de geocercas con secuencia, el id del último RoutePoint. |
last_route_point_seq |
sí | no | En una ruta de geocercas con secuencia, el índice correlativo del último RoutePoint. |
last_trip_id |
sí | no | El id del viaje del último punto recorrido dentro de la ruta. |
last_point_id |
sí | no | El id del último punto recorrido dentro de la ruta. |
expected_start_date |
sí | no | Fecha estimada de inicio |
actual_end_date |
sí | no | Fecha de inicio |
num_rules_triggered |
sí | no | Cantidad de reglas rotas |
max_mts_from_route |
sí | no | Para rutas trazadas, lo más lejos que se ha estado de la ruta. |
seq |
sí | no | |
notes |
sí | no | |
deactivated |
sí | no | |
deactivated_date |
sí | no | |
trip_id |
sí | no | |
user_id |
sí | no | |
auto_reassign |
sí | no | (0, 1) reasigna la ruta luego de completarse o expirar |
vehicle_id |
sí | no | |
timeout_enabled |
sí | no | |
eta |
sí | no | Duración estimada |
delay |
sí | no | |
matched_poi_ids |
sí | no | En una ruta de geocercas, los ids de geocercas que se han visitado en el orden en el que se han visitado. |
matched_point_seqs |
sí | no | En una ruta de geocercas ordenadas, los índices correlativos de las geocercas que se han visitado en el orden que se han visitado. |
percent_completed |
sí | no | |
creation_date |
sí | no |
O: Route Data Object
Cada objeto de ruta tiene estos campos:
campo | read-only | requerido | |
---|---|---|---|
id |
sí | no | |
client_id |
sí | no | |
name |
no | sí | |
start_place |
no | sí | siempre enviar "" |
end_place |
no | sí | siempre enviar "" |
type |
no | sí | Uno de los valores de Route types |
distance |
no | no | |
avg_duration |
no | no | |
expected_duration |
no | no | en segundos |
times_driven |
sí | no | |
num_points |
sí | no | |
last_seq |
sí | no | |
the_geom |
no | no | |
creation_date |
sí | no | |
changed_date |
sí | no | |
deactivated |
sí | no |
Route types
- 0: Ruta de Geocercas con secuencia (importa el orden)
- 1: Ruta Trazada (trazado del recorrido completo, importa el orden)
- 2: Ruta de Geocercas sin secuencia (no importa el orden)
O: RoutePoint Data Object
Cada objeto de punto de ruta tiene estos campos:
campo | read-only | requerido | |
---|---|---|---|
id |
sí | no | |
seq |
sí | no | |
x |
no | sí | coordenadas en grados |
y |
no | sí | coordenadas en grados |
reason |
no | no | |
fromlast |
no | no | |
speed |
no | no | |
time |
no | no | |
placename |
no | sí |