Jump to content
GPS навигатор СитиГИД
Joss

СитиГИД перешел на новые алгоритмы обработки информации о пробках

Recommended Posts

Да все просто. Не нужно учитывать незначительные снижения скорости. До определенного момента. 

Там, где обычная нормальная скорость 40 км/ч, снижение до 35 и даже 30 вообще не должно никак учитываться. И искать объезды в таких случаях не надо. Программа должна вести в таких случаях по оптимальному маршруту, так словно сервис "пробки" у неё вообще отключен. 

 

Первое, программа не ищет объезды. Она вообще не умеет этого. Она именно строит, а не выбирает маршрут по заданному критерию.

 

Второе. Дело в том, что от вашего предложения абсолютно ничего не изменится (только время ухудшится) - также будет вести в объезд ради нескольких секунд. Вы предлагаете просто заменить распределение скоростей на карте, но от этого принцип построения маршрута не измениться. Чтобы понять это, представьте себе гипотетическую ситуацию, когда в определенном районе города фактические значения скоростей на ребрах меньше (больше, без разницы), чем статистика ровно, допустим, на 10%. В этой ситуации в этом районе маршрут построится такой же, со всеми плюсами и минусами. Пусть даже фактические скорости будут отличаться на разный процент (но не экстремальные пробки), тогда маршрут будет чисто по статистике. Но кто сказал, что по статистике не может быть время в объезд меньше времени напрямик на 1 с?

  • Upvote 2

Share this post


Link to post
Share on other sites

А еще, как ни ужасно это звучит, приходится нажимать ногами на педали и руками крутить руль, глазами пялиться на знаки и разметку. Ну совсем не расслабиться. 

Может на метро ездить или перейти на навигацию, которая умеет все делать сама, даже думать за Вас?

Очень оценил ваше чувство юмора, спасибо :)  А теперь взгляните на сегодняшний утренний скриншот. СитиГИД предложил мне отправиться в 7-ми километровое путешествие объезжать пробку на Среднеохтинском проспекте. Если бы я купил СГ вчера, несомненно именно туда бы я и поехал. Но данную картину я уже наблюдал не 1 раз и несколько раз прокатывал такой маршрут (не советую его никому).
А зная, что какой бы не был "красный" на экране Среднеохтинский - он всегда "едет" (там по 3 полосы в обе стороны), я в объезд не поехал. И правильно сделал т.к. 400 метров по Среднеохтинскому я прошел за 4 минуты.  Вывод - алгоритм программы несовершенен, требует серьёзной доработки. Скриншот прилагаю. Мой "ручной" маршрут показан синей пунктирной линией.

Edited by Alexog

Share this post


Link to post
Share on other sites

Alexog,

 

а где время и/или логин? 

  • Upvote 1

Share this post


Link to post
Share on other sites

Alexog,

 

а где время и/или логин? 

Время и дата скриншота генерятся автоматически СитиГИДом в виде имени выгружаемого файла (при наведении мышки на картинку их видно)

Edited by Alexog

Share this post


Link to post
Share on other sites

Предложение по поводу "лишних" объездов (в порядке очередного бреда):

При просмотре маршрута и обнаружения петли, которая не нравится, жмем на линию маршрута примерно посередине петли. Программа выставляет в этом месте маршрута на несколько подряд ребер скоростной индекс 1 км. ч. (по тому же принципу, по которому организована функция Объезд) и перестраивает маршрут. Если петля не ушла или образовалась новая, жмем на маршрут снова. В правом нижнем углу (или в другом месте) можно сделать кнопку для отмены последнего изменения (при длительном нажатии отменяются все изменения). Если в результате убирания петли сильно выросло время в пути, просто жмем отмену и едем по петле. Эти индексы в 1 км. ч. держатся до удаления маршрута (ручного или по достижении финиша), выхода из программы или соотвественно до отмены спец. кнопкой. Вот.

Опцию можно сделать подключаемой и по умолчанию выключенной.

Для петли по КАД или ЗСД может статься, что вообще хватит одного такого нажатия на петлю.

Отправлено с моего SM-P601 через Tapatalk

Share this post


Link to post
Share on other sites


при наведении мышки на картинку их видно

