Комментарии 46
Вот бы еще маршрут можно было бы построить для велосипедов , который не превышал бы заданного уклона - ) Гораздо легче ехать полчаса в горку 7%, чем пытаться забраться в лоб на 18%.
Видно, что мы не красим те места, в которых никто не ездит (например, море :)
А зимой?)
Касаемо велонавигатора - для катающихся за городом рекомендую попробовать OsmAnd. В городах же 2gis лучшие.
Позанудствую - osmand - это просто враппер для Open Street Map (OSM) под Android (AND). Юзайте osm с любым враппером ;)
Назвать OsmAnd "просто враппером", это конечно мощно с вашей стороны.
Честно я не встречал более богатого на функционал картографического приложения для android, чем OsmAnd, даже среди коммерческих приложений.
Ну, какой бы отличный там не был функционал, основная полезность карт в их точности, а именно геодату и, сотвественно, точность/детальность предоставляет OSM. Когда у гугла, дубльгиса и яндекса карты собственные, и гуй собственный.
Зимой обычно высота уровня моря примерно как раз и равна высоте уровня моря. Тоже можно не красить.
Круто, присмотрюсь к определению высоты в пропущенных квадратах на основе вашего подхода со свёрткой. А кригинг рассматривали для той же задачи?
Как по мне, так перепады высот это наименьшая из проблем. Лично я при прокладывании маршрута стараюсь пользоваться следующими правилами:
- минимум "колец" и транспортных развязок;
- минимум левых поворотов если нельзя избежать, то выбирать места где много автомобилистов поворачивают налево, или где удобно пользоваться пешеходными переходами.
- избегать мест где автомобили стоят в пробке
- избегать улиц, где остается только 1.5-2 полосы из-за припаркованных автомобилей.
- выбирать улицы с наименее интенсивным движением, при этом чтобы хорошо просматривалась правая сторона, чтобы не приходилось налетать на пешеходов выскочивших из-за кустов, или выезжающих автомобилистов выставивших пол капота на мою полосу.
Пользователи 2ГИС, используя навигатор, присылают нам свои GPS-координаты.
То есть для каждого пользователя 2ГИС на сервер постоянно пишется его «обезличенный» трек?? А если я не использую режим навигатора? Если не включаю отображение пробок?
Всё бы ничего, но во Владивостоке одна велодорожка и на ней нет перепад высот. А если ездить по реальным маршрутам - перепадов всё равно не избежать. Если тебе нужно добраться с одной сопки до другой - прямой(кратчайший) путь и будет путём с минимальными перепадами.
Отличная статья, интересные решения, приятно читается, спасибо, пишите еще :)
Да, точно!
Я читал Хабр с чужого компа, и специально залогинился, чтобы проплюсовать автора. Очень прозрачно, на понятном для всех примере изложены идеи, с которыми надо быть "на ты" при обработке реальных данных: сглаживание, фильтрация выбросов, и т.д. Но главное спасибо все-таки за так называемые "чудеса": двухмодальность распределения и "проблему мостов". Многие учебные курсы либо умалчивают о том, что в практической работе такие "чудеса" могут (и встречаются!) на каждом углу, либо упоминают об этом вскользь, так как считается, что подобная "проза жизни" недостойна внимания высокой теории. А ведь это на самом деле чуть ли не главное, чему надо учить всех, кто перешагнул самый-самый базовый уровень! Я много лет работаю с геофизическими временными рядами, и могу утверждать, что подобные "чудеса" - почти наверняка могут встретиться в любом, даже самом идеальном (казалось бы!) наборе данных. Нам-то понятно, что нет никакого смысла заниматься глубокомысленным анализом формальных статистик, пока данные не проверены на наличие аномалий такого рода. А вот в учебных курсах об этом пишут и говорят гораздо меньше, чем стоило бы. На этом фоне статья - это просто луч света в подземном царстве ;-) Так как в ней ненавязчиво, но очень доходчиво описана как рутинность таких проблем, так и методология работы с ними:
1) обнаружить "странный" эффект;
2) проанализировать (систематизировать);
3) проинтерпретировать (докопаться до причин);
4) учесть или исправить.
Благодаря этому статья о решении конкретной задачи фактически превратилась в прекрасное наглядное пособие, которое дополнит любой учебник по анализу данных!
Мое восхищение автору ;-)
Спасибо!
А вы не думали получать данные с пульсометра?
И вам информация(если я еду медленно, на высоком пульсе, значит еду в горку)
И мне (нужно приложение которое одновременно и маршрут покажет и пульс)
Интересно, вот только заметил одно, нет:
спуск
Крутой спуск
вместо этого - ровный участок, проверил это на обратном маршруте где был подъем и крутой подъем.
Извините, но не "выезжаем", а "по коням".
А так, спасибо за эту крутую функцию!
Статья огонь! Приятно видеть, что навигатор догоняет лучшие мировые решения и перегоняет их.
(Однако идея вставлять в статью панорамы от главного конкурента - не самая лучшая, надеюсь, это троллинг)
по поводу 35 м, может быть связано с разной конвенцией у производителя телефонов, т.к. есть gps sea level и geoid sea level, который не эквиваленты: https://www.esri.com/news/arcuser/0703/geoid1of3.html
А можно списочек телефонов с хорошией/плохой точностью GNSS?
Какие классные ваши внутренние скриншоты с облаком точек! Прямо как в ушедшей Strava, помогало найти секретные тропы и дорожки, которых нет ни на одних картах.
Хорошо бы увидеть список "плохих" смартфонов с gps, с разбивкой по кластерам. Чтобы знать, что не покупать.
Слушайте, спасибо, что написали про облака точек. Мне сейчас показалось, что было бы отлично, если бы такой слой был и в нашем приложении. Передам эту идею нужным людям:)
Не ограничивайте себя в выборе телефонов:) Перепады будут правильными и в случае первого и в случае второго кластера, просто эти два кластера нельзя перемешивать друг с другом:)
У стравы есть один плюс в плане точности - доля треков с велокомьютеров довольно существенна. Точность велокомьютеров сильно выше точности телефона, особенно по высоте. К тому же в андроидах по умолчанию включён режим определения местоположения по базовым станциям и WiFi, что вносит заметные аномалии в трек.
сделать
.
Вы, наверное, имели в виду .
Я слышал, что погрешность определения высоты у бытовых GPS приемников может быть на порядок больше погрешности определения горизонтальных координат. Отчасти это связано с физикой, отчасти с двойным назначением самой системы. Вот тут например https://support.garmin.ru/support/solutions/articles/26000045353 пишут, что +-120 метров это в принципе нормально. А какой точности вы собираетесь достичь используя описанную методику?
В этой задаче нам по сути не важна абсолютная высота. Для того, чтобы увидеть перепады достаточно знать разницу между высотами в двух точках, т.е. относительную высоту. Мы сравнивали наши перепады с перепадами в данных, которые были получены при помощи топографической съемки и высоты в них считаются как раз относительно геоида. Смотрели в куче разных мест. Никакого "криминала" в +-120м не замечали. Различия в пределах пары метров на несколько км. длины пути в основном были
Если погрешность в пару метров с точностью до известной константы, получается ваши самокатчики на пару с алгоритмом способны заменить дорогущую топосьемку (или у методики для такого применения есть какие-то принципиальные ограничения)?
Так приблизительно и есть. Дорогущие топоприёмники не только анализируют фазу и используют RTK, но и долго накапливают измерения, чтобы уменьшить ошибку.
Только есть большая проблема -- систематическая ошибка некоторых телефонов, но её, как видите, научились боле-менее успешно устранять. Главное, чтобы рынок в определённом регионе не оказался наводнён "неправильными" телефонами. Кстати, в сети полно радарных данных со спутников с высотами, можно оценивать достоверность данных по ним.
Маршрут строит довольно "необычно", с точки зрения велосипедиста это интересная фича, кататься по разным улицам. Но, меня малость удивило, что приложение, при привязки к ВК, умудрилось подтянуть УДАЛЁННУЮ несколько лет назад фотогфию....да и данные о подписках и подписчиках тоже очень старые.
У Москва и Новосибирска примерно одна и та же широта?
Как считается расстояние? Только по горизонтали или изменение высоты тоже учитывается? Как GPS это обрабатывает?
Покоряем высоты для велонавигатора 2ГИС