API геороутинга

Расстояние и время между двумя точками

Endpoint: /router/route

Метод: GET

Допустимые параметры:

  • coords1 (string, через запятую) - координаты первой точки lat,lon (обязательно)
  • coords2 (string, через запятую) - координаты второй точки lat,lon (обязательно)
  • profile (string) - тип расчета (driving - на машине, walking - пешком, cycling - на велосипеде) (не обязательно, по умолчанию driving)

Примеры запроса

GET /api/v1/router/route?coords1=54.2877798%2C48.3015961&coords2=54.2877798%2C49.3015961&profile=cycling

Пример ответа

{
    "distance": 321018.2,
    "duration": 64435.8,
    "legs": [
        {
            "distance": 321018.2,
            "duration": 64435.8,
            "steps": {},
            "summary": "",
            "weight": 64435.8
        }
    ],
    "weight": 64435.8,
    "weight_name": "routability"
}


Использование из OpenResty

   local osrm = require('helpers.osrm.api')

   osrm.route({[55.1,45.2],[45.2,45.1]}) 

Поиск расстояния до ближайшей улицы Street Network

Endpoint: /router/nearest

Метод: GET

Допустимые параметры:

  • coords (string, через запятую) - координаты lat,lon (обязательно)

Примеры запроса

GET /api/v1/router/nearest?coords=54.2877798%2C48.3015961

Пример ответа

{
    "distance": 6387.450233,
    "hint": "un7TkwOA05MAAAAAHQMAAKteAABNRgEAAAAAAExnXUNGXtJFI0e1RgAAAAAdAwAAq14AAE1GAQBXFAEAp4A8A0fl4QKkXTwDHAbhAhoAXxEAAAAA",
    "location": [
        54.296743,
        48.358727
    ],
    "name": "",
    "nodes": [
        12448253770,
        12448253770
    ]
}


Использование из OpenResty

   local osrm = require('helpers.osrm.api')

   osrm.nearest([55.1,45.2])