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

Что-то не хочет скрипт кадастр работать с некоторыми квадратами… :frowning:

>kadastr.exe 23:47:0110001:* osm > kadastr\110001.osm
Traceback (most recent call last):
  File "rr-fetch.py", line 190, in <module>
  File "rr-fetch.py", line 82, in encode
KeyError: 'features'

значит там либо нет вообще данных либо мноооого данных )))

через браузер поробуйте тот же квартал

Nikolya
Данных как раз там ооочень много… Как бороться? Исходник не выложишь? Попробую что-нить придумать…

исходник запакован в ехе , распаковывается обычным 7zip, но… я ж грю попробуйте в браузере, если браузер не покажет данные на запрос, то бороться только… делать запрос на каждый участок, других вариантов не может быть, так уж сконфигурирован сервер на росреестре не более кажется 1 000 строк (вроде)

п.с. посмотреть что выдает рос реестр по запросу допустим по кад. номеру 23:43:304037:14

по кварталу 23:43:132035:*

Nikolya
Когда отдельно нажимаю на квадраты - веб-версия отображает инфу…

Сейчас посмотрел - вот результат:

http://maps.rosreestr.ru/ArcGIS/rest/services/CadastreNew/Cadastre/MapServer/exts/GKNServiceExtension/online/parcel/find?cadNum=23:47:0110001:*&f=pjson

{
  "error" : {
    "code" : 400,
    "message" : "Exception from HRESULT: 0x80041538",
    "details" : [
      
    ]
  },
  "debug" : {
    "queryExecutionTime" : "00:00:10.6236186",
    "queryExecution" : {
      "createConnection" : "00:00:00",
      "fillTable" : "00:00:10.6236186"
    },
    "dataTableIsNull" : false,
    "server" : "ARCGIS6",
    "totalExecuteTime" : "00:00:10.6548187"
  }
}

Видимо как раз больше 1000 результатов :frowning:

Попробую распаковать и поковырять немного…

Пункт меню CommandLine переселяем в Commands? В Tools место кончилось.

см. также http://josm.openstreetmap.de/ticket/6355 и http://forum.openstreetmap.org/viewtopic.php?pid=346577#p346577

Что-то у меня перестали работать в CommandLine инструменты, которые на вход берут объекты из JOSM…
Работают только Arc, Beizer и Сircle. Всё остальное - процесс python висит, кушает ядро полностью и никакого результата в JOSM не приходит. В терминале JOSM-а - ничего не выпадает после команды вида

python move.py -0.0057492178183649375,0.014283212869555527 -0.01176793022196573,
-0.01661883252319116;0.008893321312783262,-0.022727376092223202 Yes

JOSM 6060, CommandLine 29780, пакет команд текущий, Python 2.6.4, Java 1.6.0_29, Win XP SP3.
Настройки сбрасывал в 0 (удалением \Application Data\JOSM), пробовал josm-snapshot-5963.jar - всё не помогает.
Более ранние версии JOSM-а CommandLine 29780 не прнимает.
Год назад всё замечательно работало (JOSM 5356, те же Python, Java и винда). Когда точно сломалось не скажу, не очень часто пользуюсь…
Есть идеи в чём затык? Чем бы поотлаживать?

P.S. Python или Java готов заменить, но хотелось бы быть уверенным, что проблема в них, а то замена может поломать другие проги…

Проблема мне известна давно, но лапы дошли только сейчас. Попробую потыкать сегодня.
UPD. Ошибку нашёл, 22 февраля один из коммитеров неудачно поправил плагин, когда модифицировал плагины согласно изменениям своей правки в ядре. Исправляю.

Когда уже JOSM переедет на git?

У себя-то git-ом можно пользоваться сколько угодно) А на сервере для такого проекта - одни проблемы: разработчиков много неопытных и сливать-разливать бесконечные ветки замучаемся. Плюс svn в жесткой централизации - все сразу видят изменения и косяки. Их не так много, следить успевают.

Для плагинов git, кстати, подошел бы - они на сервере, где git уже развернут. Можно попросить в карточках. ( проблема только в системе обновления, завязанной на svn-версии)

Пофиксил, рабочий плагин доступен с JOSM 6088 и выше. :3

Поправил также баг, из-за которого JOSM не ждал выполнения команды, а сразу переходил в обычный режим редактирования. Это неправильно и могло приводить к ошибкам.

Т.е. теперь не удасться запустить следующую команду пока CommandLine не вернет результат выполнения предыдущей? Может оно и баг, но порой, довольно удобный. Можно было не дожидаясь результата долгого скрипта продолжать работу, включая запуск этого же скрипта по другим объектам.

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

В принципе, если команда только создаёт объекты или добавляет теги, она может считаться безопасной для запуска асинхронно. Но заранее этого не узнать, разве что добавить в XML-описания флаг asynchronous.
Но любые изменяющие команды будут постоянно порождать непредсказуемые последствия. :3

А можно надеятся на скорую реализацию?
Меня как-раз таки и интересует долгоработающая команда, создающая новые объекты, поэтому одновременная работа нескольких копий ни к чему плохому не приведет, а ждать сосвем не хочется. Единственное, что в моем случае можно плохого натворить, несколько раз кликнуть в одном месте и получить несколько накладывающихся экземпляров новых объектов.

Запилил. Если добавить тегу command атрибут asynchronous=“true”, то команда будет выполняться асинхронно.

Пожалуй, обновлю сейчас пакет со стандартными командами.

Спасибо, с 6109 работает.

Спасибо, с 6109 работает.

А если уж лапы дошли до кода - может, вставите в меню “скачать команды”?
Cписок адресов можно положить в настройки, скачка-распаковка -


address = ...  ( "https://dl.dropbox.com/u/12923490/OSM/commands.zip" и др. )
CustomConfigurator.downloadAndUnpackFile(address, "CommandLine/commands.zip", "plugins")

(правда, наличие обновлений не проверяе, качает всё)
cм. также http://forum.openstreetmap.org/profile.php?id=6465

Если бы всё было так просто.
Ведь тогда нужно заодно добавить пункт «Установить Python». :3

А без питона никак? Я же обошёлся написанием бинарника под винду.
В конце-концов, можно и на java наверное писать, чтобы кроссплатформено было.