Комментарии 215
Когда я руками планировал маршрут в Барселоне, то ориентировался по panoramio — если где то снято много фотографий, то туда надо идти и смотреть на месте.
UPD: Оу… panoramio закрыли
Живу в Париже и хорошо его знаю. Готов потестировать.
И ещё идея — делать вело-версии. По Европе можно вообще строить длинные маршруты через несколько городов
Москву сейчас добавлю, вроде в пределах ТТК она не так много весит.
Москвы в пределах ТТК, думаю, всем хватит надолго :)
Кроме OSM, вы рассматривали, например, Викимапию или другие карты?
Было бы круто добавить Уфу. Здесь вообще нет никаких карт по историческим памятникам дореволюционной Уфы, и поэтому люди о них не знают и гуляют по двум-трем местам.
Уфу добавил, буду благодарен если вы там потыкаете маршруты, оцените их адекватность и попишете отзывы на них.
Вот какой-то маршрут, делающий интересный крюк к скверам и Театральной площади вместо кратчайшего.
sightsafari.city/?from=54.729098,55.945671&to=54.727086,55.928658&ratio=1.5
Обратную связь обязательно предоставлю.
Вообще могло быть и то, и другое. Бывает в OSM плохо размечено, да, бывает что крюк большой. Еще есть проблема что не везде отмечены пешеходные переходы, в итоге OSM навигация строит очень большой крюк до следующего перехода чтобы вернуться назад, хотя он там не нужен.
Так что разве что если кто-то из них сам это на хабре увидит и заинтересуется (отчасти в надежде на что-то такое я этот пост и написал)
Но вы правы, сделать — только полдела, нужен еще кто-то, кто донесет это до масс.
Я попытался проанализировать, кому и когда подобная функциональность может быть нужна и с кем стоит начать общаться. Ниже просто мои мысли, не настаиваю на их правильности.
Кейсы
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, наверное, стоит общаться именно с ним.
Судя по датам, на хабр заходит редко, зато на ФБ часто (легко гуглится по нику).
Если будете общаться с ними или какой-нибудь другой фирмой — напишите потом, чем дело закончилось, если несложно?
С удовольствием потестирую
С добавлением новых городов проблема — там пока все хранится в памяти, а не в БД, а память не резиновая. Думаю еще пару городов можно добавить, а вот потом начнутся проблемы.
Оффлайн режим сделать не очень просто, так как он думаю будет сильно тормозить на медленных устройствах из-за большого количества операций с геометрией (поиск пересечений маршрутов с полигонами видимости объектов). Возможно в будущем удастся это дело оптимизировать (в GraphHopper можно предрасчитать навигационный граф, что должно ускорить поиск пути).
Сделано оно где-то за месяц по вечерам, первая версия вообще за выходные слеплена. Про опыт — у меня уже 10 лет опыта разработки, в основном на джаве, на первую работу устроился в 2008 году.
На андроид есть несколько готовых библиотек для расширенной работы с картами.
По вопросу торможения на устройстве, карту города грузить заранее (пример 2gis), а построение маршрута под лоадером с просьбой подождать немного.
там пока все хранится в памяти, а не в БД
так сделай в БД, всё невозможное — возможно. Что на счет добавить людей к этому проекту? (расширение имеет смысл). Только выбирай людей, которые не просто хотят что-то делать, а которые видят в этом проекте недостатки, которые горят идеей.
Я вообще не вижу смысла работать на кого-то, если у тебя есть идеи, то почему бы не продвигаться самому и давать людям то, чего им не хватает? Желаю тебе успехов в этом проекте :) всем нравится, это хорошо
Так что если не получится найти способ монетизации — я так и буду его потихоньку пилить в свободное время, с соответствующим темпом.
Про способ монетизации, тут лучше посмотреть опыт других разработчиков, у которых тоже не было ее) Про людей да, отдельную тему можно сделать, каждый человек индивидуален и ты не знаешь уйдет он или нет.
Супер приложение!
Есть возможность добавить Благовещенск?
Опенсорс не планируете? По возможности попробовал бы помочь. Особенно в части андроид приложения.
Благовещенск добавил. Правда город-то небольшой, и там не так много интересных маршрутов можно построить, которые отличаются от кратчайших. Но вот например маршрут от вокзала к пристани с заходом в парк к памятникам.
sightsafari.city/?from=50.287151,127.543294&to=50.250430,127.554978&ratio=1
Опенсорсить пока не планирую, есть все-таки корыстная мечта как-то денег на нем срубить. Или хотя бы окупить нормальный хостинг (пока оно крутится на сервере, купленном под другой проект, и уже неплохо кушает его ресурсы).
Как вариант кстати сохранять в бд уже построенные маршруты и и по запросу отдавать уже построенные. Для сокращения базы сделать допущения при котором маршруты считаются одинаковыми (типа точка пути на 10-100 метров отличаются, по факту разницы ноль), ну а так же можно хранить эти маршруты еще и отрезками, что из них составлять маршрут. Это уберет одну из нагрузок на сервер — расчет видимости объектов, они уже будут рассчитаны.
И ввести устаревания маршрута, например если он в базе без изменений уже месяц, то обновить. Вдруг новые объекты добавились.
Ну а так, жаль что опенсорса не будет, но лично меня больше интересует получить работающий продукт, так как давно искал что то такое, а самому писать, не додумался xD
В 2гис можно попробовать привлечь внимание например упомянув их тут или написав на прямую пользователям хабра работающих там, например rumyash писал о том как они делали карту для карты) или kab делал статью о добавление расписания общественного транспорта, думаю их отделы где то рядом с теми куда вам попасть надо, можно попробовать)
Плюс можно в любой точке карты кликнуть правой кнопкой и нажать «что здесь». Оно покажет список объектов поблизости, с областями влияния которых пересекается эта точка.
Несколько точек сделаю потом, это важный функционал, да.
Вопрос только в использовании. В принципе, мобильная версия как таковая отсутствует, но так, как открывается, вполне юзабельно. Но представим, что не открывается, или вообще у человека нет смартфона. Что делает человек? Открывает сайт, строит маршрут, возможно, выписывает какие то ключевые точки. Было бы здорово, если бы сайт умел генерировать что то вроде маршрутного листа. (на перекрестке с улицей Прямой поверните на улицу Косую, увидите памятник неизвестному городскому планировщику.) Может быть, туда можно даже добавлять фотографии ожидаемых достопримечательностей, или выгружать его в pdf, скажем.
Ну и мобильное приложение я конечно тоже сделаю. Сейчас-то это скорее концепт и демо-версия. А статья на хабре — проверка гипотезы о том что такой сервис будет востребован.
Про фотографии — пока можно разве что с википедии их утягивать, но тег wikipedia есть у сравнительно небольшого количества объектов в OSM (и они ссылками в списке достопримечательностей отражаются)
Еще одно пожелание. Как я обычно гуляю, когда не имею конкретной цели — иду куда глаза глядят, то есть без направления. Можно добавить режим хаотической прогулки. Допустим, я готов пройти сегодня километров 10, указываю начальную точку, и сервис показывает интересный маршрут.
Геокодер OSM, как я уже написал, работает плохо (знает мало адресов, требует структурированных данных на входе)
А попробовать альтернативные геокодеры нет планов?
Например: habr.com/post/277043
Давно хотелось такое приложение
Львов бы тоже было неплохо
Опишу свои пожелания:
1. Находить точку по адресу / текущему местоположению
2. Возможность строить маршрут без указания конечной точки — маршрут в итоге должен вернуть тебя в начальную точку
3. Возможность искать маршрут с минимальным количеством переходов дороги (режим пройтись прогуляться)
Добавьте пожалуйста Казань — интересно будет потестить ваш алгоритм.
2. Мне кажется слишком сложно — заставлять пользователя какие-то предпочтения вводить. К тому же все это такое очень нечеткое, субъективное, сам пользователь думаю не сможет сходу сказать, что для него лучше — 500 метров по парку или 200 метров мимо красивого собора.
3. Такое пока есть в виде что построенный маршрут не должен быть более чем в 2 раза длиннее кратчайшего (исключение — крайнее правое положение ползунка, там 2.5 раза).
4. Мне кажется что это довольно бесполезная фича. В том же maps.me она есть (рейтинги, отзывы) но ей похоже никто особо не пользуется. Во всяком случае ни разу там не видел проставленный рейтинг в тех городах, куда брал эти карты.
5. Шаринг маршрута да, сделаю в каком-нибудь виде.
Хотя с круговыми маршрутами можно и подумать, уже несколько человек мне их предложили.
Единственное что немного не так — вывод списка достопримечательностей: до него нужно скролить и интерфейс несколько разваливается (FF 60.0.2).
скачиваем Open Street Map карту, парсим ее
А если взять количество фото на квадрат, фото которые выкладывают туристы, и узнать самые посещаемые и красивые места/районы. Например с panoramio, правда этот сервис не работает сейчас, но фотки с него показываются в google earth, а значит можно выдрать json меток с координатами.
Продались бы 2gis. Нужный сервис, особенно для питера
Так что есть альтернатива — либо автоматически весь мир, но на троечку, либо хорошо, но с ручной доработкой и только ограниченная территория.
Я написал на хабропочту автору одного из постов в блоге 2гис, может им понравится и они к вам обратятся :)
Мне сервис будет полезен, так как я тут начал увлекаться фотографией и мне такой маршрут как раз идеален для тренировки скиллов
И у них обоих сейчас есть маршруты для прогулок внутри приложения.
Построили маршрут, пользователь прошелся, увидел что ну как бэ не очень конкретно в этой точке, пожаловался.
Или наоборот знает что в этом месте есть что посмотреть, но на карте этого нет, поставил.
В нагрузку можно еще использовать список с интересными местами от гугла, они сделали его открытым.
Дополнительная хотелка — это прикрутить размещение солнца по маршруту. Те, чтобы заранее представлять где будет солнце, когда идешь по маршруту. Это позволит не щуриться и понимать удачное время для съемки пейзажа и архитектуры.
Может быть было бы еще интересно размещение мест отдыха по пути. Интересные кафе, туалеты, парки.
У меня пока разве что идея для монетизации была в виде рекламы — подпихивать в список достопримечательностей иногда проплаченные ссылки на заведения по близости. Но это так, идеи.
Плюс у вас уже есть почти такого функционала, маршрут обратно вы строите отличным от маршрута до цели.
Так же можно просто отфильтровать все интересные места и построить маршруты которые обходят их все.
Идея же парсинга по кривым начальным условиям мне представляется вполне абсурдной.
Очень круто!
У меня похожий проект давно развивается. Уже есть версия в Google Play. Но меньше акцента на алгоритмах, больше на интерфейсе. Потому что какие бы хорошие маршруты не выходили — они мало кому нужны, если ими неудобно пользоваться.
именно) https://play.google.com/store/apps/details?id=ru.travelpath
ещё, что кажется важным, просто данных в OSM не достаточно — никому не нужны просто названия. Ты приезжаешь в незнакомый город, видишь точку "Собор имени Ивана Иванова", и ты знать не знаешь что это за фигня и стоит ли тратить время чтобы туда дойти.
Нужна своя база с картинками, текстами и всем-всем-всем.
Про интерфейс кстати пожалуюсь — я не могу проложить маршрут между двумя произвольными точками на карте. Либо между моим текущим местоположением и точкой, либо между адресом и точкой. А я бы хотел ткнуть на карте два раза, где угодно, и получить маршрут.
Думаю в партнёрстве с какими-нибудь туристическими агентами возможно покрыть всё крупное сразу.
Я думал что стандарт — длинное нажатие. Поэтому там установка точки это длинное нажатие на карту
В целом же по дефолту маршрут строится от текущей точки, но её можно удалить.
Или адреса вводить в поля.
Но то что я тут объясняю интерфейс, означает что нужно над ним ещё поработать)
Но то что я тут объясняю интерфейс, означает что нужно над ним ещё поработать
Это да, у меня тоже часто люди не понимают как адрес ввести. Юзабилист из меня тот еще.
Прокладка маршрута между точками с учетом достопримечательностей
для велосипедистов/пешеходов/бегущих
Они тоже работают на основе OSM. А монетизация — покупка регионов карты или всего всего.
Достопримечательности дополнительно оцениваются людьми.
Маршрут можно сделать приватным или открытым для комьюнити.
Есть уже довольно большое количество маршрутов, которые можно брать за основу.
Интелектом тут похоже является комьюнити:)
1) Туристы — основная Ваша целевая аудитория. Много приезжает жить в центр города и маршрут строят от отеля. И, понятное дело, этот же отель будет последней точкой.
2) Жители города. Например, я езжу в центр на машине/метро/автобусе и, как правило, это одна и та же остановка/точка. Особенно в случае с машиной — когда хочется погулять с детьми и показать им город.
- Они устаревают и очень редко обновляются (раз в несколько лет)
- Их обычно не более 5-7 штук на город, соединяют они только основные достопримечательности в центре
- Качество иногда бывает странным (например недавно в СПб к ЧМ по футболу построили маршрут, идущий через промзоны на Лиговке, что вряд ли понравится туристам, SightSafari же предлагает обойти этот район)
Парсим все фото из сети с геотегами. Где больше фото, там и нужно ходить.
Парсим все форумы где фотают/обсуждают красивые места и т.п., на что больше ссылаются то и посещаем.
Места которые нужно обходить можно искать также.
Нейронка по фото может определять наличие нежелательных элементов.
Маршруты должны проходить мимо кафе, общественных остановок, метро и т.п.
К тому же TA и подобные обычно фокусируются на крупных, основных достопримечательностях города. Такие и так обычно есть в OSM.
Наиболее подходящим в плане количества объектов, как ни странно, выбрали открытые данные России, затем делали сортировку данных как раз по геотегам в соцесетях. Подсчет количества геотегов не является сбором данных как таковым, скорее — аггрегированная статистика. Но нужно читать соглашения, да.
В принципе от смольного через таврик почти тот случай.
highway=unclassified
, а не unspecified
.А
leisure=park
вообще не предполагает никакой растительности. Парк скульптур — тоже парк, в понятиях OSM. Советую также принимать во внимание
start_date
— позволяет кое-как отфильтровать исторические сооружения от всякого новодела. А вообще, конечно, предпочтения у туристов и т.п. — разные: например, новодельный архитектурный мутант — дворец в Царицыно, «Измайловский кремль» или «дворец Алексея Михайловича» (уродские лужковские аттракционы в Москве) одним неприятно видеть, а другие от них в восторге.
От станции метро Тракторный завод и до проходных автозавода ( 53.889191, 27.614801 — 53.862458, 27.655699 ) почти полностью повторяет построенный мной вручную по гуглокартам и реально пройденный ногами.
И проход через парк и через дворы к грузовику на Кулешова (там нет перехода, кстати).
Единственный нюанс — рядом с точкой старта стоит трактор Беларус-2, который глупо пропускать, раз уж маршрут обходит столько технопамятников :)
С библиотеками, музеями, театрами и прочими подобными культурными центрами не очень понятно что делать. Сервис все-таки выбирает те объекты, которые красиво смотрятся снаружи и мимо которых интересно проходить. А у культурных объектов вся красота и функционал внутри. Те же библиотеки бывают как в совершенно невзрачных зданиях, так и в красивых. В итоге приходится ориентироваться на другие теги (историческое здание, архитектурный стиль), а их у этой библиотеки нет.
Если нужна какая-то помощь не девелоперская — готов подключаться и помогать.
Фотки и отзывы — довольно сложная отдельная задача, требующая много сил и ресурсов (от хранения до модерации), которых у меня нет. Так что пока будет только так как есть — ссылка на вики, если она проставлена в объекте. Возможно в дальнейшем прикручу поиск в каких-нибудь популярных туристических сервисах, но тут надо изучать лицензионное соглашение их.
Очень интересно.
И спасибо за добавление Пензы, обязательно протестирую.
Огромная просьба, добавьте Новосибирск! Обратную связь обещаю.
Прошу как краевед и разработчик 5 штук экскурсий по Академгородку: izi.travel/ru/rossiya/putevoditeli-po-novosibirsk
По ходу чтения возникло несколько замечаний и вопросов:
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 — я не считаю себя большим знатоком и боюсь сам там дров наломать. Поэтому хорошо бы иметь консультации от опытных мапперов, что стоит исправлять, а что — нет.
Про доступ к своей базе даже не думал. Можно и сделать как-нибудь. Но делать это просто так, абстрактно, смысла мало. Надо чтобы был хоть кто-то конкретный, кто этими данными сразу будет пользоваться.
С парками — ну иногда не хочется делать большой крюк чтобы зайти внутрь парка (тем более что часто у нас там ограда и до ближайшего входа — километр), а пройти по дорожке вдоль него — норм. Я так часто мимо Парка Победы ходил от метро. Вообще у меня там у парков два веса — один для радиуса вне него, а другой, в два раза больший, для внутренностей (более 40 метров от ограды).
Про видимость — это на самом деле важно. Потому что если объект стоит в окружении П-образного дома, то его «наивная» область влияния распространяется за пределы этого препятствия, и к ней притягиваются маршруты. В итоге человеку говорится что где-то вот тут рядом объект Х (так как линия маршрута пересеклась с областью влияния), но на деле этот объект отгорожен от него домом и по сути стоит на соседней улице, и идти к нему надо было совсем не так.
По данным — файл с закешированной информацией о достопримечательностях для Питера, не сжатый, весит 60Мб (для сравнения сам OSM XML файл около 200 Мб). В zip-е 20 Мб. Там просто сериализованные стандартным джавовским механизмом (т.е. далеко не самым оптимальным образом, можно еще ужать) полигоны видимости + подсчитанная важность и немного других метаданных.
Еще есть кеш GraphHopper (навигационный граф) на 20Мб, но он в maps.me вам не понадобится, у вас там навреное уже какой-то свой есть.
Пока у меня все наивно грузится в память, но опять же для оптимизации можно как-то разбивать, грузить только нужную часть города, или хранить все в какой-нибудь БД с поддержкой spatial запросов. Придумать можно много чего, но я этим пока всерьез не занимался.
2. Думал посмотреть что это за POI в списке слева — не так-то это просто: они не совсем по порядку идут, перемещая карту по экрану в хаотичном порядке, не все что есть в списке ведут на карту, не все что на карте есть в списке. Думаю список слева нужно иначе сортировать (находить ближайшую точку к POI на маршруте и сортировать по этим точкам).
Получилось очень хорошо что пустые шумные улицы алгоритм обходит по дворам, т.к. там есть парки (хотя не всегда). И есть еще одна типичная болезнь навигаторов — отсутствие учета высоты, построил маршрут через любимую ловушку — 50м вверх, а потом вниз. А вообще все очень понравилось.
P.S. «Обрадовала» такая «достопримечательность» как стихийное кладбище домашних животных.
И еще заметил что есть кроме разделительных газонов привлекающих внимания — разделительные «парки», ну т.е. реально «парк» шириной 20 метров, по обе стороны с шумными дорогами. Лучше чем ничего, но таки это сомнительные достопримечательности.
Кладбище, да, отмечено в OSM (внутри парка), но лучше бы его отметить в санэпидемстанции (погуглил — больная тема).
POI по идее идут по порядку следования по маршруту, другое дело что для протяженных объектов (парк, река) центр, на который наводится камера, может быть далеко от маршрута.
А кладбище где такое? Оно в OSM отмечено?
Может стоит добавить элемент игры или достижений в вашей реализации, добавлять фото пользователей, ставить плюсики, комментарии…
p.s. еще я нашел баг. когда в списке достопримечательностей слева пролистываешь мышкой список так же скроллится карта.
В Екатеринбурге добавьте Верхнюю Пышму и Среднеуральск, там есть на что посмотреть.
Ну и нужно мобильное приложение, без него никуда :)
В принципе построение по опорным точкам можно использовать для запрошенного тут в комментах построения маршрута по кругу, с возвратом в точку начала. Выбрать несколько топовых достопримечательностей в окрестности, соединить их используя мой алгоритм. Но над этим я еще буду думать.
Вы в паблике писали, что добавляете не все города, т.к. место на сервере крайне ограниченно. Если не секрет, насколько сильно между размером города, количеством достопримечательностей и весом итогового файла? Точнее, что-сколько байт добавляет.
Люди пешкодралом чалят по одному из N маршрутов в определённый город в Испании.
Маршрут размечен «стрелочками»-указателями.
И тем не менее, многие предпочитают идти какими-то «своими» тропами, в отчётах часто читаешь, что стоит сделать крюк и что-то посмотреть.
Так вот, ваша задумка там была бы, как мне кажется, очень в тему.
Если добавите что-то на участе от Порту до Сантьяго до этих майских, буду лично признателен. ;-)
Спасибо, большое!
Я имел в виду не один город, а целую ветку маршрута.
Пример того как люди идут:
P.S. отдельное спасибо за возможность выгрузки готового маршрута. Это прямо очень круто!
Выгрузка это костыль, поскольку своего андроид приложения у нас нет и пока не предвидится, нет ресурсов на его разработку.
Мне больше интересны технические детали реализации. В двух словах хотя бы.
Если я правильно понял, то используется graphhopper, с переписанным FootFlagEncoder? А приоритет меняли с помощью переписывания метода handlePriority?
Он вроде перебирает объекты по одному, и соседей учесть не получится. Или есть какой-то собственный метод-препроцессор который выполняет аппроксимации — строит буферные зоны, а потом Вы используете во FootFlagEncoder уже заранее рассчитанные веса?
Есть ли в graphhopper уже готовые подходящие методы для аппроксимаций и прочих проверок расстояний, или всё было написано самостоятельно?
Надеюсь это не коммерческая тайна.
Использую GraphHopper с кастомным Weighting'ом. Метод calcWeight, вычисляющий вес ребра, берет его длину и домножает на коэффициент, который вычисляется на основании достопримечательностей поблизости (больше красивостей — меньше вес ребра).
На этапе загрузки города из OSM данных выдираются достопримечательности, строятся их области видимости и сохраняются в БД. Затем этот кастомный Weighting делает выборку достопримечательностей, в чьи зоны видимости попадает взвешиваемое ребро. Ну и там поверх этого куча логики наверчена, по-разному учитывающей разные виды достопримечательностей, чтобы оно в итоге было похоже на правду и строило адекватные маршруты.
Я передаю Weighting в GHRequest, когда делаю запрос на поиск пути
Мне ближе подход из примера LowLevelAPIExample, а то что Вы описываете похоже на пример RoutingExample где Weighting задаётся через Profile.
Спасибо за приложение. Но не могу сменить язык: по умолчанию - английский, как у общего интерфейса. Для гуляний по Москве хотелось бы использовать русский. Подскажете? В меню не нашёл.
Гуляем по городу с умом: как я делал сервис для построения интересных пешеходных маршрутов