Вопросы по JOSM

Поймал, здесь гифка (~600 Kb 145 Kb, заменил)

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

Есть инструмент “заменить геометрию” из плагина utilsplugin2, он делает как раз то, что тебе нужно.

Ещё есть инструмент Replace из CommandLine, он умеет массово, да ещё и поворачивает.
Историю сохраняет, точки реиспользует.

Перепост в более профильную тему из Валидатор населённых пунктов и границ (atd.osm.rambler.ru)

Спасибо, сообщил.

Это перевод, сделал все марки “бензин АИ-ХХ”

Во, то, что надо! Спасибо

Спасибо! Правда, у меня только с зажатым Ctrl что-то такое воспроизвести получается, гляну код.

Но если известно точное положение этого угла на карте, ссылка будет очень полезна (карточку всё равно создам, даже если сам смогу починить).

akks, да, да, именно с зажатым Ctrl данный эффект и проявляется, т.е. в режиме добавления ноды. В режиме сдвига не попадалось. Вам спасибо ^_^.

Карточку для починки создал, вариант патча есть (использовалась старая криво работающая функция проекции при наличии нормальной).
https://josm.openstreetmap.de/ticket/10821

Если старую функцию убрать совсем, нужно править плагин NanoLog и м.б. что-то ещё. Пока предложил решение с сохранением совметимости (но менее оптимальное).

Пока решают, как лучше починить, вот исправленная сборка для проверки: https://dl.dropboxusercontent.com/u/63393258/josm-custom.jar

Разработчики советуют удалить Geometry.getSegmentAltituteIntersection из ядра и поправить вызов в NanoLog. Так и сделаю вечером, наверное.

@Zverik : в коде https://trac.openstreetmap.org/browser/subversion/applications/editors/josm/plugins/NanoLog/src/nanolog/Correlator.java#L236 обязательно отбрасывать точки c проекциями за пределами отрезка (getSegmentAltituteIntersection возвращал null в таких случаях) или достаточно кратчайшего расстояния до отрезка?

Вот спасибо, кастомную сборку уже юзаю, бага не наблюдается как бы я не извращался.

Да, обязательно, иначе prop там вне [0; 1]. В этом куске кода ищется ближайшая точка трека к pos, перебором отрезков трека. Кажется, этот цикл основан на подобном в классе геопривязки фотографий.

Все, исправление ImproveWayAccuracy в ядре, в tested попадёт. Nanolog подправил без увеличения требуемой версии ядра (продублировал удаленную функцию)
https://trac.openstreetmap.org/changeset/30836/subversion
Прошу автора проверить, т.к. мне не на чем :slight_smile:

Не сомневался в наших переводчиках.

akks, не все так просто оказалось, опять поймал :frowning:
Удостоверяемся, что я работаю в вами модифицированном JOSM (ибо скрипт при выходе следующего апдейта его заменит)


c:\GPS\JOSM>"c:\Program Files (x86)\Git\bin\md5sum.exe" "josm-custom (1).jar"
1484610de082ce619ff2e23f097c5525 *josm-custom (1).jar

c:\GPS\JOSM>"c:\Program Files (x86)\Git\bin\md5sum.exe" josm-latest.jar
1484610de082ce619ff2e23f097c5525 *josm-latest.jar

[Gif-ка](web.zone.ee/vgb/Improve Way Accuracy_v2.gif) (134.3 Kb) c экранизацией бага
[ОСМ файл](web.zone.ee/vgb/Improve Way Accuracy_v2.osm) с вырезкой участка, на котором наблюдается баг.

Zverik, а что там должно быть? У меня там только первые 2 пункта (v.7774 от akks с предыдущей страницы)

А в чём бага-то, длинна “дуги” стала меньше, он туда и клеится.

freeExec, забыл уточнить, речь опять таки о режиме добавления нод (зажатый Ctrl, инструмент Improve Way Accuracy). В данном режиме должен подтягиваться ближайший отрезок, на гифке наблюдается движение через некий граничный участок, после которого вместо ближайшего подтягивается чуть ли не в 5-ть раз удаленнее отрезок.
Т.е. туда, куда по вашему он клеится нормально, он должен клеится на протежении всего ролика, без перекидывания на удаленный отрезок.