Как стать автором
Обновить

Комментарии 215

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

Когда я руками планировал маршрут в Барселоне, то ориентировался по panoramio — если где то снято много фотографий, то туда надо идти и смотреть на месте.

НЛО прилетело и опубликовало эту надпись здесь
Кстати, да, panoramio в этом смысле очень помогало. Большое скопление фото всегда указывало на интересность места. Жаль, что проект не выжил.
Я периодически пользуюсь стареньким: sightsmap.com

Живу в Париже и хорошо его знаю. Готов потестировать.

Пожалуйста, добавьте город Алматы.
Напишите лучше в соответствующей теме в группе в ВК, я сегодня-завтра скопом добавлю то, что там просили, а тут могу и забыть. vk.com/sightsafari
Добавьте Берлин. Протестирую и напишу фидбек.
Берлин я уже пробовал добавить, но ресурсов на него уже не хватает, все начинает валиться с OOM при попытке импорта. Крупные города добавлять пока не выйдет.
НЛО прилетело и опубликовало эту надпись здесь
Зашёл в комменты проверить, написал ли кто-то про ингресс.
Сервис можно использовать как пособие для построения баннеров.
Здорово! Вот бы к такой штуке еще прикрепить карту дорожных работ и раскопок коммунальщиков =)
Крупные дорожные работы (например стройка новой развязки или моста) обычно в OSM есть и сейчас учитываются как негативные зоны. А мелкие типа «ищут трубу под тротуаром» обычно не сильно влияют на пешеходов. Да и я не знаю где данные о них взять.
Очень хочется центр Москвы!
И ещё идея — делать вело-версии. По Европе можно вообще строить длинные маршруты через несколько городов
Ну я не велосипедист, так что мне трудно судить о качестве маршрутов. Вон яндекс недавно выкатил веломаршруты, да и в OSM есть велонавигаторы, так что этого добра вроде и так хватает.

Москву сейчас добавлю, вроде в пределах ТТК она не так много весит.
Я имею ввиду веломаршруты, интересные в плане исторических и природных достопримечательностей. Сейчас подумал, что это будет интереснее именно как маршруты от города к городу. Ну а внутри каждый уже сам может выбрать наиболее интересные достопримечательности.
Москвы в пределах ТТК, думаю, всем хватит надолго :)
Идея класс, реализовано круто.
Кроме OSM, вы рассматривали, например, Викимапию или другие карты?
Было бы круто добавить Уфу. Здесь вообще нет никаких карт по историческим памятникам дореволюционной Уфы, и поэтому люди о них не знают и гуляют по двум-трем местам.
Нет, использовал только OSM. Мне кажется они наиболее полны, просты и доступны, плюс я и раньше с ними уже работал.

Уфу добавил, буду благодарен если вы там потыкаете маршруты, оцените их адекватность и попишете отзывы на них.
Вот какой-то маршрут, делающий интересный крюк к скверам и Театральной площади вместо кратчайшего.
sightsafari.city/?from=54.729098,55.945671&to=54.727086,55.928658&ratio=1.5
Благодарю Вас!
Обратную связь обязательно предоставлю.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Скиньте мне точные координаты в личку, я погляжу. Или оставьте лучше отзыв на маршут (там кнопочка есть над списком достопримечательностей), у меня тогда в админке будет виден и сам маршрут, и все дебажные данные по нему, и ваш комментарий.
Вообще могло быть и то, и другое. Бывает в OSM плохо размечено, да, бывает что крюк большой. Еще есть проблема что не везде отмечены пешеходные переходы, в итоге OSM навигация строит очень большой крюк до следующего перехода чтобы вернуться назад, хотя он там не нужен.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Фонтаны учитываются, да.
Ну всегда есть какая-то граница, в которую можно попасть. Которая разделяет два разных кратчайших маршрута, или отсекает слишком длинные маршруты.
НЛО прилетело и опубликовало эту надпись здесь
Ну АПИ у меня есть, если кого-то из разработчиков картографических сервисов такая система заинтересует — я всегда готов обсудить сотрудничество. Пока что мы только в рамках разрабатываемой в ИТМО системы визуализации всякой городской информации его использовали, но в принципе можно добавить куда угодно.
Может быть попробуете предложить свою разработку 2GIS? У них отдельные карты для городов (скачал и смотри offline), карты с отмеченными достопримечательностями (с возможностью добавить отзыв и прикрепить фотографию) и как они говорят, детальные пешеходные маршруты. Добавить Ваш функционал — будет совсем хорошо.
Проблема в том, что как истинный программист-интроверт я совершенно не умею впаривать кому-то мои разработки. Понятия не имею кому и как там писать, чтобы предложение не улетело сразу в спам.
Так что разве что если кто-то из них сам это на хабре увидит и заинтересуется (отчасти в надежде на что-то такое я этот пост и написал)
Крутая штука!
Но вы правы, сделать — только полдела, нужен еще кто-то, кто донесет это до масс.

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

Кейсы
1. Человек идет в незнакомое место, у него оказалось свободных 15-30 минут, он хочет прогуляться по красивым местам. Вряд ли будет ставить новое приложение либо заходить на сайт. Если в приложении, которым он пользуется (2GIS, MAPS.ME, OsmAnd+ и т.д.), такой режим будет — воспользуется.

2. Человек узнал о новой клевой штуке. Поиграет полчаса и забудет. 10% будет возвращаться раз в 3 месяца, 1% самых упоротых будет возвращаться регулярно. На сайт, скорее всего, зайдет больше людей, но в целом кейс не очень интересный.

3. Человек едет в путешествие/командировку незнакомый город и живет там на окраине, по пути к центру хочет посмотреть на интересные места. Скорее всего зайдет на свой любимый сайт с картами либо в свое любимое

Способ подачи функциональности
Вообще, посмотрев на количество приложений для навигации (например, в Google Play нажать «Similar» для MAPS.ME), более-менее понятно, что надо встраивать функциональность в существующие сайты/приложения.

Если встраивать в приложение, которое умеет строить короткий маршрут оффлайн, то ради чуть более красивого маршрута требовать интернет будет несколько странно. Т.е. придется работать на Android / iOS.

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

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

С кем общаться
Вот тут можно посмотреть, какие приложения используют OSM:
wiki.openstreetmap.org/wiki/Android
wiki.openstreetmap.org/wiki/Apple_iOS
Некоторые нацелены на автомобилистов, их сразу отсекаем.

После очень быстрого взгляда кажется, что наиболее перспективным является MAPS.ME (популярна и нацелена в т.ч. на пешеходов). Вопрос в том, готова ли владеющая им MailRu.Group заплатить денег за такое улучшение.

На хабре есть их блог, где они отметились постами про Maps.me:
habr.com/company/mailru/blog/262185
habr.com/company/mailru/blog/262903
habr.com/company/mailru/blog/266693
habr.com/company/mailru/blog/331052

