Як скласти маршрут подорожі самостійно? Як скласти ідеальний маршрут своєї подорожі Самостійний маршрут для туристів містом

Грамотно складений маршрут подорожі – це основа будь-якої самостійної подорожі! Від того, наскільки добре Ви складете маршрут самостійної подорожі, залежать і Ваші витрати, і Ваш комфорт, і Ваші враження. Неважливо, куди Ви збираєтеся - в одну країну чи одразу кілька... На європейські канікули, за азіатською екзотикою чи зі столиці до села до бабусі... Головне - знати, з чого почати, та врахувати усі важливі нюанси. Якщо у вас гарний маршрут подорожі- Поїздка буде вдалою!

У цій статті ми не торкнемося автотрипу (подорожі на автомобілі) - це велика тема для окремої статті зі своїми тонкощами та нюансами.

Отже, з чого ж початискладання маршруту подорожі?

Для початку, не зациклюйтесь і не вважайте його законом, обов'язковим до обов'язкового виконання. Нічого доброго не вийде, якщо Ви плануєте свою подорож надто ретельно, розписавши кожен кілометр і кожну хвилину подорожі... Чому?

По перше, Вам ніколи не вдасться слідувати надмірно розпланованому маршруту. Це неможливо!

Подорож як шлюб. Головна хибна думка - думати, що у вас все під контролем...Джон Стейнбек

Ваш маршрут, напевно, неодноразово зміниться у процесі його складання, і з великою ймовірністю - у процесі подорожі. І це добре!

По-друге, Ви не отримаєте від настільки спланованої подорожі насолоди. Адже, погодьтеся, не надто захоплююче займатися сексом суворо у вівторок о 23:00 та в суботу рівно о 15:00... У подорожі, як і в сексі, має бути частка спонтанності, фантазії та експромту! Тільки тоді Ви отримаєте від нього насолоду.

Але, спланувати основні етапи і врахувати важливі нюанси все-таки доведеться...

Гарний шлях подорожі. Етапи складання

Терміни, орієнтовні дати та бюджет.

Визначтеся, коли і на скільки Ви хочете відправитися в подорож і скільки Ви готові витратити? І пам'ятайте – мандрувати можна практично за будь-які гроші!

Наш досвід: Ми витратили на дві абсолютно різні подорожі (включаючи авіаквитки, транспорт, готелі та харчування) абсолютно ідентичні суми в рубльовому еквіваленті... 10 днів "медового місяця" на Мальдівах(з одним перельотом туди-назад) у 2008 році та майже 3 місяці в Азії з двома дітьмичерез Гонконг, Філіппіни (Манілу та Міндоро), Малайзію (Куала-Лумпур та Лангкаві), Таїланд (Ао Нанг, Крабі) та Стамбул (6 перельотів, пором, автобуси та ін.) у 2014 році. Обидві ці поїздки, причому здійснені з різницею у 6 років, коштували нам приблизно 150 тисяч рублів. Відповідно, перша поїздка обійшлася в 15"000 рублів на день на двох, друга - майже в 10 разів дешевше на чотирьох!

Чим довша подорож, тим дешевша вона обійдеться за добу.

Пункт призначення.

Вирішіть, куди Ви хочете поїхати? Про що ви мрієте? Об'їхати всю Європу чи відвідати всі визначні пам'ятки Парижа? Дізнатися всю Південно-Східну Азію або провести тиждень у Тибеті? Насолодитися пляжами Карибських островів чи містами Золотого Кільця Росії? Яка б не була мрія - це Ваша мрія і вона здійсненна!

Відкрийте карту Світу та Інтернет. На цьому етапі Ви вже матимете попередній маршрут подорожі. Ви визначитеся з країною/країнами та містами.

Обов'язково поцікавтеся в Інтернеті кліматом і погодою в регіоні на вибрані дати, щоб не потрапити в "дощовий сезон" і не ховатися в будівлі готелю від тропічної зливи або урагану.

Візи.

У більшість азіатських країн візу заздалегідь можна не оформляти - вона видається автоматично після прибуття в середньому на термін від двох тижнів до місяця. А ось більшість європейських країн знадобиться "шенгенська віза".

У будь-якому випадку, перед поїздкою обов'язково з'ясуйте актуальні візові вимоги країн, що Вас цікавлять. Найнадійніше це зробити на сайтах консульств та офіційних візових центрів.

При поїздці до Європи вибирайте країною першого в'їзду або найдовшого перебування ті країни, в які оформити і отримати "шенгенську" візу простіше. Наприклад: Фінляндію, Чехію, Іспанію...

Як дістатися?

Є безліч способів вирушити у подорож! На автомобілі або автостопом, на автобусі або поїзді, і на літаку... Літак - найпопулярніший варіант. І, при пошуку авіаквитків до пункту призначення, мандрівника дуже сильно врятує Aviasales- пошуковий сайт-агрегатор, який знайде для Вас найдешевші квитки по всьому світу! Причому абсолютно безкоштовно!

Шукайте квитки заздалегідь. При пошуку авіаквитків спробуйте міняти дати, міста та аеропорти вильоту та прильоту. Використовуйте "Календар низьких цін"і "Картку низьких цін". Квитки, куплені за кілька місяців до подорожі, з вильотом у середині тижня та прильотом до сусіднього аеропорту, можуть виявитися у рази дешевше!

Докладніше про всі нюанси купівлі авіаквитків можна прочитати в окремій статті: Як купити дешеві авіаквитки?

