Как использовать растровую подложку в JOSM для обрисовки целых поселений и городов
Posted by d1g on 5 December 2014 in Russian (Русский).Что нам пригодится:
- легальный источник в виде растрового изображения у которого есть полезное применение
- любимый JOSM https://josm.openstreetmap.de/josm-latest.jar
- дополнение PicLayer (рекомендую BuildingsTools для зданий, imagery_offset_db чтобы не рисовать в разнобой а с одним смещением на город, UtilsPlugin2) и measurement чтобы проверять пропущенность объектов если в оф. документах указаны “ГА” (тег area:ha=*) и “метры” .
Примечание: смысл этой статьи сохраняется если заменить “снимок Bing/Mapbox” и “обычную подложку” на “сырые данные из OSM”.
Что делаем:
1 Открываем JOSM, но лучше запустим его дав побольше памяти (“java.exe” -Xmx4096M -jar “josm-latest.jar”)
2 создаём слой (ctrl+N)
3 в меню JOSM: Imagery > New picture from file. Растр должен загрузится в отдельном слое. На 4мб растр у меня скушал 1,6Гб.
Чтобы выровнять растр нам нужно сделать слой растра активным: если “глазик” это видимость слоя, то зеленая стрелочка - активный слой.
Если растровый слой не видно, значит он “ниже” в списке слоёв: можно либо полностью отключить глаз у вышестоящих слоёв. Либо изменить прозрачность (ч/б градиент). Либо просто поменять местами слои.
4 Делаем нужный растровый слой активным и используем простые инструменты (PicLayer scale, Piclayer rotate, Piclayer move) до тех пор пока растр не будет “где-то здесь”:
Далее нам нужно уменьшить альфа канал чтобы было проще искать точки привязки. Точки привязки нужно три, советы:
- как можно дальше друг от друга на растре
- не на одной прямой, площадь треугольника из маркеров лучше увеличивать насколько это позволяет качество растра
- проверяемы на земле если у вас не будет спутниковых снимков (рельсы, монументы, фонтаны, памятники, неизменяемые реки, неизменяемые пересечения узких улиц, любые не изменяемые десятилетиями объекты)
Если нажать инструмент с зеленой стрелкой то вам отобразятся все текущие точки и их местоположение. Изначально их ноль.
Точки можно удалять отдельным инструментом. Зеленая стрелка перемещает точки только на растре. Красная используется для подгонки маркера уже на основном слое: она трансформирует растр или просто перемещает его если точек мало
5 Найдём сначала на растре (красный квадрат), а потом и снимке (розовый квадрат) точки по которым будем совмещать растр и обычную подложку.
6 Добавим первый маркер. Выбираем зеленую стрелку (инструмент называется PicLayerMove) кликнув в зону красного прямоугольника на растре. Теперь нам нужно соответсвие на карте. Выберем красную стрелку (PicLayerTransform) и поставим первый маркер в розовый прямоугольник.
7 Отлично, первый маркер готов. Повторяем этот процесс три раза и получаем привязку.
8 Проверяем карту: нет ли нахлёстов и искажений. Если привязка получилась неудачная, попробуем выбрать другие места на карте для наших маркеров.
Почему такое может быть?
- произвольно искажённые снимки Bing/Mapbox
- сильно искажённый растр
В особо тяжелых случаях уменьшайте площадь виртуального треугольника из маркеров. Если всё совсем плохо - ограничьтесь только зоной правки.
9 Калибрацию нужно сохранить, потому что после закрытия JOSM она потеряется (даже в режиме сохранения сессии). Для этого нужно щелкнуть правой кнопкой мыши по нужному нам растру (не космоснимкам) и выбрать “Save Picture Callibration…”.
Если калибрация сохранена в ту же папку и с именем которое предлагается по умолчанию, то она будет загружена при повторном открытии растра автоматически
(далее нужно вводить данные как обычно и использовать оффсет из imagery_offset_db)
Не забывайте про теги [source=](osm.wiki/RU:Key:source) и source:date= у пакета правок
10 Не обязательный шаг, но все растровые источники предлагаю сохранить в папку вместе с их смещениями и указать на вики странице Вольска откуда можно скачать готовые источники и калибрации. Куда загрузить получившуюся папку - ответов может быть несколько, это не сложно спросить в google.
На сайтах муниципалитетов и других источников можно найти схемы, но актуальность данных всегда должна проверяться. В них могут быть начерчены объекты никогда не имеющие воплощение в реальном мире. Это же “План …” и нужно им понимать как планы, а не реальный мир.
Discussion
Comment from Larry0ua on 5 December 2014 at 14:16
Хорошее описание, добавьте, пожалуйста, ссылку на него в вики-страницу PicLayer От себя - картинка в памяти хранится попиксельно, поэтому размер картинки в jpg не соответствует разнице в памяти java. Еще - точки для привязки надо стараться выбирать так, чтоб они не ложились на одну прямую даже приблизительно и были как можно дальше друг от друга. Возможно, стоит привязывать к слою данных, а не спутникового снимка, ну это какая у кого задача.