Век живи, век учись :)

Share this post


Link to post
Share on other sites

Первое, программа не ищет объезды.

Это самое главное и ключевое.

 

 

 

Как же определить для каждого ребра нормальную скорость?

 

не знаю, какая-то статистика наверняка есть.

Вот! О чем я тоже твержу. Статистика.

 

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

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

Если не укладывается (аномалия - авария, ремонт, что-то еще), то применяются реальные данные.

Edited by timvetrov

Share this post


Link to post
Share on other sites

Для себя я нашёл некоторое решение проблемы объездов - посмотрев, где СГ пытается обвести кругами, ставлю промежуточную точку где-то в месте, через которое хотелось бы строить маршрут. Но вот частенько получается так, что программа всё равно изворачивается и хоть и строит через эту точку, но до неё и после всё равно пытается отправлять на экскурсию по улочкам и закоулочкам нашего города. Одни только объезды сквозь просто бешенную дорожную сеть Петроградки (диагонально так, из края в край) - это нечто, иногда спасает, конечно, но во-первых это экстрим-езда по узеньким улочкам, которые в основном ещё и второстепенные, во-вторых, ещё и лотерея из-за причин, озвученных выше - то не разъехаться со встречкой, то главную не пересечь...

 

arctec

Ваша мысль имеет смысл. Единственное, как и в моём способе, скорее всего работать она нормально будет только в случае, когда есть всего 2 альтернативных маршрута (а остальные - явно дольше). То есть, отсекаем один не нравящийся, автоматом строится второй. А вот заставить программу проехать "именно здесь" при множестве вариантов движения будет сложно: закрыли одно плохое место с длинным объездом, автоматом проложится по соседней улице, возможно даже с ещё большим перепробегом. Я так пытался функцией "объезд" нужный мне маршрут получить: здесь мы не поедем, ставим "пробку", маршрут перестраивается и снова не нравится, ещё одну "пробку", опять не так, ещё одну... Где-то раза с пятого маршрут стал отвечать моим понятиям оптимального - с минимальными отклонениями от кратчайшего и всего на то-ли 5, то-ли 7 минут дольше (при общем времени почти в час).

Share this post


Link to post
Share on other sites

Мне тоже иногда приходится включать алгоритмы в голове :)

Сегодня прога в 11 часов дня потащила на Суворовский пр. через южное направление с финишным временем 12.11:

Понимая, что маршрут будет пролегать через 10-15 светофоров и посмотрев обстановку на северной части города - принял решение ехать через Кронштадт.

Время и расстояние изменились, но не критически: с 55 мин и 64 км до 57 мин и 58 км:

Опять же - прога тащит на ЗСД крюком, хотя ничего криминального на Приморке не было.

Поехал на Приморское ш. и получил выигрыш в 4 км. Время осталось тоже:

Итог: в ЗакС ЛО на Суворовском пр.67 был в 12.03! Я понимаю, что не везде я еду по правилам, но десяток светофоров на южном направлении будут хуже пяти на северном. Да и расстояние получилось поменьше. Всё-таки, где-то "собака порылась".

  • Upvote 1

Share this post


Link to post
Share on other sites

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

"Об этом мы еще до войны говорили с господином окружным начальником."

 

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

Но тут нужно менять сам принцип работы. Т.е. статистика должна обновляется как минимум ежедневно. Т.е. при первом запуске в текущие сутки скачивается дельта обновленной статистики на эти сутки. Для упрощения дельта считается как изменения статистики относительно статистики зашитой в карту. Пробочные данные сервер формирует только для тех ребер у которых реальная скорость существенно отличается от статистической в любую сторону. Это кстати приведет к уменьшению входящего трафика.

 

Тут есть правда сложность в определении когда пробку для ребра передавать, а когда нет. Для простого ребра, у которого распределение скоростей имеет КМК один явно выраженный пик , границы существенности отклонения рассчитать просто. А вот для ребра со светофором, у которого этих пиков может быть два, уже сложнее. Но КМК тоже можно. Но у СГ с такими ребрами и сейчас очень серьезная проблема.

 