Іноді при відвідуванні кількох країн є сенс зазирнути і безпосередньо на сайти low-cost авіакомпаній у пошуках акцій... Недорогих low-cost авіакомпаній багато і в Європі, і в Азії. І квиток на літак до сусідньої країни дуже часто можна придбати буквально за 10 євро!

При переміщенні країною або в сусідні країни одного регіону, не варто забувати і про інший транспорт крім літаків... В Європі дуже розвинене швидкісне залізничне сполучення (наприклад, поїзда TGV). А в Азії можна дуже дешево дістатися куди завгодно на автобусах та поромах.

Ми чудово швидко і недорого добиралися з Амстердама до Парижа в Європі. Та й в Азії (Таїланді, Малайзії, Філіппінах) користувалися поромами та автобусами неодноразово - щоб дістатися з Маніли до острова Міндоро, щоб дістатися з Бангкока в Паттайю або на острів Ко Чанг, щоб дістатися з острова Лангкаві до Таїланду до Крабі та Ао Нанга. .. Але спочатку потрапити до основного місця призначення швидше і зручніше все-таки на літаку.

На цих етапах маршрут Вашої подорожі швидше за все буде відкоригований. На нього вплинуть ціни на квитки, дати вильотів, а може, й візові вимоги.

Наш досвід: Коли ми збиралися до Таїланду(Бангкок, Паттайя, острів Ко Чанг) і підібрали квитки авіакомпанії Emirates з пересадкою в Дубаї, ми дізналися про послугу авіакомпанії під назвою "Зупинка у Дубаї" (Dubai Stopover). В рамках цієї послуги Emirates можна з дуже гарною знижкою отримати короткочасну візу ОАЕ, готель та трансфер. Відповідно, ми вирішили скористатися послугою "Зупинка в Дубаї" (Dubai Stopover) і по дорозі назад з Таїланду провели один незабутній день у Дубаї .

Наш досвід: Коли ми планували поїздку до Амстердама і Парижа, ми дізналися, що дуже дешево долетіти до Амстердама з Гельсінкі, та й фінську візу виявилося оформити набагато простіше французької... А авіаквитки з Парижа до Москви виявилися набагато дешевшими не безпосередньо, а через Берлін... Зрештою, ми побували ще й у Гельсінкі, й у Берліні.

Визначні пам'ятки.

Де Ви хочете побувати, куди поїхати і що побачити? Це - найцікавіший і найцікавіший етап складання маршруту подорожі. При плануванні, Ви вже дуже багато дізнаєтеся про культуру та історію країни, її кухню, природу, гарні місця та пам'ятки... А передчуття, як відомо, ще більше посилює апетит...

На цьому етапі дуже важливо не тільки вибрати місця та пам'ятки, але дізнатися, як вони працюють, скільки коштує відвідування і як до них дістатися! Так, і не женитесь за всіма визначними пам'ятками або найпопулярнішими... Виберіть ті визначні пам'ятки, які найцікавіші саме Вам. А при складанні маршруту їхнього відвідування, постарайтеся відзначити пам'ятки на карті і рухатися до них послідовно, а не кидатися туди-сюди з одного куточка міста чи країни в інший.

Наш досвід: Три дні в Парижі під час нашої поїздки Європою ми розпланували наступним чином: один день на одну половину міста, другий день - на другу половину, а третій - на Діснейленд у передмісті Парижа. У підсумку, п'яти ми звичайно стерли, але нікуди не поспішаючи побачили абсолютно все, що хотіли, упустивши лише одну єдину пам'ятку із запланованих.

Під час планування подорожі обов'язково з'ясуйте святкові дні в країні відвідування. Несподівана подія може кардинально поламати всі плани навіть досвідченого мандрівника... Велике католицьке, мусульманське чи буддистське свято може обернутися як цікавими святковими заходами, так і повністю "вимерлою" інфраструктурою із закритими торговими центрами, магазинами, банками, обмінниками, ресторанами та навіть аптеками!

Наш досвід: Ми двічі абсолютно несподівано для нас опинялися в такій ситуації у Варшаві - на католицьке свято "Трьох королів" і напередодні Великодня... Оборотною стороною медалі стали загублений на корені шопінг через закриті торгові центри, неможливість перекусити в ресторані та навіть обміняти гроші...

Вибір готелю.

Це може бути і безкоштовний каучсерфінг, і апартаменти на airbnb, і оренда будинку... Але найдешевший, надійний і зручний спосіб, на нашу думку - це бронювання готелю на сайтах-пошуковиках Hotellook або RoomGuru . Просто введіть у форму пошуку Ваш запит і отримайте найвигідніші пропозиції по готелям.

Громадський транспорт.

Як пересуватися містом/країною/країною? Обов'язково знайдіть в Інтернеті інформацію наперед! Інакше, вже перебуваючи в іншій країні, Ви нічого не знатимете: ні як куди доїхати, ні де купити квитки, ні скільки вони повинні коштувати, на способи заощадити...

Ось тепер Ваш маршрут подорожі стає вже чимось цілісним і завершеним... Пора перейти до оформлення страховки.

Страхування.

Страховка - це, напевно, найдешевша, але найзначуща складова будь-якої подорожі. Якісь 10 доларів, витрачених на страховку, можуть зберегти десятки тисяч доларів, витрачених на медичне обслуговування, зберегти Ваші нерви, час, здоров'я і навіть життя!

