приложение open street maps
OpenStreetMap на каждый день
На хабре OSM упоминают постоянно, вот только репутация у проекта, похоже, совсем никакая: кучка людей что-то программирует, рисует какие-то линии и отношения, борется за лицензионную чистоту. Но на самом деле проект совсем про другое: дать каждому карту, с которой можно делать что угодно: те же гуглокарты, те же Яндекс.Карты, но которые при желании можно поправить или скачать на мобильное устройство.
Поэтому я хочу рассказать об основах: как эти карты заменили мне яндекс почти во всех каждодневных задачах.
Посмотреть и поискать
Для русскоязычного участника у проекта есть две точки входа: openstreetmap.org (также osm.org) и openstreetmap.ru (osm.org.ru). На них есть большая карта и строка поиска. Различаются эти сайты списком слоёв: на русском их значительно больше, в том числе красивейший MapSurfer.NET, спутниковые снимки от Bing, трёхмерные домики и обратная связь («указать неточность на карте», затем дабл-клик в любом месте). Второе различие — механизм поиска.
На openstreetmap.org поиск работает по адресам в западном стиле: номер дома, улица, город (например, «24, Невский проспект, Санкт-Петербург»). Сокращения не работают, выкидывать статусную часть (написать «Невский» вместо «Невский проспект») или добавлять её («посёлок Кузьмолово» вместо «Кузьмолово») нежелательно. Зато работает поиск по POI (точки интереса: магазины, кафе, парикмахерские, кинотеатры и т.п.) и по названиям категорий («кафе рядом с Невский проспект», падежи тоже не работают). Короче, хороший поиск, но не адаптированный к русским запросам.
Это попытались исправить на openstreetmap.ru: туда можно вставить большинство адресов с разных сайтов, и они правильно обработаются. Собственно, 90% моих обращений к Яндекс.Картам было как к поисковику по адресам, и сейчас наш сайт его заменил. Из бонусов — для проекта геопозиционирования избирательных комиссий я использовал API нашего поисковика (openstreetmap.ru/api/search?q=Язь), и он в Петербурге нашёл почти все адреса (написанные, замечу, в свободной форме).
Ещё 9% обращений к картам — поиск места «глазами»: открытие сайта, уменьшение масштаба до всей планеты, затем приближение к нужному месту в три-четыре прыжка с помощью растягивания прямоугольника мышью с зажатым Shift. После привыкания к масштабированию прямоугольником сайты гугля и яндекса внезапно становятся жутко неудобными. Замечу, что openstreetmap.ru пока что тоже не очень удобен, потому что там нет линейки масштабов, и приходится сто раз жать на кнопку «минус».
Поделиться
Проиллюстрировать координаты или адрес можно тремя способами. Первый — сделать скриншот карты. Второй — дать ссылку на фрагмент карты. На openstreetmap.org для этого справа внизу есть два типа ссылок: длинная (для статей) и короткая (кинуть в чатик). У первой очевидная и читаемая структура, вторая не разрывает экран.
На openstreetmap.ru постоянная ссылка слева внизу, но кроме этого, можно явно отметить точку, о которой речь, маркером: это слово спрятано в значке с шестерёнками справа.
Самый продвинутый способ — поместить на страницу живую карту с маркерами и чем только не. Вручную это несложно сделать библиотекой Leaflet, но можно полениться и применить инструмент, рекомендуемый для информационных сайтов Евросоюза.
Измерять и рисовать
Инструмент измерения расстояний на карте Яндекса часто используют для рисования маршрутов: и линия есть, и её длину показывают, и ссылку получить несложно. В OpenStreetMap это два разных инструмента. Так, для измерения расстояний есть отдельный сайт Distance Calculator. Он даже выдаёт расстояние в двух системах координат. И позволяет сохранить нарисованный путь в gpx. Oh wait…
Рисование маршрутов для других — в Show Your Journey. Хотя там везде предлагается зарегистрироваться, это нужно только для правки своих маршрутов, а сделать новый просто: справа внизу кнопка «Start a route», затем нарисовать (или загрузить GPX), затем ввести название и тыкнуть в «Create».
Наконец, недавно на openstreetmap.ru в инструментах появился пункт «Персональная карта». Это адекватная замена рисованию меток и ломаных на картах Яндекса. Правда, интерфейс не такой красивый, и информации маловато, поэтому если карта позволяет, рисовать ломаные в яндексе пока проще.
Прокладывать маршрут
О, это просто грааль в пользовательской картографии. У каждого продавца карт есть свой движок, у OpenStreetMap их десяток. Для быстрого подсчёта расстояний не могу отказать себе в удовольствии использовать Project OSRM: его скорость поражает. Тянешь маркер — и маршрут перестраивается в реальном времени. Увы, работает только в Европе и европейской части России. Есть неплохой шанс, что этот движок скоро запустят в полную силу на openstreetmap.org.
Для более сложного роутинга, с промежуточными точками и выбором транспорта, я пользуюсь сервисом Cloudmade. Кроме него есть OpenRouteService и YourNavigation.org: у всех трёх есть свои недостатки, первый и третий ещё и нерегулярно обновляются, но окончательный выбор делается по удобству: функциональность у них примерно одинаковая, и все они лучше коммерческих альтернатив, особенно на длинных дистанциях. Пользовался бы красивым MapQuest, но у меня никак не получается его завести.
Взять с собой
Способ XX века: распечатать! Сайтов много, самый очевидный — Walking Papers. Если собираетесь провести несколько дней в незнакомом городе, Maposmatic делает некое подобие атласа с указателем улиц.
Но будем более технологичны. Даже носить с собой гигабайты выкачанных тайлов — это прошлый век. Преимущество OpenStreetMap — доступность исходных данных. Векторные карты на телефонах с J2ME показывает GpsMid, на ай*ах — MapsWithMe, а для андроидов самое лучшее приложение — это OsmAnd+ (есть бесплатная версия, также хабропост). В последнем прямо из программы можно скачивать сборки карт для нужных областей и стран, плюс добавлять разные слои POI. Например, в последнем путешествии мы подключили слой статей из википедии, и пока я рулил, жена читала описания мест, где мы проезжали.
Настоящие туристы, разумеется, плюют на новомодные устройства и пользуются отдельными навигаторами. Выгрузки данных есть почти под любую систему: Навител, СитиГид, ПокетГис, ГисРусса. Но больше всего выгрузок для Garmin, потому что у всех своё назначение. Три самых популярных по России: автомобильная и две туристических: от ValentinAK и от Макса Васильева. Для поездок за границу добро пожаловать к шведскому столу.
Пользоваться и дополнять
Что-то под конец статья скатилась в список ссылок. Ну и ладно: в нашей несуразной вики, признаюсь, найти что-то полезное непросто, особенно после набега графоманов-википедистов. С другой стороны, уже на офлайновом использовании мы вышли за границы функциональности «больших» карт, и при этом самые красивые применения данным OSM остались за кадром. И что действительно поражает — все эти сайты, сервисы, выгрузки, роутинг работают с одними и теми же данными, которые может поправить или дополнить каждый. Чем мы и занимаемся каждый день. Пользуйтесь нашей картой — и, может быть, когда-нибудь вам захочется поправить какую-то мелочь. Так и увязают.
GIS-LAB
Географические информационные системы и дистанционное зондирование
Начало работы с OpenStreetMap
Как принять участие в OpenStreetMap от А до Я.
Данная статья представляет из себя быстрое введение в тему, написанное специально для тех, кто хочет начать работу с OSM. В статье демонстрируется программное обеспечение работающее под Windows, но все упоминаемые продукты так же работают и под системами на базе Unix. Следует отметить, что на сайте OpenStreetMap есть подобное описание работы с системой, в чем-то более подробное. Мы всячески рекомендуем использовать его для ознакомления, если информации в данной статье недостаточно. Так же, рекомендуем обратить в русскоязычный форум сообщества OpenStreetMap, где обязательно найдется ответ на ваш вопрос. Данное руководство, хотя и написано полностью заново, во многом перекликается по структуре с «Руководством для начинающих» размещенного на Wiki OpenStreetMap, с которым мы всячески рекомендуем ознакомиться, при возникновении проблем.
Для начала установим некоторые определения:
Вариантов создания данных в OSM существует несколько, в данной статей мы рассмотрим создание объектов по собранным трекам (отметим, что принимать участие в OSM можно и не имея GPS в принципе, об этом в следующих статьях). Итак, для работы нам понадобятся:
Содержание
Рассмотрим работу на конкретном примере.
[править] Сбор данных
Подразумевается, что перед началом работы вы уже прошлись/проехались по улицам/дорогам отсутствующим в OSM и эти данные в виде треков присутствуют в вашем GPS. Для удобства и чтобы не загружать в OSM лишних данных, некоторые из которых могут быть конфиденциальными, рекомендуется так или иначе обособить трек, который нужно загрузить в OSM. Это можно сделать например пройдя/проехав маршрут в определенный день (включив GPS в начале и выключив в конце трека), маршрутом может быть определенная улица, тропинка, контур-полигон.
[править] Подготовка данных
Данные, собранные с помощью GPS, нужно преобразовать в формат GPX. Для этого можно воспользоваться программой GPSBabel (загрузить). В данном примере показана работа с устройством Garmin, для других устройств (Magellan, DeLorme) необходимо выбрать соответствующую запись в пункте Input [Device]. Для работы с программой необходимо:
В соответствие с иллюстрацией, того же результата можно добиться просто запустив вариант GPSBabel для командной строки, используя команду:
Для того, чтобы немного упорядочить процесс редактирования, загрузим только часть треков, ограничив выборку по времени некоторой датой. Для этого либо укажем нужную дату в настройках Filter\Start at, либо модифицируем строку вызова (в данном случае будут загружены все данные собранные 27 июля 2008):
[править] Загрузка данных в OSM
После создания учетной записи, необходимо зайти в OSM, используя ее и перейти в личный раздел щелкнув на своем имени в правом верхнем углу.
На открывшейся странице, нужно выбрать My traces (мои треки), указать файл GPX, задать описание и ключевые слова. В зависимости от того, хотите ли вы чтобы трек был доступен и другим пользователям или хотите оставить его только для своей работы можно установить или снять флаг Public. Заметим, что людям, работающим в этом же районе ваши треки могут пригодиться, поэтому рекомендуем его все-таки включать.
Каждый трек получает уникальный номер.
После того как трек загружен, он показывается как Pending, это означает, что он стоит в очереди загрузки в систему.
Однако это не значит, что мы не можем немедленно начать использовать эти данные, поэтому, выбрав Edit (редактировать) на только загруженном треке (не обращая внимания на надпись Pending), перейдем к редактированию. Через некоторое время, обычно 2-3 дня этот статус сменяется на анимированное изображение трека, нам дожидаться этого момента необязательно.
[править] Редактирование данных
Два основных способа редактирования данных в OSM это онлайн редакция с помощью инструмента Potlatch построенного на базе Flash или оффлайн редакция с помощью JOSM (Java) или Merkaator(С++). JOSM/Merkaator устанавливается как отдельное приложение, может загружать существующие данные из OSM и треки GPS, а так же создавать/редактировать данные по трекам или изображениям ([josm-start.html подробнее о работе в JOSM]). Merkaator обладает несколько меньшими системными требованиями. Оба инструмента находятся в активной разработке. Для того, чтобы получить максимум функциональности от оффлайн редакторов все же необходимо подключение к интернет, для загрузки снимков и выгрузки данных обратно в OSM.
Хотя JOSM обладает несравненно большей функциональностью, в целях простоты иллюстрации в этой статье мы рассмотрим работу с Potlatch. Как уже говорилось вначале, загрузить GPS треки в OSM мало, нужно еще создать объекты используя эти треки.
[править] Начало работы
После загрузки треков с помощью формы на OSM Wiki, нажмем на ссылку Edit (Правка) или просто найдем область работы и нажмем Edit.
Это приведет к тому, что в текущем окне браузера запустится приложение Potlatch, сфокусированное на то место, где находятся данные только что загруженного трека. Некоторое время понадобится на загрузку трека:
При редактировании данных OSM, соблюдайте несколько простых правил.
[править] Настройка общего вида
По умолчанию, если вы имеете дело со снимками, они показываются осветленными, чтобы выключить этот режим и видеть снимки контрастно, выберем кнопку и выключим режим осветления (галочка на Fade background должна быть снята).
После этого снимки приобретут контрастный и красочный вид.
Если Вы работаете по Европейской части России и на вашу территорию снимки по умолчанию не очень хорошего качества, попробуйте использовать данные спутника IRS. Для этого, в настройках в поле Custom введите:
[править] Просмотр треков GPS
Красная надпись Editing map показывает, что мы находимся в режиме редактирование и объекты, которые мы собираемся создать будут сохранены в базе данных OSM. На некоторые территории существуют данные высокого разрешения, предоставленные OSM Yahoo!, о чем свидетельствует их логотип в нижнем правом углу. Эти данные могут сильно помочь процессу создания объектов, хотя их можно создать и без них.
После загрузки трека и основы, загрузятся уже существующие в данном районе данные OSM, к которым мы собираемся добавить наш объект.
[править] Исправление снимка
[править] Создание объекта
Используя трек создадим по нему наш объект, в данном случае тропинку в лесу, последовательно щелкая вдоль трека до соединения с другой тропинкой. Используем некоторые правила:
Для начала выделим существующий объект, другую дорожку:
Для начала отрисовки нашего объекта нужно определить узел с которого он будет начинаться. При создании объектов, кто собственно их самих, так же важно следить за их правильными взаимоотношениями с другими объектами (топологией), в частности это означает, что пересечения и соединения линейных объектов должны иметь общий узел. Соблюдение этих правил позволит использовать данные OSM для прокладки маршрутов и других задач, учитывающих такие отношения. Итак найдем узел подходящий для начала нашей дороги:
Нажав клавишу SHIFT, щелкнем на этом узле:
Продолжим отрисовку, последовательно щелкая вдоль трека, создав таким образом весь маршрут:
После завершения, новая линия будет отображаться серым цветом по умолчанию:
[править] Редактирование атрибутивной информации
Второй неотъемлимой частью пространственных данных, кроме геометрии, которую мы только что создали является атрибутивная информация. Каждому созданному объекту необходимо задать один или больше параметров. Редактирование атрибутики осуществляется с помощью панели расположенной внизу окна Potlatch, под картой. Так выглядит эта часть окна, если ни один объект не выбран:
Для изменения значений можно использовать два подхода. Первый, изменять значения, сначала выбрав тип объекта, нажав на пиктограмму автомобиля, затем выбрать из выпадающего списка подтип. Затем нажав на кнопку с знаком плюс добавить необходимое количество тэгов, таких как имя (name), тип дороги (highway) и другие. Изучить атрибуты других объектов в окрестностях можно просто нажимая на них. Посмотрим на соседнюю тропу такого же типа, как и вновь нами созданная:
Второй, быстрый способ ввести атрибуты использовать кнопку копирования атрибутов с другого объекта.
Она работает следующим образом, копирование осуществляется с последнего выбранного объекта. То есть, вы выбираете объект с атрибутами, затем выбираете свой и нажимаете кнопку копировать атрибуты.
[править] Завершение работы
Геометрия и атрибуты созданы, редактирование закончено. Для сохранения результатов нужно сохранить изменения щелкнув где-либо вне редактируемого объекта, чтобы снять с него выделение.
После этого, необходимо нажать на кнопку Save и ввести краткое описание изменений:
[править] Просмотр результатов
Потребуется некоторое время (от нескольких минут до 1-2 часов) для того, чтобы созданные объекты появились на самой карте. При этом для редактирования они будут доступны уже сейчас. Результат окончательной отрисовки на OpenStreetMap с помощью Mapnik будет выглядеть примерно так:
Последнее обновление: 2014-05-14 23:36
Дата создания: 01.09.2008
Автор(ы): Максим Дубинин