Моё видение дорожных событий

от автора

Являясь пешеходом, я всегда с интересом смотрел на терзания коллег по поводу того, как, когда и по какому маршруту ехать домой на их личном автомобиле — ведь информация с Яндекс.Пробки не всегда отражает действительность. И тут мне показалась интересной возможность немного по-другому посмотреть на то, что происходит на дорогах города. Что из этого получилось — можно увидеть ниже.


Что к чему
Яндекс.Карты предоставляют пользователю интерактив в виде возможности создавать метки событий или просто текстовые сообщения на карте. Все эти сообщения я и решил использовать в качестве информационного потока для визуализации. Поток нужно как-то структурировать. Путей структуризации тут немного — координаты и время. Как правило, метки ставят там, где что-то происходит. Соответственно, если сгруппировать метки по близости друг к другу и отсортировать по времени публикации, можно получить что-то вроде чатика по конкретной зоне. И в последствии из этого хаоса меток можно вычленить вполне осмысленную информацию о том, кто виноват и когда это всё закончится.

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

Один день из жизни Москвы (понедельник 14.07.2015)

Хочу больше интересных циферок
Однажды я рассказал своему коллеге-пешеходу о том, что собираюсь сделать, и он мне подкинул идею. А почему бы не ввести некий индекс (назовем его «Индекс паршивости»), который бы символизировал чисто субъективный показатель некомфортности нахождения на улицах города. Загруженности города, разницы между температурой и «ощущаемой» температурой, силе ветра, влажности… На поиск информации о том, что считать комфортными показателями, я потратил множество часов. Особенно большое затруднение у меня вызвала формула вычисления «ощущаемой температуры» (Apparent temperature). Как я успел выяснить, эталонной формулы не существует, и на протяжении долгого времени с регулярной периодичностью появляются научные труды, которые вносят свои корректирующие коэффициенты и новые варианты вычислений. Да и после более тщательного размышления я отказался от этого показателя вовсе. Зачем он нужен. Зато я наткнулся на другой интересный индекс Heat Index. Собственно, по поводу индекса («Паршивости») больше вопросов, чем ответов, и тут бы хотелось услышать мнение людей. Нужен ли он, если нужен, то что и как должно на него влиять?

Занимательные факты из жизни городов
За то долгое время, пока я любовался происходящим на дорогах Москвы и Санкт-Петербурга, я успел выяснить, что больше всего интересует автомобилистов, и что они не любят.
Москвичи больше всего интересуются: когда закончится ремонт (в том месте где он (она) стоит в пробке), что там произошло, где стоят барышни всем известной профессии. А не любят жители города дачников, Яндекс (причем чаще всего упоминается, что он им в чём-то солгал) и некоего «Царя».
В Санкт-Петербурге ситуация немного другая, жители города очень интересуются, когда разводят мосты и развели ли их. И негодуют по поводу спецопераций правоохранительных органов по выявлению веселящих веществ на дорогах.
«А как же в обстоят дела в моем (не)любимом <поставить название города>?» — спросите вы?
Увы, ничего интересного по городам, отличным от Москвы и Санкт-Петербурга, увидеть нельзя. Хотя иногда случается…

И наконец техническая сторона
Стек. Ничего особенного. Node.Js, express.js, React.Js, mongodb, socket.io. Слабым местом архитектуры приложения является WebSocket, вернее количество одновременно открытых соединений. Провел небольшие нагрузочные тесты и ожидаю от минимального droplet на digital ocean, что он вытянет 4 тыс (как минимум) одновременных соединений. В любом случае будет интересно 🙂 И, если что, повод заморочится с настройкой load balancing и autoscaling. Но это будет(?) совсем другая история 🙂

Спасибо
компании Яндекс, информацией из сервисов которой я воспользовался
компании Ростелеком, а именно sputnik.ru. Которая любезно предоставила cdn для карт в России (http://sputnik-maps.github.io/).
Vladimir Agafonkin за плагин Leaflet.heat

Ссылки
Проект
GitHub

P.S. Если мои идеи каким либо образом копируют чей-то проект, было бы интересно с ним ознакомиться.

Интересно?

Никто ещё не голосовал. Воздержавшихся нет.

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

ссылка на оригинал статьи http://habrahabr.ru/post/262119/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *