| 1 | [[TranslatedPages(revision=19)]] |
| 2 | = Tillegg -> Skripting = |
| 3 | |
| 4 | [[Image(https://josm.openstreetmap.de/pluginicon/scripting.jar/images/script-engine.png,link=,48)]] |
| 5 | [[PageOutline(2-4,,inline)]] |
| 6 | |
| 7 | |
| 8 | == Formål == |
| 9 | Bruk det til å automatisere små oppgaver som ingen eksisterende plugin kan gjøre, f.eks. |
| 10 | |
| 11 | * ekstra kvalitetstester som ingen valideringstesttilfeller er tilgjengelige for |
| 12 | * automatisk å legge inn data i svært spesifikke situasjoner (f.eks. sekvenser av husnumre) |
| 13 | * importere fra et egendefinert filformat som ikke støttes av JOSM |
| 14 | * eksportere til et egendefinert filformat som ikke støttes av JOSM |
| 15 | |
| 16 | |
| 17 | == Hvordan kjøre skript == |
| 18 | [https://gubaer.github.io/josm-scripting-plugin Skripting-tillegget] lar deg kjøre skript i JOSM. |
| 19 | |
| 20 | Du kan kjøre skript fra konsoll eller fra filer. Hvis du velger filer, vil de siste skriptene vises i "skripting"-menyen. Se også |
| 21 | |
| 22 | |
| 23 | == Hvordan skrive dine egne skript == |
| 24 | Vennligst inspiser nøye begge ressursene: |
| 25 | * https://gubaer.github.io/josm-scripting-plugin/doc/documentation.html - følg alle lenker her |
| 26 | * https://gubaer.github.io/josm-scripting-plugin/apidoc/modules/josm.html - skann hva alle klasser, moduler, mixins og navneområder kan gjøre. |
| 27 | |
| 28 | For å skrive funksjonelle skript enn "josm.alert(josm.menu.length);" bør du kombinere eksempler fra flere sider, for eksempel: |
| 29 | * [https://gubaer.github.io/josm-scripting-plugin/apidoc/classes/JSAction.html Opprett en handling ved å bruke "JSAction"-klassen], deretter [https://gubaer.github.io/josm-scripting-plugin/doc/menu.html fest den til menyen som vist på "Utvide JOSM-menyen og JOSM-verktøylinjen"-siden] |
| 30 | |
| 31 | |
| 32 | == Implementasjonsdetaljer == |
| 33 | Tillegget inkluderer en innebygd skriptmotor for Javascript basert på Mozilla Rhino og et |
| 34 | [https://gubaer.github.io/josm-scripting-plugin/apidoc/modules/josm.html Javascript API] for JOSM-applikasjonsobjektene.\\ |
| 35 | Alternativt kan du bruke ethvert skriptspråk som tilbyr en JSR-223-kompatibel skriptmotor, spesielt |
| 36 | [https://groovy-lang.org/index.html Groovy], [https://www.jython.org/ Python], eller [https://www.jruby.org/ Ruby].\\ |
| 37 | |
| 38 | [https://github.com/gubaer/josm-scripting-plugin Kildekode på GitHub]. |
| 39 | |
| 40 | |
| 41 | == Skript == |
| 42 | === Skript i JavaScript === |
| 43 | * https://gist.github.com/Rub21/feb83f57a727ac0d8a34 - Utvid forkortelser (US) |
| 44 | * https://gist.github.com/Rub21/47838797856566a8b6ba - Store bokstaver i navn og eliminer "name=S/N" |
| 45 | * https://gist.github.com/Rub21/cc055320c925c855926e - utvid forkortelser (Peru); [https://www.youtube.com/watch?v=Cpi_5dB1NLQ videodemonstrasjon] |
| 46 | |
| 47 | === Skript i Python === |
| 48 | * [wikitr:/Help/Plugin/Scripting/Python] - ulike små skript som er ment å illustrere hvordan man gjør én ting. |
| 49 | * [wikitr:/Help/Plugin/Scripting/Python/SurfaceTypesOfRoutes] - (Interessant for sykkelruter, både løkker og lineære). Kort kodebit, men illustrerer noen interessante konsepter og rapporterer om OSM-data. Gjør ikke endringer i dataene |
| 50 | * [wikitr:/Help/Plugin/Scripting/Python/RCN_Route_Validator] - Dette er ikke lenger et trivielt skript. Det gjør mye i et komplisert felt (nettverk av sykkelnoderuter med nummererte noder), gjør endringer i relasjoner, skriver til en fil som kan limes til wikien. Analyserer ruter, men også nettverk av ruter eller samlinger av nettverk av ruter, avhengig av valget i JOSM når skriptet ble kjørt. |
| 51 | * [attachment:ticket:7991:AutoAddIntersections.py AutoAddIntersections] (trenger [wikitr:/Help/Plugin/UtilsPlugin2 UtilsPlugin2]) - Legger til en kølytter for kommandoer som vil utføre utilsplugin2's AddNodesAtIntersections-kommando etter å ha møtt Extrude-kommandoen. (Se #7991)\\ |
| 52 | Kjør én gang per JOSM-økt. |
| 53 | |
| 54 | |
| 55 | == Avanserte innstillinger == |
| 56 | Søk etter {{{scripting.}}} understreng. |
| 57 | |
| 58 | {{{#!comment |
| 59 | == Se også == |
| 60 | }}} |
| 61 | |
| 62 | ---- |
| 63 | Tilbake til [wikitr:/Plugins Tilleggshjelp] \\ |
| 64 | Tilbake til [wikitr:/Help Hovedhjelp] |