Каких инструментов вам не хватает?

Вроде такой функционал планируется в звериковом плагине :3

Там этому функционалу самое место. Собственно, он меня и натолкнул.

Возможно, я что-то пропустил, но как-то давненько я уже просил очень простую вещь: выделяешь две точки на линии, и по нажатию чего-либо выделяются все промежуточные точки. Очень не хватает!

И ещё хотелось бы иметь возможность двигаться выделением по точкам линии вперёд и назад.

Хотелось бы турборисовалку линий типа рисовалки треков в ГуглоЗемле. Механизм действия прост: зажал ЛКМ и повел, за курсором рисуется линия. Чем быстрее ведешь, тем реже ставятся точки. Удаление последней нарисованной точки — ПКМ. Для ручного трейсинга лесов и речек — милое дело.

Некоторое время назад добавлено разными людьми:

Ядро:
Ctrl-Shift-O: -много узлов/линий/релейшенов сразу
F - follow line, продолжает прикреплять последующие узлы из существующей линии.

UtilsPlugin2:
Shift-Z, Alt-Z - выделить недавно измененные узлы/линии
Ctrl-Shift-Z - вернуть старое выделение - цикл по истории.
Shift-U - убрать все узлы из выделения
Shift-L - поставить узел на прямую линию с соседями,
Ctrl-Alt-S - вставить последний использованный source,
Shift-R - вставить теги с последнего выделенного объекта


Выделить точки между узлами - добавлю в меню Selection, там уже всего полно, пусть и это будет, раз полезно)
Двигаться выделением по точкам линии вперёд и назад - добавить легко, но есть вопросы: а если точек выделено несколько? А если одна, но на двух линиях?

К турборисовалке ближе всего ImproveWayAccuracy, может, попросим автора?

Я пробовал юзать уточнялку. К сожалению, кайфа не ощутил. Мне кажется, турборисовалка должна быть отдельным инструментом…

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

На С++ / WindowsForms под моим руководством что-то похожее писали недавно - ничего сложного, в приципе, но вот аккуратно встроить это в интерфейс JOSM…

Подождём ответа от Kachkaev (автор уточнялки). Может ещё кто возьмётся - дело-то благородное)
Ну а если уж совсем некому будет, в начале лета наклепаю, наверное.

Так что кто начнёт писать код - отпишитесь, застолбите место!

Добавил выделение промежуточных узлов между двумя заданными - Alt-Shift-E в Utilsplugin2.

В итоге я не заметил чьего-либо желания писать эту штуку и сделал её сам. Называетмся плагин FastDraw.

Использование:

  1. Жмём T
  2. Кликаем или тащим мышью заготовку для новой линии. можно несколько раз
    Shift-Click = начать заново
    Ctrl-Click = добавить жёстко фиксированный узел
    Можно привязываться к имеющимся узлам или к первой точке линиию.
  3. Когда всё нарисовано, жмём Enter. Линия упрощается и становится пунктирной.
  4. Если узлов слишком много - жмём стрелку вниз, если слишком мало-вверх (можно пропустить,или нажать несколько раз)
  5. Ещё раз жмём Enter - линия создана и выделена.
    Для нового рисования снова жмём T.

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

Замечания и предложения приветствуются (сюда или в http://josm.openstreetmap.de/newticket ). Главное, чтобы эта штука не стала инструментом вандализма)

akks, СУПЕР! Огромное спасибо, очень помогает линии дорог по садоводствам чертить со спутника и быстро-то как!!!

хм. Немного я поторопился :slight_smile: Больше для речек подходит, правда нехорошо что слишком упрощать линию пытается, когда рисуешь нормально выглядит, а нажимаешь enter и 60% точек ух… прибавить их количество никак, только уменьшить или вернуть до -60% :frowning:

Да, упрощалку нужно сделать настраиваемой :slight_smile: Можно даже через значения в настройках JOSM (которые в “расширенных настройках”)

А плагин хороший, годный. Особенно для пера.

Спасибо на добром слове :smiley:

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

По умолчанию не оставил, чтобы все точки тысячами не штамповали)

Параметры в расширенных настройках есть - fastdraw.startingEps можно поставить 0.01, тогда вообще упрощать не будет.
(пока перезапускать JOSM приходится, исправлю).

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

У упрощения пока один параметр - epsilon у Дугласа-Пеккера. Он стрелками и меняется (можно задать начальное значение и коэффициент изменения по стрелкам fastdraw.epsilonmult, сейчас 1.1).
В принципе, можно ещё по каким-то признакам выбоать узлы, которые не трогаем (как сейчас зелёные).
Острые углы какие-нибудь, или как?

Ещё можно менять расстояние между соседними точками fastdraw.mindelta и точность привязки к узлу fastdraw.maxdist (всё в пикселах).

Что по опыту рисования чаще требуется? :slight_smile:

P.S. Странно - исходники в SVN не попали. Вечером исправлю.

akks, а как получить замкнутую линию?

Неочевидно) Щелкнуть на первую точку в конце :slight_smile:

(дальше дорисовывать тогда не даст)
Со временем сделаю меняющиеся курсоры на все случаи жизни.

Хм, так и делал, ни разу замкнутая не получилась :frowning:

Да, мой косяк)

Только кажется, что замкнутая получается. Код есть, но что-то не очень работает. Вечером или завтра разберусь обязательно
Пока можно руками склеивать (М).

А к имеющимся узлам вроде приклеивается (курсор меняться будет).

Из глюков заметил также игнорирование настроек до перезапуска и конфликт клавиш c TagEditor (T занято, будет F, если никто не против)

Кто ещё что посоветует?

Мануал не читай @ Сразу пользуйся :3

Исправил баги, добавил полную привязку к имеющимся узлам (курсор меняется).
Кнопку оставил T, ибо F занята, а TagEditor-ом не так много народу пользуется.

Что еще стоит изменить (куда вешать gui настроек, кстати?) ?

А я ж пробывал :slight_smile: Я читал :slight_smile: