OpenStreetMap

_PG_'s Diary

Recent diary entries

Начал записывать углублённый курс лекций по JOSM. Для начала выпустил три большие лекции по работе с геометрическими объектами в редакторе JOSM.

1) JOSM. Лекция по работе с геометрией объектов, часть 1 [1ч45мин] https://www.youtube.com/watch?v=TGDZWOhPEAs

  • Типы геометрических объектов OSM
  • Режимы рисования
  • Сходство и отличия разных режимов рисования
  • Способы выделения объектов (массово, поштучно, перечнем, поиском), которые предоставляются базовым JOSM и плагином Utilsplugin2
  • Инструменты рисования, которые предоставляются базовым JOSM, а так же плагинами Fastdraw, Building Tools и Improve Way.

2) JOSM. Лекция по работе с геометрией объектов, часть 2 [1ч11мин] https://www.youtube.com/watch?v=xxWha-FcqZc

  • Разрезание линии сразу в нескольких местах
  • Разрезание замкнутых линий (почему требуется не меньше двух точек, можно ли обойти этот запрет и для чего он нужен)
  • Рисование кругов по двум точкам, по трём, рисование дуг по трём точкам. (И почему сегментов у круга получается именно столько, а не иначе, как сделать если хочется больше/меньше.)
  • Добавление промежуточных точек на существующие фигуры без изменения их формы.
  • Добавление точки перекрестка на пересечение двух линий (и для чего это нужно)
  • Несколько дополнительных возможностей плагина Building Tools
  • “Замена геометрии” и опасность этого инструмента
  • Два инструмента для лоскутного зонирования без мультиполигонов (и для чего такое может понадобиться).

3) JOSM. Инструмент Поиск со сложными запросами [26мин] https://www.youtube.com/watch?v=9E9yea1FuTs

  • Как работать с инструментом Поиск на примере “ищем в городе все подъезды многоэтажек, для которых не указан диапазон квартир”.
  • Как работать с инструментом Фильтр, используя запрос, сконструированный при помощи инструмента Поиск.

Скриншот одной из лекций

Напомню суть проблемы. 11 ноября Максар заблокировал на своих серверах доступ с российских IP-адресов. Вместо тайлов он возвращает HTML с ошибкой “403 Forbidden”. Это ограничение очень легко обойти, если подключаться через Tor, через прокси-сервер или через VPN. Проблема в том, что при этом весь трафик идет через VPN/Прокси/Tor, а значит будет работать медленнее. А нам не надо заворачивать в Tor всё, нужно только запросы к серверам Максара.

И вот, у меня получилось. Я настроил проброс JOSM-запросов к слою Maxar Premium через Tor Browser. Все прочие запросы идут напрямую.


Описание схемы тезисно:

  • Ставим Tor Browser. Он интегрирован с клиентским ПО Tor, оно запускается и закрывается синхронно с браузером и работает как локальный socks5-прокси, к которому может подключаться абсолютно любое ПО на компьютере.

  • Ставим локальный http-прокси Privoxy. Указываем ему в конфиге “запросы к серверам Maxar заворачивать в прокси Tor, остальное качать напрямую”.

  • Настраиваем JOSM чтобы он работал с интернетом через http-прокси Privoxy


1) Установите Tor Browser. Для работы вам понадобится чтобы он был запущен и подключен к сети Tor. https://www.torproject.org/download/ Как вы будете его скачивать - без понятия, в России этот сайт заблокирован. Любой способ обхода блокировок в помощь. Простейший вариант - на время скачивания добавить в браузер плагин Browsec, но вообще мне этот плагин не нравится назойливостью рекламы, поэтому я отключаю его сразу после завершения использования. Если вы не пользовались Tor раньше, учтите, что в России он работает только через мосты (bridges), причём только через те, которые ещё не успел выявить и задавить РКН. После установки и запуска вам потребуется войти в настройки и запросить три случайных моста из списка тех, которые ещё работают:

Settings->Connection->Add New Bridge->Request a bridge from torproject.org

После этого Tor Browser начнёт успешно подключаться к сети Tor по нажатию соответствующей кнопки на стартовом экране. Чтобы отключиться от сети Tor, надо просто закрыть Tor Browser.

