Вот несколько соображений, которые возникли в ходе работы с этим инструментом:
Фича, которая позволяет заново упростить нарисованный но не загруженный вей, возможно и полезна, но пока доставляет некоторые неудобства. Я нарисовал контур, хочу нарисовать еще один, но выделение не сбросил. Начинаю рисовать и понимаю что у меня включился режим упрощения предыдущего контура, причем отменить его вроде никак нельзя (Esc не работает), кроме как упростив, но в этом случае теряются теги и членство в релейшнах - приходиться делать undo, сбрасывать , и такое ощущение что иногда это приводит к duplicate ways.
Вообще как мне кажется, возможность выхода из режима рисования линии по Esc была бы полезной. Чтобы не потерять нарисованное можно задавать вопрос если нарисовано больше 10 узлов.
Упрощение существующих линий возможно стоит вынести в отдельный инструмент, с поддержкой тегов и пр. цацками, типа незименения точек с тегами.
Тянучку почему-то не видно когда рисуешь первый сегмент - большой проблемы нет, но все равно путает немного. Возможно стоит и линию и тянучку сделать пошире, но это дело вкуса конечно.
В режиме упрощения нарисованного контура не очень хорошо видно ноды, которые будут созданы - они сливаются с пунктирной линией. Возможно в этом же режиме стоит показывать оригинальную проведенную линию каким-нибудь сереньким цветом.
Прилипание к узлам какое-то странное получается - как правило приходтся разлеплять потом, т.к. возможности отказаться по Ctrl как в обычном рисовании линии нет. Возможно стоит попробоавть такой вариант: рисование с зажатой ЛКМ и пробелом никогда не прилипает т.к. вероятность того что шаг между точками совпадет довольно маленькая. По щелчку прилипать, но при зажатом Ctrl не прилипать. Остается проблема с фиксированными узлами, но мне кажется все узлы создаваемые кликом ЛКM / пробелом делать фиксированными.
При таком варианте работа инструмента будет аналогична стандартному рисованию линий, причем если все узлы фиксированные, то этап упрощения можно будет пропустить.
Для пущей совместимости можно добавить завершение рисования по даблклику, будет совсем похоже.
Мне кажется было бы удобно, при зажатом ЛКМ/пробеле показывать в статусбаре текущее min_distance, причем не только в пикселях но и в метрах. Поясню, я совершенно не задумываясь проведу линию с точками через каждые 10px, но вот перед тем как проводить линию с точками через 5 метров я трижды подумаю нужна ли в этом месте такая подробность. Судя по тому что в JOSM есть линейка масштаба пересчет должен быть не очень сложным. С другой стороны кружочек частично решает эту проблему, но он только появился
Кроме упрощения, можно дальше дорисовыввать или кусками перерисовать
.
Undo вроде работать должно, выход по ESC добавлю. Наверное, спрячу упрощение существующей линии подальше - на T T например. Дописывать его муторно и глюков много будет. И споров, как в http://forum.openstreetmap.org/viewtopic.php?id=12895 . Перевешивание тегов и отношений когда-нибудь добавлю. Или просто изменение линии без удаления осилю.
2,3) Тянучку починю, толщину сделаю параметром. На пунктире действительно плоховато видно, что-нибудь придумаем. Серенькую линию тоже можно.
С прилипанием просто глюк какой-то, оно при сохранении происходит. Только что заметил, чиню.
Сделал галочки в настройках насчёт прилипания и фиксации… Щелкаю точки по одной, а потом упрощаю достаточно часто, так что фиксировать все точки не хочется (с автоупрощением, кстати, логические проблемы могут быть из-за фиксированных узлов, но это лечится). Ctrl занят той самой фиксацией, но на Alt повесить отключение привязки могу.
Даблклик - боюсь, срабатывать часто случайно будет из-за специфики процесса. Сильно кривые линии, вроде, не очень часто рисуются - можно и Enter нажать:)
В статусе можно легко вывести хоть что, главное - чтобы оно туда поместилось min_distance выведу, но, наверное, при работе стрелочек рядом с пикселами - а то подсказка не влезет. 5 м на отрезок - почему бы и нет, всё равно потом упростится.
Блин, я похоже в настройки давно не заходил Там оказывается можно делать многое из того что нужно. И отключение прилипания и фиксированные ноды по клику/пробелы.
А можно общую длину выводить, я просто этот инструмент частенько для трейса рек использую, полглядывая в гвр, совпадает длинна (+/- трамвайная остановка) или нет.
Это понятно. Но линейка показывает длину рисуемого сегмента в режиме добавления. Более идеологически верно было бы попинать написателя линейки в сторону отображения длины линии в режиме фастдрав.
Ага, все работает вроде. По поводу (5), имхо, лучше писать “=10 px (100 m)”, т.к. “or” может как-то неоднозначно восприниматься, типа 3 года или 100 тыс. пробега, в зависимости от того что раньше. И остался неприятный момент с прилипанием, даже при отключенном прилипании в настройках в режиме ведения линии с зажатой ЛКМ/пробелом все равно прилипает.
Возможно еще стоит отключить прилипание от узлов скрытых через фильтры, по крайней мере стандартное рисовние линий к ним не прилипает.
Тянучка на последнем сегменте когда вей замыкается не показывается ).
Вот еще заметил, это не особо важно, но если получиться починить - будет здорово:
Нет возможности перевесить шорткат на что-то отличное от T
С пробелом вот какая заморочка получается, не уверен что это можно вообще пофиксить, но все равно пускай полежит здесь.
а) При включенном add fixed point on spacebar, даже при зажимании, для ведения линии, первая точка все равно как фиксированная добавляется.
б) Если переместить фокус на другой элемент управления и нажать spacebar, то при нажатии на пробел срабатывает этот элемент управления и ставиться точка.
Кнопку можно сменить, если очень хочется: http://postimage.org/image/14mgpirno/
Внутренние (T, Q, I) действительно не меняются, но это, наверное, не страшно.
2а) действительно тяжело исправить - нажатие от нажатия с движением действительно отличить трудно. РАзве что добавлять точку по отпусканию по координатам нажатия, но это, наверное, извращение… Просто первый раз надо в правильное место мышку наводить)
2б) Починил, надеюсь никому пробел не понадобится
Что-то у меня странное с Eps после нажатия Enter. Оно устанавливается в какие-то совершенно рандомные значения (каждый раз разное, но всегда слишком большое), хотя жестко задано startingEps = 5.0
В результате всегда приходится уменьшать стрелкой вверх.