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

Поставил “пинтон”, плагин и команды. Загрузился:

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2011-04-14 01:31:50
Last Changed Author: bastiK
Revision: 4021
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2011-04-13 22:43:46 +0200 (Wed, 13 Apr 2011)
Last Changed Rev: 4021

GET http://api.openstreetmap.org/api/capabilities... OK
Соединение с http://api.openstreetmap.org/api установлено используя протокол 0.6

загрузка модуля 'openstreetbugs' (версия 25664)
загрузка модуля 'PicLayer' (версия 25219)
Silent shortcut conflict: 'menu:PicLayer' moved by 'menu:Imagery' to 'Alt+A'.
загрузка модуля 'CommandLine' (верси  25829)
file:///C:/Program%20Files/josm/JOSM/plugins/CommandLine/arc.xml
file:///C:/Program%20Files/josm/JOSM/plugins/CommandLine/bezier.xml
file:///C:/Program%20Files/josm/JOSM/plugins/CommandLine/circle.xml
file:///C:/Program%20Files/josm/JOSM/plugins/CommandLine/copy.xml
file:///C:/Program%20Files/josm/JOSM/plugins/CommandLine/cut.xml
file:///C:/Program%20Files/josm/JOSM/plugins/CommandLine/fillet.xml
file:///C:/Program%20Files/josm/JOSM/plugins/CommandLine/mirror.xml
file:///C:/Program%20Files/josm/JOSM/plugins/CommandLine/move.xml
file:///C:/Program%20Files/josm/JOSM/plugins/CommandLine/offset.xml
file:///C:/Program%20Files/josm/JOSM/plugins/CommandLine/regexp.xml
file:///C:/Program%20Files/josm/JOSM/plugins/CommandLine/replace.xml

Попытался сделать круг. Результат:

Silent shortcut conflict: 'subwindow:conflict' moved by 'menu:Commands' to 'Alt+Shift+C'.
python circle.py 37.621895969751904,55.75326683180708 10 12
java.io.IOException: Cannot run program "python" (in directory "C:\Program Files\josm\JOSM\plugins\CommandLine"): CreateProcess error=2, ?? ??????? ????? ????????? ????
        at java.lang.ProcessBuilder.start(Unknown Source)
        at CommandLine.CommandLine.runTool(CommandLine.java:461)
        at CommandLine.CommandLine.loadParameter(CommandLine.java:399)
        at CommandLine.CommandLine$1.processKeyEvent(CommandLine.java:116)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
        at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)

        at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
        at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
        at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(UnknownSource)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(UnknownSource)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(UnknownSource)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.IOException: CreateProcess error=2, ?? ??????? ????? ????????? ????
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(Unknown Source)
        at java.lang.ProcessImpl.start(Unknown Source)
        ... 36 more
Ошибка выполнения скрипта: python circle.py 37.621895969751904,55.75326683180708 10 12
Cannot run program "python" (in directory "C:\Program Files\josm\JOSM\plugins\CommandLine"): CreateProcess error=2, ?? ??????? ????? ????????? ????
[Ljava.lang.StackTraceElement;@bc8690[/code]

bopoh13, прописать python в системные переменные. Было в начале топика.

*path = C:\Python27*
Вот это? Так эффекта нуль. Из коммандной строки загружается, в josm - ничего не происходит (правда, уже не висит).

python circle.py 37.621895969751904,55.75326683180708 10 12
Traceback (most recent call last):
  File "circle.py", line 25, in <module>
    import projections
ImportError: No module named projections

Добавлено:
там в папке с XML-ками нужные файлы projections.py и OsmData.py были )) Все работает, спасибо! :wink:

Hind, спасибо за плагин. Теперь osmplug для “кетчупа” просто не нужен (да простит меня vvoovv).
ЗЫ: Буду думать, чем заменить “пинтон”.

Под питон 2.7 не проверялось. Гарантированно работает только на 2.5 и 3 питонах. :3
Во всяком случае, я не представляю, как питон может не найди projections, когда он лежит в одной папке с circle.py

вот в багрепорт http://img857.imageshack.us/img857/9359/bugw.png после выполнения arc WinXP

bopoh13, глянь здесь http://wiki.openstreetmap.org/wiki/RU:JOSM/Plugins/CommandLine#FAQ

ErshKUS, это не показатель. У меня запускался “пинтон” через командную строку ))
Сейчас все работает, я в посте #71 написал.

Добавлено:

Просто проблемы с кодировкой. У меня тоже самое. Ничего страшного :slight_smile:

Понятно что с кодировкой, но не приятно, ведь он что то пишет, может даже что то нужное

Нельзя задать мышкой значение для параметра типа point с широтой, близкой к 0 (меньше 0.001).

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


