GIS-LAB

Географические информационные системы и дистанционное зондирование

Основы редактирования данных OpenStreetMap в JOSM

Описание начала работы с данными OSM во внешнем редакторе

Обсудить в форуме Комментариев — 5

Эта статья иллюстрирует начало работы с JOSM и ориентирована на новичков. Как правило, на работу с JOSM переключается пользователь, поработавший некоторое время с онлайн-редактором OSM Potlatch и желающий начать работать с данными более интенсивно.

Перед прочтением этой статьи необходимо убедиться, что JOSM установлен и корректно работает. С описанием процесса установки и подготовки к работе с JOSM можно ознакомиться в посвященной этому статье.

Все примеры в данной статье используют русифицированную версию JOSM, поэтому возможны некоторые изменения в названиях опций и меню по мере шлифовки русификации.

Оглавление

  1. Установка и настройка
  2. Интерфейс
  3. Типы и организация данных в JOSM, слои
  4. Загрузка данных OSM
  5. Подключение спутниковых данных
  6. Навигация
  7. Выделение
  8. Редактирование геометрии
  9. Редактирование значений
  10. Отношения
  11. Передача изменений на сервер
  12. Участие в JOSM

1. Установка и настройка

С подготовкой JOSM к работе можно ознакомиться в специальной статье. Если вы только начинаете работать с JOSM мы рекомендуем начать с ее прочтения. В данной статье подразумевается, что вы воспользовались рекомендациям из этой статьи и умеете загружать треки GPS и синхронизировать их с изображениями.

2. Интерфейс

После запуска JOSM и загрузки данных появится основное окно программы.

josm-start-01

Цифрами на иллюстрации обозначены:

  1. Панель инструментов - настраиваемый набор инструментов. Нажатие на кнопку выполняет некоторое действие. Кнопки можно выбирать мышью и с помощью клавиатурных сокращений (обычно это одна буква).
  2. Панель переключателей - разделена на две части, первая группа кнопок включает определенный режим работы, например выделение, масштабирование, создание объектов и т.д. Вторая - включает/выключает дополнительные панели управления, появляющиеся в правой части экрана. Переключатели можно выбирать мышью и с помощью клавиатурных сокращений (обычно это одна буква).
  3. Масштабная линейка и перемещаемый регулятор масштаба
  4. Меню - частично дублируется панелью инструментов.
  5. Строка состояния - содержит информацию о текущих географических координатах курсора, углах, длине создаваемой линии, а также полезную информацию о модификаторах поведения (клавишах Ctrl, Shift) в зависимости от выбранного режима работы.
  6. Вид данных - показывает загруженные данные в том или ином виде.

3. Типы и организация данных в JOSM, слои

Перед тем как начать работу в JOSM, необходимо остановиться на некоторых особенностях организации данных, которые могут показать необычными специалисту в области ГИС. Лучшее понимание этих особенностей поможет облегчению освоения JOSM.

JOSM представляет из себя типичную геоинформационную систему (ГИС), отвечающую основным параметрам средства ведения ГИС, с некоторыми особенностями, отличающими JOSM от классических ГИС, таких как например Arcview. Эти особенности "унаследованы" от формата данных OSM. Остановимся на основных свойствах JOSM как ГИС и их отклонениях от нормальности:

а) Геометрия и атрибутика. JOSM создает и работает с геометрическими объектами, которым может быть назначены или не назначены определенные значения. Особенностью формата данных является отсутствие жесткой структуры значений, у каждого объекта они могут быть свои.

б) Слои. Все данные с которыми работает JOSM представлены послойно. Возможны следующие слои:

  • Собственно данные OSM (вектор)
  • Спутниковые данные (растр)
  • GPS треки (вектор)
  • Привязанные фотографии (растр)

Может существовать несколько одного слоев одного типа. Основные векторные данные OSM при этом на тематические слои или типы геометрий не разделяются. Так, слой содержит и точки и линии и площадные объекты. Такая специфика связана с упомянутой выше особенностью - отсутствием жесткой атрибутивной структуры данных.

Для управления слоями служит панель "Слои" включаемая/выключаемая с помощью кнопки-переключателя josm-start-01. В этой панели отображаются все на данный момент загруженные слои. Их можно менять местами, включать и выключать их видимость, удалять и объединять друг с другом.

josm-start-01