2) Скачайте локальный http-прокси сервер Privoxy http://www.privoxy.org/sf-download-mirror/Win32/3.0.29%20%28stable%29/privoxy_3.0.29.zip Распакуйте содержимое архива в любую папку, которая не требует админских прав для записи. Добавьте в конец файла config.txt строчку

forward-socks5t services.digitalglobe.com/ 127.0.0.1:9150 .

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

Для запуска прокси-сервера нужно запускать файл privoxy.exe, он добавляет значок в трей и закрывается через меню в трее. Админские права не нужны.

3) Настройте в JOSM работу через http proxy:

Правка->Настройки->Прокси-сервер->Собственная конфигурация прокси-> Сервер 127.0.0.1 Порт 8118

4) Добавьте в списке слоёв новый TMS-слой Maxar Premium со следующими настройками:

Правка->Настройки->Слои-> + TMS

Введите URL: [CENSORED]

Введите TMS URL:

Маскимальный масштаб: 22

Название: Maxar Premium

Всё, можно работать. Все запросы Privoxy будет отправлять напрямую, а запросы к слою Maxar - в Tor.


Примечания:

  • Обращаю внимание, что без запущенного Privoxy JOSM вообще не будет работать, либо надо ему в настройках указать “подключение к интернету без прокси”.

  • В принципе, слой Maxar Premium уже встроен в JOSM, но, похоже, при блокировке доступа к тайлам, поломался и механизм обновления токена (то что выше названо connectId), поэтому встроенный в JOSM слой не работает, приходится создавать кастомный, указывая туда этот токен напрямую. Вероятно в будущем придётся как-то вручную обновлять этот токен, выдирая его из онлайн-редактора iD сниффером. К счастью, он исключительно редко меняется, за последние четыре года такое было лишь однажды.

  • Если у вас есть хороший VPN, который предоставляет возможности локального прокси-сервера, вы можете вместо Tor использовать VPN. Всё, что вам нужно будет сделать - это изменить строчку в файле настроек Privoxy. Номер порта - тот, который нужен для подключения к ПО вашего VPN.

Для http-прокси надо указать:

forward services.digitalglobe.com/ 127.0.0.1:НОМЕР_ПОРТА .

Для socks5-прокси надо указать:

forward-socks5 services.digitalglobe.com/ 127.0.0.1:НОМЕР_ПОРТА .

Обращаю внимание на пробел и точку в конце строки, они обязательны. http://www.privoxy.org/user-manual/config.html#FORWARDING

  • При подключении через сеть Tor вы начинаете видеть интернет от имени выходного узла. Конкретный выходной узел выбирается при каждом подключении к сети Tor случайным образом. Чтобы заставить тор каждый раз выбирать выходные узлы, находящиеся в определённой стране, вам нужно воспользоваться инструкцией по нижеприведённой ссылке (хотя сам я этим не заморачивался, благо и без этого всё работает): https://www.wikihow.com/Set-a-Specific-Country-in-a-Tor-Browser

  • Если вы хотите в качестве редактора карты OSM использовать не JOSM, а онлайн-редактор iD, вы можете использовать любой желаемый браузер, выбрав в его настройках в качестве прокси-сервера этот самый Privoxy. Укажите в качестве http и https-сервера 127.0.0.1 с портом 8118, все запросы будут уходить в интернет напрямую, а запросы к снимкам Максара - через Tor. Минусы такого решения - что в России вообще не очень хорошая идея слать запросы в интернет напрямую и у вас наверняка на браузер уже навешано какое-то решение для обхода блокировок, очень вероятно, что оно будет конфликтовать с работой через Privoxy.

Сегодня в первой половине дня тайлы дефолтного для iD и JOSM слоя со спутниковыми снимками Maxar перестали открываться в России. Другие источники снимков доступны. Через VPN снимки Maxar так же становятся доступны.

Пока нет вразумительного объяснения, является ли это заслугой РКН, культурой отмены в Maxar, или эти два одиночества встретились.

Прорабатываем вариант, как лучше сделать выборочное заворачивание трафика Maxar в VPN/VPS/Tor, но пока простейшим решением является запустить Tor Browser, подключиться к сети Tor, и прописать в настройках JOSM socks-proxy localhost:9150. Правда, при этом будет заворачиваться в Tor вообще весь трафик JOSM, поэтому решение далеко от идеала.

