Перейти к содержанию
GPS навигатор СитиГИД

Выбирается более длинный и медленный маршрут с большим числом поворотов


Рекомендуемые сообщения

Заметил, что в некоторых простых случаях СитиГид совершает типичную ошибку. Если для достижения финиша достаточно проехать прямо, совершить левый поворот и прибыть к финишу, программа может начать пытаться заранее уйти влево, совершить длинный объезд, повернуть направо и прибыть к точке финиша с другой стороны.

Пример 1: Карта Евразия 9.4.

Чагода -> Пересечение дорог Новая Ладога - Вологда и ответвления на Кадуй.

post-8905-0-87761200-1308407507_thumb.jp

Пример 2: Карта Евразия 9.4

Кинешма

post-8905-0-87374400-1308407555_thumb.jp

Пример 3: Карта Санкт-Петербург 28.2

Ломоносов

post-8905-0-48690800-1308407578_thumb.jp

Во всех случаях вместо того, что предлагает СитиГид (поворот налево, ехать-ехать, поворот направо, ехать-ехать), можно выбрать заметно более быстрый и простой маршрут (движение прямо, поворот налево).

Повороты налево в указанных случаях разрешены, разрывов в графах нет.

Чем руководствуется программа, когда предлагает такие маршруты?

---

Texet-505, СитиГид 5.0.401

Ссылка на сообщение
Поделиться на другие сайты

Может быть, статистика?

К сожалению, теперь ее не увидеть, видны только скорости потока.

А они действуют при отсутствии данных от датчиков и статистики.

Хотя прям трудно представить, какая статистическая скорость должна быть у левого поворота на первом скриншоте, чтоб такой крюк загнуть.

Кстати, не знаю, при отключенных пробках статистика вообще учитывается или нет?

Ссылка на сообщение
Поделиться на другие сайты

Кстати, не знаю, при отключенных пробках статистика вообще учитывается или нет?

Во время зимних соревнований один экипаж ехал по чистой статистике.

Ссылка на сообщение
Поделиться на другие сайты

Кстати, не знаю, при отключенных пробках статистика вообще учитывается или нет?

Да.

Когда был заезд в Питере, "СГ 3.9 со статистикой" был как раз с отключенными пробками.

:rolleyes:

Изменено пользователем eklmn
Ссылка на сообщение
Поделиться на другие сайты

Да.

Когда был заезд в Питере, "СГ 3.9 со статистикой" был как раз с отключенными пробками.

:rolleyes:

ЕМНИП, там была спецсборка, т.к. официально заявлялось, что при отключенных пробках статистика тоже не используется.

Однако это можно легко обойти, как минимум в версии 3.8 под Андроид. Когда выйдет 5.1 попробую там, почему-то мне кажется, что дыру не закрыли. Хотя ... ;)

Однако это ИМХО бесполезно, с учетом сегодняшнего качества т.н. статистики.

Ссылка на сообщение
Поделиться на другие сайты

официально заявлялось, что при отключенных пробках статистика тоже не используется.

Это заявлялось до появления Пробки-2.

Однако это ИМХО бесполезно, с учетом сегодняшнего качества т.н. статистики.

И это верно.

Ссылка на сообщение
Поделиться на другие сайты

Пример 4: Карта Евразия 9.4

Рудный

post-8905-0-07412000-1308567189_thumb.jp

Гипотеза (версия 1.1): если до финиша можно довести двумя путями, один из которых представляет собой поворот налево с последующим поворотом направо или поворот налево и движение прямо с наличием по пути ответвления налево, а второй - движение по прямой с поворотом налево, программа будет выбирать первый, даже если он длиннее и дольше. Кто-нибудь опровергнет?

post-8905-0-55002200-1308567376_thumb.jp

Любопытно, насколько воспроизводимы такие маршруты на других устройствах / других CE-версиях программы / версиях программы на других платформах.

Изменено пользователем Dinamik
Ссылка на сообщение
Поделиться на другие сайты

программа будет выбирать первый, даже если он длиннее и дольше

На Ваших скриншотах не видно, что короткий маршрут быстрее. Нужно ставить туда контрольную точку, чтобы маршрут проложился по варианту 2 (на схеме).

Если время проезда маршрута по варианту 2 будет меньше, тогда да, кранты алгоритму.

А если время будет больше, тогда остаётся только узнать почему. Разбить маршрут на фрагменты, узнать время проезда каждого фрагмента, найти узкое место.

Представил себе процесс "препарирования" маршрута, сам ужаснулся. А ведь покупая навигатор, считал, что освобожу лишнее время для личных нужд.

А он, что тот тамагочи, пои его, корми, дерьмо за ним убирай.

  • Upvote 1
Ссылка на сообщение
Поделиться на другие сайты

Пример 1 - Texet TN-505 - CityGuide 5.0.401 - Евразия 9.4 - Кадуй (Вологодская область)

post-8905-0-43512800-1308619186_thumb.jp

Без точки: 216 километров - 6 часов