При пошуку будь-якої інформації в Інтернеті використовуйте тільки надійні джерела. Це офіційні сайти міністерств з туризму та сайти консульств різних країн світу. Це тревел-блоги мандрівників зі звітами про реальні поїздки, Вікіпедія, деякі форуми (наприклад, форум Вінського) або хороші туристичні портали. Стережіться безлічі форумів і деяких навіть великих порталів (не кажучи вже про невеликі сайти), де часто передруковується одна і та ж недостовірна і неактуальна копірайтерська інформація від авторів, які ніколи ніде не були...

Загляньте на нашу сторінку з секретною інформацією для мандрівників. Там Ви знайдете посилання на найкращі та корисні сервіси для мандрівників, знижки та вигідні пропозиції.

Ви також можете скористатись нашою новою рубрикою Розпродажі, де можна знайти дуже вигідні пропозиції по авіаквитки, готелям та страховці і з'єднати їх разом...

Виділяти якийсь сервіс на перше місце я зараз не стану, і цей порядок не віддає переваги тому чи іншому. Всі вони мають свої плюси та недоліки, більше чи менше в рівній мірі.

Почнемо із Agenda.

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

Акцент Агенда в основному на покупку та броню авіаквитків, готелів, транспорту, так само є можливість бронювання поїздів та автобусів, але на жаль в основному тільки по РФ. Сервіс тісно пов'язаний з Panaramio, що дозволяє подивитися фото цікавих місць, і Foursqare для вибору визначних пам'яток міста куди ви збираєтесь. Порівняно з іншими сервісами, тут великий мінус додавання цікавих місць до перегляду, і якщо ви плануєте велику подорож, то доведеться попрацювати, щоб додати їх до календаря. Було б здорово, якби була синхронізація з календарем на телефоні або планшеті, але такої я не знайшов. Не зрозуміло як творці прогаяли такий момент у всіх подорожах, як відсутність інтернету. Оскільки додатків ні для андроїда, ні для iOS немає, як користуватися ним у процесі подорожі не зрозуміло. Експорт таймлайну в pdf дуже мізерний.

Так, купити квитки, забронювати готелі та машини тут цілком можна, до того ж пошук іде і лоукостерами. Але навіть під час тестових попуток забронювати готель чи машину в Азії він нічого мені не підібрав.

Загалом є недоліки, які у майбутньому сподіваюся доопрацюють.

Далі Mygola

Англомовний сервіс, також із гарним інтерфейсом, але вже менш зручним. Порівняно з Агендою, календарна сітка гірше сприймається, проте цілком зручна і зрозуміла.

Цей сервіс більше заточений під огляд визначних пам'яток. Великий вибір місць з докладним описом та посиланням на першоджерело або сайт цього місця. Є програма, але від сайту вона нічим не відрізняється. Можна подивитися на карті всі точки, але кожну точку окремо не можна, а це мінус, тому що перескочити за посиланням на Гугл карти і прокласти маршрут немає можливості.

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

Експорту знову ж таки взагалі ніякого немає. Синхронізація також відсутня. На закінчення можна відзначити, що при плануванні подорожі, сервісом Mygola можна скористатися для пошуку дешевих маршрутів громадським транспортом.

Youroute

Ще один російськомовний сервіс. Сервіс залучив своєю простотою. Нічого зайвого, легкий інтерфейс, все просто і зрозуміло, заходь та плануй. Звичайно, як і у всіх перерахованих вище, недоліки у нього теж є. Але почнемо з плюсів, першим з яких є велика база визначних пам'яток усіх країн та міст світу. Зручне додавання об'єктів до свого маршруту. Сервіс також зав'язаний з Panaramio і можна зручно подивитися фотографії об'єктів. З кожної точки можна перейти на карти Google, прокласти маршрут можна, але далі буде сервіс, в якому це зробити трохи зручніше.

Між точками одразу прокрадається маршрут, транспорт завжди можна змінити. Також можна легко змінити порядок огляду визначних пам'яток.

В кінці ви отримуєте ось такий вид маршруту

Як видно, маршрут можна зберегти в pdf і при бажанні роздрукувати. Самі етапи виглядають досить нудно.

Я додав би час перельотів, їх можна в принципі прописати в нотатках, але в пдф вони не відображаються, і посилання на карту для кожної точки, бажано на гугл. Зате є інформація про ці місця, у цілком варимому вигляді.

Що ж, сервіс цілком відмінний, але чого йому бракує, якби йому додати по трохи від першого і другого, то міг би вийти найкращий сервіс для планування подорожей. Звичайно не вистачає ще програми. Так що хлопці розробники, сподіваюся, ви допилете цей сервіс надалі.

Gogobot

Спочатку про нього я дізнався як про додаток. Перше що мені кинулося в очі, те, що всі ваші дії він постить у facebook, але це відключається в налаштуваннях облікового запису. Сервіс англомовний і має велику базу визначних пам'яток, які можна легко додавати до своєї подорожі. Масово додавати лише з табличного виду, з карти доводиться переходити на сторінку об'єкта. Але в додатку це не викликає особливого дискомфорту. Є добірки ресторанів та готелів, які можна забронювати.

Є клуби за інтересами, де підібрані тематичні місця.

План подорожі виглядає досить просто, як і pdf файл, але містить всю необхідну інформацію про об'єкти, з посиланнями на сторінку цих місць в Гогоботі.

Ось вид пдф файлу, який можна мінімально налаштувати