Можно попробовать написать авторам постов. Автор поста по последней ссылке — руководитель проекта Maps.me, наверное, стоит общаться именно с ним.

Судя по датам, на хабр заходит редко, зато на ФБ часто (легко гуглится по нику).

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

Думаю, кровно и массово заинтересованы туристы(п.3). В чуть меньшей степени — недавние клиенты грузоперевозчиков и риэлторов (мигранты, новоселы). Мамы-бабушки и учителя тоже, думаю, оценят
НЛО прилетело и опубликовало эту надпись здесь
Добавьте, пожалста, Нижний Новгород.
С удовольствием потестирую
Добавил
Спасибо
Классная идея! Можете добавить город Турин (Италия). Протестирую на выходных
У меня уже память на сервере заканчивается, а это я еще не все российские города запрошенные загрузил =). Так что на иностранные думаю ресурсов уже не хватит. Я как-то не ожидал, сколько окажется заинтересованных людей из других городов.
Очень жаль) Желаю Вам развития и выход на другие страны! :)
А почему используете сервер, а не создадите приложение для телефонов, которое будет закачивать данные прямиком на клиента? Это позволит кроме экономии ресурсов также удерживать клиентов, держать их в курсе обновлений, зарабатывать копеечку на рекламе, сохранять маршруты (для гидов), добавлять свои достопримечательности (через ваш срвер добавлять данные в osm, если это можно делать по апи в нормальном формате со всеми данными в корректном виде, а не как попало) и вообще ввести кучу потенциальных фишек.
Потому что я больше бэкендер. Сделал то что умею. В андроиде я совсем не мастак.
Ну и первые версии алгоритма работали очень медленно даже на сервере. Сейчас я это дело подоптимизировал, можно подумать и над переносом в телефоны.
Очень круто ) Может потому что я такого никогда не видел, но для меня как junior программиста, это классно :) Тоже кстати родной город Санкт-Петербург поэтому претензий нет. На самом деле, если еще поработать над этим сервисом, можно сделать хороший продукт, главное идеи, а их как ты заметил много) Расширение например, те же города, например Рим, добавляй не только для тех кто может протестировать, а для всех(ну, конечно, на сколько это возможно, а если невозможно, то нужно поискать пути решения ) Но перспектив масса, я думаю ты загорелся этой идеей. Еще одним нюансом служит то, что многим удобнее открывать приложение, поэтому тут тоже можно потрудиться, возможен offline режим, не у всех же на телефонах есть интернет, а оффлайн режим это как бонус. Еще есть пару вопросов, сколько ты это делал?) и просто интересно на каком уровне программирования ты находишься?)
Приложение я сделаю, но я больше бэкенд и веб-разработчик, андроидом занимался не очень много, поэтому начал со знакомого — с веб-версии.
С добавлением новых городов проблема — там пока все хранится в памяти, а не в БД, а память не резиновая. Думаю еще пару городов можно добавить, а вот потом начнутся проблемы.
Оффлайн режим сделать не очень просто, так как он думаю будет сильно тормозить на медленных устройствах из-за большого количества операций с геометрией (поиск пересечений маршрутов с полигонами видимости объектов). Возможно в будущем удастся это дело оптимизировать (в GraphHopper можно предрасчитать навигационный граф, что должно ускорить поиск пути).
Сделано оно где-то за месяц по вечерам, первая версия вообще за выходные слеплена. Про опыт — у меня уже 10 лет опыта разработки, в основном на джаве, на первую работу устроился в 2008 году.

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

там пока все хранится в памяти, а не в БД

так сделай в БД, всё невозможное — возможно. Что на счет добавить людей к этому проекту? (расширение имеет смысл). Только выбирай людей, которые не просто хотят что-то делать, а которые видят в этом проекте недостатки, которые горят идеей.
Я вообще не вижу смысла работать на кого-то, если у тебя есть идеи, то почему бы не продвигаться самому и давать людям то, чего им не хватает? Желаю тебе успехов в этом проекте :) всем нравится, это хорошо
Так где этих людей взять-то? Все это пока делается мной в виде хобби. Денег платить зарплату еще кому-то у меня нет. Брать людей «на энтузиазме» — у меня довольно негативный опыт подобной работы (когда я делал игру мечты свою), люди быстро приходят и так же быстро теряют энтузиазм и уходят, в итоге я больше трачу времени и сил на введение их в курс дела и координацию, чем получаю сделанной ими работы (про это вообще отдельную статью можно написать).

Так что если не получится найти способ монетизации — я так и буду его потихоньку пилить в свободное время, с соответствующим темпом.
Я бы мог что-то сделать простое для твоего проекта бесплатно, потому мне не нужны сейчас деньги, а вот опыт нужен. Да и вообще я никогда не работал в команде, буду рад спонсировать тебя новыми идеями и разбираться в чем-то новом ). Так что если ты дашь задание, буду копаться, разбираться и не требовать от тебя времени и сил на внедрение в курс. Да, я тоже делал игру своей мечты, до сих пор в разработке, забросил ее, так как считаю это бессмысленным. Миру нужны инновации, а не игрушки, нужен прогресс. Если бы все делали игры, то кто бы двигал человечество вперед?) Если, что я говорю про игры, которые не разработаны в научных целях и не направлены на улучшение человека.
Про способ монетизации, тут лучше посмотреть опыт других разработчиков, у которых тоже не было ее) Про людей да, отдельную тему можно сделать, каждый человек индивидуален и ты не знаешь уйдет он или нет.
Ну игры тоже нужны. Без отдыха люди не смогут продуктивно работать.

Насчет остального в личку отписал.

Супер приложение!
Есть возможность добавить Благовещенск?


Опенсорс не планируете? По возможности попробовал бы помочь. Особенно в части андроид приложения.

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

Благовещенск добавил. Правда город-то небольшой, и там не так много интересных маршрутов можно построить, которые отличаются от кратчайших. Но вот например маршрут от вокзала к пристани с заходом в парк к памятникам.
sightsafari.city/?from=50.287151,127.543294&to=50.250430,127.554978&ratio=1

Опенсорсить пока не планирую, есть все-таки корыстная мечта как-то денег на нем срубить. Или хотя бы окупить нормальный хостинг (пока оно крутится на сервере, купленном под другой проект, и уже неплохо кушает его ресурсы).
Приложение актуально тем что может производить расчеты на устройстве, а не сервере, что снизит на него нагрузку, а тут одним апи не обойтись. Хотя надо глянуть.
Как вариант кстати сохранять в бд уже построенные маршруты и и по запросу отдавать уже построенные. Для сокращения базы сделать допущения при котором маршруты считаются одинаковыми (типа точка пути на 10-100 метров отличаются, по факту разницы ноль), ну а так же можно хранить эти маршруты еще и отрезками, что из них составлять маршрут. Это уберет одну из нагрузок на сервер — расчет видимости объектов, они уже будут рассчитаны.
И ввести устаревания маршрута, например если он в базе без изменений уже месяц, то обновить. Вдруг новые объекты добавились.