Зарылся в обрисовку Смоленщины на карте OSM.

Хотя мерзкий mapcraft поломался и не позволяет логиниться и резервировать на себя куски пирога (автор сайта пока молчит, но я ему написал и надеюсь, что он скоро починит проблему), это не мешает загрузить сетку с номерами ячеек и обрисовывать произвольно выбранную ячейку. При таком количестве ячеек и таком “изобилии” рисующих, вероятность попасть на уже взятый кем-то кусочек - исчезающе низкая. :) В общем, рисовать можно.

Очень интересно, сколько времени должна занять обрисовка одного гексагона диаметром 10км и как будет выглядеть результат. :) С одной стороны, при выборе такого диаметра сетки, гексагонов получилось сравнительно небольшое количество (около 400). С другой стороны, если взялся, твой гексагон не скоро тебя отпустит, работы там получается точно не на пару часов.

За три рисовальных дня насыпал, кажется, больше точек, чем за весь свой предыдущий мапинг. :) Больше пяти тысяч точек. Замаплена, по ощущению, примерно треть от гексагона, и хотя мапинг таких штук сильно затягивает, замапить всё за один раз (и даже за один день) - совершенно нереально.

Зрительная кора адски греется, примерно так же, как в игре mapswipe, где надо дрессировать нейросетку HOT OSM, отделяя квадратики, в которых есть искомые объекты (дороги или здания), от квадратиков, в которых их нет. Есть ощущение, что весь этот ихний мапсвайп с мапингом Ботсваны или Афганистана - это была просто тренировка в рамках подготовки к мапингу лесов Смоленщины. В мапсвайпе есть разные уровни сложности (хотя об этом никто до начала игры не говорит). Некоторые задачи решаются на изи. А некоторые задания уровня “завали босса”, с адски зашумлённой картинкой, на которой найти домики среди раскиданных камней или баобабов не проще, чем панду среди штурмовиков.

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

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

Очень здорово прокачался в лоскутном зонировании при помощи инструментов JOSM “Разрезать смежные линии” из состава плагина UtilsPlugin2 и плагина RelToolBox. Это когда объекты простенькие, можно позволить себе прокликать границу между ними два раза - сначала для одного объекта, потом поверх тех же точек - для другого. А когда общая граница имеет несколько сотен точек, такой подход становится непозволительной роскошью, поэтому рисовать лес иначе как мультиполигонами и методами лоскутного зонирования - никак невозможно. Мысль о том, что создаваемые объекты практически неремонтопригодны для тех маперов, которые не владеют двумя указанными инструментами (а это абсолютное большинство) - не радует, но другого выхода вообще нет. https://www.openstreetmap.org/#map=13/55.4637/34.3082

Кто хочет присоединиться к веселью - welcome. https://mapcraft.nanodesu.ru/pie/963

mapcraft Мапинг Лесов Смоленщины сектор 64

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

Во вторых, в создаваемый на выходе планировщиком маршрута gpx-файл пишутся сразу два блока:

1) Блок gpx trk с ниткой машрута. Это блок, который понимают вообще все программы и навигаторы, поэтому полученный файл можно открыть чем угодно.

2) Блок gpx rte, в который пишутся только опорные точки маршрута. Этот блок игнорируют все кроме османда (это очень древний и почти заброшенный кусок стандарта gpx) и его никто не видит.

При необходимости, osmand позволяет в любой момент легко отредактировать такой трек, при этом в ходе редактирования мы двигаем/добавляем/удаляем только опорные точки из основного rte-блока, а вот вспомогательный trk-блок, содержащий непосредственно готовую нитку маршрута, удаляется и пересоздаётся заново после каждого редактирования расположения опорных точек.

Отредактированный трек может быть отправлен на любое устройство или приложение, понимающее формат gpx, а если его переслать на другой телефон с османдом, то он и там, при желании, может быть отредактирован по вышеприведённой схеме с опорными точками.

“Очень часто новички рисуют болото в лесу, не вычленяя эту территорию из территории леса. Потому что лес нарисован мультиполигоном, а работать с ними сложно. Получается, что у нас полигон болота залит поверх полигоном леса. Это некорректно. Записал демонстрацию работы по поиску и исправлению таких ошибок.”

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

https://www.youtube.com/watch?v=yXiDKB9l6Sg

