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

Средняя скорость для ребер в определенный час


Recommended Posts

Езжу с СГ уже третий месяц, пришел к выводу, что информация, получаемая от нас пользователей (датчиков скорости) просто пропадает впустую. smiley2.gif Однако можно эту неприятность исправить.

Сначала описание проблемы.

Типичная ситуация, знакомая каждому пользователю СГ: утром вы садитесь в машину, чтобы ехать на работу, включаете СГ, задаете пункт назначения и начинаете движение. Обнаруживаете, что СГ проложил маршрут отличный от оптимального на ваш взгляд, возникает вопрос, почему он так сделал? правильно, потому что он проложил маршрут через ребра, для которых у него сейчас нет данных скорости, и вам предстоит эти данные собрать. Но вы же знаете, что в это время там медленное движение _всегда_, независимо от знает о ней СГ или нет. Пробки по расписанию от этого не спасают. Так же как и от прокладки маршрута через улицы, по которым быстро проехать невозможно, так как они разбиты, или узкие, или много светофоров, пока кто-нибудь незадолго перед вами по ним не проедет.

Предлагаемое очень простое решение:

1. СГ начинает собирать и хранить на своих серверах данные о средней скорости для каждой улицы города для определенного часа/дня недели.

пример 8-9 утра пятницы

      13-14 дня понедельника

      17-18 воскресенья.

2. Эти данные рассылаются как _дополнение_ к пробочному сервису. Проще говоря на карте СГ _не остается ребер без скорости_. Только метки о скорости становятся разные: текущие кружочки - кто-то недавно проехал с этой скоростью, и, скажем, квадратики - средняя скорость для этого ребра за все время наблюдений в текущее время суток и день недели.

3. Клиентская часть СГ учится прокладывать маршрут с учетом _реальных_ средних скоростей для улиц города, учитывая при этом текущие пробки города.

4. Качество прокладываемых маршрутов увеличится просто несказанно.

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

Думается, мне с таким сервисом конкурентов у СГ не останется просто. Очень интересно услышать мнение разработчков, насколько трудно это сделать? думаю фишка гораздо важнее, чем 3Д вид?

Link to post
Share on other sites
  • Replies 332
  • Created
  • Last Reply

Top Posters In This Topic

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

а разработчиков? в принципе реализация несложная и никак не скажется на алгоритме СГ, 90% - чисто серверная задача

Link to post
Share on other sites

статистика уже есть, даже некоторые результаты уже есть (40 км/час Просвещения и Луначарского, 60 км/час промежуточные улицы), однако серверные пробки приведут к глобальному идиотизму маршрутов, поскольку проехать, по мнению сервера, можно будет лишь по КАД

Link to post
Share on other sites

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

 

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

Главное - учет статистики по времени и дням недели, при этом НЕ отображение этой статистической информации, использование ее только для прокладки.
Link to post
Share on other sites

Не совсем. Сейчас же реальная пробочная информация не выгоняет всех на КАД' date=' МКАД и т. д.

