OpenStreetMap logo OpenStreetMap

День 1.

Открыл для себя сильномогучий инструмент в JOSM - фильтрацию объектов по заданным типам. Если кто пока не умеет в фильтрацию, она делается так:

  • Включаем показ панели фильтров в правой колонке панелей (меню “Окна->Фильтр” или хоткей Alt-Shift-F).
  • Создаём в появившейся панели “Фильтром спрятано” новый фильтр, кнопкой “Плюс”.
  • Для того чтобы смотреть объекты с определённым тэгом (например, landuse), указываем строчку фильтрации “landuse | child:landuse” (без кавычек). Первое слово означает “показать объекты landuse”, а второе “показать члены мультиполигонов landuse”, между собой эти условия объединены символом “трубки”, который означает “или”, т.е. мы ищем этим фильтром объекты, которые соответствуют любому из этих двух критериев (и обычные объекты и мультиполигоны).
  • Сохраняем фильтр и он появляется в списке доступных фильтров.
  • Включаем в строчке с фильтром все три галочки. Первая галочка означает “фильтр включён и выбранные фильтром объекты рисуются, но их нельзя потрогать” (все landuse становятся статичной картинкой на карте). Вторая означает “выбранные фильтром объекты нужно вообще скрыть” (все landuse исчезают с карты). Третья означает “нет, наоборот, скрыть всё кроме выбранного фильтром” (все объекты исчезают с карты, остаются только landuse, которые мы можем редактировать).
  • Если щёлкнуть все три галочки в строчке с созданным фильтром, на экране останутся только объекты landuse, а все остальные пропадут и не будут нам морочить голову своим присутствием. И мы можем спокойно заняться приведением этих кем-то нарисованных landuse в порядок, а так же рисованием новых. Принцип работает для любых объектов, но лучше всего работает для объектов, которые содержат другие объекты внутри (это landuse и территории заводов или ферм).

Вот на этом видео Александр Петров (он же Felis Pimeja) демонстрирует процесс рисования карты и в числе прочего очень красиво демонстрирует работу с этим инструментом: https://www.youtube.com/watch?v=F_IB8wI5Ztw

День 2.

  • Использовать плагин/инструмент Improve Way чтобы делать/править сглаженные закругления, одно удовольствие. Щелчком на линию выбираем режим редактирования этой линии. После этого просто клик мышкой - это переставить ближайший узел линии. Ctrl-click - это добавление нового узла (при этом нам подсказывают, как поставить точку, чтобы при этом максимально сгладился угол). Alt-click - это удаление узла. Esc - выход из режима редактирования линии. После этого можно выбирать другую.

  • Если у нас слеплены общими точками два домика и мы нажатием Q квадратим только один, то второй сильно искажается. Чтобы такого не было, надо выделить оба домика и квадратить сразу оба. Тогда этот инструмент справляется с конфликтами и оба дома выравнивает корректно. При этом выбирать домики надо строго по контурам, перещёлкав эти контуры с зажатым Ctrl. Выбраны должны быть только контуры, угловые точки выбраны быть не должны. Иначе инструмент “оквадрачивания” не сработает. Поэтому выбрать нужные домики при помощи “лассо” не годится, он выбирает все объекты внутри контура, включая и линии и входящие в них точки.

  • Чтобы заквадратить и ориентировать домики по какой-либо линии, нужно выбрать две точки на этой линии и все контуры домиков, которые мы хотим по этой линии сориентировать, и нажать Q.

  • Чтобы просто повернуть домик на произвольный угол, используем инструмент Select (S) выбираем контур домика и зажимаем Ctrl-Shift. После этого движение мышью крутит домик вокруг своей оси.

  • Чтобы изменить размер домика не меняя его геометрии, используем инструмент Select (S) выбираем контур домика и зажимаем Ctrl-Alt. После этого движение мышью ресайзит домик.

  • У плагина Building Tools есть расширенные настройки. Они доступны через меню “Данные->Задать размер зданий->Дополнительно”. Там можно указать дополнительные тэги, которые плагин будет автоматически назначать всем создаваемым с этого момента зданиям. Можно, например, прямо указывать, что все рисуемые дома являются одноэтажным частным сектором или многоэтажками. Можно указывать тип крыши и общую часть адреса и т.п.

  • Чтобы быстро обрисовывать сглаженные линии сложной формы (опушки, реки и т.п.) удобно использовать плагин/инструмент FastDraw (“карандаш”). Рисуем контур одним движением мыши с нажатой кнопкой. По окончании нажимаем Esc если результат не понравился или Enter если понравился. Плюсы инструмента - это его же минусы. Рисуемую линию нужно нарисовать одним движением, не отрывая руки, иначе на линии будут артефакты в местах, где рука дрогнула. И линия получается довольно грубой. Но можно потом приблизить её и пройтись по нарисованной одним движением линии инструментом Improve Way, поправив и добавив точек так, чтобы линия точно пролегала по обрисованной границе.

  • Главное достоинство инструмента Improve Way - это то, что с его помощью можно исправлять плохо или криво нарисованную чужую работу, без удаления и полной перерисовки объектов. При этом по максимуму сохраняется информация об истории объекта, сохраняются его тэги, а так же значимые точки со своими тэгами (броды, пешеходные переходы, вхождение в автобуные маршруты и т.п.), которые не теряются и их не приходится перерисовывать повторно.

  • Кроме прочего, плагин Building Tools умеет импортировать адреса из “адресных точек” - следов импорта адресного реестра, когда у нас есть сочетание “адрес-координаты” и в результате импорта в базе ставится точка по указанным координатам с полностью проставленным адресом находящегося на этом месте дома. Если включить соответствующую галочку в настройках плагина, он будет автоматически переносить адрес с этой точки на рисуемый вокруг неё дом, а точку удалять. Это редко когда нужно, потому что адресные реестры редко где удаётся раздобыть и таким образом импортировать. Но когда мы отрисовываем много домиков и у нас для них в базе OSM уже проставлены адреса - эта возможность бесценна.

  • Получил и негативный опыт: Ни в коем случае не надо пользоваться плагином Building Generalization (“выравнивание домов по ближайшей улице”), он вообще неуправляемый. Выравнивает ВООБЩЕ ВСЁ на загруженной карте, причём сам решает, по какой улице выравнивать дома. У меня на карте квартал частного сектора, потом забор, за забором завод и как-то там внутри заводской проезд проходит. Плагин мне повернул все домики из частного сектора на 15 градусов по этому внутреннему заводскому проезду. И комбинация отмены последнего действия (Ctrl-Z) на действия этого плагина не действует. В общем, плохой, негодный плагин.