Ну а так, жаль что опенсорса не будет, но лично меня больше интересует получить работающий продукт, так как давно искал что то такое, а самому писать, не додумался xD
В 2гис можно попробовать привлечь внимание например упомянув их тут или написав на прямую пользователям хабра работающих там, например rumyash писал о том как они делали карту для карты) или kab делал статью о добавление расписания общественного транспорта, думаю их отделы где то рядом с теми куда вам попасть надо, можно попробовать)
А еще у 2гис вроде как бесплатный апи.
У большинства картографических сервисов есть бесплатные версии апи, но годятся они как правило только чтобы разместить их карту на своем сайте для клиентов, или что-то вроде того. Для использования в своем картографическом продукте обычно требуется платная лицензия.
Можно нажать неприметную ссылку «load sight areas» внизу. Оно загрузит все доступные области карты. Это отладочная информация, она не оптимизирована и работает долго (15-20 секунд на загрузку), но в итоге можно получить представление о том, что и где находится.

Плюс можно в любой точке карты кликнуть правой кнопкой и нажать «что здесь». Оно покажет список объектов поблизости, с областями влияния которых пересекается эта точка.

Несколько точек сделаю потом, это важный функционал, да.
Отличный сервис, очень интересный и полезный. Живу в Питере, проверил многие знакомые маршруты, совпадает)
Вопрос только в использовании. В принципе, мобильная версия как таковая отсутствует, но так, как открывается, вполне юзабельно. Но представим, что не открывается, или вообще у человека нет смартфона. Что делает человек? Открывает сайт, строит маршрут, возможно, выписывает какие то ключевые точки. Было бы здорово, если бы сайт умел генерировать что то вроде маршрутного листа. (на перекрестке с улицей Прямой поверните на улицу Косую, увидите памятник неизвестному городскому планировщику.) Может быть, туда можно даже добавлять фотографии ожидаемых достопримечательностей, или выгружать его в pdf, скажем.
Мне тут уже предложили делать GPS треки, доступные для скачивания и экспорта в офлайн-карты.
Ну и мобильное приложение я конечно тоже сделаю. Сейчас-то это скорее концепт и демо-версия. А статья на хабре — проверка гипотезы о том что такой сервис будет востребован.

Про фотографии — пока можно разве что с википедии их утягивать, но тег wikipedia есть у сравнительно небольшого количества объектов в OSM (и они ссылками в списке достопримечательностей отражаются)
При должной рекламе и дружелюбном оформлении проект, мне кажется, вполне имеет возможность жить, и даже за какую-то небольшую подписку. Я бы пользовался.
Еще одно пожелание. Как я обычно гуляю, когда не имею конкретной цели — иду куда глаза глядят, то есть без направления. Можно добавить режим хаотической прогулки. Допустим, я готов пройти сегодня километров 10, указываю начальную точку, и сервис показывает интересный маршрут.
Геокодер OSM, как я уже написал, работает плохо (знает мало адресов, требует структурированных данных на входе)

А попробовать альтернативные геокодеры нет планов?
Например: habr.com/post/277043
Я пока видел только коммерческие. Тот же гугл или яндекс — работают отлично, но по бесплатной лицензии их нельзя использовать в своем сервисе, а платная стоит много денег.

Потыкал парочку OSM-ных, но все они как-то плохо работали. Эту вот ссылку не видел, спасибо, изучу.
А подключите Ростов-на-Дону пожалуйста
Добавил
Добавьте, пожалуйста, Киев

Давно хотелось такое приложение
Поставил качаться, через несколько минут станет доступен.

Львов бы тоже было неплохо

Спасибо!

Опишу свои пожелания:
1. Находить точку по адресу / текущему местоположению
2. Возможность строить маршрут без указания конечной точки — маршрут в итоге должен вернуть тебя в начальную точку
3. Возможность искать маршрут с минимальным количеством переходов дороги (режим пройтись прогуляться)
Переходы дороги это боль, да, текущая реализация GraphHopper почему-то очень любит скакать туда-сюда через дорогу. Надо только придумать как именно их вычленять из карты. По-моему далеко не все они помечены специальными тегами.
Давно искал что-то подобное)
Очень интересно, спасибо.
Добавьте пожалуйста Казань — интересно будет потестить ваш алгоритм.
Добавил. Не забывайте отзывы о маршрутах писать, все пригодится для отладки алгоритма.
НЛО прилетело и опубликовало эту надпись здесь
1. GraphHopper такое умеет из коробки, но это требует доработок по фронтенду, когда-нибудь сделаю.
2. Мне кажется слишком сложно — заставлять пользователя какие-то предпочтения вводить. К тому же все это такое очень нечеткое, субъективное, сам пользователь думаю не сможет сходу сказать, что для него лучше — 500 метров по парку или 200 метров мимо красивого собора.
3. Такое пока есть в виде что построенный маршрут не должен быть более чем в 2 раза длиннее кратчайшего (исключение — крайнее правое положение ползунка, там 2.5 раза).
4. Мне кажется что это довольно бесполезная фича. В том же maps.me она есть (рейтинги, отзывы) но ей похоже никто особо не пользуется. Во всяком случае ни разу там не видел проставленный рейтинг в тех городах, куда брал эти карты.
5. Шаринг маршрута да, сделаю в каком-нибудь виде.
НЛО прилетело и опубликовало эту надпись здесь
Интересный сервис получается. Из предложений — возможность сгенерировать круговой маршрут из точки в ту же точку, с максимальным количеством интересностей, например, по времени. Было бы удобно для туриста, приехал в центр, есть, к примеру, 2 часа свободного времени, выставил круговой маршрут на 2 часа и пошел смотреть. Или возможность генерировать маршрут на заданное время с окончанием на любой станции метро
Я делал сервис ориентируясь на себя самого, а я обычно приезжаю в город с какой-то целью. И поэтому мне нужен маршрут от точки А в точку Б (например от отеля до места проведения конференции или до вокзала), но так чтобы по пути еще что-то посмотреть.

Хотя с круговыми маршрутами можно и подумать, уже несколько человек мне их предложили.
Отличная штука, спасибо!
Единственное что немного не так — вывод списка достопримечательностей: до него нужно скролить и интерфейс несколько разваливается (FF 60.0.2).
скрин
image
Ну я в основном бэкендер. Фронт не моя специализация, уж как смог налепить на jquery+bootstrap, хех. Было бы здорово если бы кто-то смог помочь мне с макетом страницы, я просто не могу придумать куда приткнуть этот (потенциально довольно длинный) список достопримечательностей, чтобы он и половину карты не загораживал, и в экран при этом влезал.
Да просто местами их поменять,
типа такого:
image
Хм, да, это вариант.
А у меня вылез такой баг, панелька залезает на кнопки масштабирования, и есть только "+", кнопки "-" не видно

