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

Давайте логи загрузки JOSM при запуске командой навроде java -jar -Xmx1024M “josm-latest.jar”

Там должно быть много строчек вида:
file:///*/AppData/Roaming/JOSM/plugins/CommandLine/arc.xml

Проблемы возникают там, где их ждут меньше всего:

shurik@pc3 ~ $ echo !
!
shurik@pc3 ~ $ echo \!
!
shurik@pc3 ~ $ echo "\!"
\!
shurik@pc3 ~ $ echo "!"
bash: !: event not found

Hind, нет в логах этих строк, весь лог довольно короткий и умещается в 940 байт
Есть только одно упоминание о CommandLine, факт его загрузки.


...
???????? ?????? 'PicLayer' (?????? 25219)
Silent shortcut conflict: 'menu:PicLayer' moved by 'menu:Imagery' to 'Alt+B'.
???????? ?????? 'CommandLine' (?????? 25200)
???????? ?????? 'RoadSigns' (?????? 25192)
???????? ?????? 'buildings_tools' (?????? 25469)
...

Отчего коммандлайн может не найти файлы с командами? Все лежит где надо:

c:\Documents and Settings\user\Application Data\JOSM\CommandLine\

Не там.
Посмотри внимательнее. :3

Hind, мы смотрим на разные Вики по одной ссылке?

%appdata%\JOSM\plugins\CommandLine\

млин, понял, не заметил plugins, хотя, эту папку вроде сам плагин создал…

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

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