Запилил видос по работе с мультиполигонами (1ч 15мин), возможно кому-то будет интересно.

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

https://www.youtube.com/watch?v=XLefItn3xjA

Первоначальный сценарий писался из расчёта, что зритель “уже посмотрел предыдущие обучающие видео”

  • По устройству карты OSM
  • По работе с геометрией
  • По способам множественного выбора объектов
  • По работе с диалоговым окном настроек JOSM
  • По работе с меню JOSM
  • По добавлению плагинов
  • С описаниями полезных плагинов
  • По управлению панелью инструментов
  • По работе с фильтрами

(Все эти видео в планах есть, а в реальности нет.) В итоге пришлось галопом по европам объяснять почти всё перечисленное прямо в этом видео, поэтому оно адски распухло в объёме.

Возможно, немного сумбурно получилось, кроме того, я там в одном месте ошибся и эту ошибку выявил уже в ходе демонстрации. :)

Написал в чате OSM большой развёрнутый ответ на вопрос “Есть база с большим числом GPX-треков от джиперских походов 4х4, на карте OpenStreetMap этих дорог нет, как их туда внести?”

(…Я просто вчера весь день как раз дорожную сеть по GPX-трекам обновлял, так что тема мне очень близка.) Продублирую свой ответ сюда.


“По поводу обрисовки чужих джиперских GPX-треков возникает сразу несколько моментов.

1) Чьи это треки и даёт ли владелец треков согласие на их внесение на карту. Это не всегда так, например сайт “Родники Крыма” прямо возражает против такого.

2) У треков не очень высокая точность, иногда отклонение от реальности может достигать до 50м, поэтому рекомендуется трассировать дорогу по пучку треков, усредняя, а то и подглядывая на спутниковое фото-подложку в тех местах, где дорога просматривается.

3) С подложкой тоже не всё просто: оно может быть не очень точно привязана, смещение объектов на спутниковом снимке относительно к реальному может быть до 15м (обычно не больше 5) и это смещение плавает от места к месту, обычно актуальность измеренного смещения распространяется на 2-3км. Так что если мы хотим ориентироваться на подложку, надо сначала выровнять её. Есть несколько способов это сделать, лично я предпочитаю выравнивать по карте “тепловых треков” Strava, где выкладывается сумма всех тренировок, загруженных велосипедистами на сайт strava.com (их сотни близ райцентров и единицы поодаль, так что полезность метода зависит от конкретного места) https://wiki.openstreetmap.org/wiki/RU:Strava

4) Если вы только начинаете рисовать карту и никогда не занимались этим раньше, было бы вообще неплохо, чтобы вы себе представляли, что это такое и как она устроена внутри. https://medium.com/@pavgavrilov/a9e0ae6f508c

5) Если всё окей и мы можем обрисовывать трек на карту, то есть два способа. Можно воспользоваться встроенным в сайт openstreetmap.org онлайн-редактором (кнопка “редактировать”). Это сравнительно простой редактор для освоения, но он не умеет прямо конвертировать треки в линии на карте, просто отображает трек поверх рисуемой карты, так что можно его обвести вручную. Чтобы такое сделать, надо открыть онлайн-редактор, и мышкой перетянуть gpx-файл в окно редактора. Минусы такого способа - что онлайн-редактор не очень хорошо умеет работать со смещениями подложки (её надо каждый раз сдвигать вручную, неудобным способом, и нельзя воспользоваться смещениями, которые вычислили другие пользователи). Кроме того, считается, что онлайн-редактор менее удобен и менее надёжен, так что для задач сложнее “отрисовать одну тропинку” его не рекомендуют.