Безперечним плюсом є наявність програми (для айфона та андроїд), на якій можна переглянути план подорожі та використовувати навігацію для кожного об'єкта.


Гідний сервіс, на жаль не рідною мовою. Ще б пак додаток для ipad і було б здорово.
Ну і під кінець

Tripomatic

Веб-сервіс не особливо вражає дизайном, зате додаток цілком хороший (знову ipad стороною обійшли), при цьому за допомогою російської мови.

Цілком зручно додавати місця в план поїздки, між ними відразу прокрадується маршрут і приблизний час у дорозі, що дасть розуміння витрат часу на дорогу, але на жаль не про її вартість. Також він автоматично пробудовує маршрут дня так (ну принаймні намагається), щоб не робити гаків по місту, а відвідувати всі місця на шляху з найменшими витратами часу. На веб-сайті можна забронювати готель, покупка та перегляд відбувається на Booking.com. Можна додати пересування на транспорті, наприклад, між залізничними станціями, час на жаль не відображається, пошуку за цінами на квитки теж немає. Але тут це й байдуже.
Ще сподобалося, що після закінчення складання ти отримуєш графік своєї подорожі. Показується, скільки з основних визначних пам'яток ти втратив.

Експорт у пдф хороший, з усіма посиланнями на карти Google. На кліку відразу прокладає маршрут. Лінійка дня не дуже зрозуміла, але можна розібратися.

Додаток дуже навіть хороший. Із деякими приємними фішками. Наприклад на сторінці об'єкта показується відстань до нього і компас, що обертається, який показує напрямок руху. Також у багатьох визначних пам'яток показується час роботи та ціна вхідного квитка. Чомусь на скріншотах із айтюнсу показується перекладач, але я його не побачив у самій програмі.

До того ж програма Tripomatic має платну, але дуже корисну для туриста, функцію офлайн карт. за 129 руб. можна купити карту країни, за 449 - Азії та Австралії, а за 549 ​​руб. можна скачати карти всіх країн які є на Tripomatic (358 місць). Загалом додаток має місце бути у смартфоні мандрівника.

У висновку скажу, що сервісів складання та планування подорожі досить багато, на мій погляд це найбільш виділяються. Ще є багато соціальних туристичних мереж, де можна так само почерпнути багато корисної інформації, але вони не мають таких функцій, як планування.

Незнайомий район міста, невелика кількість вільного часу та необхідність (або бажання) пішки дістатися метро/готелю/вокзалу – напевно, кожен хоч раз потрапляв у таку ситуацію. При цьому з одного боку хочеться подивитися якісь красиві та цікаві місця, проте з іншого боку обмежений час не дозволяє надто сильно ухилятися від прямого маршруту.

Ситуація ще більше ускладнюється, якщо поруч немає жодних великих пам'яток, про які всі знають і які можна було б включити до свого маршруту після короткого пошуку в Інтернеті. Що робити, якщо ви застрягли в якомусь Купчиному, про яке ви тільки й чули, що там краще не застрягати? Доводиться йти навігатором, сподіваючись, що на шляху зустрінеться щось цікаве. Однак популярні навігатори враховують лише відстань та час у дорозі, але не беруть до уваги цікавість маршруту. Мені траплялися ще проекти, які намагаються враховувати зручність пішого маршруту (що ведуть в обхід галасливих магістралей), але ж хочеться пройти не тільки комфортно, а й побачити якусь красу.

Подумавши трохи, я вирішив взятися за це завдання сам. Як завжди, загальна ідея алгоритму досить проста, але він криється у дрібницях. А у разі навігації, дрібниці можуть бути досить істотні і з ризиком для здоров'я, адже навряд чи якийсь турист зрадіє, коли навігатор у пошуках визначних пам'яток заведе його в нетрі напівзанедбаної промзони заради маленької меморіальної таблички (тру сторі, один раз так і сталося) .

Опис алгоритму та приклади роботи під катом, посилання в кінці.

Основна ідея

Споконвічна ідея у мене була така: завантажуємо Open Street Map карту, парсим її, видираємо з неї інформацію про всі потенційно цікаві для пішоходів об'єкти (з їх списком ще потрібно визначитися), малюємо навколо них якісь буферні зони. Шукаємо шляхи яким-небудь стандартним фреймворком, трохи хочемо процес побудови навігаційного графа, щоб у цих зонах ваги ребер стали нижчими і тим самим організуємо притягування пішохідних маршрутів до них.

Сказано зроблено. Для пошуку колії була використана бібліотечка GraphHopper, яка вміє з коробки читати OSM карти, будувати маршрути для різних типів транспорту (машина, пішохід, велосипед), має кілька різних алгоритмів для пошуку колії (простий пошук, пошук альтернативних маршрутів, всякі прискорені-оптимізовані варіанти) ) і вміє перепроцесувати навігаційний граф для прискорення пошуку (базовий пошук містом працює дуже швидко, за кілька мілісекунд). Для прикладу роботи був обраний мій рідний Санкт-Петербург – тут я міг сам оцінити якість та цікавість збудованих маршрутів.

У результаті базова версія алгоритму була зліплена на коліні за пару вечорів, а ось потім почалася захоплююча подорож граблями і дрібницями, в яких як відомо і криється диявол і про який я розповім далі.

Об'єкти для туристів та проблеми з OSM

В Open Street Map кожен об'єкт - це геометрія (Node, Way або Relation) плюс кілька рядкових пар «ключ-значення».

