OpenStreetMap logo 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

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

See full entry

Напомню суть проблемы. 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

See full entry

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

See full entry

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

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

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

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

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

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

See full entry

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

Сделал ещё один видос, примерно на час с небольшим, с демонстрацией практической работы с инструментом 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 (их сотни близ райцентров и единицы поодаль, так что полезность метода зависит от конкретного места) osm.wiki/RU:Strava

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

See full entry

День 1.

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

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

See full entry