post-8905-0-40605300-1308619210_thumb.jp

С точкой: 80 километров - 1 час 54 минуты

Пример 2 - Texet TN-505 - CityGuide 5.0.401 - Евразия 9.4 - Кинешма

post-8905-0-66328600-1308619141_thumb.jp

Без точки: 11 километров - 16 минут

post-8905-0-03015300-1308619162_thumb.jp

С точкой: 3,3 километра - 4 минуты

Пример 4 - Texet TN-505 - CityGuide 5.0.401 - Евразия 9.4 - Рудный

post-8905-0-70277600-1308619248_thumb.jp

Без точки: 34 километра - 49 минут

post-8905-0-69796600-1308619263_thumb.jp

С точкой: 22 километра - 16 минут

Пример 3 пока вычёркиваю, т. к. там, похоже, ещё есть проблема с рёбрами (не удаётся заставить повернуть в нужном месте).

Мысль 1: не может ли для карты Евразии умышленно использоваться алгоритм, специально удлиняющий путь? Если точка, с которой навигатор начинает уводить в сторону с нормальной дороги, находится в пределах одной карты более крупного масштаба с финишом, то при переходе на эту карту маршрут пересчитается по ней, а водитель будет приятно удивлён уменьшением предполагаемого времени поездки - не самая плохая неожиданность от навигатора. Но если точка А, в которой маршрут будет уходить в сторону от правильного, будет находиться на карте 1, какая-то из точек Б на неправильном маршруте на карте 2, а финиш на карте 3, то маршрут так и будет построен с крюком через регион карты 2.

Но пока гипотеза 1.1 не опровергнута.

Мысль 2: на 3.5.314 на том же аппарате маршруты строятся нормально.

Изменено пользователем Dinamik
Ссылка на сообщение
Поделиться на другие сайты

Очень интересно, что скажут на это разработчики.

ЗЫ. я и на коротких маршрутах в пределах города замечал подобное. Правда там разница в километраже и времени не такая значительная, но все-же непонятно ПОЧЕМУ???.

Направлялся не помню точно куда, куда-то в Купчино=)) СГ предлагал с Пулковского шоссе ехать через кольцевую, когда я усомнился и поставил точку, дабы исключить кольцо- уменьшилось и расстояние и время. Перепроверил несколько раз- результат тот-же.

По каким критериям выбирается оптимальный маршрут- загадка.

Изменено пользователем sergges
Ссылка на сообщение
Поделиться на другие сайты

Мысль 2: на 3.5.314 на том же аппарате маршруты строятся нормально.

У вас две версии на одном аппарате? А набор карт, включённых в атлас (Карта - открыть), одинаков для обоих версий?

У меня этих областей в атласе нет, только Евразия. Через Рудный версия 5.0.401 построила маршрут правильно. Остальные города в поиске Евразии не нашёл.

Как я понимаю, у вас областная карта есть и маршрут от старта начинает строится по ней. Попробуйте её отключить в атласе, станет ли маршрут строиться правильно. Если станет, то проблема видимо в областной карте, проверьте версию карты.

Ссылка на сообщение
Поделиться на другие сайты

У вас две версии на одном аппарате?

Не две, больше:). Каждая в своей папке.

А набор карт, включённых в атлас (Карта - открыть), одинаков для обоих версий?

У меня этих областей в атласе нет, только Евразия.

И там, и там в атласе при тестировании в атлас была включена Евразия, областные отключены.

Через Рудный версия 5.0.401 построила маршрут правильно.

По идее, версия программы у Вас должна быть такая же, как у меня (у меня версия с пробками, соединяюсь через ActiveSync), аппарат, что ли у меня косячит? Не могли бы Вы куда-нибудь выложить Вашу версию программы (без карт и без лицензии, понятное дело)?

P. S. "Через Рудный" - это в смысле "рядом с Рудным"? Через Рудный и у меня нормально строится.

Остальные города в поиске Евразии не нашёл.

Ну с Кадуем-то понятно (его на карте Евразии нет, нужно искать в треугольнике Чагода - Бабаево - Череповец), но странно, что Кинешму не нашли

Как я понимаю, у вас областная карта есть и маршрут от старта начинает строится по ней. Попробуйте её отключить в атласе, станет ли маршрут строиться правильно. Если станет, то проблема видимо в областной карте, проверьте версию карты.

Какая областная имеется в виду? Вологодской области, Ивановской области или Костанайской области? Карты первых двух областей были отключены, карты третьей у меня нет, маршрут строился по карте Евразии.

Изменено пользователем Dinamik
Ссылка на сообщение
Поделиться на другие сайты

версия программы у Вас должна быть такая же, как у меня

CG501UNIDEVRF.zip/CityGuide_INET/ см.файл

странно, что Кинешму не нашли...Какая областная имеется в виду? Вологодской области, Ивановской области или Костанайской области?

У меня в атласе две столицы с областями, плюс Псковская и Новгородская. Остальное отключено (хотя карты есть).