Такое решение как минимум уберет суетливое перестроение маршрута на пустом месте. Позавчера у меня СГ превзошел себя. За 15 минут маршрут быт перестроен раз 7 и без выигрышей по времени. А последний объезд как оказалось вообще объезжал несуществующую пробку (см. выше про ребра со светофором).

  • Upvote 1

Share this post


Link to post
Share on other sites

Позавчера у меня СГ превзошел себя. За 15 минут маршрут быт перестроен раз 7 и без выигрышей по времени. А последний объезд как оказалось вообще объезжал несуществующую пробку (см. выше про ребра со светофором).

вы врите, да не завирайтесь :) за 15 минут обновлений максимум могло придти 5, вероятнее 4, ну если только сильно везло и еще и на этот период попало протухание пробок на ребрах, и то фантастика.

to all а я не считаю что меры предложенные тут помогут, и я предпочитаю перестроение маршрута СГ по реальным данным, чем среднестатистическая аппроксимация с отбрасыванием реальных данных.

Edited by artur_nexia

Share this post


Link to post
Share on other sites

вы врите, да не завирайтесь

 

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

 

Share this post


Link to post
Share on other sites


вы врите, да не завирайтесь

Не надо так резко. Скачок GPS запросто приводит к перестроению маршрута.

Share this post


Link to post
Share on other sites

Не надо так резко. Скачок GPS запросто приводит к перестроению маршрута.

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

Share this post


Link to post
Share on other sites

Интересно, при прокладке маршрутов алгоритм учитывает "пенальти" времени за маневр?

Скажем для примера, правый поворот со светофором +10 секунд, а левый без светофора со второстепенной +40 секунд.

Да и за просто светофор или пешеходный переход.

Share this post


Link to post
Share on other sites

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

 

Хм... Ну я таким способом могу добиться и 50 перестроений на 20 минут. Другое дело, что в незнакомом городе со мной такое редко случается - только когда предлагаемый маневр противоречит либо правилам, либо здравому смыслу.

Скажем для примера, правый поворот со светофором +10 секунд, а левый без светофора со второстепенной +40 секунд.

Классно у вас там... У нас за 40 секунд можно налево повернуть только со светофором, без светофора меньше 3 минут редко бывает.

  • Upvote 1

Share this post


Link to post
Share on other sites


Интересно, при прокладке маршрутов алгоритм учитывает "пенальти" времени за маневр? Скажем для примера, правый поворот со светофором +10 секунд, а левый без светофора со второстепенной +40 секунд. Да и за просто светофор или пешеходный переход.

 

1. да

2. нет

Share this post


Link to post
Share on other sites

Классно у вас там... У нас за 40 секунд можно налево повернуть только со светофором, без светофора меньше 3 минут редко бывает.

 

Скажем для примера,

 

 

 

1. да

2. нет

Это надо понимать как, есть "пенальти" за маневр и оно одинаковое для всех маневров. Так?

Share this post


Link to post
Share on other sites

Нет, разное

Отправлено с моего Nexus 5 через Tapatalk

Share this post


Link to post
Share on other sites


Это надо понимать как, есть "пенальти" за маневр и оно одинаковое для всех маневров. Так?

Вы уже забыли два своих вопроса? Они чуть выше.

Share this post


Link to post
Share on other sites

Вы уже забыли два своих вопроса? Они чуть выше.

Офтопик конечно, хоты и связанный с манерой отвечать.

 

Где тут 2 (два) вопроса?

 

Интересно, при прокладке маршрутов алгоритм учитывает "пенальти" времени за маневр?

Скажем для примера, правый поворот со светофором +10 секунд, а левый без светофора со второстепенной +40 секунд.

Да и за просто светофор или пешеходный переход.

На всякий случай, вопрос жирным выделил.

 

Нетрудно представить мое недоумение, когда в ответ получаешь:

 

1. да

2. нет

Share this post


Link to post
Share on other sites

Вероятно так:

 

Интересно, при прокладке маршрутов алгоритм учитывает "пенальти" времени за маневр?

1. Скажем для примера, правый поворот со светофором +10 секунд, а левый без светофора со второстепенной +40 секунд.

2. Да и за просто светофор или пешеходный переход.

Хотя, могу и ошибаться...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×