4. Загрузка данных OSM

  1. Выберите Файл/Скачать с OSM
  2. Найдите на интерактивной карте ваш район работ и выделите его.

    Альтернативный способ, если карта уже открыта в браузере, скопируйте ссылку на этот фрагмент - Permalink, в буфер обмена (Ctrl+C) и вставить в JOSM (Файл/Скачать с OSM/Рамка)
  3. Нажмите ОК и дождитесь загрузки данных.

При скачке необходимо обратить внимание на два момента. Во-первых, включено ли скачивание данных GPS. Если оно включено, в новый слой (Скачанные GPX данные) на заданную территорию будут загружены все данные GPS присутствующие в базе данных OSM. О том, как загрузить свои GPS данные в OSM можно прочитать статье про начало работы.

josm-start-01

Следующим нюансом, на который необходимо обратить внимание, является визуализация скачанной области. Как можно видеть, после загрузки, область вне загруженной показывается штриховкой.

josm-start-01

Однако, некоторые объекты существуют и в ней. Это происходит потому, что все объекты импортируются без разбиения, так что, если начало объекта находится в области, которую вы попросили загрузить, но объект продолжается за нее, он будет загружен целиком. Следует со вниманием относиться к области со штриховкой и по-возможности НЕ работать в ней. Так как вы рискуете создать там объекты, которые уже там есть, но не были загружены.

5. Подключение спутниковых данных

Большое количество информации в OSM создается по спутниковым данным, непосредственной оцифровкой объектов со снимков. В OSM можно работать с двумя типами данных: высокого и низкого разрешения. Данные низкого разрешения Landsat, предоставлены NASA и являются достоянием общественности, данные высокого разрешения поступают с разных спутников и предоставлены специально для OSM компанией Yahoo.

Подразумевается, что модуль WMS уже установлен и нужная территория выбрана, поэтому выбираем из меню WMS/Landsat или WMS/Yahoo Sat и ждем некоторое время появления фрагментов спутниковой подложки. Если появляется что-то вроде вот этого:

josm-start-01

То вам повезло, на вашу территорию есть высокое разрешение, по которому можно различить гораздо больше объектов. А если Yahoo ничего не выдает, а Landsat выдает что-то вроде этого (территория и масштаб те же):

josm-start-01

То повезло вам меньше, высокое разрешение отсутствует, но это не должно вас остановить, так как снимки, хотя и являются хорошим поспорьем в работе, все-таки не являются обязательным условием создания хорошей карты.

Если вы работаете по территории России, также следует попробовать воспользоваться данными IRS, имеющими лучшее разрешение чем Landsat. Данные предоставлены ИТЦ Сканэкс и порталом Космоснимки.ру и представляют собой мозаики разрешения 6 м на большую часть Европейской части территории РФ. Для их использования, выберите WMS/IRS (настройка описана здесь):

josm-start-01

Если вместо спутникового изображения появляются красные квадраты или вообще ничего не происходит, проверьте настройку WMS и ознакомьтесь с содержимым консоли JOSM, где может быть сообщение типа такого:

<ServiceExceptionReport version="1.1.1">
	<ServiceException>
		Service denied due to system overload. Please try again later.
	</ServiceException>
</ServiceExceptionReport>

Как можно видеть, спутниковые данные загружаются для видимого охвата вида данных в соответствующий слой. Если уменьшить масштаб с помощью бегунка масштабов, то данные автоматически подгрузятся на появившуюсь область.

Попереключайте видимость слоёв и их порядок в панели слоёв, чтобы лучше понять как работает порядок визуализации слоёв.

6. Навигация

Прежде чем переходить к созданию и редактированию данных, освоим инструменты навигации.

Увеличивать и уменьшать область данных без изменения выбранного режима работы можно:

а) Колесом мыши

б) Клавиатурным сокращением Ctrl+/Ctrl-

в) Передвижением ползунка масштаба

Смещать область данных можно:

а) Нажав правую клавишу мыши и передвигаясь в нужном направлении

б) Клавиатурным сокращением Ctrl+стрелки

Оба эти действия не зависят от текущего режима работы.

Переключение в режим навигации осуществляется клавишей Z или переключателем josm-start-01. После перехода в этот режим соответствующим образом изменится курсор. После этого станет возможным увеличивать заданную область экрана нажимая левую клавишу мыши и растягивая рамку области до которой вы хотите увеличить область данных.

