wiki:Ru:Help/Plugin/Scripting

Другие языки:

Модуль Scripting

  1. Назначение
  2. Как выполнять сценарии
  3. Как писать собственные сценарии
  4. Детали реализации
  5. Сценарии
    1. Сценарии на JavaScript
    2. Сценарии на Python
  6. Расширенные настройки
  7. Смотрите также

Назначение

Используйте его для автоматизации небольших задач, для которых не готовых модулей, например:

  • дополнительные проверки данных, для которых нет доступных тестов валидатора
  • автоматический ввод данных в специфических ситуациях (например, последовательная нумерация домов)
  • импорт из формата файлов, не поддерживаемого JOSM
  • экспорт в формат файлов, не поддерживаемый JOSM

Как выполнять сценарии

Модуль scripting позволяет запускать сценарии в JOSM.

Их можно запускать из консоли или из файлов. Если вы выберет файлы, то в дальнейшем сценарии будут появляться в меню "Scripting". См. также

Как писать собственные сценарии

Внимательно ознакомьтесь с обоими ресурсами:

Чтобы писать более функциональные сценарии, чем "josm.alert(josm.menu.length);", вам следует комбинировать пример с различных страниц, например:

Детали реализации

Модуль включает встроенный движок сценариев для Javascript, основанный на Mozilla Rhino и Javascript API для объектов приложения JOSM.
Или же вы можете использовать любой язык сценариев, предоставляющий совместимый с JSR-223 движок, в частности, Groovy, Python или Ruby.

Исходный код на GitHub.

Сценарии

Сценарии на JavaScript

Сценарии на Python

  • Help/Plugin/Scripting/Python - Различные небольшие сценарии, иллюстрирующие, как выполнить какое-нибудь действие.
  • Help/Plugin/Scripting/Python/SurfaceTypesOfRoutes - (Интересно для веломаршрутов, кольцевых и линейных). Короткий кусок кода, но иллюстрирует интересные концепции и отчёты по данным OSM. Не вносит изменений в данные
  • Help/Plugin/Scripting/Python/RCN_Route_Validator - Это уже не самый тривиальный сценарий. Он делает некоторые сложные вещи (сети велосипедных узлов с нумерованными узлами), вносит изменения в отношения, выполняет запись в файл, который можно будет вставить в wiki. Анализирует маршруты, а также сети маршрутов или коллекции сетей маршрутов, в зависимости от того, что выделено в JOSM при запуске сценария.
  • AutoAddIntersections (требует наличия UtilsPlugin2) - Добавляет обработчик очереди команд, который выполняет команду AddNodesAtIntersections модуля utilsplugin2 после обнаружения команды Extrude. (См. #7991)
    Запускается один раз в сеансе JOSM.

Расширенные настройки

Выполните поиск по подстроке scripting.

Смотрите также


Назад к Основной странице справки

Last modified 3 years ago Last modified on 2017-11-17T11:17:34+01:00