Skip to content
Мои токены Поддержка
Для подтверждения действия введите пароль
Чтобы продолжить, введите пароль для пользователя

Расчёт расстояний

Сервис «Расчёт расстояний» помогает построить точные маршруты с учётом особенностей грузового транспорта, а также актуальных дорожных условий и ограничений: паромы, зимники и платные дороги. Сервис позволяет определять расстояния между населёнными пунктами и координатами, а также исключать из маршрута определённые регионы и страны.

Доступ к сервису

Доступ к API Расчёта расстояний платный, предоставляется по запросу.

Чтобы узнать условия использования, свяжитесь с отделом продаж по телефону +7 812 602-01-06.

Методы получения расстояния и маршрута

Расчёт расстояний и построение маршрутов осуществляются от/до точки, которые можно указать как node_id (идентификатор населённого пункта), geo_point (координата). Если указано оба варианта, используется только координата.

Авторизация
Получение расстояния (платный)
post /gw/gis-rm/v1/distance
Запрос
Модель
{...}

Фильтр маршрута

}
Пример запроса
curl 'https://api.ati.su/gw/gis-rm/v1/distance' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"nodes":[{"node_id":1,"geo_point":{"lat":59.8913,"lon":30.3727}}],"options":{"within_country":false,"exclude_mkad":false,"exclude_ukraine":false,"allow_ferry":false,"allow_winter_road":false,"allow_toll_road":false,"strategy":1,"customs_delay":120,"ferry_delay":120,"max_speed":110,"weight":10000}}'
Ответ
200 OK
Модель
{...}

Расстояние в метрах

status: string

success - нашли маршрут по всем параметрам фильтра. without_restrictions - не нашли маршрут по всем параметрам фильтра, но нашли маршрут без ограничений

platon_rate: double

Стоимость проезда по Платону в рублях РФ

read only
platon_distance: int32

Общее расстояние, преодоленное по Платону в метрах

toll_distance: int32

Общее расстояние платных дорог в метрах

total_distance: int32

Расстояние в метрах

read only
travel_time: int32

Время в пути в секундах с учетом параметров и задержек

}
Пример
{...}
"status":"string",
"platon_distance":0,
"toll_distance":0,
"travel_time":0
}
400 Bad Request
Модель
{...}
error: string
read only
reason: string
read only
}
Пример
{...}
"error_list":[...],
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}
],
"details":{...}
"any-key":null
}
}
403 Forbidden
Модель
{...}
error: string

Текстовый код ошибки

reason: string

Человекочитаемое описание ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}
404 Not Found
Модель
{...}
error: string

Текстовый код ошибки

reason: string

Человекочитаемое описание ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}
429 Too Many Requests
Модель
{...}
error: string

Текстовый код ошибки

reason: string

Человекочитаемое описание ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}
Авторизация
Получение маршрута (платный)
post /gw/gis-rm/v1/route-info
Запрос
Модель
{...}

Фильтр маршрута

exclude_regions: [int32]

Не заезжать в указанные регионы

exclude_countries: [int32]

Не заезжать в указанные страны

}
Пример запроса
curl 'https://api.ati.su/gw/gis-rm/v1/route-info' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"options":{"within_country":false,"exclude_mkad":false,"exclude_ukraine":false,"allow_ferry":false,"allow_winter_road":false,"allow_toll_road":false,"strategy":1,"customs_delay":120,"ferry_delay":120,"max_speed":110,"weight":10000},"map_bounds":{"north_east":{"lat":60.86631,"lon":44.121094},"south_west":{"lat":54.591164,"lon":23.192139}},"nodes":[{"node_id":1,"geo_point":{"lat":59.8913,"lon":30.3727},"type":0}],"exclude_regions":[0],"exclude_countries":[0]}'
Ответ
200 OK
Модель
{...}
status*: string

success - нашли маршрут по всем параметрам фильтра. without_restrictions - не нашли маршрут по всем параметрам фильтра, но нашли маршрут без ограничений

platon_rate*: double

Стоимость проезда по Платону в рублях РФ

platon_distance*: int32

Общее расстояние, преодоленное по Платону в метрах

toll_distance*: int32

Общее расстояние платных дорог в метрах

total_distance*: int32

Общее расстояние в метрах

travel_time*: int32