Попробуйте поперемещаться по области данных, периодически можно нажимать Ctrl+Shift+D или кнопку josm-start-01 для подгрузки новых фрагментов.

7. Выделение

После того как с перемещением по карте освоились, разберемся с выделением.

Для перехода в режим выделения нажимаем клавишу S или кнопку josm-start-01. Курсор соответствующим образом изменится.

Для пользователей классических ГИС оно может показать непривычным в силу отсутствия типов геометрий по слоям. Типов геометрий в JOSM два: точки и линии, образованные этими точками, линии могут быть замкнутыми. Выделяться эти типы могут вместе и раздельно.

Для выделения точки - щелкните курсором выделения на точку.

Для выделения линии - щелкните курсором выделения на одном из сегментов линии. Обратите внимание, что при выборе одной из точек линии сама линия при этом не выбирается.

Для выделения нескольких объектов, можно нажать левую кнопку мыши и растянуть рамку выделения. Обратите внимание, что рамка не захватывает линию целиком, то линия не выбирается, но выбираются только составляющие ее точки. Иногда это представляет некоторую проблему, если нужно выбрать именно линию, но точек на ней столько, что попасть в сегмент не удается, в этом случае - увеличьте этот фрагмент, чтобы сегменты стали видны лучше.

josm-start-01

Для выделения нескольких объектов можно также выделять удерживая клавишу Ctrl, если нажать на выделенный объект с Ctrl еще раз, выделение будет отменено.

8. Редактирование геометрии

Для переход в режим редактирования нажмите 'A' или выберите josm-start-01

8.1 Создание точек

Для создания точки - переместите в нужное место курсор и дважды щелкните левой кнопкой мыши.

8.2 Создание линий

Для создания точки - переместите в начало линии курсор и щелкайте левой кнопкой мыши там где нужно разместить точку. Для окончания линии - щелкните дважды левой кнопкой мыши на последней точке.

Следует обратить внимание, что новая законченная линия имеет серый цвет (или другой цвет в зависимости от значений). Линия которая в данный момент редактируется - красный.

josm-start-01

Если не прекращая редактирования линии переключиться в другой режим, например выделения 'S', переместить курсор:

josm-start-01

а потом снова перейти в режим редактирования геометрии ('A'), то линия будет продолжена.

josm-start-01

В режиме выделения ('S') можно изменять линии перетягивая виртуальные точки (выглядят как кресты), располагающиеся в центре сегмента. При перетягивании виртуальной точки он превращается в новый, соответственно каждый сегмент превращается в два.

8.3 Добавление точек к линиям

Чтобы добавить точку к существующей законченной линии, находясь в режиме редактирования наведите курсор на сегмент линии где нужно создать дополнительную точку и щелкните один раз. Либо перетяните в нужное место одну из виртуальных точек.

8.4 Примыкание линий

Если рисуете линию и хотите примкнуть ее к другой линии, JOSM поможет это сделать, если курсор находится над другой линией, то он видоизменится в зависимости, находится он над сегментом или точкой (узлом). Эта операция часто необходима для соединения дорог и примыкания одних объектов к другим.

josm-start-01 josm-start-01

Если щелкнуть мышью при таком видоизмененным курсоре, линия будет пристыкована к существующей точке (картинка слева) или на сегменте будет создана новую точку и примыкание будет осуществлено к нему (картинка справа).

8.5 Продолжение законченной линии

Если уже нарисованная линия завершена, но вы хотите ее продолжить, выделите последнюю точку линии, с которого вы хотите ее продолжить и нажмите 'A' - продолжайте рисовать, линия будет продолжена.

8.6 Разрезать линию на две части или соединить линии

Выделите линию или точку на линии, в котором надо разбить линию на две части и нажмите 'P' (Инструменты/Разделить линию). Можно разрезать линию сразу на несколько частей, выбрав соответствующие точки.

Для соединения линий выберите их и нажмите 'C' (Инструменты/Объединить линию). Линий может быть больше чем две. Их конечные точки должны примыкать друг к другу.

8.7 Примыкание и размыкание точек

Если две линии не были примкнуты друг другу в процессе редактирования и их необходимо примкнуть. Нужно выбрать по точке на одной и на другой линии и нажать 'M' (Инструменты/Объединить точки). Тоже самое можно делать с отдельными точками. Соединяемых точек может быть больше чем 2.

