Матрица расстояний
Сервис построения матрицы расстояний позволяет осуществлять расчёт ETA и расстояния для пар пунктов отправления и назначения, определяющих матрицу. Сервис поддерживает матрицы различной размерности:
- один ко многим;
- многие ко многим;
- многие к одному.
/dm
— точка вызова сервиса расчёта матрицы расстояний.
Запрос
Запрос передается методом HTTP POST. В теле POST-запроса указывается json с обязательными и необязательными полями.
Ниже представлен простой пример JSON.
{"sources":[{"lat":55.796932,"lon":37.537849},{"lat":55.801551,"lon":37.531575}],"targets":[{"lat":55.790412,"lon":37.534313},{"lat":55.788644,"lon":37.536507}],"costing":"pedestrian","id":"DM_Test"}
Этот запрос рассчитывает матрицу времени и расстояния для пешеходного графа для каждой пары точек отправления и назначения.
Обязательные параметры URL запроса
Имя поля | Формат | Описание | Пример |
---|---|---|---|
| hex-string |
|
Обязательные параметры JSON для тела запроса
Имя поля | Формат | Описание | Пример |
---|---|---|---|
| list | Список точек отправления, где |
|
| list | Список точек назначения, где |
|
Максимальное суммарное число точек отправления (sources
) и назначения (targets
) не должно превышать 50 точек.
Дополнительные параметры JSON для тела запроса
Имя поля | Формат | Описание | Пример |
---|---|---|---|
| string | Тип транспорта для построения маршрута: • • • • |
|
| string | Идентификатор запроса, который возвращается вместе с ответом, что позволяет точно установить соответствие запроса и ответа. |
|
| dict | Список параметров расчёта маршрута. Для различных типов транспорта используются различные опции и ограничения, аналогичные тем, которые используются в сервисе построения маршрута. |
|
| string | Единица измерения расстояния в ответе: • • |
|
Ответ
Имя поля | Формат | Описание | Пример |
---|---|---|---|
| string | Идентификатор запроса, который возвращается вместе с ответом, что позволяет точно установить соответствие запроса и ответа. |
|
| list | Список точек назначения, где |
|
| list | Список точек отправления, где |
|
| list | Рассчитанная матрица, содержащая номера элементов матрицы отправления и назначения для каждого из результатов расчёта, а также расчётные значения ETA и EDA. |
|
| float | Общая длина маршрута, указывается в выбранных единицах измерения (EDA). |
|
| float | Расчётное время, требуемое на движение по маршруту (ETA). Расчётное время указывается в секундах. |
|
| integer | Порядковый номер элемент матрицы назначения в запросе. |
|
| integer | Порядковый номер элемента матрицы отправления в запросе. |
|
| string | Единица измерения расстояния в ответе. |
|
Если по запросу ничего не найдено, ответ будет выглядеть следующим образом.
{"status_code":400,"status":"Bad Request"}
Пример
POST-запрос с помощью утилиты curl
curl -X POST
-H "Content-type: application/json"
-H "Accept: application/json"
-d '{"sources":[{"lat":55.796932,"lon":37.537849},{"lat":55.801551,"lon":37.531575}],"targets":[{"lat":55.790412,"lon":37.534313},{"lat":55.788644,"lon":37.536507}],"costing":"pedestrian","id":"DM_Test"}'
"https://geo.rustore.ru/api/dm?api_key=<YOUR_API_KEY>"