Exception in thread "main" java.lang.NoClassDefFoundError: josm-tested/jar
Caused by: java.lang.ClassNotFoundException: josm-tested.jar
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: josm-tested.jar. Program will exit.
[ivan@localhost JOSM]$ java -jar josm-tested.jar
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2012-01-11 02:31:59
Last Changed Author: jttt
Revision: 4784
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2012-01-10 22:54:24 +0100 (Tue, 10 Jan 2012)
Last Changed Rev: 4784

Failed to locate image 'Curves.jar/'
Соединение с http://api.openstreetmap.org/api установлено используя протокол 0.6
загрузка модуля 'PicLayer' (версия 27403)
загрузка модуля 'CommandLine' (версия 27355)
file:///home/ivan/.josm/plugins/CommandLine/copy.xml
file:///home/ivan/.josm/plugins/CommandLine/offset.xml
file:///home/ivan/.josm/plugins/CommandLine/mirror.xml
file:///home/ivan/.josm/plugins/CommandLine/replace.xml
file:///home/ivan/.josm/plugins/CommandLine/cut.xml
file:///home/ivan/.josm/plugins/CommandLine/regexp.xml
file:///home/ivan/.josm/plugins/CommandLine/arc.xml
file:///home/ivan/.josm/plugins/CommandLine/bezier.xml
file:///home/ivan/.josm/plugins/CommandLine/fillet.xml
file:///home/ivan/.josm/plugins/CommandLine/move.xml
file:///home/ivan/.josm/plugins/CommandLine/circle.xml
org.openstreetmap.josm.plugins.PluginException: В модуле CommandLine произошла ошибка
    at org.openstreetmap.josm.plugins.PluginInformation.load(PluginInformation.java:281)
    at org.openstreetmap.josm.plugins.PluginHandler.loadPlugin(PluginHandler.java:475)
    at org.openstreetmap.josm.plugins.PluginHandler.loadPlugins(PluginHandler.java:533)
    at org.openstreetmap.josm.plugins.PluginHandler.loadLatePlugins(PluginHandler.java:572)
    at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:248)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
    at org.openstreetmap.josm.plugins.PluginInformation.load(PluginInformation.java:272)
    ... 4 more
Caused by: java.lang.RuntimeException: Случилась беда: не удалось обнаружить изображение 'copy.png'. Это серьёзная проблема конфигурации. JOSM прекращает работу.
    at org.openstreetmap.josm.tools.ImageProvider.get(ImageProvider.java:225)
    at org.openstreetmap.josm.tools.ImageProvider.get(ImageProvider.java:246)
    at CommandLine.CommandAction.<init>(CommandAction.java:42)
    at CommandLine.CommandLine.loadCommands(CommandLine.java:243)
    at CommandLine.CommandLine.<init>(CommandLine.java:191)
    ... 9 more

Это у меня проблема или вообще?
(на всякий случай обновил команды - тоже самое)

Пока не могу воспроизвести проблему, попробую на линуксах позднее.

Тут экспромтом образовалась новая команда - Address, достаёт адрес и назначение земель с росреестра.

После клика по карте создаёт ноды (обычно одну) с полученными данными. Кроме того, пишет короткую информацию в хистори сверху над командной строкой.

Устанавливается как обычно, распаковкой в каталог %appdata%\JOSM\plugins\CommandLine\ (для Windows) или в ~/.josm/plugins/CommandLine/ (для Linux).

Помогите, у меня переносной josm, можно-ли добавить туда переносной питон, чтобы этот плагин заработал?
И где взять переносной питон?

Может это: http://www.portablepython.com ?

Эх… как работает у меня Address, может будет полезно:

Остальные команды работают на ура. Питон 3.2.2, знаю про 2.5 - 2.7, поэтому это для справки.

ps В линукс, в стабильной версии джосма (python 2.7.2), всё работает, только значки команд не показывает, но это не работало и до этого :slight_smile:

12:22 < Zverik> Hind: у тебя баг в коммандлайне. распаковал стандартный набор плагинов, и получил при запуске java.lang.RuntimeException: Fatal: failed to
locate image ‘mirror.png’
12:24 < Zverik> при этом file:///home/zverik/.josm/plugins/CommandLine/mirror.xml

Да знаю, видел в логах, спасибо. Просто я сегодня ограничен по времени, пишу из автобуса. А psha лишь бы постебаться…

Может имеет смыл для Address сделать что бы он не заканчивал работу, а после извлечения адреса был готов к следующему и вырубался когда уже не нужен Esc-ком?

Этого сам плагин не позволяет делать командам. Хотя такой режим можно сделать. Но сейчас можно двойным нажатием Enter (вводом пустой команды) повторить предыдущую.

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

Так видно же в командной строке, когда просит указать точку.

Суть такова: по Enter курсор встает в командую строку (это хоткей, его можно менять в настройках). Далее Enter в командной строке делает ввод пустой команды, а это означает повторный вызов предыдущей.