На карте Дороги Евразии поиском по городам Кинешма сейчас нашёл, видно прошлый раз опечатался. Маршрут построил правильный.

Не нужно выкладывать сюда программу.

PsevDANIm

Изменено пользователем PsevDANIm
Ссылка на сообщение
Поделиться на другие сайты

А как вам такой маршрутец :blink:

2011_05_11_(10_09_34).bmp

Изменено пользователем PsevDANIm
Ссылка на сообщение
Поделиться на другие сайты

Сорри, в виде превью отобразить не получилось.

Для того, чтобы отображалось в виде превью - нужно выкладывать НЕ в BMP.

  • Upvote 1
Ссылка на сообщение
Поделиться на другие сайты

а разве СГ не пытается довести именно к тому дому и соотвественно сторону дороги?

хотя раз на раз не приходится, почему то:))

Ссылка на сообщение
Поделиться на другие сайты

а разве СГ не пытается довести именно к тому дому и соотвественно сторону дороги?

Зависит от графа. На разделенных дорогах пытается, на неразделенных -- нет.

Ссылка на сообщение
Поделиться на другие сайты

Сначала у меня родилась идея, что если бы учитывалось время на левый поворот 1 минута(особенно на нерегулируемых перекрёстках = 2 минуты) маршрут бы выбирался корректнее и не предлагалось объезжать отрезок длиной в 2 дома через соседние улицы с кучей поворотов...

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

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

Кто знает в каких файлах зашита статистика по скорости? очень хочется её проставить в 60 км/ч на всей карте. Чтобы от неё ничего не зависело.

Ссылка на сообщение
Поделиться на другие сайты

Сначала у меня родилась идея, что если бы учитывалось время на левый поворот 1 минута(особенно на нерегулируемых перекрёстках = 2 минуты) маршрут бы выбирался корректнее и не предлагалось объезжать отрезок длиной в 2 дома через соседние улицы с кучей поворотов...

По задумке авторов, оно и учитывается.

Есть скорости датчиков на разных перекрестках в разные направления.

По идее, это вполне нормально заменяет (точнее, должно заменять) "поправку на маневр".

А при отсутствии скоростей - действуют скорости потока, вшитые в карту.

Осовная проблема возникает, по-моему, когда главная дорога забита, а по второстепенной никто не едет.

В результате программа видит пробку на главной и тащит в объезд по второстепенной (на которой скорость потока 50 км/ч).

в результате имеем влезание левым повоотом в пробку на главной дороге.

  • Upvote 1
Ссылка на сообщение
Поделиться на другие сайты

По задумке авторов, оно и учитывается.

Есть скорости датчиков на разных перекрестках в разные направления.

По идее, это вполне нормально заменяет (точнее, должно заменять) "поправку на маневр".

Время поворота не может содержаться в датчике скорости. Не все же повороты с кольцом, как например перекресток софийской и славы.

Ссылка на сообщение
Поделиться на другие сайты

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

Может и учитывается. А именно: СГ знает время затраченное на проезд ребра, СГ знает в каком направлении вы продолжили движение после перекрестка (направо,налево,прямо).Вот теперь представьте: кто-то проехал поэтому ребру прямо и затратил 1 мин, а вы простояли при повороте налево 5 минут, в итоге скорость "прямо" будет намного выше, чем скорость "налево". Таким образом и учитывается время поворотов.

Другое дело бывает это не корректно работает, ну там прием спутников плохой, обрыв связи и т.д.

Ссылка на сообщение
Поделиться на другие сайты

Время поворота не может содержаться в датчике скорости.

А пуркуа бы и не па?, как говорил д'Артаньян.

Например, водила 1 поворачивает налево (на дорогу с 2+2 полосами). Он должен поймать "окно", когда не будет машин в 2 полосах в одну сторону и хотя бы одна полоса будет свободна в другую (в которую он и повернет). Ждать ему пришлось 1 минуту.

Это время пошло в зачет его времени проезда ребра (по которому он подъехал к перекрестку).

И нарисовалась скорость например "10 налево".

Водитель 2 поворачивал с того же ребра на том же перекрестке направо. Ему в принципе достаточно свободного места в правой полосе. Повернул за 5 сек. Время проезда предыдущего ребра у него существенно меньше. Нарисовалась скорость "40 направо".

Все. Приоритеты поворотов на данном перекрестке определились.

Но это в идеале. Один водитель и направо будет поворачивать только тогда, когда полоса до горизонта пуста, а другому повезло - он подъехал - там все чисто, он не притормаживая ушел налево, сняв предыдущую отметку "10 налево", заменив ее "50 налево".

Мораль (идея, озвученная тут уже целым рядом авторов) - надо, чтобы показывалась/учитывалась не скорость последнего датчика, а средняя скорость датчиков за N минут.

Ссылка на сообщение
Поделиться на другие сайты

средняя скорость датчиков за N минут.

Где же столько датчиков набрать?
Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...