Время в пути в секундах с учетом параметров и задержек

}
Пример
{...}
"route_info":{},
"visual_route":{...},
"segments":[...]
{...}
"fare_visualization_type":0,
"geo_points":[...],
[...]
{...}
"lat":0.5,
"lon":0.5
}
]
],
"distance":0
}
]
},
"status":"string",
"platon_rate":0.5,
"platon_distance":0,
"toll_distance":0,
"total_distance":0,
"travel_time":0
}
400 Bad Request
Модель
{...}
error: string
read only
reason: string
read only
}
Пример
{...}
"error_list":[...],
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}
],
"details":{...}
"any-key":null
}
}
403 Forbidden
Модель
{...}
error: string

Текстовый код ошибки

reason: string

Человекочитаемое описание ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}
404 Not Found
Модель
{...}
error: string

Текстовый код ошибки

reason: string

Человекочитаемое описание ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}
429 Too Many Requests
Модель
{...}
error: string

Текстовый код ошибки

reason: string

Человекочитаемое описание ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}

Методы получения ближайших населённых пунктов с расстоянием по дорогам

Авторизация
Получение ближайших населённых пунктов с расстоянием по дорогам (платный)
post /gw/gis-rm/v1/nearest-cities/with-roads-distance
Запрос
Модель
{...}
radius: int32
>=1000 and <= 300000

Радиус поиска в метрах

Значение по умолчанию: 200000 Максимальное значение: 300000

cities_count: int32
>=1 and <= 20

Количество населённых пунктов в выдаче

Значение по умолчанию: 5 Максимальное значение: 20

large_cities_count: int32
>=0 and <= 20

Количество крупных населённых пунктов в выдаче (население от 100 000 человек)

Значение по умолчанию: 3 Максимальное значение: 20

}
Пример запроса
curl 'https://api.ati.su/gw/gis-rm/v1/nearest-cities/with-roads-distance' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"start_point":{"node_id":1,"geo_point":{"lat":59.8913,"lon":30.3727}},"radius":200000,"cities_count":5,"large_cities_count":3}'
Ответ
200 OK
Модель
[{...}]

Информация о ближайшем населённом пункте

city_id: int32

Идентификатор населённого пункта

distance: int32

Расстояние до населённого пункта по дорогам в метрах

time: int32

Время в пути до населённого пункта в секундах

}]
Пример
[...]
{...}
"city_id":0,
"distance":0,
"time":0
}
]
400 Bad Request
Модель
{...}
error: string
read only
reason: string
read only
}
Пример
{...}
"error_list":[...],
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}
],
"details":{...}
"any-key":null
}
}
403 Forbidden
Модель
{...}
error: string

Текстовый код ошибки

reason: string

Человекочитаемое описание ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}
429 Too Many Requests
Модель
{...}
error: string

Текстовый код ошибки

reason: string

Человекочитаемое описание ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}

Метод получения всех населённых пунктов, до которых можно доехать по дорогам, не превышая заданное расстояние

Авторизация
Поиск в радиусе. Получение всех населённых пунктов, до которых можно доехать по дорогам, не превышая заданное расстояние (платный)
post /gw/gis-rm/v1/cities-in-radius
Запрос
Модель
{...}
city_id*: int32

Идентификатор населённого пункта

cities_key*: string

Ключ списка населённых пунктов для дополнительной фильтрации

within_country: boolean

Искать населённые пункты только внутри страны

Значение по умолчанию: true

limit: int32
>=0 and <= 10000

Максимальное количество результатов

Минимальное значение: 0 Максимальное значение: 10000 Значение по умолчанию: 0 без лимита

radius*: int32
>=1000 and <= 300000

Максимальное расстояние в метрах

Минимальное значение: 1 000 Максимальное значение: 300 000

}
Пример запроса
curl 'https://api.ati.su/gw/gis-rm/v1/cities-in-radius' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"city_id":1,"cities_key":"active-cities","within_country":true,"limit":10,"radius":300000}'
Ответ
200 OK
Модель
[{...}]

Информация о населённом пункте

c: int32

Идентификатор населённого пункта

d: int32

Расстояние до населённого пункта в метрах

}]
Пример
[...]
{...}
"c":0,
"d":0
}
]
400 Bad Request
Модель
{...}
error: string

Текстовый код ошибки

reason: string

Человекочитаемое описание ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}
403 Forbidden
Модель
{...}
error: string

Текстовый код ошибки

reason: string

Человекочитаемое описание ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}
429 Too Many Requests
Модель
{...}
error: string

Текстовый код ошибки

reason: string

Человекочитаемое описание ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...}
"any-key":null
}
}

Устаревший веб сервис