Ага, легко исправляется одним стилем)
А не подскажите как это сделать?
Хотя на самом деле это неправильное решение, должно сразу работать (за исключением вот таких моментов тестирования), без всяких стилей.
Интересно, вашу карту можно использовать для соревнования Бегущий город (но это читтерство, конечно). =)
Мне кажется в этом нет смысла, ведь на БГ нужно пробежать быстрее всех, т.е. нужны именно кратчайшие маршруты, а не самые красивые. Разве нет?
И это тоже, но можно подсмотреть все достопримечательности, если ты конкретно не уверен, куда нужно идти. Это для категорий с загадками.
Добавьте Черкассы (Украина), пожалуйста. Не думаю, что много места займет.
Добавил.
Спасибо. Оставил немного коментариев.
Добавьте Саратов, пжл
Поставил качаться.
скачиваем Open Street Map карту, парсим ее

А если взять количество фото на квадрат, фото которые выкладывают туристы, и узнать самые посещаемые и красивые места/районы. Например с panoramio, правда этот сервис не работает сейчас, но фотки с него показываются в google earth, а значит можно выдрать json меток с координатами.
Да, это тоже вариант, у нас в ИТМО на эту тему делают всякие исследования. В принципе источников данных-то можно придумать много разных. Найти бы время и силы их все добавить =) Ну и еще нюансы бывают со всякими лицензионными соглашениями, не все разрешают свои данные использовать произвольным образом в сторонних продуктах.

Продались бы 2gis. Нужный сервис, особенно для питера

Да я бы с радостью, только кто б купил =)
Где ДубльГИС, а где OSM. Зачем местечковый сервис, когда можно по всей планете?
Ну для действительно хороших результатов все-таки нужна ручная доработка данных. Два парка могут одинаково выглядеть на OSM, но в реальности сильно отличаться — один чистый и красивый, а другой — грязный и заброшеный, куда после дождя только в резиновых сапогах. Такие нюансы нужно размечать вручную.

Так что есть альтернатива — либо автоматически весь мир, но на троечку, либо хорошо, но с ручной доработкой и только ограниченная территория.
В этом плане, как раз у 2гис хорошо. У них есть сотрудники, которые ходят ногами и проверяют точность карт, соответствие размещенных в здании организаций, качество асфальта.
Я написал на хабропочту автору одного из постов в блоге 2гис, может им понравится и они к вам обратятся :)
Мне сервис будет полезен, так как я тут начал увлекаться фотографией и мне такой маршрут как раз идеален для тренировки скиллов
А это не какому-то одному человеку решать. К этому надо прикручивать систему оценок от пользователей, у maps.me как раз есть такое (у ДубльГИСа тоже есть). Ну и кому-то нравятся стриженые газоны, а кому-то заброшенные парки, кому-то одинаковые квадратные деревья, а кому-то разросшиеся в разные стороны лохматые кроны, кому-то нравится в одиночестве гулять, а кому-то толпа народа нужна. Через один парк по длинной стороне проходим, а второй — вдоль короткой стороный забора, да и то не с той стороны (маршрут через Летний сад строится если точки слева и справа от него, но не по стороне набережной и сразу на Марсово поле выводит, и кроме Чижика и вазы смотреть не на что и ограда скучная — все скульптуры на севере).
И у них обоих сейчас есть маршруты для прогулок внутри приложения.
Ну так то можно добавить полу автоматический фидбек.
Построили маршрут, пользователь прошелся, увидел что ну как бэ не очень конкретно в этой точке, пожаловался.
Или наоборот знает что в этом месте есть что посмотреть, но на карте этого нет, поставил.

В нагрузку можно еще использовать список с интересными местами от гугла, они сделали его открытым.
Отличная идея. Много гуляю по Городу по следующему маршруту: Летний сад, Ботанический сад, Каменный остров, Смоленское кладбище, набережная лейтинанта Шмидта, Коломна, Семенцы, Пески, Смольный собор и снова Летний сад. Получается как раз на один световой день — 42 км. Хотелось бы иметь возможность создания кругового маршрута и ограничение по расстоянию или длительности.
Да, про круговые маршруты уже много кто написал, хотя мне самому такое в голову не приходило — не люблю гулять без цели, цель должна быть (пусть даже дурацкая типа пообедать в конкретной кафешке). Надо подумать как их сделать.
Цель — 42 км, а это марафон и вроде как даже армейский стандарт пешего перехода, но могу ошибаться. Но и кроме того, часто хочется просто пройтись без мыслей, но ловить удовольствие от окружения.
Дополнительная хотелка — это прикрутить размещение солнца по маршруту. Те, чтобы заранее представлять где будет солнце, когда идешь по маршруту. Это позволит не щуриться и понимать удачное время для съемки пейзажа и архитектуры.
Может быть было бы еще интересно размещение мест отдыха по пути. Интересные кафе, туалеты, парки.
Тут все упирается в то, откуда эти данные брать. Если парки в OSM есть и у меня используются, то всякие кафе и прочее туда обычно не попадает или является очень устаревшим (заведения открываются и закрываются быстрее, чем обновляются карты).

У меня пока разве что идея для монетизации была в виде рекламы — подпихивать в список достопримечательностей иногда проплаченные ссылки на заведения по близости. Но это так, идеи.
Предложить выставить несколько точек.)
Плюс у вас уже есть почти такого функционала, маршрут обратно вы строите отличным от маршрута до цели.
Так же можно просто отфильтровать все интересные места и построить маршруты которые обходят их все.
хм, а почему бы не попробовать пробочный сервис наизнанку? Пробки определяются по информации о скорости движения машин, на которых работает данный навигатор. Пусть приложение тупо собирает, с какой скоростью перемещаются пешеходы с этим запущенным приложением. Отсеять поездки легко по скорости, а торговые точки по их, торговых точек, спискам (для чего можно законтачить с двагисом, к примеру или любым иным картосервисом). Voila! Водим людей туда, куда и другие люди любят заходить. Проблема особо интересных мест решается точечным вводом данных, а не массовым парсингом кривых карт. Да и карты можно использовать любые, яндекс или гугл в руки.

Идея же парсинга по кривым начальным условиям мне представляется вполне абсурдной.
еще бы взять данные с афиш и кудасходить. Ибо интересные места могут появляться динамически
Видел подобное рассказывали на TED Talks. Идея очень похожа
youtu.be
Добавьте, пожалуйста, Одессу. Спасибо.
Добавил

Очень круто!


У меня похожий проект давно развивается. Уже есть версия в Google Play. Но меньше акцента на алгоритмах, больше на интерфейсе. Потому что какие бы хорошие маршруты не выходили — они мало кому нужны, если ими неудобно пользоваться.

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

