Прив'язка точок до дорог /snaptoroad
Snap to Road приймає список точок отриманих від супутникових систем навігації (GNSS) у вигляді широти, довготи, зібраних впродовж маршруту, та повертає список точок, що формують маршрут, прив'язаний до доріг на карті. Ви також можете використовувати інтерполяцію по заданих точках. Тоді відповіддю буде лінія, що відповідає геометрії дороги.
Цей запит може бути важливою частиною при розробці систем стеження, а саме при візуалізації отриманих супутникових даних.
Схема запиту
https://api.visicom.ua/data-api/5.0/core/snaptoroad.json?[points][&interpolate][&mode][&key][&callback]
Параметри запиту
Параметр | Опис |
---|---|
points|p | Масив координат точок. Точка задається широтою та довготою у вигляді lng,lat . Символ | — роздільник точок у списку. Максимальна кількість точок - 250 |
interpolate|l | Чи необхідна інтерполяція точок до линії, що повторює повну геометрію дороги з урахуванням перехресть та тунелів. У цьому випадку відповідь буде містити об'єкт LineString. За замовчуванням false . |
mode|m | Режим прив'язки точок. Може приймати значення driving (по автомобільним дорогам, приймається за замовчуванням) або walking — усі дороги. |
separate | s | При зазначеному параметрі кожна точка в запиті розглядається окремо і не враховуються попередні точки (interpolate - ігнорується навіть якщо вказано). Можна використовувати і коли потрібно прив'язати кілька пристроїв до доріг в одному запиті. За замовчуванням false . |
key | Ключ авторизації. |
callback | Ім'я функції для JSONP запиту до сервера. |
Приклад запиту
https://api.visicom.ua/data-api/5.0/core/snaptoroad.json?points=30.36277,50.51605|30.49667,50.49508|30.59761,50.45226|30.51383,50.44789&interpolate=true&key=YOUR_API_KEY
Відповідь на запит
Структура відповіді на запит snaptoroad
залежить від значення параметру interpolate
та кількості переданих точок.
Передана одна точка, за любого значення параметру interpolate
.
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
30.42615,
50.45119
]
}
}
У відповіді повертається GeoJSON-об'єкт типу Feature. У полі geometry
міститься об'єкт типу Point з координатами, що прив'язані до дороги.
interpolate = false
(за замовчуванням) та передано декілька точок
{
"type": "FeatureCollection",
"bbox": [
30.42615,
50.44802,
30.44679,
50.45716
],
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
30.42615,
50.45119
]
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
30.43615,
50.46119
]
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
30.44615,
50.47119
]
}
}
]
}
У відповіді повертається GeoJSON-об'єкт типу FeatureCollection. Поле features містить масив об'єктів типу Feature з полем geometry типу Point. Кожна точка містить координати, що прив'язані до дороги.
interpolate = true
та передано декілька точок
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
30.42615,
50.45119
],
[
30.42749,
50.45097
],
[
30.42674,
50.44899
],
[
30.43016,
50.44846
],
[
30.43318,
50.44802
],
[
30.43347,
50.44879
],
[
30.4339,
50.44997
],
[
30.43456,
50.45171
],
[
30.43622,
50.45597
]
]
},
"bbox": [
30.42615,
50.44802,
30.44679,
50.45716
]
}
У відповіді повертається GeoJSON-об'єкт типу Feature. У полі geometry
міститься об'єкт типу LineString з координатами маршруту, що проходить через прив'язані до доріг точки.