Search:
Login
Preferences
Help/Guide
About Trac
Register
Forgot your password?
Wiki
Timeline
Changelog
Browse Source
View Tickets
New Ticket
Roadmap
Builds
Sonar
Search
Context Navigation
+0
Start Page
Index
History
Editing Ru:Help/Plugin/Scripting
Adjust edit area height:
8
12
16
20
24
28
32
36
40
Edit side-by-side
[[TranslatedPages(revision=17)]] = Модуль Scripting = [[PageOutline(2-4,,inline)]] == Назначение == Используйте его для автоматизации небольших задач, для которых не готовых модулей, например: * дополнительные проверки данных, для которых нет доступных тестов валидатора * автоматический ввод данных в специфических ситуациях (например, последовательная нумерация домов) * импорт из формата файлов, не поддерживаемого JOSM * экспорт в формат файлов, не поддерживаемый JOSM == Как выполнять сценарии == Модуль [https://gubaer.github.io/josm-scripting-plugin 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);", вам следует комбинировать пример с различных страниц, например: * [http://gubaer.github.io/josm-scripting-plugin/apidoc/classes/JSAction.html Создайте действие с помощью класса "JSAction"], затем добавьте его в меню, как показано на странице [http://gubaer.github.io/josm-scripting-plugin/doc/menu.html "Extending the JOSM menu and the JOSM toolbar"] == Детали реализации == Модуль включает встроенный движок сценариев для Javascript, основанный на Mozilla Rhino и [https://gubaer.github.io/josm-scripting-plugin/apidoc/modules/josm.html Javascript API] для объектов приложения JOSM.\\ Или же вы можете использовать любой язык сценариев, предоставляющий совместимый с JSR-223 движок, в частности, [http://groovy.codehaus.org/ Groovy], [http://www.jython.org/ Python] или [http://jruby.org/ Ruby].\\ [https://github.com/gubaer/josm-scripting-plugin Исходный код на GitHub]. == Сценарии == === Сценарии на JavaScript === * https://gist.github.com/Rub21/feb83f57a727ac0d8a34 - расширяет аббревиатуры различных типов дорог до полного названия (для США) * https://gist.github.com/Rub21/47838797856566a8b6ba - изменяет регистр имён и убирает "name=S/N" * https://gist.github.com/Rub21/cc055320c925c855926e - расширяет аббревиатуры (для Перу); [https://www.youtube.com/watch?v=Cpi_5dB1NLQ демонстрационное видео] === Сценарии на Python === * [wiki:Help/Plugin/Scripting/Python] - Различные небольшие сценарии, иллюстрирующие, как выполнить какое-нибудь действие. * [wiki:Help/Plugin/Scripting/Python/SurfaceTypesOfRoutes] - (Интересно для веломаршрутов, кольцевых и линейных). Короткий кусок кода, но иллюстрирует интересные концепции и отчёты по данным OSM. Не вносит изменений в данные * [wiki:Help/Plugin/Scripting/Python/RCN_Route_Validator] - Это уже не самый тривиальный сценарий. Он делает некоторые сложные вещи ([[http://wiki.openstreetmap.org/wiki/RU:Велосипедные маршруты|сети велосипедных узлов]] с нумерованными узлами), вносит изменения в отношения, выполняет запись в файл, который можно будет вставить в wiki. Анализирует маршруты, а также сети маршрутов или коллекции сетей маршрутов, в зависимости от того, что выделено в JOSM при запуске сценария. * [attachment:ticket:7991:AutoAddIntersections.py AutoAddIntersections] (требует наличия [wiki:Plugin/UtilsPlugin2 UtilsPlugin2]) - Добавляет обработчик очереди команд, который выполняет команду AddNodesAtIntersections модуля utilsplugin2 после обнаружения команды Extrude. (См. #7991)\\ Запускается один раз в сеансе JOSM. == Расширенные настройки == Выполните поиск по подстроке {{{scripting.}}} == Смотрите также == * [wiki:/Ru:Plugins Документация к модулям] ---- Назад к [wiki:/Ru:Help Основной странице справки]
Note:
See
WikiFormatting
and
TracWiki
for help on editing wiki content.
Change information
Your email or username:
E-mail address and name can be saved in the
Preferences
Comment about this change (optional):
Note:
See
TracWiki
for help on using the wiki.