именно) https://play.google.com/store/apps/details?id=ru.travelpath


ещё, что кажется важным, просто данных в OSM не достаточно — никому не нужны просто названия. Ты приезжаешь в незнакомый город, видишь точку "Собор имени Ивана Иванова", и ты знать не знаешь что это за фигня и стоит ли тратить время чтобы туда дойти.
Нужна своя база с картинками, текстами и всем-всем-всем.

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

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

Думаю в партнёрстве с какими-нибудь туристическими агентами возможно покрыть всё крупное сразу.


Я думал что стандарт — длинное нажатие. Поэтому там установка точки это длинное нажатие на карту
В целом же по дефолту маршрут строится от текущей точки, но её можно удалить.
Или адреса вводить в поля.


Но то что я тут объясняю интерфейс, означает что нужно над ним ещё поработать)

Длинное нажатие изменяет целевую точку. Но я так и не нашел как изменить исходную. Можно кликнуть в поле ввода, но тогда можно только ввести адрес, нельзя точку на карте поставить.

Но то что я тут объясняю интерфейс, означает что нужно над ним ещё поработать

Это да, у меня тоже часто люди не понимают как адрес ввести. Юзабилист из меня тот еще.

Нажатие на точку начала или конца — удаляет точку. После этого можно её поставить в другом месте.
Ещё их можно просто двигать, зажав)
Если ввести адрес — выбранный адрес преобразуется в точку. Там отдельные поля и для начала, и для конца.

НЛО прилетело и опубликовало эту надпись здесь

Авторские права, всё такое. Это проблема, если мы говорим о полноценном продукте, а не о поделке на коленке.

НЛО прилетело и опубликовало эту надпись здесь

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

В OSM у типично туристических мест есть тег wikipedia — это про тексты. Так же есть mapillary и openstreetcam — это про картинки, но там обычно только дороги фоткают.
А ещё есть тег image.
В Германии подобный сервис есть у Komoot.
Прокладка маршрута между точками с учетом достопримечательностей
для велосипедистов/пешеходов/бегущих
Они тоже работают на основе OSM. А монетизация — покупка регионов карты или всего всего.
Спасибо за наводку, не слышал о таком. Но беглое чтение сайта не дало информации о том, как они учитывают достопримечательности. Пока создалось впечатление что это просто еще один пешеходный навигатор, строящий кратчайшие маршруты, возможно еще с дополнительными эвристиками типа простоты ходьбы (чтобы поменьше в горку идти).
Да, посмотрел — там достопримечательности (различные POI) показываются на карте, их можно добавлять в маршрут и маршрут соответственно пересчитывается.
Достопримечательности дополнительно оцениваются людьми.
Маршрут можно сделать приватным или открытым для комьюнити.
Есть уже довольно большое количество маршрутов, которые можно брать за основу.
Интелектом тут похоже является комьюнити:)
Отличная задумка! А могли бы вы добавить Минск, а то хотелось давно что-то такое попробовать в плане карт. Буду благодарен! Похожу потестирую приложение :)
Добавил
Добавьте Минск, пожалуйста.
Добавил
Добрый вечер. Штука достаточно интересная, соглашусь с предыдущими комментариями. Было бы очень полезно, чтобы можно было не только строить маршурт между двумя различными точками, но ещё и в случае, если они совпадают. Простые примеры:
1) Туристы — основная Ваша целевая аудитория. Много приезжает жить в центр города и маршрут строят от отеля. И, понятное дело, этот же отель будет последней точкой.
2) Жители города. Например, я езжу в центр на машине/метро/автобусе и, как правило, это одна и та же остановка/точка. Особенно в случае с машиной — когда хочется погулять с детьми и показать им город.
Если бы можно было расширить географию, то такое приложение было бы очень полезно при транзите в незнакомых городах. Есть какое-то определенное количество времени, хочется погулять посмотреть. Задаешь количество времени, возможно макс километраж, строятся маршруты (с возможностью задать промежуточные).
То, о чем Вы говорите, уже есть как для всей России(очень неплохая коллекция маршрутов пешком/на транспорте), так и для Петербурга в частности. Различие только в том, что представленный сервис строит маршрут между выбранными Вами точками =)
Фиксированные маршруты строят многие города для себя (у нас в Питере этим занимается Комитет по туризму, например). Но у них есть определенные проблемы:
  • Они устаревают и очень редко обновляются (раз в несколько лет)
  • Их обычно не более 5-7 штук на город, соединяют они только основные достопримечательности в центре
  • Качество иногда бывает странным (например недавно в СПб к ЧМ по футболу построили маршрут, идущий через промзоны на Лиговке, что вряд ли понравится туристам, SightSafari же предлагает обойти этот район)
Можно попробовать.

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

Места которые нужно обходить можно искать также.
Нейронка по фото может определять наличие нежелательных элементов.

Маршруты должны проходить мимо кафе, общественных остановок, метро и т.п.
НЛО прилетело и опубликовало эту надпись здесь
Проблема в том что большинство подобных сервисов имеют довольно сильно ограничивающие лицензионные соглашения. Пользоваться для личного удовольствия вы ими можете, а выдирать из них данные для использования в своих приложениях — нет.
К тому же TA и подобные обычно фокусируются на крупных, основных достопримечательностях города. Такие и так обычно есть в OSM.
Когда-то тоже занимался подобной темой, с парсингом геотегов в соцсетях, с интеграцией различных сервисов и ТД.
Наиболее подходящим в плане количества объектов, как ни странно, выбрали открытые данные России, затем делали сортировку данных как раз по геотегам в соцесетях. Подсчет количества геотегов не является сбором данных как таковым, скорее — аггрегированная статистика. Но нужно читать соглашения, да.
Интересно, а можно строить маршрут в обход сильно людных мест? =)
В принципе от смольного через таврик почти тот случай.
Вопрос — откуда брать информацию о людности места. Вообще мы тут думали как избегать излишне шумных мест, в основном — многополосных магистралей, но так и не придумали критериев для них, которые можно выжать с карты.
Есть пара компаний, которые занимаются оценкой шума в городах, и строят маршруты с учетом шума, могу поискать
Хм, людность — может какая нибудь Strava? У них есть heatmap с уличным разрешением. Правда там все таки не пешеходы.
Google maps подсвечичает «людность» мест цветом от серого до оранжевого.
image
Данные гугла и яндекса закрыты лицензионным соглашением, их нельзя использовать нигде кроме самого гугла и яндекса (даже в OSM, например, выпиливают и откатывают правки кусков карт, которые люди обводят или импортируют из закрытых источников). Так что не вариант.
НЛО прилетело и опубликовало эту надпись здесь
Ну тут приходится ориентироваться все-таки на массовые случаи, а наиболее типичная промзона в России — какие-то мрачные полуразвалившиеся корпуса, интересные только любителям заброшек всяких, куда обычный человек заходить не захочет. Там обычно неудобно идти (узкие тротуары или их вообще нет), грязно, пыльно, нет нормального освещения, не на что смотреть, грузовики мимо ездят и т.п. Плюс зачастую там закрытая территория, неправильно размеченные проходы, запертые ворота и прочие прелести.
highway=unclassified, а не unspecified.
А leisure=park вообще не предполагает никакой растительности. Парк скульптур — тоже парк, в понятиях OSM.
Советую также принимать во внимание start_date — позволяет кое-как отфильтровать исторические сооружения от всякого новодела.

