05 Апрель 2025, 01:44:48
⁣ ⁣
За сутки 117 объектов добавлено в базу, 399 объектов отредактировано, 160 объектов удалено.

Автор Тема: Углы, дистанция, азимут срабатывания SpeedCam  (Прочитано 28190 раз)

Yurych

  • Ветеран
  • *****
  • Сообщений: 291
  • Карма: 154
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #45 : 26 Январь 2012, 13:51:23 »
1
В общем-то - не меняет, согласен.
Замечу лишь, что вот это значение (Direction) хранится в битовом представлении, занимает всего 5 бит. А не 2 байта.

NickF

  • Гость
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #46 : 27 Январь 2012, 02:07:48 »
0
Правильно ли я понимаю, что при установке точки, чтобы понять как она реально сработает в Навителе надо:
1) Выставленный азимут точки убавить до меньшего, кратного 15
2) угол сектора расширить до 30 гр.
3) дистанцию выставить 1000 м
После всех этих манипуляций мы увидим реальный сектор, где должна сработать точка

Yurych

  • Ветеран
  • *****
  • Сообщений: 291
  • Карма: 154
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #47 : 27 Январь 2012, 05:07:03 »
1
1) Выставленный азимут точки убавить до меньшего, кратного 15
2) угол сектора расширить до 30 гр.
3) дистанцию выставить 1000 м
После всех этих манипуляций мы увидим реальный сектор, где должна сработать точка
Насколько я понимаю понимаю логику Навитела при обработке точек - именно так Навител и делает.
Но это - imho. Каких-либо комметариев от навителовских программистов я никогда не видел.

AlexandrCH

  • Ветеран
  • *****
  • Сообщений: 863
  • Карма: 244
  • MapCamDroid, Яндекс
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #48 : 27 Январь 2012, 06:49:17 »
1
Правильно ли я понимаю, что при установке точки, чтобы понять как она реально сработает в Навителе надо:
1) Выставленный азимут точки убавить до меньшего, кратного 15
2) угол сектора расширить до 30 гр.
3) дистанцию выставить 1000 м
После всех этих манипуляций мы увидим реальный сектор, где должна сработать точка
Отсюда родилось предложение к Mic. Сделать что-то типа предварительного просмотра секторов сработки точки в разных навипрогах со свойственными им секторами и дальностями. Что-бы при желании можно было проверить корректно ли сработает точка у коллег.

NickF

  • Гость
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #49 : 27 Январь 2012, 20:08:59 »
0
За этот пост http://mapcam.info/forum/index.php?topic=1082.msg14102#msg14102 Yurych-у плюс поставил, потому как видно, что человек технически грамотный (и по форуму Navitel-овскому тоже видно). Считаю что нужен в здешних рядах
« Последнее редактирование: 27 Январь 2012, 20:11:11 от NickF »

Max_rl

  • Ветеран
  • *****
  • Сообщений: 898
  • Карма: 619
  • Спец по Ситигиду и немного по Навителу. Картограф
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #50 : 27 Январь 2012, 23:41:54 »
0
Насколько я понимаю понимаю логику Навитела при обработке точек - именно так Навител и делает.
Но это - imho. Каких-либо комметариев от навителовских программистов я никогда не видел.
Вот и я наконец смог присоединится.
Всё прочитал, но не согласен. Просто при моём кол-ве установленных точек и куче гемора по их отладке, могу точно сказать, что не всё так просто, нет линейной зависимости от угла и при смещении азимута даже на 10 град от центра дороги, точка может не сработать, а при смещении на 5-10 сработает не на дистанции 900м
Очень там всё хитро.

Mic

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 3795
  • Карма: 935
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #51 : 28 Январь 2012, 00:51:09 »
0
Все верно. Зависимость не линейная а дискретная. Благодаря Yurych, мы знаем, что данные об азимуте хранятся в 5 битах. А это значит максимальное хранимое число 32 , т.е хранится один из 24 номеров сектора в 150.
Сдвигая азимут на 100 от дороги, можно оказаться в соседнем секторе, а при сдвиге на 50 остаться в прежнем.
Проверяем наши догадки: Установим два объекта с азимутом 0 и 10 градусов.


Теперь зальем их в Navitel.


Как видим азимут у обеих стал совершенно идентичным. :)

Из чего можно сделать вывод, что реальный азимут у обеих точек 7.50

Но мы не знаем какой используется угол обзора (технически можно было использовать любой).


P.S. Кстати вот и ответ на вопрос: Почему стрелочки в навителе не всегда совпадают с азимутом на проекте?    ;)



 
     
« Последнее редактирование: 28 Январь 2012, 00:54:37 от Mic »

