1

Ближайшие объекты. Пробег

Topic: Ближайшие объекты. Пробег

Добрый день.
Хочу реализовать функционал из инструмента "Ближайшие объекты".
Алгоритм действий понятен:
1. Для искомого адреса определяем координаты
2. запросом core/search_items обходим все объекты и получаем их текущие координаты
3. рассчитываем расстояния между точками .. и вот здесь затык .. непонятно как получить пробег "по дороге" между двумя точками (координаты нашли в п.1 и п.2)

Вопрос: как имея координаты двух точек .. получить расстояние/пробег "по дороге" между ними ?

P.S. обращаю внимание что пробег нужен не по линии (геометрический), а по дороге

2

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

Например вы можете воспользоваться любым сервисом прокладки маршрутов:
https://wiki.openstreetmap.org/wiki/Rou … _instances

Telegram: Обновления Wialon, Wialon updates
Google Chrome Extensions: Wialon Units Map | Gurtam Forum Notifications | Wialon Apps Launcher
Evgenij Spitsyn, Developer, flespi team
3

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

Именно так я сейчас и делаю. Забираю пробег из Гугла или Яндекса ..

Но .. в Вашей системе реализован этот отчет (Инструменты - Ближайшие объекты)
а значит каким то способом эти расстояния могут быть получены в самом Wialon ..
не может же быть чтобы Wialon рассчитывал их в Гугле например

4

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

Итак .. можно ли, не обращаясь к сторонним сервисам, получить пробег по дороге между двумя точками, используя только функции/запросы Wialon ???

5

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

mi1man, на SDK JS есть функция для рассчёта маршрута по дорогам:

wialon.util.Gis.getRoute(origin.lat, origin.lon, destination.lat, destination.lon, 0, callback);

В ответе будет и расстояние и примерное время пути, а также и сами точки маршрута в закодированном виде.

Единственный момент, если объектов много - придётся в цикле вызывать много таких запросов, что для сервера не очень хорошо.
Рекомендуется в этом случае выполнять эти запросы с некоторым таймаутом.

Есть также запрос wialon.util.Gis.getManyToManyRoute(points, callback).
Points - массив из {lat:0,lon:0}

При помощи него данные можно получить одним запросом, правда поиск будет избыточный, т.к. маршруты будут искаться между всеми точками.
В этом случае полезней был бы запрос getOneToManyRoute. Возможно в будущем он у нас и появится.

Head of Wialon Local Department
Gurtam
6

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

Спасибо за развернутый ответ

7

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

mi1man, не спешите с реализацией своего инструмента используя запросы getRoute или getManyToManyRoute.
К разработке принята задача по добавлению запроса getOneToManyRoute. Это будет наиболее подходящим решением.
Как только этот запрос будет реализован мы об этом сообщим.

Head of Wialon Local Department
Gurtam
8

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

Это будет просто здорово

9

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

mi1man, можете использовать новый запрос getOneToManyRoute.
Пример запроса:
wialon.util.Gis.getOneToManyRoute(55.59489584806276, 28.60730229579555, [{"lat":52.54072112733899,"lon":30.782595264242484}], function(){console.log(arguments);})
Пример возвращаемого результата: [{"status":"OK","distance":{"text":"426.33 km","value":426334.84},"duration":{"text":"5 h 19 min","value":19143}},{"status":"OK","distance":{"text":"21.83 km","value":21831.8},"duration":{"text":"19 min","value":1166}}]

Head of Wialon Local Department
Gurtam
10

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

Отлично .. спасибо

11

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

а в Remote API такой запрос не планируется реализовать по определению расстояния между точками по дорогам? только через ява скрипт можно получить расстояние?

12

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

dusa, этот и некоторые другие методы пока экспериментальные, не до конца залимитированные, соответственно не рекомендуются к массовому использованию. Поэтому они пока не описаны в документации remote api. В SDK JS документации они тоже в ближайшее время будут скрыты до тех пор пока не будут закончены по ним доработки.

Head of Wialon Local Department
Gurtam
13

Ближайшие объекты. Пробег

Re: Ближайшие объекты. Пробег

Необходим запрос в Remote API для получения времени прибытия (ETA) с учетом пробок

ООО "Е-хаус"
www.e-hs.ru
Московская область