Другие языки:
- English
- español
- français
- Nederlands
- русский
- @17 - @19
Модуль Scripting
- Назначение
- Как выполнять сценарии
- Как писать собственные сценарии
- Детали реализации
- Сценарии
- Расширенные настройки
- Смотрите также
Назначение
Используйте его для автоматизации небольших задач, для которых не готовых модулей, например:
- дополнительные проверки данных, для которых нет доступных тестов валидатора
- автоматический ввод данных в специфических ситуациях (например, последовательная нумерация домов)
- импорт из формата файлов, не поддерживаемого JOSM
- экспорт в формат файлов, не поддерживаемый JOSM
Как выполнять сценарии
Модуль scripting позволяет запускать сценарии в JOSM.
Их можно запускать из консоли или из файлов. Если вы выберет файлы, то в дальнейшем сценарии будут появляться в меню "Scripting". См. также
Как писать собственные сценарии
Внимательно ознакомьтесь с обоими ресурсами:
- http://gubaer.github.io/josm-scripting-plugin/doc/documentation.html - следуйте по всем сслыкам здесь
- http://gubaer.github.io/josm-scripting-plugin/apidoc/modules/josm.html - узнайте, для чего нужны классы, модули, примеси (mixins) и пространства имён.
Чтобы писать более функциональные сценарии, чем "josm.alert(josm.menu.length);", вам следует комбинировать пример с различных страниц, например:
- Создайте действие с помощью класса "JSAction", затем добавьте его в меню, как показано на странице Extending the JOSM menu and the JOSM toolbar
Детали реализации
Модуль включает встроенный движок сценариев для Javascript, основанный на Mozilla Rhino и
Javascript API для объектов приложения JOSM.
Или же вы можете использовать любой язык сценариев, предоставляющий совместимый с JSR-223 движок, в частности,
Groovy, Python или Ruby.
Сценарии
Сценарии на JavaScript
- https://gist.github.com/Rub21/feb83f57a727ac0d8a34 - расширяет аббревиатуры различных типов дорог до полного названия (для США)
- https://gist.github.com/Rub21/47838797856566a8b6ba - изменяет регистр имён и убирает "name=S/N"
- https://gist.github.com/Rub21/cc055320c925c855926e - расширяет аббревиатуры (для Перу); демонстрационное видео
Сценарии на 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.
Смотрите также
Назад к Основной странице справки