А вообще, конечно, предпочтения у туристов и т.п. — разные: например, новодельный архитектурный мутант — дворец в Царицыно, «Измайловский кремль» или «дворец Алексея Михайловича» (уродские лужковские аттракционы в Москве) одним неприятно видеть, а другие от них в восторге.
Ну тут уж приходится ориентироваться на некоего «среднего туриста» без конкретных предпочтений. Потому что настроить на каждого в отдельности нереально, и давать людям заполнять опросник на 20 страниц перед началом использования — значит потерять аудиторию.
Усреднение абсолютно всегда эквивалентно «для всех, но одинаково фигово».
Наличие нескольких базовых профилей никого не отпугнёт.
Маршрут по Минску
От станции метро Тракторный завод и до проходных автозавода ( 53.889191, 27.614801 — 53.862458, 27.655699 ) почти полностью повторяет построенный мной вручную по гуглокартам и реально пройденный ногами.
И проход через парк и через дворы к грузовику на Кулешова (там нет перехода, кстати).

Единственный нюанс — рядом с точкой старта стоит трактор Беларус-2, который глупо пропускать, раз уж маршрут обходит столько технопамятников :)

НЛО прилетело и опубликовало эту надпись здесь
Да, у него нет никаких подходящих тегов.
С библиотеками, музеями, театрами и прочими подобными культурными центрами не очень понятно что делать. Сервис все-таки выбирает те объекты, которые красиво смотрятся снаружи и мимо которых интересно проходить. А у культурных объектов вся красота и функционал внутри. Те же библиотеки бывают как в совершенно невзрачных зданиях, так и в красивых. В итоге приходится ориентироваться на другие теги (историческое здание, архитектурный стиль), а их у этой библиотеки нет.
НЛО прилетело и опубликовало эту надпись здесь
Интересно, я про такой сервис даже не знал. Сколько еще этих вики-чего-то-там уже понаделали. Надо будет посмотреть, спасибо.
Тестовый маршрут по Москве от 55.760833, 37.579873 до 55.769356, 37.596438 проложен прямо внутри территории Зоопарка. Вероятно есть какие-то затруднения с учетом территорий, на которые нет свободного доступа?
Да, в OSM есть путаница с доступом к таким территориям. Есть куча разных вариантов тегирования для всяких ворот и проходных с ограниченным доступом, на это уже много кто жаловался. Надо будет видимо запретить использовать все такие участки, где явно не прописано access=public
Или fee=yes
Этот тег мало где стоит. Как раз на тех участках, на которые жалуются пользователи, его нет.
Каким ветром Траволту в Купчино занесло? :)
Нижайший поклон! Я этот сервис уже лет 5 жду :)
Если нужна какая-то помощь не девелоперская — готов подключаться и помогать.
Ну сейчас главная помощь — пользоваться и рассказывать окружающим. Больше будет пользователей — больше шансов что удастся найти денег чтобы это все развивать.
НЛО прилетело и опубликовало эту надпись здесь
С интуитивностью интерфейса у меня вечно беда =).

Фотки и отзывы — довольно сложная отдельная задача, требующая много сил и ресурсов (от хранения до модерации), которых у меня нет. Так что пока будет только так как есть — ссылка на вики, если она проставлена в объекте. Возможно в дальнейшем прикручу поиск в каких-нибудь популярных туристических сервисах, но тут надо изучать лицензионное соглашение их.
Спасибо за статью!
Очень интересно.
И спасибо за добавление Пензы, обязательно протестирую.
Это очень круто, спасибо за статью и за инструмент!
Огромная просьба, добавьте Новосибирск! Обратную связь обещаю.
Прошу как краевед и разработчик 5 штук экскурсий по Академгородку: izi.travel/ru/rossiya/putevoditeli-po-novosibirsk
Сейчас на сервере память кончилась, временно новые города я не добавляю. Сегодня может найду что там можно выпилить чтобы ее освободить и попробую добавить.
Вроде подужал там все, влез еще и Новосибирск. Чую скоро краудфайндинг надо будет открывать на новый сервер.
А можно расширить Новосибирск «вниз» (на юг), чтобы влез и Академгородок?
(Там есть мышь и лисица)
Очень интересный сервис. Частенько бываю в Питере, отвлечься от московской суеты. Обязательно протестирую. Успехов и развития!
Есть такая международная игра «Бегущий Город», как раз про помещение всяких интересных и, зачастую, малоизвестных мест в своем и в чужих городах. Задания всех игр вместе с адресами выкладываются на сайте проекта. Все эти адреса по сути — точки каких-то интересных мест, т.к. это главный принцип выбора точек для игры. Думаю, эти адреса могли бы быть как дополнительный критерий оценки интересности точек, тем более что за 15 лет проекта база уже довольно большая и для крупных городов покрывает далеко не только центр. Данные, в принципе, открыто лежат на сайте (по-моему даже с координатами), но по-хорошему лучше спросить разрешения на использование — думаю, для такого сервиса не откажут. Если что, знаю лично оргкомитет, т.к. мы в Казани делаем игры проекта.
значит, если взять какую-нибудь гоп-стоп подворотню, написать про нее статью в вики в исторической перспективе событий, сделать несколько названий по именам хранителей района и этой подворотне в частности, то потоку туристов можно будет радоваться во все семь золотых зубов.
Вряд ли много туристов пойдут в вашу подворотню, если она будет подозрительно выглядеть. Ну и как мне кажется это слишком сложный гамбит для простых гоп-стопщиков.
НЛО прилетело и опубликовало эту надпись здесь
Прежде всего, отличная работа и увлекательная статья. Спасибо.

По ходу чтения возникло несколько замечаний и вопросов:

1. highway=unspecified — точнее, unclassified. Есть тег для «какой-то линии, похожей на дорогу» — highway=road, но его почти не используют.

2. Разделительный газон, обозначенный leisure=park, — это ошибка, и хорошо бы её исправлять сразу при обнаружении.

3. В западной части Васильевского острова полно зелёных зон помимо кладбища, это небольшие парки в один квартал и бывшая набережная залива, ныне набережная ЗСД. Правда, не все эти пространства можно определить. Но с добавлением кладбищ, конечно, согласен. Они великолепны.