Дни 3 и 4.

  • Если при использовании инструмента рисования новых линий (A) щёлкнуть клавишу A, то инструмент переходит в режим рисования точных углов. Новый сегмент линии можно рисовать только с поворотом на углы, кратные 45 и 30 градусам. Можно сделать чтобы кратность угла отсчитывалась не от предпоследнего сегмента, а от другого отрезка, для этого надо щёлкнуть нужный отрезок правой клавишей мыши.

  • Инструмент Fast Draw после завершения отрисовки линии и нажатия Enter выполняет процедуру огрубления нарисованного, удаляя лишние точки. Это может быть удобно для рисования гигантских объектов, например, опушек леса, но для рисования водных объектов размером до 10 метров это не подходит - они просто схлопываются в точку. Нужно выбрать этот инструмент и открыть его настройки нажатием Q. Там можно отключить финальное огрубление (непонятно, зачем оно вообще нужно), задать частоту проставления точек в процессе рисования и указать, что линия должна быть замкнутой. Я этим инструментом рисую всегда площадные объекты, так что мне последнее актуально.

  • В ходе работы с инструментом Fast Draw можно регулировать частоту установки точек на рисуемой линии (в метрах). Это делается кнопками “Вверх/Вниз”, выбранное расстояние между точками указывается в строке статуса программы.

  • Чтобы выбрать на карте нужную линию из нескольких склеенных, нужно использовать среднюю клавишу мыши. При этом последовательно перебираются все линии, находящиеся в той точке, которую мы щёлкаем. Кроме того, в момент нажатия средней клавиши появляется окошко, в котором перечисляются все доступные для выбора линии и указание “какая конкретно выбрана в данный момент”. Выбор линии возможен прощёлкиванием средней клавишей, а можно зажать Ctrl и выбрать нужную линию из меню, которое возникает на экране при первом щелчке и исчезает, если шевельнуть мышью, не нажимая Ctrl.

  • Инструмент создания параллельных линий (Shift-P) отличается от простого копирования объекта (Ctrl-C, Ctrl-V). Он создаёт линию, гарантируя одинаковое расстояние между оригиналом и копией для КАЖДОГО сегмента. Каждый сегмент сдвигается параллельно самому себе. При этом сегменты создаваемой копии двигаются в разных направлениях.

  • Инструмент выдавливания (X) позволяет двойным щелчком создавать на контурах промежуточные точки, не меняя их геометрию. Поэтому он удобен даже для создания входов в здания или промежуточных точек на дорогах.

  • Если выдавливать часть здания инструментом выдавливания (X) с нажатым Alt, то выдавленная пристройка создаётся как отдельное здание. Если с нажатым Shift - то сохраняется промежуточная угловая точка, даже на прямой стене, которую мы удлинили. Если с нажатым Ctrl, то сдвигаемый отрезок выдавливается перпендикулярно самому себе, но вместо прямых углов выдавленную пристройку окаймляют диагональные стены.

Discussion

Comment from freeExec on 11 May 2020 at 12:19

Про FastDraw - рисовать можно пробелом, тогда рука меньше дёргается. Так же backspace удаляет последние точки, это как раз на этот случай. Поэтому проблемы нарисовать всё за один раз - нет.

Log in to leave a comment