Yurych

  • Ветеран
  • *****
  • Сообщений: 291
  • Карма: 154
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #52 : 28 Январь 2012, 07:40:04 »
3
не всё так просто, нет линейной зависимости от угла и при смещении азимута даже на 10 град от центра дороги, точка может не сработать, а при смещении на 5-10 сработает не на дистанции 900м
Очень там всё хитро.
Хитро, это да...
Окончательный сектор видимости определяется в этом случае не столько азимутом, который мы иной раз выверяем так тщательно, а вот этой самой 15-градусной границей.
Поясню мысль:
Пусть дорога идет прямо, по азимуту 61 градус. Мы выставит объекту этот же азимут. На здешней карте зелёный сектор будет тоже "отцентрирован" на этот же азимут в 61°, т.е. сектор будет равномерно расширяться вдоль дороги. Но! Если Навител хранит в индексе только граничное значение (а реального азимута я там так и не нашел), то он будет считать так: 60° - левая граница сектора, 60+30° - правая. И каким будет сектор? Одна сторона будет почти параллельна дороге (отклонение в 1°), а вторая - перекроет большую область справа от дороги. Т.е. сектор станет резко асимметричным относительно дороги.  А если дорога изгибается чуть-чуть, в сторону меньшего азимута? Или координаты чуть-чуть сдвинуты? Вот вам и загадки с оповещениями...

Вчера листал форум, где-то видел (не помню уже где) вопрос по нескольким точкам в Навителе, на которые оповещение всегда выдаётся слишком поздно, а на некоторые - совсем не выдаётся. Думаю, что если проанализировать их с точки зрения этой вот гипотезы (а это всё таки гипотеза, я не уверен на 100% в своей правоте), то там либо небольшая неточность в координатах, либо небольшой изгиб дороги, либо небольшая неточность в определении азимута. Поиграв с азимутом и координатами, эти точки можно сделать видимыми, imho.
« Последнее редактирование: 28 Январь 2012, 07:48:58 от Yurych »

Yurych

  • Ветеран
  • *****
  • Сообщений: 291
  • Карма: 154
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #53 : 28 Январь 2012, 07:47:38 »
2
За этот пост Yurych-у плюс поставил,
Я вам искренне благодарен за это.
Но всё же должен сказать, что я сюда пришел не за кармой или иными рейтингами, а потому, что есть интерес. Остальное как-то менее важно.

NickF

  • Гость
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #54 : 28 Январь 2012, 09:46:56 »
1
За этот пост Yurych-у плюс поставил,
Я вам искренне благодарен за это.
Но всё же должен сказать, что я сюда пришел не за кармой или иными рейтингами, а потому, что есть интерес. Остальное как-то менее важно.
Да тут все не из-за кармы, просто она дает некоторые дополнительные возможности, ну и служит косвенной оценкой адекватности человека. Так что, "не отбрыкивайтесь" :) У кого-то за час набирается -5  :'(, а у другого +5 за сутки. *YES_*
« Последнее редактирование: 28 Январь 2012, 09:48:56 от NickF »

VovaSha1971

  • Постоялец
  • ***
  • Сообщений: 32
  • Карма: 32
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #55 : 21 Февраль 2012, 12:35:10 »
0
Окончательный сектор видимости определяется в этом случае не столько азимутом, который мы иной раз выверяем так тщательно, а вот этой самой 15-градусной границей.
Поясню мысль:
Пусть дорога идет прямо, по азимуту 61 градус. Мы выставит объекту этот же азимут. На здешней карте зелёный сектор будет тоже "отцентрирован" на этот же азимут в 61°, т.е. сектор будет равномерно расширяться вдоль дороги. Но! Если Навител хранит в индексе только граничное значение (а реального азимута я там так и не нашел), то он будет считать так: 60° - левая граница сектора, 60+30° - правая. И каким будет сектор? Одна сторона будет почти параллельна дороге (отклонение в 1°), а вторая - перекроет большую область справа от дороги. Т.е. сектор станет резко асимметричным относительно дороги.  А если дорога изгибается чуть-чуть, в сторону меньшего азимута? Или координаты чуть-чуть сдвинуты? Вот вам и загадки с оповещениями...
Вот сейчас живой пример IDX: 175375 Азимут 105, и по предположению Yurych, это должно являться левой границей сектора в Навителе. Тогда угол обзора уйдет к югу (105+30),
и в Навителе это предупреждение вообще не должно срабатывать. А автор проверял - работает. Или я что-то недопонимаю?  ???

Yurych

  • Ветеран
  • *****
  • Сообщений: 291
  • Карма: 154
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #56 : 21 Февраль 2012, 13:24:47 »
0
Ваша картинка отличается от того, что я увидел в IDX: 175375... Там сектор (азимут 105, угол 30) нормально покрывает дорогу, хоть на мелком, хоть на крупном масштабе. То есть я не вижу пока противоречия :)

VovaSha1971

  • Постоялец
  • ***
  • Сообщений: 32
  • Карма: 32
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #57 : 21 Февраль 2012, 14:07:14 »
0
Так ведь здесь азимут - это биссектриса сектора? Я и подкрутил так, чтобы наглядно было, как это Навител должен видеть. (105+15/2)=112,5. Я и поставил 113 для наглядности. А реально, конечно, стоит 105 и дорогу покрывает. И угол там 15, а не 30. Или я туплю? :( Поправьте, если что не так понял :)   
« Последнее редактирование: 21 Февраль 2012, 14:10:55 от VovaSha1971 »