Ось так виглядає Зимовий Палац у OSM:

Проблема в тому, що оскільки OSM - це відкрита та редагована учасниками карта, стандартизація там шкутильгає на обидві ноги. Для позначення одного і того ж типу об'єктів може використовуватися різний набір тегів і різна комбінація об'єктів, частина тегів вважається «канонічною» і описана на вікі, але все одно є купа варіантів, як просто альтернативних, так і відверто помилкових, але тих, що використовуються . У результаті будь-який код, що працює з OSM (особливо будь-які навігатори і рендерери) змушені все це враховувати і містити в собі купу коду для обробки таких особливих випадків.

Наприклад тег highway=unspecified означає не «якась дорога невідомого типу», як думають багато маппери, а цілком конкретний тип дороги за європейською класифікацією, але ліплять його абияк через назву. Причому у цього типу дороги передбачається наявність пішохідної узбіччя або тротуару, тому навігатор будує пішохідні маршрути по ній, тоді як реальною такою дорогою в СПб пішоходи не ходять (це проїжджа частина вулиці). Або ще приклад: addr:housename тег у нас іноді використовують для назви будівель, наприклад чомусь західне крило будівлі Головного штабу на Палацевій площі названо саме через цей тег. У той час як у гайдах самого OSM сказано, що його варто використовувати тільки в тих країнах, де замість номерів будинків використовуються імена (в Японії так роблять), а для офіційних назв будівель використовувати тег name і подібні.

Ще один момент, що мене несе, - розмітка зелених зон. Для цієї мети є два різні теги, leisure=park та landuse=grass. На карті вони виглядають приблизно однаково: просто зелена зона, що трохи відрізняються кольором. У результаті ліплять їх упереміш хто як хоче. Через це часто розділовий газон між проїзними частинами вулиці стає «парком» і починає притягувати пішохідні маршрути.

Всі ці нюанси доводилося відкривати собі у міру побудови та аналізу маршрутів.
В якості набору об'єктів, що становлять інтерес для пішоходів, у результаті було обрано наступний список:

  • Туристичні пам'ятки відмічені тегом tourism
  • Зелена зона. leisure=park, garden. Після деяких міркувань були додані landuse=cemetry, цвинтарі. З одного боку така собі пам'ятка, з іншого - наприклад на Василівському острові в СПб єдина велика зелена зона - цвинтар, який місцеві використовують замість парку, а справжніх парків там взагалі немає.
  • Вода: річки, озера, ставки. Тут мішанина з тегів water, waterway і купи значень, що дублюються. Адже так приємно буває пройтися набережною в спекотний день. У всякому разі я так думав, поки не спробував обробити Смоленськ - раптово з'ясувалося, що в глибинці берега річки - це не гарна набережна як у нас у Пітері, а заросла і засмічена пустка, від якої пішоходи воліли б триматися подалі. Але розрізнити ці ситуації чисто за даними карти поки що не вдається.
  • Історичні будівлі і споруди, що позначені тегом історії. Вони зазвичай просто красиві
  • Будь-яка інша міська дрібничка, відзначена тегом amenity. У нього дуже багато значень, я вибрав лише деякі, наприклад, вуличний годинник (clock) - часто бувають красивими, релігійні споруди (place_of_worship), стріт-арт всякий (graffiti) та деякі інші
  • Пішохідні вулиці та площі highway=pedestrian
По ходу дослідження я зрозумів, що крім позитивних зон, які приваблюють пішоходів, треба додати ще й негативні їх відштовхування. До цього списку поки що увійшли:
  • Будівництво landuse=construction. Пішоходам не дуже приємно йти під будівельними лісами, в пилу, що летить з будмайданчика.
  • Промзони та гаражі landuse=industrial, garages. Тут саме трапився той нюанс із закладом пішохода (а ми в Інституті дизайну та урбаністики ІТМО це тестували на студентах, які ходили прокладеними маршрутами і потім писали відгуки в рамках дослідження пішохідної зручності Петроградського району) в нетрі промзони Ленполіграфмашу. Виявилося, що там не весь квартал позначений цим тегом (як робиться зазвичай для розмітки великих промзон), а кожна будівля окремо.
  • В ідеалі ще хочеться вести пішоходів від широких міських магістралей, де запорошено, галасливо, багато машин і зазвичай нема на що особливо дивитися. Але поки що не вдалося однозначно їх детектувати. В OSM є по суті лише кількість автомобільних смуг, але цього критерію недостатньо (багато важливих туристичних вулиць, наприклад Невський проспект, також багатосмугові)
Той самий Ленполіграфмаш, що містить десь у своїх нетрях пам'ятник друкарському верстату, і куди мій алгоритм потягнув бідну студентку

Важливість визначних пам'яток

Очевидно, що пам'ятки бувають різні. Є великі, всесвітньо відомі об'єкти - як Ейфелева вежа або ось Ісаакіївський собор у Санкт-Петербурзі, які притягують величезну кількість туристів, і заради відвідування яких люди можуть зробити пристойний гачок. І є якісь невеликі, містечкові прикраси - якийсь стріт-арт, невелика скульптура на подвір'ї, які люди готові оглянути тільки дорогою і не хочуть тягатися до них здалеку. Для коректної побудови цікавих та зручних маршрутів потрібно було навчитися якось розділяти різні категорії визначних пам'яток, при цьому все що у нас є в OSM – це якась геометрія та набір тегів. Довелося придумати набір емпіричних правил призначення «важливості» пам'ятки, надалі визначальною зміни ваг у графі.