4. Насчёт рек, предлагаю реки (river и riverbank) вообще убрать, потому что они мало где живописны. Но притягивать к ручьям. Чем меньше водоём или водоток, тем красивее, нередко. Возможно, подойдут river БЕЗ riverbank.

5. Ленполиграфмаш нужно исправлять. Вообще, это особенность OSM: при практическом использовании выявляется много косяков, которые никто не отслеживал, потому что до тебя никто на практике теги не использовал, кроме как смотрел на osm.org.

6. Насчёт важности, я часто замечаю вместе с tourism=attraction теги attraction=*. Возможно, они помогут.

7. link или url — правильно website или contact:website.

8. Я бы ещё добавлял +1 за близость к какой-либо дороге классом не ниже residential или нахождение на площади. И +1 за отрисовку полигоном, а не точной. Конечно, это снизит рейтинг, например, цифирной башни (если она ещё жива), но в целом позволит упростить маршрут.

9. Кстати, база данных достопримечательностей с вычисленными рейтингами полезна сама по себе. Как для валидации осмерами, чтобы они сами могли выявлять скрытые достопримечательности, так и для сторонних проектов, типа OpenTripMap. Может, настроишь ежедневную или еженедельную публикацию?

10. Думаю, для парков радиус нужно ставить в 0, потому что какой смысл идти рядом? Часто всё интересное спрятано внутри.

11. У amenity=place_of_worship часто не проставлена высота, но она большая, это тоже нужно учесть.

12. Получение области видимости трассировкой лучей — это супер. Но для практического использования, мне кажется, это ни к чему: лучше потратить минуту на то, чтобы подойти, потому что церкви и прочие достопримечательности интересны не только фрагментом стороны, видимой среди домов.

13. Искусственное удлинение маршрута ещё более впечатляет, чем видимость лучами. Это очень круто.

14. Можно узнать, сколько места и памяти требуется для построения маршрутов по Петербургу?

15. Чтобы добавить в maps.me, нужно как можно большое кэшировать, но при этом чтобы данные занимали минимум места, потому что они скачиваются на телефон. Какие есть возможности для оптимизации? Насчёт «всего в памяти», в maps.me когда-то использовали OSRM для роутинга, который формально тоже требовал памяти, но всё обошлось.

16. Приложение «Улицы прогулок» (WalkStreets) работало по принципу «у меня есть час времени, где бы погулять». Они строили кольцевой маршрут от местоположения пользователя. Сложно будет такое сделать?
Ещё промежуточные точки были бы тоже очень кстати.
А ещё возможность исключить какую-то территорию — на Красной площади я много раз был, там скучно, да ещё и закрыто бывает.
Промежуточные точки точно добавлю, но чуть позже. Я вообще по профессии бэкендер, фронт на джаваскрипте для меня боль и мучения, поэтому все фронтовые задачки занимают много времени. Особенно требующие чего-то более сложного чем «добавить одну кнопку». Поэтому и исключение территорий я вряд ли сейчас сходу сделаю, хотя это уже не раз просили.
Ошибки в OSM будем стараться править. Я напишу гайд о том, как править наиболее часто встречающиеся ошибки, и выложу у себя в свежесозданной группе (vk.com/sightsafari). Будет общественная польза и популяризация редактирования OSM. Сам-то я конечно не в силах исправить ошибки даже в своем городе, не говоря уж о всей стране.

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

Вообще по поводу OSM — я не считаю себя большим знатоком и боюсь сам там дров наломать. Поэтому хорошо бы иметь консультации от опытных мапперов, что стоит исправлять, а что — нет.

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

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

Про видимость — это на самом деле важно. Потому что если объект стоит в окружении П-образного дома, то его «наивная» область влияния распространяется за пределы этого препятствия, и к ней притягиваются маршруты. В итоге человеку говорится что где-то вот тут рядом объект Х (так как линия маршрута пересеклась с областью влияния), но на деле этот объект отгорожен от него домом и по сути стоит на соседней улице, и идти к нему надо было совсем не так.

По данным — файл с закешированной информацией о достопримечательностях для Питера, не сжатый, весит 60Мб (для сравнения сам OSM XML файл около 200 Мб). В zip-е 20 Мб. Там просто сериализованные стандартным джавовским механизмом (т.е. далеко не самым оптимальным образом, можно еще ужать) полигоны видимости + подсчитанная важность и немного других метаданных.

Еще есть кеш GraphHopper (навигационный граф) на 20Мб, но он в maps.me вам не понадобится, у вас там навреное уже какой-то свой есть.

Пока у меня все наивно грузится в память, но опять же для оптимизации можно как-то разбивать, грузить только нужную часть города, или хранить все в какой-нибудь БД с поддержкой spatial запросов. Придумать можно много чего, но я этим пока всерьез не занимался.
Неплохо было бы иметь возможность выбора между «бесплатным» и «платным» маршрутом, т.к. иногда предлагается пойти напрямую через зоопарк или другие места, где берут деньги за вход.
Я видимо такие места просто выкину. Там где есть сомнения в наличии прохода (т.е. нет тега access=public) я буду принудительно удалять ребра из графа.
Добавьте Харьков, пожалуйста!
1. Не на все POI которые находятся внутри других POI (парков) можно кликнуть, часто выбирается парк.
2. Думал посмотреть что это за POI в списке слева — не так-то это просто: они не совсем по порядку идут, перемещая карту по экрану в хаотичном порядке, не все что есть в списке ведут на карту, не все что на карте есть в списке. Думаю список слева нужно иначе сортировать (находить ближайшую точку к POI на маршруте и сортировать по этим точкам).

Получилось очень хорошо что пустые шумные улицы алгоритм обходит по дворам, т.к. там есть парки (хотя не всегда). И есть еще одна типичная болезнь навигаторов — отсутствие учета высоты, построил маршрут через любимую ловушку — 50м вверх, а потом вниз. А вообще все очень понравилось.

P.S. «Обрадовала» такая «достопримечательность» как стихийное кладбище домашних животных.
Было бы неплохо игнорировать некоторые достопримечательности (по выбору пользователя), например как кладбище дом. животных, или вот новый маршрут построился исключительно по церковным местам, но это уже если будет клиентское приложение.

И еще заметил что есть кроме разделительных газонов привлекающих внимания — разделительные «парки», ну т.е. реально «парк» шириной 20 метров, по обе стороны с шумными дорогами. Лучше чем ничего, но таки это сомнительные достопримечательности.
Эти «разделительные парки» — ошибка маппинга, неправильные теги проставлены. На карте они выглядят одинаково с газонами, вот мапперы и не запариваются. Можно конечно какой-нибудь эвристикой пытаться их отсеять (например «парки» шириной меньше 10-20 метров выкидывать).
Вот парк шириной 45м. Этот как раз довольно хорош, потому что там транспорта по бокам практически нету, но остальные часто уже и с большим движением. И где эта граница правильной разметки, парк или нет?

