- PVSM.RU - https://www.pvsm.ru -

OpenStreetMap на каждый день

OpenStreetMap на каждый день
На хабре OSM упоминают постоянно, вот только репутация у проекта, похоже, совсем никакая: кучка людей что-то программирует, рисует какие-то линии и отношения, борется за лицензионную чистоту. Но на самом деле проект совсем про другое: дать каждому карту, с которой можно делать что угодно: те же гуглокарты, те же Яндекс.Карты, но которые при желании можно поправить или скачать на мобильное устройство.

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

Посмотреть и поискать

Для русскоязычного участника у проекта есть две точки входа: openstreetmap.org [1] (также osm.org) и openstreetmap.ru [2] (osm.org.ru). На них есть большая карта и строка поиска. Различаются эти сайты списком слоёв: на русском их значительно больше, в том числе красивейший MapSurfer.NET, спутниковые снимки от Bing, трёхмерные домики и обратная связь («указать неточность на карте», затем дабл-клик в любом месте). Второе различие — механизм поиска.

На openstreetmap.org поиск работает по адресам в западном стиле: номер дома, улица, город (например, «24, Невский проспект, Санкт-Петербург»). Сокращения не работают, выкидывать статусную часть (написать «Невский» вместо «Невский проспект») или добавлять её («посёлок Кузьмолово» вместо «Кузьмолово») нежелательно. Зато работает поиск по POI (точки интереса: магазины, кафе, парикмахерские, кинотеатры и т.п.) и по названиям категорий («кафе рядом с Невский проспект», падежи тоже не работают). Короче, хороший поиск, но не адаптированный к русским запросам.

OpenStreetMap на каждый день

Это попытались исправить на openstreetmap.ru: туда можно вставить большинство адресов с разных сайтов, и они правильно обработаются. Собственно, 90% моих обращений к Яндекс.Картам было как к поисковику по адресам, и сейчас наш сайт его заменил. Из бонусов — для проекта геопозиционирования избирательных комиссий я использовал API нашего поисковика (openstreetmap.ru/api/search?q=Язь), и он в Петербурге нашёл почти все адреса (написанные, замечу, в свободной форме).

Ещё 9% обращений к картам — поиск места «глазами»: открытие сайта, уменьшение масштаба до всей планеты, затем приближение к нужному месту в три-четыре прыжка с помощью растягивания прямоугольника мышью с зажатым Shift. После привыкания к масштабированию прямоугольником сайты гугля и яндекса внезапно становятся жутко неудобными. Замечу, что openstreetmap.ru пока что тоже не очень удобен, потому что там нет линейки масштабов, и приходится сто раз жать на кнопку «минус».

Поделиться

Проиллюстрировать координаты или адрес можно тремя способами. Первый — сделать скриншот карты. Второй — дать ссылку на фрагмент карты. На openstreetmap.org для этого справа внизу есть два типа ссылок: длинная (для статей) и короткая (кинуть в чатик). У первой очевидная и читаемая структура, вторая не разрывает экран.

OpenStreetMap на каждый деньНа openstreetmap.ru постоянная ссылка слева внизу, но кроме этого, можно явно отметить точку, о которой речь, маркером: это слово спрятано в значке с шестерёнками справа.

Самый продвинутый способ — поместить на страницу живую карту с маркерами и чем только не. Вручную это несложно сделать библиотекой Leaflet [3], но можно полениться и применить инструмент [4], рекомендуемый для информационных сайтов Евросоюза.

Измерять и рисовать

Инструмент измерения расстояний на карте Яндекса часто используют для рисования маршрутов: и линия есть, и её длину показывают, и ссылку получить несложно. В OpenStreetMap это два разных инструмента. Так, для измерения расстояний есть отдельный сайт Distance Calculator [5]. Он даже выдаёт расстояние в двух системах координат. И позволяет сохранить нарисованный путь в gpx. Oh wait…

Рисование маршрутов для других — в Show Your Journey [6]. Хотя там везде предлагается зарегистрироваться, это нужно только для правки своих маршрутов, а сделать новый просто: справа внизу кнопка «Start a route», затем нарисовать (или загрузить GPX), затем ввести название и тыкнуть в «Create».

OpenStreetMap на каждый день

Наконец, недавно на openstreetmap.ru в инструментах появился пункт «Персональная карта». Это адекватная замена рисованию меток и ломаных на картах Яндекса. Правда, интерфейс не такой красивый, и информации маловато, поэтому если карта позволяет, рисовать ломаные в яндексе пока проще.

Прокладывать маршрут

О, это просто грааль в пользовательской картографии. У каждого продавца карт есть свой движок, у OpenStreetMap их десяток. Для быстрого подсчёта расстояний не могу отказать себе в удовольствии использовать Project OSRM [7]: его скорость поражает. Тянешь маркер — и маршрут перестраивается в реальном времени. Увы, работает только в Европе и европейской части России. Есть неплохой шанс, что этот движок скоро запустят в полную силу на openstreetmap.org.

OpenStreetMap на каждый день

