Начало работы с OpenStreetMap
по адресу http://gis-lab.info/qa/osm-begin.html
Как принять участие в OpenStreetMap от А до Я.
OpenStreetMap (далее OSM) - онлайн-карта мира и удивительный феномен современной геоинформатики, получивший свое распространение за счет бурного развития веб-картографии и концепции свободного программного обеспечения (opensource), включающей активное использование краудсорсинга (crowdsourcing). Краудсорсинг - процесс создание чего-либо силами сообщества, члены которого мало связаны между собой. Каждый добавляет по кусочку и результаты, как правило, тоже являются достоянием общественности. Данные создаваемые в рамках OpenStreetMap распространяются по лицензии Creative Commons Attribution-ShareAlike 2.0, подразумевающей свободное распространение, результаты любых изменений должны публиковаться под той же лицензией. Несмотря на название, в OSM содержится и картируется масса других данных, помимо уличной сети.
Данная статья представляет из себя быстрое введение в тему, написанное специально для тех, кто хочет начать работу с OSM. В статье демонстрируется программное обеспечение работающее под Windows, но все упоминаемые продукты так же работают и под системами на базе Unix. Следует отметить, что на сайте OpenStreetMap есть подобное описание работы с системой, в чем-то более подробное. Мы всячески рекомендуем использовать его для ознакомления, если информации в данной статье недостаточно. Так же, рекомендуем обратить в русскоязычный форум сообщества OpenStreetMap, где обязательно найдется ответ на ваш вопрос. Данное руководство, хотя и написано полностью заново, во многом перекликается по структуре с "Руководством для начинающих" размещенного на Wiki OpenStreetMap, с которым мы всячески рекомендуем ознакомиться, при возникновении проблем.
Для начала установим некоторые определения:
- трек - набор точек, полученных с помощью GPS;
- объект - точечный, линейный или полигональный объект созданный по треку или аэро/космоснимку.
Вариантов создания данных в OSM существует несколько, в данной статей мы рассмотрим создание объектов по собранным трекам (отметим, что принимать участие в OSM можно и не имея GPS в принципе, об этом в следующих статьях). Итак, для работы нам понадобятся:
- GPSBabel
- Трэки
- Доступ в интернет и, соответственно, веб-браузер
Рассмотрим работу на конкретном примере.
Сбор данных
Подразумевается, что перед началом работы вы уже прошлись/проехались по улицам/дорогам отсутствующим в OSM и эти данные в виде треков присутствуют в вашем GPS. Для удобства и чтобы не загружать в OSM лишних данных, некоторые из которых могут быть конфиденциальными, рекомендуется так или иначе обособить трек, который нужно загрузить в OSM. Это можно сделать например пройдя/проехав маршрут в определенный день (включив GPS в начале и выключив в конце трека), маршрутом может быть определенная улица, тропинка, контур-полигон.
Если вы по ошибке загрузили в OSM трек с данными, которые бы вы не хотели показывать сообществу по той или иной причине, например в трек попало расположение дома, где вы живете, ничего страшного - вы сможете, нарисовав дорогу, удалить трек из OSM или же, при загрузке трека в базу, сделать его доступным только для вас (статус: PRIVATE).
Подготовка данных
Данные, собранные с помощью GPS, нужно преобразовать в формат GPX. Для этого можно воспользоваться программой GPSBabel (загрузить). В данном примере показана работа с устройством Garmin, для других устройств (Magellan, DeLorme) необходимо выбрать соответствующую запись в пункте Input [Device]. Для работы с программой необходимо:
- Подключить GPS к компьютеру с помощью USB или COM кабеля.
- Включить режим получения данных с устройства ([Device])
- Выбрать источник данных (например Garmin serial/USB protocol)
- Выбрать порт (в нашем случае USB или COM)
- Выбрать выходной формат (GPX XML) и имя файла
- Выбрать то что нужно получить с GPS (в нашем случае Tracks)
![osm-begin](/images/a/af/Osm-begin-01.gif)
В соответствие с иллюстрацией, того же результата можно добиться просто запустив вариант GPSBabel для командной строки, используя команду:
gpsbabel.exe -p "" -t -i garmin -f usb: -o gpx -F "C:\temp\new.gpx"
Для того, чтобы немного упорядочить процесс редактирования, загрузим только часть треков, ограничив выборку по времени некоторой датой. Для этого либо укажем нужную дату в настройках Filter\Start at, либо модифицируем строку вызова (в данном случае будут загружены все данные собранные 27 июля 2008):
gpsbabel.exe -p "" -t -i garmin -f usb: -x track,start=20080728000000 -o gpx -F "C:\temp\osm-begin\picnic.gpx"
Загрузка данных в OSM
Перед загрузкой данных необходимо создать учетную запись в OSM, имейте в виду, что учетная запись в OSM Wiki и самом OSM - разные вещи.
После создания учетной записи, необходимо зайти в OSM, используя ее и перейти в личный раздел щелкнув на своем имени в правом верхнем углу.
На открывшейся странице, нужно выбрать My traces (мои треки), указать файл GPX, задать описание и ключевые слова. В зависимости от того, хотите ли вы чтобы трек был доступен и другим пользователям или хотите оставить его только для своей работы можно установить или снять флаг Public. Заметим, что людям, работающим в этом же районе ваши треки могут пригодиться, поэтому рекомендуем его все-таки включать.
Каждый трек получает уникальный номер.
После того как трек загружен, он показывается как Pending, это означает, что он стоит в очереди загрузки в систему.
![osm-begin](/images/c/ce/Osm-begin-04.gif)
Однако это не значит, что мы не можем немедленно начать использовать эти данные, поэтому, выбрав 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.
![osm-begin](/images/a/ac/Osm-begin-23.gif)
Это приведет к тому, что в текущем окне браузера запустится приложение Potlatch, сфокусированное на то место, где находятся данные только что загруженного трека. Некоторое время понадобится на загрузку трека:
![osm-begin](/images/b/b6/Osm-begin-05.gif)
После первой загрузки появится окно, предлагающее выбрать из двух режимов редактирования. Первый: Edit with save - вы сначала редактируете, а потом, когда хотите - сохраняете. Второй: любые изменения сразу сохраняются. Если вы новичок, рекомендуем воспользоваться первым режимом.
![osm-begin](/images/1/1d/Osm-begin-03.gif)
При редактировании данных OSM, соблюдайте несколько простых правил.
- данные не должны копироваться из других, особенно несвободных источников
- точность - важна, картируйте места которые хорошо знаете
- и наконец - получайте удовольствие от процесса редактирования карт.
Для начала редактирования - нажмем кнопку Edit with save или Edit live.
Настройка общего вида
По умолчанию, если вы имеете дело со снимками, они показываются осветленными, чтобы выключить этот режим и видеть снимки контрастно, выберем кнопку и выключим режим осветления (галочка на Fade background должна быть снята).
![osm-begin](/images/9/98/Osm-begin-20.gif)
После этого снимки приобретут контрастный и красочный вид.
![osm-begin](/images/e/e8/Osm-begin-21.gif)
Если Вы работаете по Европейской части России и на вашу территорию снимки по умолчанию не очень хорошего качества, попробуйте использовать данные спутника IRS. Для этого, в настройках в поле Custom введите:
http://retile.latlon.org/irs/!/!/!.jpg
Просмотр треков GPS
Вернемся к данным GPS, свежезагруженные треки показываются светлоголубым цветом. Если у вас нет своего трека - не беда, можно использовать чужие треки, если они загружены для общего пользования, если Вы хотите использовать чужие треки, необходимо включить их отображение с помощью кнопки Show GPS tracks.
![osm-begin](/images/3/33/Osm-begin-06.gif)
Красная надпись Editing map показывает, что мы находимся в режиме редактирование и объекты, которые мы собираемся создать будут сохранены в базе данных OSM. На некоторые территории существуют данные высокого разрешения, предоставленные OSM Yahoo!, о чем свидетельствует их логотип в нижнем правом углу. Эти данные могут сильно помочь процессу создания объектов, хотя их можно создать и без них.
После загрузки трека и основы, загрузятся уже существующие в данном районе данные OSM, к которым мы собираемся добавить наш объект.
Исправление снимка
Внимательно изучим совпадение трека и снимка. Редакторы Potlatch и JOSM позволяют исправить положение снимка, если трек с ним не совпадает. Необходимо иметь в виду, что в 99.9% случаев, данные трека являются более точными, чем данные дистанционного зондирования - особенно космическая съемка Landsat, используемая для подавляющего большинства территорий. Поэтому, если снимок не точно соответствует треку - можно его (снимок) скорректировать. Для этого, при нажатом пробеле можно перемещать снимок вверх-вниз-вправо-влево для лучшего соответствия треку. Следует учесть, что это не всегда необходимо и рекомендуется использовать только при наличие треков.
Создание объекта
Используя трек создадим по нему наш объект, в данном случае тропинку в лесу, последовательно щелкая вдоль трека до соединения с другой тропинкой. Используем некоторые правила:
- Если треков GPS несколько (что обычно и происходит если один и тот же маршрут пройден несколько раз), описывающая их линия должна являться их средней.
- Если первый/последний узел маршрута лежит на другом объекте, то он должен начинаться с этого одного из узлов этого объекта. Корректная связь объектов между собой сделает результирующую картинку более четкой и сделает возможной работу с данными как со связанной сетью
Для начала выделим существующий объект, другую дорожку:
![osm-begin](/images/8/81/Osm-begin-09.gif)
Для начала отрисовки нашего объекта нужно определить узел с которого он будет начинаться. При создании объектов, кто собственно их самих, так же важно следить за их правильными взаимоотношениями с другими объектами (топологией), в частности это означает, что пересечения и соединения линейных объектов должны иметь общий узел. Соблюдение этих правил позволит использовать данные OSM для прокладки маршрутов и других задач, учитывающих такие отношения. Итак найдем узел подходящий для начала нашей дороги:
![osm-begin](/images/5/51/Osm-begin-10.gif)
Нажав клавишу SHIFT, щелкнем на этом узле:
![osm-begin](/images/6/6a/Osm-begin-11.gif)
Продолжим отрисовку, последовательно щелкая вдоль трека, создав таким образом весь маршрут:
![osm-begin](/images/e/ea/Osm-begin-12.gif)
Так как завершение линии тоже требует примыкания, при создании последнего узла следует быть внимательным. При наведении курсора на линию к которой примыкает новая нужно убедиться, что последний узел попадает на подходящий узел линии, к которой осуществляется примыкание. Узлы создаваемой линии показываются красным цветом, узлы линии, к которой осуществляется примыкание - синим. Закончить линию можно двойным щелчком мыши.
![osm-begin](/images/4/49/Osm-begin-14.gif)
После завершения, новая линия будет отображаться серым цветом по умолчанию:
![osm-begin](/images/c/c6/Osm-begin-15.gif)
Редактирование атрибутивной информации
Второй неотъемлимой частью пространственных данных, кроме геометрии, которую мы только что создали является атрибутивная информация. Каждому созданному объекту необходимо задать один или больше параметров. Редактирование атрибутики осуществляется с помощью панели расположенной внизу окна Potlatch, под картой. Так выглядит эта часть окна, если ни один объект не выбран:
После создания объекта, поля заполнены некоторыми значениями по умолчанию, как мы видим у нового линейного объекта пока нет атрибутов и номер объекта - отрицательный, что говорит о том, что он еще не загружен в общую базу и не получил уникального идентификатора в системе:
Для изменения значений можно использовать два подхода. Первый, изменять значения, сначала выбрав тип объекта, нажав на пиктограмму автомобиля, затем выбрать из выпадающего списка подтип. Затем нажав на кнопку с знаком плюс добавить необходимое количество тэгов, таких как имя (name), тип дороги (highway) и другие. Изучить атрибуты других объектов в окрестностях можно просто нажимая на них. Посмотрим на соседнюю тропу такого же типа, как и вновь нами созданная:
Второй, быстрый способ ввести атрибуты использовать кнопку копирования атрибутов с другого объекта.
Она работает следующим образом, копирование осуществляется с последнего выбранного объекта. То есть, вы выбираете объект с атрибутами, затем выбираете свой и нажимаете кнопку копировать атрибуты.
Завершение работы
Геометрия и атрибуты созданы, редактирование закончено. Для сохранения результатов нужно сохранить изменения щелкнув где-либо вне редактируемого объекта, чтобы снять с него выделение.
После этого, необходимо нажать на кнопку Save и ввести краткое описание изменений:
![osm-begin](/images/1/19/Osm-begin-22.gif)
Просмотр результатов
Потребуется некоторое время (от нескольких минут до 1-2 часов) для того, чтобы созданные объекты появились на самой карте. При этом для редактирования они будут доступны уже сейчас. Результат окончательной отрисовки на OpenStreetMap с помощью Mapnik будет выглядеть примерно так:
![osm-begin](/images/c/c1/Osm-begin-02.gif)
Ссылки по теме