Кладбище, да, отмечено в OSM (внутри парка), но лучше бы его отметить в санэпидемстанции (погуглил — больная тема).
С кликами да, что-то надо будет сделать.
POI по идее идут по порядку следования по маршруту, другое дело что для протяженных объектов (парк, река) центр, на который наводится камера, может быть далеко от маршрута.

А кладбище где такое? Оно в OSM отмечено?
Покемон Го. В смысле там точки которые надо захватывать это достопримечательности, я «поигрывая» обошел кучу всяких интересных мест :)
Может стоит добавить элемент игры или достижений в вашей реализации, добавлять фото пользователей, ставить плюсики, комментарии…

p.s. еще я нашел баг. когда в списке достопримечательностей слева пролистываешь мышкой список так же скроллится карта.
В Екатеринбурге добавьте Верхнюю Пышму и Среднеуральск, там есть на что посмотреть.
Ну и нужно мобильное приложение, без него никуда :)
Про фото, плюсики и комментарии я уже выше писал, это довольно ресурсоемкая задача — нужно их хранить и модерировать — на которую нет сил и времени.
Мобильное приложение тут уже несколько человек предложили написать на энтузиазме, посмотрим выйдет ли у них что-нибудь.
В реальности турист хочет посмотреть 5-6 объектов на карте города и в довесок что будет «по пути», посему отличным вариантом развития проекта было бы построение маршрута используя масив опорных точек
Уже есть приложения, которые построят вам маршрут по основным достопримечательностям. Плюс обычно ответственные за туризм в городе делают несколько таких маршрутов вручную.

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


не то, увы. Вкусы составителей и личные — штука очень субъективная
Весьма интересное приложение!
Вы в паблике писали, что добавляете не все города, т.к. место на сервере крайне ограниченно. Если не секрет, насколько сильно между размером города, количеством достопримечательностей и весом итогового файла? Точнее, что-сколько байт добавляет.
Ну вот Санкт-Петербург в пределах КАД для примера: Open Street Map XML, который я скачиваю с OSMного сервера, весит примерно 200 мегабайт, это полная карта города и даже слегка избыточная (там например есть всякая мета-информация, например кто и когда менял объекты). Из него получается примерно 50Мб файл на диске с сериализованными полигонами достопримечательностей, плюс 20 Мб навигационного графа Graph Hopper. В памяти это все занимает несколько больше места (добавляется джавовский оверхед на объекты), в целом сейчас с 20 городами веб-сервер ест где-то 5 Гб памяти. Не так уж много на самом деле, если бы сервер был полностью под него то хватило бы еще на много городов. Но там время от времени запускаются другие вычисления, которые подъедаю практически всю память без остатка.
pbf должен быть эффективнее и меньше, не экспериментировал с ним?
Нет. Какой парсер первым попался — тот и использовал. В общем-то размер OSM файла не очень важен — ну скачается не за минуту а за две, я его привел только для сравнения. Дальше он используется только единожды для парсинга и построения навигационного графа.
Есть такое замечательное народное «развление» — Камино де Сантьяго.
Люди пешкодралом чалят по одному из N маршрутов в определённый город в Испании.
Маршрут размечен «стрелочками»-указателями.
И тем не менее, многие предпочитают идти какими-то «своими» тропами, в отчётах часто читаешь, что стоит сделать крюк и что-то посмотреть.

Так вот, ваша задумка там была бы, как мне кажется, очень в тему.
Если добавите что-то на участе от Порту до Сантьяго до этих майских, буду лично признателен. ;-)
Порту это тот что в Португалии? Добавил его.
Да, Порту — это север Португалии.
Спасибо, большое!
Я имел в виду не один город, а целую ветку маршрута.
Пример того как люди идут:
image

P.S. отдельное спасибо за возможность выгрузки готового маршрута. Это прямо очень круто!
На целый регион у меня памяти не хватит, а добавлять маленькие города которые вряд ли кому-то еще будут нужны я тоже не могу себе позволить, крупные бы суметь разместить. Так что только Порту могу добавить.

Выгрузка это костыль, поскольку своего андроид приложения у нас нет и пока не предвидится, нет ресурсов на его разработку.
Спасибо за ответ!

P.S. ну, а по мне выгрузка — это вполне ОК. Я использую обычно конкретное приложение, к которому привык и менять его не хочу. Там же отмечаю важные мне точки. Приятно иметь рядом и свои и ваши точки.
Так что спасибо и за «костыль»!
Спасибо за сервис, буду советовать тем кто приезжает в гости на пару дней.
Мне больше интересны технические детали реализации. В двух словах хотя бы.

Если я правильно понял, то используется graphhopper, с переписанным FootFlagEncoder? А приоритет меняли с помощью переписывания метода handlePriority?

Он вроде перебирает объекты по одному, и соседей учесть не получится. Или есть какой-то собственный метод-препроцессор который выполняет аппроксимации — строит буферные зоны, а потом Вы используете во FootFlagEncoder уже заранее рассчитанные веса?

Есть ли в graphhopper уже готовые подходящие методы для аппроксимаций и прочих проверок расстояний, или всё было написано самостоятельно?

Надеюсь это не коммерческая тайна.

Использую GraphHopper с кастомным Weighting'ом. Метод calcWeight, вычисляющий вес ребра, берет его длину и домножает на коэффициент, который вычисляется на основании достопримечательностей поблизости (больше красивостей — меньше вес ребра).


На этапе загрузки города из OSM данных выдираются достопримечательности, строятся их области видимости и сохраняются в БД. Затем этот кастомный Weighting делает выборку достопримечательностей, в чьи зоны видимости попадает взвешиваемое ребро. Ну и там поверх этого куча логики наверчена, по-разному учитывающей разные виды достопримечательностей, чтобы оно в итоге было похоже на правду и строило адекватные маршруты.

Понял, спасибо за ответ. Видимо, когда создаёте объект класса Dijkstra, или его аналоги, устанавливаете свой Weighting…

Я передаю Weighting в GHRequest, когда делаю запрос на поиск пути

Да, GraphHopper весьма гибок, можно и одни те же вещи делать по разному.
Мне ближе подход из примера LowLevelAPIExample, а то что Вы описываете похоже на пример RoutingExample где Weighting задаётся через Profile.

Спасибо за приложение. Но не могу сменить язык: по умолчанию - английский, как у общего интерфейса. Для гуляний по Москве хотелось бы использовать русский. Подскажете? В меню не нашёл.

Нету там такой опции. В андроиде считается best practice использовать язык системы. Там даже вроде как-то нетривиально делается смена языка в самом приложении.

Спасибо. В программах навигации это всегда получалось, вот я и подумал...

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории