Плагин CommandLine для jOSM (окружности, дуги и т.п. + свои команды)

Итак, сегодня стала доступна из стандартного диалога установки плагинов моя командная строка.
Кратко: она позволяет создавать свои команды для jOSM на любом удобном для вас языке программирования (хоть на Turbo Basic).

Также имеется несколько стандартных команд, написанных на Python, которые, надеюсь, будут кому-то полезны. :slight_smile:

Подробно прочитать о стандартных командах и создании новых можно здесь:
http://wiki.openstreetmap.org/wiki/RU:JOSM/Plugins/CommandLine

Предложения и пожелания можно писать прямо здесь. Я уже чувствую, что в случае популярности придется делать возможность вытаскивать кнопочки для команд на панель. :3

Buttons for CLI)

Вызывать Arc во время рисования, не прерывая его - это было бы совсем хорошо: последний клик - указываем кол-во точек и продолжаем дальше. Лепота…

Cut - резать по уже выбранным точкам до запуска команды.

По идее должен работать выбор до запуска команды, но иногда почему-то не срабатывает. В процессе исправления. :3

Для быстрого повтора последней команды можно использовать double enter.

хочу кнопки, лень писать.

Обновите плагин, теперь поддерживаются иконки, меню и панель инструментов :slight_smile:

Еще желательно перекачать commands.tar.gz, там появились сами иконки для стандартных команд. :3

UPD. Что-то недопилил, иногда вываливается в не очень страшную, но ошибку. Буду разбираться завтра.

Спасибо, попробовал - понравилось!

Команда Fillet почему-то вываливается с ошибкой


java.lang.NullPointerException: Случилась беда: не удалось обнаружить изображение 'building.png'. Это серьёзная проблема конфигурации. JOSM прекращает работу.
    at org.openstreetmap.josm.tools.ImageProvider.get(ImageProvider.java:75)
    at org.openstreetmap.josm.actions.mapmode.MapMode.<init>(MapMode.java:43)
    at CommandLine.LengthAction.<init>(LengthAction.java:62)
    at CommandLine.CommandLine.setMode(CommandLine.java:299)
    at CommandLine.CommandLine.loadParameter(CommandLine.java:336)
    at CommandLine.CommandLine$1.processKeyEvent(CommandLine.java:120)
    at java.awt.Component.processEvent(Component.java:6040)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
    at java.awt.Component.dispatchEventImpl(Component.java:4502)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

О, спасибо за репорт.

  1. Pyton 3.1 установил.
  2. Commands.tar.gz в виде Commands.tar и просто файлов в папку скинул.
  3. Плагин установил

Но кроме командной строки и пустого списка commands ничего не появилось. Что не так?

Самое желательное объяснение: не туда положили. :slight_smile:
У меня, например, файлы arc.png, arc.xml, arc.py … находятся по пути C:\Users\Hind\AppData\Roaming\JOSM\plugins\CommandLine\

Либо сканирование по какой-то причине не выполняется. Какая у вас OS?
Еще можно запустить josm из консоли “java -jar josm-tested.jar” и посмотреть логи загрузки.

Когда реализую автоскачивание стандартных команд, можно будет сказать определеннее.

Ну да, вроде всё правильно :slight_smile: win7 sp1 x64
Завтра буду пробовать ещё. Влияет ли порядок установки компонентов?

Нет, не влияет. В общем, нужны логи загрузки JOSM’а.

Алсо, на третьем питоне работа тоже не проверялась, но он в данном случае ни при чем, так как до исполнения команд пока дело не доходило. :3

http://img-fotki.yandex.ru/get/5502/luiswoo.0/0_4ce63_c5961969_L.jpg
Так и должно быть? После обновления плагина появилась вторая строка, в случае с Ubuntu на работоспособность плагина это ни как не влияет, в win7, к примеру после указания количества точек появляется что на подобие “процессинг…” и более ни чего не происходит, хотя в последним случае у меня похоже с Python проблемы.

Вторую строчку я добавил для возможности скриптам оставлять сообщения. “Done.” в конце именно они и присылают.
Это я чуть позже задокументирую в вики.

Как и было запланировано в самом начале создания плагина. :3

Да, скорее всего с Python. Если из консоли не запускается интерпретатор по команде python, значит, нужно добавить его местонахождение в PATH. Либо прописать в каждый описатель полный путь к интерпретатору.

Кстати, “процессинг” не должен оставаться. Надо бы писать про ошибку. Но это чуть позже.

Отвязал от pyproj, теперь достаточно стокового питона. Спасибо Komzpa. :3

Просьба перекачать команды. Ссылка та же.

я так понимаю, что это лог?
http://i12.fastpic.ru/big/2011/0116/dc/0f7e4fe54fa4c05454e36c59ff12a5dc.jpg

Может 64-битная java виновата?

Нет, у меня тоже 64-битная. Очень интересная ошибка. Это что-то с xml-парсером. Надо порыться.

Примерно понял. Строится невалидный URI, сейчас переделаю.
Мне только остается непонятным, почему в моей Windows 7 x64 он валиден, а в вашей нет. :3

UPD. Попробуйте обновиться. Если не поможет, попробую еще один способ.

перекачал commands.tar.gz, результат тот же

Подозреваю, что питон нужен 2-й