Спочатку важливість дорівнює нулю та збільшується при виконанні наступних умов:

  • +3 за наявності тега historic - він є тільки у важливих історичних будівель, та й то не у всіх
  • +3 за теґи wikipedia або wikidata. Свої сторінки на вікі зазвичай є тільки у важливих об'єктів
  • +1 за наявність link або url - свій сайт, знову ж таки, є далеко не у всіх, але часто цей тег веде на сторінку якогось каталогу і є у дрібних об'єктів
  • +1 за кожний тег name. Ім'я може задаватися купою способів, можуть бути будь-які old_name для історичних назв або імена перекладені іншими мовами. Знову ж таки, наявність багатьох імен свідчить про достатню важливість об'єкта (якщо хтось запарився їх все проставити)
  • building:architecture - архітектурний стиль, зазвичай ставиться на будь-які красиві пам'ятки архітектури
Цей список визначений досвідченим шляхом і сяк-так дозволяє відокремити Зимовий палац від безіменного графіті на околиці. У результаті важливість рівна 0 означає якийсь локальний дрібний безіменний об'єкт (клаптик зелені, графіті), близько 3-4 – це вже щось цікаве (церква, сквер де можна посидіти та відпочити), ближче до 10 починаються пам'ятки міського рівня, той самий Зимовий палац.

Список не є ідеальним і дуже покладається на дані OSM, які часто неповні. Наприклад, Нарвські ворота спочатку мали лише одну одиницю важливості, оскільки крім імені їм нічого було проставлено. Довелося сходити самому в OSM і додати їм імена, стиль, роки побудови, висоту (для коректного визначення видимості, що далі) тощо. Загалом у цьому ще й громадська користь є - для підвищення якості маршрутів я час від часу йду в OSM і проставляю там відсутні теги, якими можуть користуватися інші навігатори або програми.

Області впливу

Визначні пам'ятки бувають різного розміру. Якусь невелику скульптуру треба розглядати з відстані не більше 5-7 метрів. Мідний вершник непогано видно і з 20-30. Ісаакіївський собор - одна з найвищих споруд у центрі міста - пристойно видно з 200-300 (під цим я розумію що туристу необов'язково підходити впритул, а цілком комфортно насолодитися видом з такої відстані, так його видно і за кілометр з іншого берега Неви , Але вже без деталей). Як же визначити, на якій відстані визначна пам'ятка має впливати на маршрути пішоходів?

Мідний Вершник та купол Ісаакіївського собору вдалині

По-перше, я емпірично збудував радіуси видимості. Вони залежать від всієї доступної інформації про пам'ятки і перетворюють її на один з чотирьох радіусів: small 30 метрів, medium 100, large 250 і huge 350 метрів.

Трохи окремо стоїть видимість річок та парків. Їх я поставив 30 метрів, тобто. приблизно відповідає ширині набережної чи вулиці навколо парку. Так як дивитися на парк здалеку досить безглуздо, треба йти поряд із ним.

Тип видимості визначається за правилами:

  • Точкові (тобто задані OSM-типом Point) об'єкти це Small видимість, це зазвичай дрібні монументи та стріт-арт
  • Але точкові та з тегом historic це Medium, т.к. це часто великі монументи на високих постаментах, типу того ж Мідного вершника
  • Області менше 20*20 метрів (way або relation) це Medium
  • Більше - Large
  • Якщо об'єкт має тег height (висота в метрах) або building:levels (поверховість), то при висоті понад 50 метрів він вважається Huge - це саме зроблено спеціально для Ісаакія та інших великих соборів і будівель, видимих ​​здалеку
Але виникла проблема: в умовах щільної забудови історичного центру СПб наївний підхід з радіусами не працював, так як реальна область видимості якого-небудь храму, що стоїть у глибині двору, була набагато меншою, по суті він видно тільки з ділянки вулиці суворо навпроти нього. Довелося зайнятися побудовою чесних (ну майже) полігонів видимості.

Церква Святої Катерини стоїть у глибині двору, оточена будинками з усіх боків:

