Инструмент FastDraw для JOSM - рисование и упрощение линий

Эх, тему создал - теперь отвечать придётся )))

  1. Кроме упрощения, можно дальше дорисовыввать или кусками перерисовать
    .
    Undo вроде работать должно, выход по ESC добавлю. Наверное, спрячу упрощение существующей линии подальше - на T T например. Дописывать его муторно и глюков много будет. И споров, как в http://forum.openstreetmap.org/viewtopic.php?id=12895 . Перевешивание тегов и отношений когда-нибудь добавлю. Или просто изменение линии без удаления осилю.

2,3) Тянучку починю, толщину сделаю параметром. На пунктире действительно плоховато видно, что-нибудь придумаем. Серенькую линию тоже можно.

  1. С прилипанием просто глюк какой-то, оно при сохранении происходит. Только что заметил, чиню.
    Сделал галочки в настройках насчёт прилипания и фиксации… Щелкаю точки по одной, а потом упрощаю достаточно часто, так что фиксировать все точки не хочется (с автоупрощением, кстати, логические проблемы могут быть из-за фиксированных узлов, но это лечится). Ctrl занят той самой фиксацией, но на Alt повесить отключение привязки могу.

Даблклик - боюсь, срабатывать часто случайно будет из-за специфики процесса. Сильно кривые линии, вроде, не очень часто рисуются - можно и Enter нажать:)

  1. В статусе можно легко вывести хоть что, главное - чтобы оно туда поместилось :slight_smile: min_distance выведу, но, наверное, при работе стрелочек рядом с пикселами - а то подсказка не влезет. 5 м на отрезок - почему бы и нет, всё равно потом упростится.

Спасибо за потраченное на пост время :slight_smile:

Блин, я похоже в настройки давно не заходил :slight_smile: Там оказывается можно делать многое из того что нужно. И отключение прилипания и фиксированные ноды по клику/пробелы.

Спасибо за наводку на слипание - глючит при сохранении довольно неприятно. Сам только что разлеплял.

Починил, можно обновляться. Остальное неммножко отложу - лето всё-таки:)

А можно общую длину выводить, я просто этот инструмент частенько для трейса рек использую, полглядывая в гвр, совпадает длинна (+/- трамвайная остановка) или нет.

Для длины есть линейка. Так-то не надо обвешивать один плагин функционалом других, иначе это новый редактор получится.

Дак линейка работает только по тому что уже нарисовано, еслиб линейка показывала длинну рисуемой в фастдро линии - сидел и не жужжжал бы.

Это понятно. Но линейка показывает длину рисуемого сегмента в режиме добавления. Более идеологически верно было бы попинать написателя линейки в сторону отображения длины линии в режиме фастдрав.

Хорошо бы, но похоже, придётся мне дописывать, т.к. из одного плагина внутрь другого залезть не так просто. Надеюсь, не срочно)

Может хранить длину в какой-нибудь переменной, а плагин с линейкой сможет её брать и отображать стандартным для себя способом?

Да не к спеху.

Выложил новую версию. За сложное не брался. Добавления:

  1. (!!) Упрощение/изменение существующей линии теперь вызывается нажатием TT, а не сразу (линия должна быть выделена).
  2. Поменял толщину и раскраску линий. Толщина линии настраивается параметром fastdraw.linewidth, цвет упрощенной - fastdraw.color.simplified
  3. Тянучка работает сразу.
  4. Сделал выход без сохранения по ESC (с предупреждением).
  5. Вывел расстояние между соседними точками в метрах при нажатии кнопок вверх-вниз

Забавно, при максимальном упрощении замкнутая линия вырождается в точку + вей, состоящий из этой точки, включенной в него два раза. :smiley:

И, наверное, при упрощении до двух точек получается замкнутый вей «туда-обратно» по двум точкам.

Ага, я не заморачивался :smiley: Там проверок никаких нет. Исправлю когда-нибудь, ообенно если ещё способы создать некорректную линию найдёте.

Ага, все работает вроде. По поводу (5), имхо, лучше писать “=10 px (100 m)”, т.к. “or” может как-то неоднозначно восприниматься, типа 3 года или 100 тыс. пробега, в зависимости от того что раньше. И остался неприятный момент с прилипанием, даже при отключенном прилипании в настройках в режиме ведения линии с зажатой ЛКМ/пробелом все равно прилипает.
Возможно еще стоит отключить прилипание от узлов скрытых через фильтры, по крайней мере стандартное рисовние линий к ним не прилипает.

Тянучка на последнем сегменте когда вей замыкается не показывается ).

ОК, поправлю в следующем релизе

И то правда ) Странно, чего бы это оно. Программа подросла и начинает жить своей жизнью:)

Подсмотрю как там, сделаю.

Ох, уж эта тянучка… Я, кажется, понял, почему не сделал её сразу :slight_smile:

Очередной релиз FastDraw: 26522
Новое [по чьим запросам]:

  1. [FIX] Привязка к узлам не срабатывает, когда она отключена в настройках (Q). Больше нет привязки к невыделяемым узлам. [Aleksandr Dezhin]
  2. По кнопке I показывает информацию о нарисованной или упрощённой линии - длину, число точек, точки на км длины. [dkiselev]
  3. Не даёт сохранять прикольные линии by Hind :slight_smile:
  4. Вовремя рисуется тянучка и меняются курсоры. [Aleksandr Dezhin]

Ещё что заметите - хорошо) Ещё немного сил доводить плагин осталось.

Вот еще заметил, это не особо важно, но если получиться починить - будет здорово:

  1. Нет возможности перевесить шорткат на что-то отличное от T
  2. С пробелом вот какая заморочка получается, не уверен что это можно вообще пофиксить, но все равно пускай полежит здесь.
    а) При включенном add fixed point on spacebar, даже при зажимании, для ведения линии, первая точка все равно как фиксированная добавляется.
    б) Если переместить фокус на другой элемент управления и нажать spacebar, то при нажатии на пробел срабатывает этот элемент управления и ставиться точка.

Ну, вот что накопалось:

  1. Кнопку можно сменить, если очень хочется: http://postimage.org/image/14mgpirno/
    Внутренние (T, Q, I) действительно не меняются, но это, наверное, не страшно.
    2а) действительно тяжело исправить - нажатие от нажатия с движением действительно отличить трудно. РАзве что добавлять точку по отпусканию по координатам нажатия, но это, наверное, извращение… Просто первый раз надо в правильное место мышку наводить)
    2б) Починил, надеюсь никому пробел не понадобится :slight_smile:

Что-то у меня странное с Eps после нажатия Enter. Оно устанавливается в какие-то совершенно рандомные значения (каждый раз разное, но всегда слишком большое), хотя жестко задано startingEps = 5.0

В результате всегда приходится уменьшать стрелкой вверх.

Видимо, в настройках стоит автоупрощение (Autosimplify) и Eps подгоняется под 20 точек на км.

Можно нажать Q и выбрать Enter key mode=“Simplify with initial epsilon”, тогда всегда будет упрощать с Eps=5 (и работать быстрее).