1

Определение геозоны в которой сейчас находится обьект

Topic: Определение геозоны в которой сейчас находится обьект

Добрый день. Вроде просмотрел все в руководстве к Sdk, но так и не нашёл есть ли запрос возвращающий геозону, в которой в данный момент находится объект. Я нашел только способ с помощью отчетов. Но мне кажется это слишком не рациональным.

2

Определение геозоны в которой сейчас находится обьект

Re: Определение геозоны в которой сейчас находится обьект

Вы правы, вход/выход из геозоны анализируется в отчетах методом перебора соседних сообщений.
По сути, объект и геозона не связаны никак.

Maksim
Wialon Platform QA
Gurtam
3

Определение геозоны в которой сейчас находится обьект

(edited by solveMe 21/04/2014 09:18:43)

Re: Определение геозоны в которой сейчас находится обьект

Но вот координаты и геозоны как раз то могут быть связаны. В Remote API даже есть запрос resource/get_zones_by_point (чей формат не удовлетворяет спецификации json, если судить по документации:

"zoneId":{<long>:[<long>]}

Ключ должен быть только строкой, а тут long). А в Pro вообще такого запроса НЕТЪ, что очень печалит. Приходится городить адские лисапеды. Поэтому лютейшим образом голосую за добавление похожего запроса в Pro.

4

Определение геозоны в которой сейчас находится обьект

Re: Определение геозоны в которой сейчас находится обьект

solveMe,  увы PRO больше не дорабатывается. Никаких измненений вноситься не будет -- фиксятся только найденные дефекты.
По команде:
на практике так: "zoneId":{"resId":[zId,...],"lon":"..","lat":".."}
Замечу, что парсер Виалона распознает имена полей даже без кавычек.
В документации ошибка. Исправлю.

Maksim
Wialon Platform QA
Gurtam
5

Определение геозоны в которой сейчас находится обьект

Re: Определение геозоны в которой сейчас находится обьект

По части типа данных ключей, тут скорее проблема не в виалоне, а в том, что при конструировании json объекта средствами разных ЯП, они (компиляторы или интерпретаторы или еще что-нибудь) будут ругаться на это поле, и придется руками его вносить в строку (что весьма муторно). А по поводу самого запроса, эхх очень жаль. Хорошо хоть, что есть запрос позволяющий получить координаты вершин геозоны, так что проблема вполне решаема.

Кстати если не секрет какой алгоритм использует Wialon при разрешении запроса resource/get_zones_by_poin? Я тут на википедии посмотрел, существует довольно много способов для определения вхождения точки в пределы многоугольника, вот стало интересно, что вы выбрали.

6

Определение геозоны в которой сейчас находится обьект

Re: Определение геозоны в которой сейчас находится обьект

http://forum.openstreetmap.org/viewtopic.php?id=16875
Метод, в котором только раз нужно обойти все вершины.

Maksim
Wialon Platform QA
Gurtam
7

Определение геозоны в которой сейчас находится обьект

(edited by solveMe 23/04/2014 01:11:18)

Re: Определение геозоны в которой сейчас находится обьект

Спасибо за ссылку. Насколько я понял вы говорите про обход всех точек и вычисление векторного произведения (которое для внутренней точки должно быть всегда одного знака)? Я пока наваял скрипт на Python на основе метода бесконечного луча. Получилось практически то же самое, что и у товарища, предложившего алгоритм на С  (по Вашей ссылке), с точностью до оператора и поправкой на язык. Видимо я не настолько безнадежен, как я думал.
Еще раз спасибо за помощь.

8

Определение геозоны в которой сейчас находится обьект

Re: Определение геозоны в которой сейчас находится обьект

Добрый день. Я хотел бы узнать как исключить уведомления потери сигнала из определенной геозоны т.е. не показывать потерю связи в автопарке?
Заранее благодарю.

С уважением, Олжас.