Да, обязательно, иначе prop там вне [0; 1]. В этом куске кода ищется ближайшая точка трека к pos, перебором отрезков трека. Кажется, этот цикл основан на подобном в классе геопривязки фотографий.
Все, исправление ImproveWayAccuracy в ядре, в tested попадёт. Nanolog подправил без увеличения требуемой версии ядра (продублировал удаленную функцию) https://trac.openstreetmap.org/changeset/30836/subversion
Прошу автора проверить, т.к. мне не на чем
akks, не все так просто оказалось, опять поймал
Удостоверяемся, что я работаю в вами модифицированном JOSM (ибо скрипт при выходе следующего апдейта его заменит)
[Gif-ка](web.zone.ee/vgb/Improve Way Accuracy_v2.gif) (134.3 Kb) c экранизацией бага
[ОСМ файл](web.zone.ee/vgb/Improve Way Accuracy_v2.osm) с вырезкой участка, на котором наблюдается баг.
freeExec, забыл уточнить, речь опять таки о режиме добавления нод (зажатый Ctrl, инструмент Improve Way Accuracy). В данном режиме должен подтягиваться ближайший отрезок, на гифке наблюдается движение через некий граничный участок, после которого вместо ближайшего подтягивается чуть ли не в 5-ть раз удаленнее отрезок.
Т.е. туда, куда по вашему он клеится нормально, он должен клеится на протежении всего ролика, без перекидывания на удаленный отрезок.
Хм, длинна дуги говорите, а действительно, очень похоже на это. Т.е. если это заявленный алгоритм инструмента, то мы имеем дело не с багой, а с фичей. Только вот, не очень человечная фича получается. Инструмент зовется “улучшение точности вея” и мне, как пользователю, видится притягивание ближайшего вея, чего и ожидаю. Выходит, поправить так просто не удасться, ибо требуется изменение используемых алгоритмов…
Felis Pimeja, может для данного инструмента и нормально, но для пользователя - нет. Все же склоняюсь к тому, что это баг.
Ну вот для кого из пользователей будет очевидна и нормальна ситуация притягивания верхнего вея в следующей ситуации?
Не, не, [так](web.zone.ee/vgb/2014-12-10 12_58_10-Lister -.png) он себя точно не вел. Вчера 20км реки отрисовал, все было идеально, ни одного нарекания. А сейчас что-то на каждой извилине спотыкаюсь. И ведь код тот же… Правда, в основном, на ривербанке спотыкаюсь, вчера же их не было.
Такого не должно быть. Наверное, разные берега являются разными outer-ами отношения, а IWA работает только с одиночными линиями.
(если не так - дайте, пожалуйста, .osm)
Текущий алгоритм поиска отрезка с зажатым Ctrl:
выбирается ближайший к мышке M отрезок AB (по перпендикуляру MH, если он туда попадает, или по расстоянию от края MA MB)
если расстояния примерно равны, выбирается самый большой угол (AMB)
Издалека он отрезки действительно цепляет, но только если нет ничего ближе.
Я уже почти поверил, что опять всё сломал, но пока не нашёл различий со старым поведением
P.S. Проверяйте Latest, custom-сборка теоретически может от неё отличаться в худшую сторону (там первый вариант патча).
Я тот участок уже попортил (не зря же я туда с этим интрументом полез), но в теории можно и скрин в качестве подложки использовать для восстановления. И это была точно одна линия (замкнутый контур) о чем и красная подсветка выделения говорит.
Первое же условие вполне логично (по перпендикуляру MH), однако, оно явно в данном случае по какой-то причине не отрабатывает, зато срабатывает второе (по расстоянию от края MA MB). До условия угла дело, похоже, не доходит.
Попробуйте новый tested 7777 https://josm.openstreetmap.de/josm-tested.jar, описанное похоже на глюк custom-а (gif-ка на нём действительно получается, т.к. условия перепутаны). В tested/latest ничего такого не видел (попробовал поредактировать похожую речку и выложенный выше .osm)