[/quote']

категорически согласен!

Link to post
Share on other sites

О скоростной статистике, привязанной ко времени суток и дням недели, предложения сыпятся на этом форуме регулярно, начиная чуть ли ни со рождения СГ. Так что это, к сожалению, уже давно не новая идея. Насколько я представляю ситуацию, разработчики реализовали таки сервис сбора статистики, опробовали его, и пришли к выводу, что статистика не дает никакого выигрыша и даже портит качество маршрутов. Почему так произошло - объяснений не было, и мне тоже непонятно. Возможно, реализовали неверно. А может и по другим причинам. Одно из предположений - как бы мы ни были в этом уверены, пробочная обстановка таки не поддается устойчивым статистическим прогнозам. Возможно, такие "хорошо предсказуемые места" в городах есть, но их единицы. В основном же - процесс пробкообразования случайный, и в большинстве мест не дает выраженных наиболее вероятных состояний на основе собираемой статистики.

Link to post
Share on other sites

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

если бы можно было верить пробочной информации, было бы проще, та же статистика даст данные какие места эти "единичные" поддающиеся классификации, а какие случайные флуктуации с нулевой корреляцией по времени.

Link to post
Share on other sites

... А может и по другим причинам. Одно из предположений - как бы мы ни были в этом уверены' date=' пробочная обстановка таки не поддается устойчивым статистическим прогнозам... [/quote']

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

Link to post
Share on other sites

хорошо, можно еще проще, на основании тех же статистических данных все улицы поделить, скажем на те же 5-6 категорий по среднестатистической скорости. Кольцевая, быстрые набережные, другие быстрые и широкие ребра, где значения скорости - 110 - сделать зелеными.

и наоборот маленькие,узкие улочки, или разбитые проспекты, или где много сфетофоров на ребре и в результате даже если нет пробки машины едут 20 км/ч сделать красными.

промежуточные значения оттенками желтого и коричневого,

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

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

Link to post
Share on other sites

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

Статистика действительно могла быть собрана/обработана неправильно или недостаточно.

Я не знаю в чем именно была проблема, но если уж даже у ПокетГИСа получалось собирать статистику и применять ее довольно успешно... То у CG с этим вообще никаких проблем быть не должно.

 

Я отказываюсь верить, что скоростной индекс 40 на вечно забитом участке бульварного кольца дает прокладку маршрута более адекватную, чем статистически вычисленный 10-15.
Link to post
Share on other sites

Я отказываюсь верить' date=' что скоростной индекс 40 на вечно забитом участке бульварного кольца дает прокладку маршрута более адекватную, чем статистически вычисленный 10-15.
[/quote']

Дает, реально, это значит, что кто-то эти 40 проехал, и у Вас есть шанс повторить. Я обычно повторяю. Тут вопрос в другом, зачем СГ ведет вас через этот же участок Бульварного Кольца, когда никто там эти 10-15-40 не проехал, там просто _нет_ значка, вот в чем дело, вы проедете со своей скоростью, она отобразится на какое-то время, потом опять пропадет и будет непонятно, какое же движение на этом ребре обычно, не сейчас прямо, а обычно какое. Пусть бы там стоял значок среднестатистической, когда никто не проехал. А когда проехал - другое дело, ставим актуальное значение и при прокладке его используем.

АПДЕЙТ:

----------------------------

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

!! 1. Статические статистические данные для ребер итак реализованы в СГ.

2. Динамические статистические данные пока к введению не планируются.

(поправьте меня, разработчики, если ошибаюсь)

Вопрос:

Утром я по Б. Сампсониевсому еду на север со скоростью 20 км.ч. Вечером могу по нему прокатиться в ту же сторону 120 км.ч.

Движение на север по Б.Сампсониевскому утром почти нет, потому что это движение из центра, когда все едут в центр. Однаок при этом утром это движение очень медленное: из-за припаркованных машин остается всего один ряд + автобусы + светофоры в результате те самые 20. Плюс почти никто поэтому ребру кроме меня с СГ не ездит. Вывод : или я каждое утро работаю пробко-датчиком теряя 10-15 минут по дороге на работу, или вечером не езжу по пустой дороге. Динамическая статистика полностью решает эту ситуацию, или я ошибаюсь?

Link to post
Share on other sites


Дает' date=' реально, это значит, что кто-то эти 40 проехал, и у Вас есть шанс повторить. Я обычно повторяю. Тут вопрос в другом, зачем СГ ведет вас через этот же участок Бульварного Кольца, когда никто там эти 10-15-40 не проехал, там просто _нет_ значка, вот в чем дело, вы проедете со своей скоростью, она отобразится на какое-то время, потом опять пропадет и будет непонятно, какое же движение на этом ребре обычно, не сейчас прямо, а обычно какое. Пусть бы там стоял значок среднестатистической, когда никто не проехал. А когда проехал - другое дело, ставим актуальное значение и при прокладке его используем. [/quote']

Вы ничего не поняли. 40 - это скоростной индекс. Не пробочная информация. То есть никто там не проехал. Потому что все знают, что за ними в лучшем случае будет хрюшка 15, а скорее всего не больше 5.

 

Нет. И не надо.

 


На сколько я понимаю, так.

Link to post
Share on other sites

хорошо, можно еще проще, на основании тех же статистических данных все улицы поделить, скажем на те же 5-6 категорий по среднестатистической скорости.

Кольцевая ... сделать зелеными.

маленькие,узкие улочки ... сделать красными.

промежуточные значения оттенками желтого и коричневого,

 

а СГ при выборе маршрута по ребрам, для которых нет текущей информации о скорости должен стараться выбирать более скоростные ребра

тоже собрать статистику, обновить карты и немного запатчить клиентскую часть?

В СГ именно так изначально и сделано. Вы описываете те самые скоростные индексы, которые сейчас и вшиты в карту. По городу так и есть 5-6 основных зон: 20, 30, 40, 50, 60, 110 км/ч. Ну плюс еще несколько более редких 10, 70, 80, 90. Включите показ "скорости потока" на карте. Так в чем новизна Вашего предложения?

Link to post
Share on other sites

В СГ именно так изначально и сделано. Вы описываете те самые скоростные индексы' date=' которые сейчас и вшиты в карту. По городу так и есть 5-6 основных зон: 20, 30, 40, 50, 60, 110 км/ч. Ну плюс еще несколько более редких 10, 70, 80, 90. Включите показ "скорости потока" на карте. Так в чем новизна Вашего предложения?[/quote']

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

Link to post
Share on other sites

Вы ничего не поняли. 40 - это скоростной индекс. Не пробочная информация. То есть никто там не проехал. Потому что все знают' date=' что за ними в лучшем случае будет хрюшка 15, а скорее всего не больше 5.
[/quote']

Если отключить показ скоростных индексов, то эти самые 40-50-90 - это все же пробочная информация, когда кто-то реально с этой скоростью проезжает.

скоростные индексы как раз и являются этими самыми статическими статистическими данными.

Link to post
Share on other sites

Угу, эти индексы и есть так называемая статистика, какая есть, только плоская-постоянная.

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

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

Link to post
Share on other sites

 

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

 

Уже предлагался (мной) такой вот вариант:

 

Link to post
Share on other sites

скоростные индексы как раз и являются этими самыми статическими статистическими данными.

Блажен кто верует.

 

Скоростные индексы используются для прокладки корректных маршрутов.

 

Если отключить показ скоростных индексов' date=' то эти самые 40-50-90 - это все же пробочная информация, когда кто-то реально с этой скоростью проезжает.
[/quote']

У вас неправильная терминология. Скоростные индексы - это скоростные индексы. А пробочная информация - это пробочная информация.

Если пробочной информации нет, то для прокладки маршрута используется скоростной индекс, в противном случае - пробочная информация.

 

Link to post
Share on other sites

Скоростные индексы используются для прокладки корректных маршрутов.

совершенно верно' date=' только корректные маршруты в разное время дня и недели для этого города разные! фактически утром в час-пик и вечером в час-пик - это два разных города.

У вас неправильная терминология. Скоростные индексы - это скоростные индексы. А пробочная информация - это пробочная информация.

Если пробочной информации нет, то для прокладки маршрута используется скоростной индекс, в противном случае - пробочная информация.

Все правильно, и я о том же. Только если пробочной информации нет, то для прокладки маршрута должно использоваться значение скоростного индекса характерного для данного времени суток, а не какого-то абстрактного.

В любом случае' date=' формировать статичные данные на базе статистики - бесполезно. Только с дифференциацией по направлениям, времени суток, дням недели и т. д.
[/quote']

Собственно, хватило бы только

1. направления: вперед, назад

2. скажем 4-х значений времени суток: утро, день, вечер, ночь.

3. дней недели: рабочий, выходной.

итого: 2*4*2 = 16 значений статистической скорости, которую можно добавить прямо в карту для каждого ребра.

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

10 20 30 40 .... 120 - 12 значений + 4 резервных, получается 16 - это 2 в четвертой, или 4 бита, т.е. чтобы хранить все это прямо в карте надо добавить к каждому ребру всего 8 байт.

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

всего 2*5=10 итого 5 байт на ребро.

ну и естественно с помощью серверов постоянно такую статистику собирать и актуализировать.

Link to post
Share on other sites

 

 
Все правильно, и я о том же. Только если пробочной информации нет, то для прокладки маршрута должно использоваться значение скоростного индекса характерного для данного времени суток, а не какого-то абстрактного.

Собственно, хватило бы только
1. направления: вперед, назад
2. скажем 4-х значений времени суток: утро, день, вечер, ночь.
3. дней недели: рабочий, выходной.
итого: 2*4*2 = 16 значений статистической скорости, которую можно добавить прямо в карту для каждого ребра.
значения скорости можно задавать из диапазона
10 20 30 40 .... 120 - 12 значений + 4 резервных, получается 16 - это 2 в четвертой, или 4 бита, т.е. чтобы хранить все это прямо в карте надо добавить к каждому ребру всего 8 байт.
ну и естественно с помощью серверов постоянно такую статистику собирать и актуализировать.

 

Для чего это всё делать, если можно использовать такой индекс, как средняя скорость передвижения по городу за последние полчаса, полученная от всех датчиков?

 

Чтобы этот индекс вносил поправляющий коэффициент в среднестатистическую скорость на ребре.

 

И не нужны будут значения выходной-рабочий, день-ночь, лето-зима!

 

Это облегчит и карту, и объём трафика. Программа будет получать этот индекс и применять на уже вшитую скорость на рёбрах.

 

Я же давал выше ссылку, посмотрите.
Link to post
Share on other sites

Для чего это всё делать' date=' если можно использовать такой индекс, как средняя скорость передвижения по городу за последние полчаса, полученная от всех датчиков?

Чтобы этот индекс вносил поправляющий коэффициент в среднестатистическую скорость на ребре.

[/quote']

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

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

Link to post
Share on other sites

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

tilorn, главная задача такого индекса - нормализация скоростей на тех ребрах, откуда нет актуальных данных от датчиков. И вриведенный Шпротом алгоритм, судя по всему, прекрасно с ним справится. И как результат - повысится качество маршрутов.

Link to post
Share on other sites

Насчет индекса - действительно элегантное решение получается. Причем' date=' легко реализуемое.

tilorn, главная задача такого индекса - нормализация скоростей на тех ребрах, откуда нет актуальных данных от датчиков. И вриведенный Шпротом алгоритм, судя по всему, прекрасно с ним справится. И как результат - повысится качество маршрутов.

[/quote']

алгоритм не справится. он не учитывает состояние ребра в настоящий момент, такие параметры как:

1. Едут ли по нему все домой/на работу/на дачу/с дачи.

2. Много ли на нем припаркованных машин, и соответственно сколько свободных полос.

Фактически ничего с ним не изменится. А вот если знать, что утром по какому-то ребру хорошо ехать в одну сторону, вечером в другую, а днем там машин наставлено, что в обе проезжаешь медленно - вот это позволит строить эффективные маршруты.

добавить 5 байт информации к кадому ребру тоже не так трудно, тем более что там уже итак есть информация такого характера.

собрать статистику - тоже без проблем, она итак собирается, только ей не пользуются.

Link to post
Share on other sites

Это получается, как в больнице: собирать статистику температуры по сезонам, выходным и будням, ночью и днём.

 

А так, как я предлагаю - сравнивать средние температуры по всем больницам города за последние полчаса и решить, куда идти на диспансеризацию :))
Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...