Спершу треба було визначитись із перешкодами. Ну, тут все просто, я взяв і прочитав з OSM даних всі полігони з тегом building. Це будуть полігони, які блокують нашу видимість. Потім написав простий наївний алгоритм побудови полігону видимості точки за допомогою трасування променів. Висока точність мені там ні до чого, вистачило десятка променів на крапку. Спочатку я не мудруючи брав центроїд геометрії пам'ятки, але це давало не найкращі результати для довгих (довгих і вузьких) будівель. Тому надалі для великих пам'яток я став брати три точки - центроїд і дві найбільш віддалені від нього та один від одного точки на зовнішньому кордоні. Чому я не став будувати видимість чесно? Тому що якщо алгоритм побудови області видимості точки тривіальний (пускаємо з точки промені на всі боки, дивимося де вони перетнули найближчі перешкоди, з'єднуємо ці точки), то побудувати чесну видимість ребра (і в результаті - полігону) вже набагато складніше (перше, що приходить в голову рішення - будувати видимість двох кінців ребра і поєднувати - очевидно неправильне).

У результаті вийшла непогана апроксимація. Будує вона неідеально, але для потреб пішохідної навігації такої точності нам достатньо. Єдина проблема - вона враховує висотність будинків, тобто. Будь-яка маленька будка нам перегородить огляд на п'ятиповерхову дзвіницю. Але тут вже нічого не поробиш - OSM дані далеко не всюди містять поверховість, та й будувати обсяги видимості в 3д набагато складніше. Хоча, можливо, я ще до цього повернуся.

Побудовані полігони видимості для цієї та сусідньої церков

Краса маршруту та як її підвищити

Отже, ми навчилися вважати важливість і видимість визначних пам'яток і стали будувати непогані маршрути. У всякому разі це було так, поки я тестував на центральних районах Санкт-Петербурга, що мають дуже високу щільність краси на квадратний кілометр.

Проте варто було відійти трохи убік від центру, як раптово алгоритм став визнавати своє безсилля. І побудований ним маршрут став співпадати із найкоротшим. Так як пам'яток у цих районах - кіт наплакав, розташовані вони далеко один від одного, тому при пошуку шляху по комбінованій метриці «краса + відстань» внесок першого доданку виявлявся навколонульовим, у результаті алгоритм будував найкоротші маршрути.

Звичайно, завжди можна було сказати «це не ми такі, це міста у нас такі нудні», але це було б не дуже правильно. Тому я запитав, як оцінити побудований маршрут, і як можна його покращити. Найпростіше рішення, що відразу спадає на думку - давайте подовжимо маршрут, примусово вставивши в нього гак до якоїсь визначної пам'ятки, що залишилася осторонь.

Тепер у випадках якщо а) загальна сума важливості всіх пам'яток маршруту на кілометр менше якоїсь величини або б) користувач сам вибрав побудову максимально цікавого маршруту, мій алгоритм намагається його покращити. Для цього будується початковий маршрут, береться буфер навколо нього (його товщина визначається довжиною, чим довший маршрут - тим більше довгий гачок дозволяється зробити), всередині цього буфера шукається кілька нових (ще не ввійшли в маршрут) пам'яток зі score>2 (ми не хочемо робити гаки в кілометр до noname скверикам) і прокладаються нові маршрути від початкової точки до цієї проміжної мети, а від неї до точки призначення. При цьому додатково контролюється довжина, в результаті ми повинні отримати маршрут не більше ніж у два рази довше за короткий шлях між початковою і кінцевою точками.

Перша версія алгоритму (ліворуч) виявилася безсилою знайти щось цікаве і побудувала найкоротший маршрут. А ось версія з додаванням проміжної пам'ятки (праворуч) включила в нього ДОТ КВ-19, він знаходиться в правому нижньому кутку маршруту (на такому рівні зуму його не видно, але сервіс покаже його в списку і дозволить знайти на карті на кліку на ім'я) .

Той самий ДОТ. Загалом у Купчині вистачає подібних об'єктів, пов'язаних з обороною Ленінграда, оскільки саме там проходили оборонні рубежі міста:

Звичайно, далеко не всяких пішохід погодиться робити гак заради якоїсь незначної на його думку пам'ятки. Саме тому сервіс показує довжину маршруту в порівнянні з найкоротшим і список визначних пам'яток на ньому, а користувач може сам вирішити, чи цікавий йому такий маршрут. Плюс є повзунок, який дозволяє скоротити (або навпаки збільшити) максимально допустимий гачок.

На практиці довелося зіткнутися ще з деякими проблемами та дивностями. По-перше, при наївній реалізації буфера навколо маршруту він «вилазив» за початок і кінець. І часто виходили ситуації коли маршрут йшов повз кінцеву точку ще на пару сотень метрів. Або навпаки, йшов у протилежний бік від кінця зі старту і лише потім повертався до потрібного напрямку. Хоча такі маршрути і дозволяли оглянути більше визначних пам'яток, пішоходи дуже не люблять, коли їх відводять сильно в бік від мети. Довелося спочатку «виколоти» на навігаційному графі область навколо кінцевої точки (зробити ребра непрохідними при пошуку шляху до проміжної), а потім будувати буфер не навколо всієї лінії маршруту, а лише починаючи з певної відстані від старту і закінчуючи на певній відстані до кінця .

Другою проблемою були маршрути з поверненням тією ж вулицею. Не знаю як ви, а я терпіти не можу повертатися тим самим маршрутом, яким я йшов уперед. Завжди волію йти іншою дорогою. І тому від свого алгоритму я намагаюся домогтися тієї самої поведінки. Правда ось із цим поки що проблеми. Як перша спроба я зробив так, що всі ребра (крім останнього), що брали участь у дорозі від старту до проміжної точки, вирізуються з графа при пошуку шляху від проміжної до кінця. Це дозволяє уникнути повернення рівно тим самим шляхом, але не захищає від майже такого ж шляху - наприклад, повернення з іншого боку тієї ж вулиці. Вирізання всіх ребер на околиці часто робить знаходження зворотного шляху і зовсім неможливим. Загалом, тут ще залишається над чим подумати. Хоча в цьому плані мій алгоритм вже працює краще, ніж деякі з конкурентів, які на цю тему просто не замислюються і легко будують тупикові відгалуження маршруту.

Приклади роботи

Поточна реалізація знаходиться на sightsafari.city
Там поки що майже немає геокодера (є OSM-ний, але він досить погано працює), тому точки краще ставити прямо на карті, правим кліком або довгим тапом. Повзунок відповідає за тип маршруту: крайнє ліве положення шукає найкоротший, без урахування визначних пам'яток, дефолтне третє дає непоганий баланс, крайнє праве – завжди намагається покращити маршрут і часто генерує досить хитромудрі шляхи.