josm-start-01 josm-start-01

Для размыкания примкнутых точек, выберите общую точку и нажмите 'G' (Инструменты/Разъединить линии).

8.8 Создание полигональных объектов

Полигон в JOSM, это линия чьё начало и конец - одна и та же точка, примкнутая друг к другу. Все остальные операции с полигонами выполняются учётом этого.

8.9 Создание полигональных объектов с прямыми углами (домов, полей и т.п.).

Можно использовать две возможности:

1. Для многоугольных объектов. Нарисовать объект с примерно прямыми углами и нажать клавишу Q. Углы близкие к прямым будут спрямлены. Если есть хоть один непрямой угол, выполнить эту операцию не удастся.

2. Для прямоугольников. Нарисовать одну из сторон, нажать X, курсор изменится на указатель с угольником и вытянуть эту сторону в нужную сторону на нужное расстояние.

josm-start-01

9. Редактирование значений

После создания геометрического объекта, необходимо правильно обозначить его значения.

Для этого необходимо:

  1. Завершить редактирование объекта
  2. Выбрать созданный объект если он не выбран
  3. Задать значения одним из способов:
    • Выбрать соответствующий тип из меню Шаблоны. Например для зданий: Шаблоны\Рукотворное\Здания\Здание
    • Ввести необходимые значения вручную. Для этого надо нажать кнопку Добавить в панели Параметров/Отношений

      josm-start-01

      И ввести необходимую информацию в формате: ключ-значение. Разумеется пар значений может быть несколько.

      josm-start-01

В этой статье мы не будем останавливаться на вопросе как правильно отмечать те или иные объекты. Мы рекомендуем не стараться загрузить в голову всю классификацию целиком, а действовать постепенно, изучая необходимые пары ключ/значение по мере возникновения вопросов. Настоятельно рекомендуется использовать в качестве руководства Справочник по ключам и значениям.

10. Отношения

Если вы продвинулись в редактировании данных достаточно далеко, рано или поздно возникнет необходимость создать сложный объект. Примером может быть остров на озере. Особенность такого объекта заключается в том, что он "знает" о своем окружении, в нашем случае мы должны явным образом задать, что остров окружен водой. При этом разумеется, что мы не хотим заниматься аккуратным обрисовыванием "бублика" воды вокруг острова. Подобные объекты создаются с помощью отношений. В этой статье мы покажем самый простой случай отношения и иллюстрируем его на примере острова на озере.

Нарисуем полигон и добавим ему значение natural=water:

josm-start-01

Поверх полигона нарисуем остров, если это просто участок земли, то значений можно не добавлять, можно также добавить landuse=forest, если это лес, тогда остров будет зеленым:

josm-start-01

Выделяем оба объекта и в панели Отношения нажимаем кнопку Добавить отношение. Откроется окно редактора отношений, где наши два объекта будут в списке выделение:

josm-start-01

В поле ключ введем type, значение - multipolygon. Нажмем стрелку влево, что поместит выделенные объекты в отношение. После этого, выделим больший и зададим ему роль outer (внешний), а меньшему inner (внутренний).

josm-start-01

Обратим внимание на то, как изменилось отображение результата. Теперь это полигон-бублик, имеющий дырку.

josm-start-01

На этом создание отношения завершена.

Подсказка: упростить создание подобных мультиполигонов можно используя модуль расширения JOSM - multipoly. Если модуль установлен, то после создания двух полигонов, их надо оба выделить и выбрать в меню Tools\Create multipolygon, будут созданы соответствующие роли и мультиполигон.

11. Передача изменений на сервер

Для окончания работы - выгрузим вновь созданные и измененные объекты на сервер.

Для нажмем кнопку: josm-start-01

Если появилось окно с ошибками, нажимаем Отмена и сначала исправляем ошибки. Если их нет, то в новом окне вводим общий комментарий для изменений и нажимаем Загрузить изменения на сервер.

josm-start-01

12. Участие в JOSM

JOSM активно развивается. Помочь в этом развитии и сделать свою работу еще более удобной можете и вы. Можно:

  • Написать модуль, если вы умеете программировать на Java;
  • Помочь с переводом программы. Для этого нужно зарегистрироваться на Launchpad.

Обсудить в форуме Комментариев — 5

Последнее обновление: September 09 2021

Дата создания: 15.10.2009
Автор(ы): Максим Дубинин