Yurych

  • Ветеран
  • *****
  • Сообщений: 291
  • Карма: 154
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #58 : 21 Февраль 2012, 14:46:26 »
0
Так ведь здесь азимут - это биссектриса сектора? Я и подкрутил так, чтобы наглядно было, как это Навител должен видеть. (105+15/2)=112,5. Я и поставил 113 для наглядности. А реально, конечно, стоит 105 и дорогу покрывает. И угол там 15, а не 30.
Я всё же хочу ещё раз сказать, что предположения по поводу расчета угла Навителом - это только предположения, гипотеза. Хотя они и проверялись на практике, но проверялись с навигатором, а не с точными приборами, да и проверялись всего на нескольких точках.
То есть мои слова не есть истина в последней инстанции.

А что касается вот этой точки, то она пока что подтверждает гипотезу. Применительно в этому случаю Навител должен делать так:
1. Прочитать азимут. Он = 105.
2. Округлить азимут до ближайшего меньшего угла, кратного 15. Это будет то же число, 105 градусов.
3. Добавить к этому углу 30 градусов - это ширина сектора. Сектор - всегда в 30 градусов. Ширина сектора, указанная в нашей базе, Навителу не доступна, т.е. роли не играет.
4. Полученный сектор (от 105 до 135 градусов) использовать для оповещения.

То, что мы видим на картинке - сектор даже в 15 градусов покрывает дорогу. Тем более он покроет эту дорогу при 30 градусах.
Азимут - действительно биссектриса, но азимут-то там 105, а не 113 градусов!.

Навител не хранит в индексе истинный угол (азимут), который мы указываем в базе, а хранит вот этот, округленный угол. Хотя, при желании, программа могла бы найти в файле соответствующую строку и прочитать оттуда азимут, но в индексе я не увидел указателей на соответствующие строки, а рыться в файле прямым перебором для поиска каждой строки... ну вряд ли в Навителе такие уже неграмотные программисты.

VovaSha1971

  • Постоялец
  • ***
  • Сообщений: 32
  • Карма: 32
    • Просмотр профиля
Re: Углы, дистанция, азимут срабатывания SpeedCam
« Ответ #59 : 21 Февраль 2012, 19:32:10 »
0
Попробую поподробнее объяснить свои "крутилки" :)
Цитировать
Применительно в этому случаю Навител должен делать так:
1. Прочитать азимут. Он = 105.
2. Округлить азимут до ближайшего меньшего угла, кратного 15. Это будет то же число, 105 градусов.
3. Добавить к этому углу 30 градусов - это ширина сектора. Сектор - всегда в 30 градусов. Ширина сектора, указанная в нашей базе, Навителу не доступна, т.е. роли не играет.
4. Полученный сектор (от 105 до 135 градусов) использовать для оповещения.
Если мы принимаем это таким образом, то на нашей карте это должно выглядеть, как сектор от 105 до 135 градусов (как это, по нашему мнению, видит Навител).  Чтобы нарисовать на нашей карте такой сектор, надо поставить азимут 120 (биссектриса данного сектора). Правильно? На картинке это будет выглядеть так:

По картинке видно, что данный сектор дорогу не захватывает. Точнее, захватывает на пересечении с бетонкой, а вот перекресток с Некрасова - точно не попадает в створ сектора. wiktor90 же проверял, и утверждает, что срабатывает. Может тогда логичнее предположить, что Навител докручивает этот округленный азимут в обе стороны, +-15 градусов? Стрелка со скрина, который выложил Kimson, четко направлена на 105 градусов. А вот куда он (Навител то бишь) дальше от этого азимута сектор рисует - вопрос.
Если предположить, что все-таки Навител в обе стороны крутит от 105 по 15 градусов, то спидкам должен по логике сработать при движении по ул. Комарова от Некрасова (на второй картинке), чего в случае, если сектор от 105 до 135 быть не должно. Надо просимулировать попробовать.
Извиняюсь, если загрузил, но очень уж хочется разобраться.  *HELP* :)

P.S. Сейчас еще одна крамольная мысль пришла: а что если алгоритм в Навителе работает таким образом: если считанный из файла азимут не кратен 15 градусам, то округляет до меньшего, кратного 15 градусам, азимута и пририсовывает к нему 30-ти градусный сектор - как и говорил Yurych. А если кратен 15 - то добавляет по 15 градусов влево-вправо, чтобы более корректно выхватить сектор. Т.е., если у нас азимут 95, то возьмет от 90 до 120, а если 90 - то от 75 до 105. Но это опять же просто мысли вслух. Как это проверить - не знаю. ??? 
« Последнее редактирование: 22 Февраль 2012, 08:43:37 от VovaSha1971 »