Ось кілька прикладів. Маршрут від будинку де я раніше жив до метро Московська на думку Яндекса, нудний шлях через двори та невеликі вулички:

А ось маршрут на думку мого алгоритму. Проходить через край парку Перемоги, повз історичний музей, повз Чесменську церкву та палац, за площею Будинку Рад повз фонтани та круту сталінську архітектуру.

Чесменської церкви. Я і сам зазвичай робив невеликий гак щоб пройти в цьому місці, а не через нудні двори хрущовок навпростець.

Ось ще приклад: найкоротший маршрут від Смольного (де знаходиться адміністрація СПб) до станції метро «Площа Повстання» йде Суворовським проспектом. Але там поряд, трохи осторонь, є гарний Таврійський сад, куди мій алгоритм запропонує вам зазирнути.

Висновок

Поки що сервіс працює тільки для Санкт-Петербурга, Пушкіна та Смоленська (зони з доступною навігацією відзначені червоним пунктиром). Ще багато потрібно поліпшити, а для цього в першу чергу потрібні відгуки. Так що пробуйте, пишіть відгуки на маршрути (там є кнопочка над списком пам'яток), сподіваюся, воно комусь буде цікаво і корисно.

За запитом можу підключити нові міста - Москву, мабуть, побоюсь, сервер тріснутиме (хоча можна не всю, а тільки центр, звичайно), ось щось менше можна. Головне щоб для цього регіону був більш-менш якісно розмічений OSM, ну і щоб були якісь пам'ятки, з чим у маленьких міст все не дуже цікаво (у тому ж Смоленську, який я додав для одного свого тамтешнього товариша, все цікаве купується в 2-3 місцях міста, і обійти їх можна без будь-якої розумної навігації).

UPD:додав Москву в межах ТТК, Уфу, Калінінград, Нижній Новгород, Київ, Казань, Ростов-на-Дону, Благовіщенськ, Саратов, Пензу, Одесу, Мінськ, Єкатеринбург, після чого на сервері закінчилася пам'ять. Так що заявки на нові міста тимчасово не приймаються, поки я не придумаю, як цю справу оптимізувати.

UPD 2:Геокодер OSM, як я вже написав, працює погано (знає мало адрес, вимагає структурованих даних на вході), тому краще ставте точки на карті вручну, а не вводіть адресу. Надалі щось треба буде з цим придумати, але всі нормальні геокодери (наприклад у Яндекса) коштують занадто відчутних для хобі-проекту грошей, а в безкоштовній версії мають ліцензію, що обмежує (наприклад, можна відображати результати пошуку тільки на карті самого Яндекса).

UPD 3:Завів паблік у ВК де можна буде викладати свої ідеї, запити нових міст і де я писатиму про оновлення сервісу

Привіт дорогі читачі! Ми підходимо до однієї з найцікавіших тем, а саме: «Як скласти маршрут самостійної подорожі?» У цій статті ми складатимемо план подорожі Єгиптом, враховуючи всі місця, які хочемо відвідати. Розглянемо основні моменти, куди варто звернути увагу. Пояснимо теоретично як це робити і покажемо на практиці, щоб при складанні свого маршруту ви врахували всі нюанси.

Планування.

Для складання маршруту необхідно відповісти на кілька запитань:

  1. Скільки днів триватиме Ваша подорож?
  2. Бюджет (скільки грошей можете виділити для подорожі?)
  3. Що ви хочете відвідати? (складайте список міст і місць, де хочете побувати)
  4. Як відпочиватимете? (відвідування пам'яток, відпочинок на пляжі, дайвінг, парашут – визначиться з характером подорожі)

Для зручності випишіть відповіді та всю інформацію на окремий аркуш паперу. Приклад, що має вийти:

- Подорож на 14 днів. Бюджет 50 000 руб. Обов'язкові для відвідування: піраміди, Сфінкс, Каїр, Олександрія, Чорна та Біла пустелі. Відпочинок: 2 дні на пляжі, решта - відвідування визначних пам'яток і непогано було б сходити в аквапарк.

Тобто ви повинні намалювати картину вашої подорожі, як ви її уявляєте. Спочатку коротко, загалом, як у нашому прикладі. Потім уже відштовхуватися від цієї інформації та доопрацьовувати маршрут.

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

Картина нашої подорожі: відвідати визначні пам'ятки та міста. Розробити найзручніший маршрут, по дорозі якого зустрічається все, що нам потрібно.

Формула:

— поставити ціль (подорож, уявити якомога детальніше, відчути подумки, як це має бути).

— Поставити термін досягнення мети (час відпустки, або певна дата, до якої ви маєте накопичити потрібну суму).

— Розробити план здійснення (чим ми і займатимемося, сам маршрут). І звичайно, ваш особистий план, як заробити на подорож.

- Почати робити.

ОБОВ'ЯЗКОВО! Записати все в блокнот, на аркуші паперу, головне, щоб ви могли бачити, як і до чого йдете, вносити корективи.

Тема велика, тому ми вирішили розбити її на кілька частин. Так краще для сприйняття. Перш ніж переходити до наступної частини статті: «Як скласти маршрут самостійної подорожі?», зробіть практичні рекомендації, описані в цій першій частині. Якщо у вас є поради або рекомендації (можливо, є незрозумілі вам моменти або ми щось упустили) напишіть нам у коментарях.