6) Второй способ - это установить себе на компьютер редактор JOSM. Он работает по другому - ты загружаешь кусочек карты, работаешь с ним, потом отправляешь свои изменения/дополнения обратно в общую базу. После этого они попадают в очередь на отрисовку на карте OpenStreetMap, а так же становятся доступны для загрузки/доработки другими пользователями. JOSM на сегодня самый продвинутый вариант рисования карты, количество функций намного превышает доступное онлайн-редактору, типовые действия можно автоматизировать и вынести на панель меню и/или на горячие клавиши. Есть сложные инструменты для аккуратного рисования, которых в принципе нет в онлайн-редакторе. Но после онлайн-редактора надо к оффлайн приноровиться, там на уровне базовых вещей есть отличия, вроде разделения “обводим выбираемое левой клавишей, перетаскиваем карту правой”, “отдельно рисуем, отдельно исправляем” и “в режиме исправления линии сами не приклеиваются друг к другу, это отдельное сознательное действие”, после перехода с онлайн-редактора на JOSM к этим вещам надо приноровиться, поначалу они бесят. Из плюсов - мы получаем удобную работу с выравниванием подложек, возможность отметить брод одним щелчком мыши, доступ к инструментам типа “поправить трассировку линии”, “удалить из линии лишние точки” и главное для нас - к инструменту, который напрямую конвертирует GPX-файл в линию на карте.

7) С загрузкой GPX-треков на карту вообще всё не просто. Начать с того, что если мы где-то гуляли, у нас вместо линии, по которой мы прошли, получается линия со “звёздочками” в местах, где мы стояли. Именно по этой причине прямая загрузка треков считается некомильфо (загружающий должен очень чётко понимать разницу между треком и дорогой) и на все подобные действия JOSM будет страшно ругаться. Неплохо бы “звёздочки” вычистить заранее. Либо в каком-то редакторе треков, либо пропустить через какую-нибудь автоматическую чистилку, например через программу GPS Track Editor (там есть инструмент для автоматической чистки звёздочек). Даже загружая уже почищенный трек, хорошо бы удалить из него лишние точки (прямая линия километровой длины, на которой через каждые 15 метров стоит точка, ничем не хуже прямой линии километровой длины, у которой точки только на концах). Впрочем, на этапе конвертации трека JOSM предложит вызвать инструмент удаления лишних точек сам, так что не надо особо забивать этим голову.

8) Даже загрузив почищенный трек и сконвертировав его в дорогу (точнее, в линию на карте, в дорогу эта линия превратится только после того, как вы добавите этой линии соответствующие тэги), вам придётся провести с ним работу: найти участки, где он проходит по местам где нет дорог, обрезать эти участки и удалить остальное (мы же не хотим, чтобы создавалась дорога, дублирующая уже существующую дорожную сеть?). После того, как у нас останутся только те куски линии, которые надо вносить на карту, надо их привязать концами к уже существующей дорожной сети, а так же добавить перекрёстки со всеми поперечными дорогами. Это очень важный момент, потому что на карте OpenStreetMap дороги, в отличие от большинства других объектов - это не только картинка на карте, но и связная сеть, по которой разные алгоритмы маршрутизации строят потом маршрут из точки А в точку Б. (Правда, если говорить о сайтах для прокладки маршрутов, они обычно обновляют у себя данные раз в 1-2 недели, поэтому нарисованное на карте сегодня, не заработает в плане прокладки маршрута даже завтра; обычно для оперативной проверки маршрутизации используют приложение osmand с оплаченной подпиской на ежечасные обновления карт - оно позволяет посмотреть, как отразилось отрисованное на прокладываемых маршрутах уже в течение одного-полутора часов.)

9) Вам придётся выучить систему тэгирования дорог. Там есть свои подводные камни. Например, главный тэг дороги (определяющий, как она выглядит на карте) - вообще не зависит от того, как она выглядит, и зависит только от того, как дорога используется. Это обозначение иерархии дороги. Является ли она транзитным шоссе? Является ли она единственной подъездной дорогой к деревне? (тогда не ниже unclassified) Единственной дорогой к ферме? (тогда не ниже service) Или только для лесохозяйственной/сельскохозяйственной техники? (только тогда это track) По внешнем виду это часто не определить, надо смотреть по карте, откуда куда дорога идёт и насколько хорошо оборудована. Самым ярким примером неочевидности обозначения и внешнего вида, на котором учат начинающих маперов, является федеральная трасса “Лена” (“класс=федеральная, покрытие=грязь”). https://www.openstreetmap.org/user/Diomas/diary/13896

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

Конкретику работы с треками в JOSM не привожу, но, видимо, надо будет потом сделать обучающее видео. Для начала поищите в интернете, возможно описание уже есть.”

День 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, то сдвигаемый отрезок выдавливается перпендикулярно самому себе, но вместо прямых углов выдавленную пристройку окаймляют диагональные стены.