Для более сложного роутинга, с промежуточными точками и выбором транспорта, я пользуюсь сервисом Cloudmade [8]. Кроме него есть OpenRouteService [9] и YourNavigation.org [10]: у всех трёх есть свои недостатки, первый и третий ещё и нерегулярно обновляются, но окончательный выбор делается по удобству: функциональность у них примерно одинаковая, и все они лучше коммерческих альтернатив, особенно на длинных дистанциях. Пользовался бы красивым MapQuest [11], но у меня никак не получается его завести.

Взять с собой

Способ XX века: распечатать! Сайтов много, самый очевидный — Walking Papers [12]. Если собираетесь провести несколько дней в незнакомом городе, Maposmatic [13] делает некое подобие атласа с указателем улиц.

OpenStreetMap на каждый день

Но будем более технологичны. Даже носить с собой гигабайты выкачанных тайлов — это прошлый век. Преимущество OpenStreetMap — доступность исходных данных. Векторные карты на телефонах с J2ME показывает GpsMid [14], на ай*ах — MapsWithMe [15], а для андроидов самое лучшее приложение — это OsmAnd+ [16] (есть бесплатная версия, также см. их страницу [17]). В последнем прямо из программы можно скачивать сборки карт для нужных областей и стран, плюс добавлять разные слои POI. Например, в последнем путешествии мы подключили слой статей из википедии, и пока я рулил, жена читала описания мест, где мы проезжали.

Настоящие туристы, разумеется, плюют на новомодные устройства и пользуются отдельными навигаторами. Выгрузки данных есть почти под любую систему: Навител [18], СитиГид [19], ПокетГис [20], ГисРусса [21]. Но больше всего выгрузок для Garmin, потому что у всех своё назначение. Три самых популярных по России: автомобильная [22] и две туристических: от ValentinAK [23] и от Макса Васильева [24]. Для поездок за границу добро пожаловать к шведскому столу [25].

Пользоваться и дополнять

OpenStreetMap на каждый день

Что-то под конец статья скатилась в список ссылок. Ну и ладно: в нашей несуразной вики [26], признаюсь, найти что-то полезное непросто, особенно после набега графоманов-википедистов. С другой стороны, уже на офлайновом использовании мы вышли за границы функциональности «больших» карт, и при этом самые красивые применения данным OSM остались за кадром. И что действительно поражает — все эти сайты, сервисы, выгрузки, роутинг работают с одними и теми же данными, которые может поправить или дополнить каждый. Чем мы и занимаемся каждый день. Пользуйтесь нашей картой — и, может быть, когда-нибудь вам захочется поправить какую-то мелочь. Так и увязают.

В статье использованы комикс FakeSteveC [27], снимки карты OpenStreetMap в тайлах osm.org, MapSurfer.net [28] и Stamen Design [29], а также фотография kachkaev [30].

Автор: Zverik


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/karty/5496

Ссылки в тексте:

[1] openstreetmap.org: http://openstreetmap.org/

[2] openstreetmap.ru: http://openstreetmap.ru/

[3] библиотекой Leaflet: http://habrahabr.ru/post/137010/

[4] инструмент: http://shtosm.ru/2012/02/29/1/

[5] Distance Calculator: http://map.meurisse.org/

[6] Show Your Journey: http://syj.renevier.net/

[7] Project OSRM: http://map.project-osrm.org/

[8] сервисом Cloudmade: http://maps.cloudmade.com/

[9] OpenRouteService: http://openrouteservice.org/

[10] YourNavigation.org: http://yournavigation.org/

[11] MapQuest: http://mapq.st/HAX4PM

[12] Walking Papers: http://walking-papers.org/

[13] Maposmatic: http://maposmatic.org/

[14] GpsMid: http://sourceforge.net/apps/mediawiki/gpsmid/index.php?title=Getting_started

[15] MapsWithMe: http://www.mapswithme.com/

[16] OsmAnd+: https://play.google.com/store/apps/details?id=net.osmand.plus

[17] см. их страницу: http://code.google.com/p/osmand/

[18] Навител: http://navitel.osm.rambler.ru/

[19] СитиГид: http://peirce.gis-lab.info/daily.php

[20] ПокетГис: http://probki77.ru/ПокетГис/Карты-регионов-России-для-ПокетГис/

[21] ГисРусса: http://osm-russa.narod.ru/

[22] автомобильная: http://gis-lab.info/data/mp/

[23] от ValentinAK: http://forum.openstreetmap.org/viewtopic.php?id=13875

[24] от Макса Васильева: http://forum.openstreetmap.org/viewtopic.php?id=15613

[25] к шведскому столу: http://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/Download

[26] вики: http://wiki.openstreetmap.org/wiki/RU:Main_Page

[27] FakeSteveC: http://fakestevec.blogspot.de/

[28] MapSurfer.net: http://www.openmapsurfer.uni-hd.de/

[29] Stamen Design: http://maps.stamen.com/#watercolor/

[30] kachkaev: http://habrahabr.ru/users/kachkaev/