Changes between Initial Version and Version 1 of El:Help/Plugin/Scripting


Ignore:
Timestamp:
2025-06-25T10:10:01+02:00 (3 weeks ago)
Author:
makmar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • El:Help/Plugin/Scripting

    v1 v1  
     1[[TranslatedPages(revision=19)]]
     2
     3= Πρόσθετο -> Δημιουργία σεναρίων =
     4
     5[[Image(https://josm.openstreetmap.de/pluginicon/scripting.jar/images/script-engine.png,link=,48)]]
     6[[PageOutline(2-4,,inline)]]
     7
     8
     9== Σκοπός ==
     10Χρησιμοποιήστε το για να αυτοματοποιήσετε μικρές εργασίες για τις οποίες κανένα υπάρχον πρόσθετο δεν μπορεί να κάνει, π.χ.
     11
     12* πρόσθετοι ποιοτικοί έλεγχοι για τους οποίους δεν υπάρχουν διαθέσιμες δοκιμές επικύρωσης
     13* αυτόματη εισαγωγή δεδομένων σε πολύ συγκεκριμένες περιπτώσεις (π.χ. ακολουθίες αριθμών κτιρίων)
     14* εισαγωγή από προσαρμοσμένη μορφή αρχείου που δεν υποστηρίζεται από το JOSM
     15* εξαγωγή σε προσαρμοσμένη μορφή αρχείου που δεν υποστηρίζεται από το JOSM
     16
     17
     18== Πώς να εκτελέσετε σενάρια ==
     19Το [https://gubaer.github.io/josm-scripting-plugin πρόσθετο δημιουργίας σεναρίων] σάς επιτρέπει να εκτελείτε σενάρια εντός του JOSM.
     20
     21Μπορείτε να εκτελέσετε σενάρια από την κονσόλα ή από αρχεία. Εάν επιλέξετε αρχεία, τότε τα πιο πρόσφατα σενάρια θα εμφανιστούν στο μενού "δημιουργίας σεναρίων". είτε επίσης
     22
     23
     24== Πώς να γράψετε τα δικά σας σενάρια ==
     25Παρακαλούμε ελέγξτε προσεκτικά και τους δύο πόρους:
     26* https://gubaer.github.io/josm-scripting-plugin/doc/documentation.html - ακολουθήστε όλους τους συνδέσμους εδώ
     27* https://gubaer.github.io/josm-scripting-plugin/apidoc/modules/josm.html - εξετάστε τι μπορούν να κάνουν όλες οι κλάσεις, οι ενότητες, τα mixins και οι χώροι ονομάτων.
     28
     29Για να γράψετε λειτουργικά σενάρια εκτός από το "josm.alert(josm.menu.length);" θα πρέπει να συνδυάσετε παραδείγματα από πολλές σελίδες, για παράδειγμα:
     30* [https://gubaer.github.io/josm-scripting-plugin/apidoc/classes/JSAction.html Δημιουργήστε μια ενέργεια χρησιμοποιώντας την κλάση "JSAction"], και στη συνέχεια [https://gubaer.github.io/josm-scripting-plugin/doc/menu.html προσαρτήστε την στο μενού, όπως περιγράφεται στη σελίδα "Επέκταση του μενού και της γραμμής εργαλείων του JOSM"]
     31
     32
     33== Λεπτομέρειες υλοποίησης ==
     34Το πρόσθετο περιλαμβάνει μια ενσωματωμένη μηχανή σεναρίου για Javascript βασισμένη στο Mozilla Rhino και ένα
     35[https://gubaer.github.io/josm-scripting-plugin/apidoc/modules/josm.html Javascript API] για τα αντικείμενα της εφαρμογής JOSM.\\
     36Εναλλακτικά, μπορείτε να χρησιμοποιήσετε οποιαδήποτε γλώσσα σεναρίου που παρέχει μια μηχανή σεναρίου συμβατή με JSR-223 και συγκεκριμένα με
     37[https://groovy-lang.org/index.html Groovy], [https://www.jython.org/ Python], ή [https://www.jruby.org/ Ruby].\\
     38
     39[https://github.com/gubaer/josm-scripting-plugin Πηγαίος κώδικας στο GitHub].
     40
     41
     42== Σενάρια ==
     43=== Σενάρια σε JavaScript ===
     44* https://gist.github.com/Rub21/feb83f57a727ac0d8a34 - Επέκταση συντομογραφιών (US)
     45* https://gist.github.com/Rub21/47838797856566a8b6ba - Γράψτε ονόματα με κεφαλαία και εξαλείψτε το "name=S/N"
     46* https://gist.github.com/Rub21/cc055320c925c855926e - επέκταση συντομογραφιών (Περού); [https://www.youtube.com/watch?v=Cpi_5dB1NLQ βίντεο επίδειξης]
     47
     48=== Σενάρια σε Python ===
     49* [wikitr:/Help/Plugin/Scripting/Python] - διάφορα μικρά σενάρια που έχουν σκοπό να δείξουν πώς να κάνετε ένα πράγμα.
     50* [wikitr:/Help/Plugin/Scripting/Python/SurfaceTypesOfRoutes] - (Ενδιαφέρον για ποδηλατικές διαδρομές, τόσο κυκλικές όσο και γραμμικές). Μικρό απόσπασμα κώδικα, αλλά παρουσιάζει ενδιαφέρουσες έννοιες και δημιουργεί αναφορές με βάση δεδομένα OSM. Δεν κάνει αλλαγές στα δεδομένα.
     51* [wikitr:/Help/Plugin/Scripting/Python/RCN_Route_Validator] - Αυτό δεν είναι πλέον απλό σενάριο. Εκτελεί πολλές ενέργειες σε έναν πολύπλοκο τομέα (δίκτυα ποδηλατικών διαδρομών με αριθμημένους κόμβους), κάνει αλλαγές σε σχέσεις, γράφει δεδομένα σε αρχείο που μπορεί να επικολληθεί στο wiki. Αναλύει διαδρομές, αλλά και δίκτυα διαδρομών ή συλλογές δικτύων διαδρομών, ανάλογα με την επιλογή στο JOSM όταν εκτελείται το σενάριο.
     52* [attachment:ticket:7991:AutoAddIntersections.py AutoAddIntersections] (needs [wikitr:/Help/Plugin/UtilsPlugin2 UtilsPlugin2]) - Προσθέτει ακροατή ουράς εντολών που εκτελεί την εντολή AddNodesAtIntersections του utilsplugin2 μετά από την εντολή Extrude. (Δείτε #7991)\\
     53 Εκτελείται μία φορά ανά συνεδρία JOSM.
     54
     55
     56== Ρυθμίσεις για προχωρημένους ==
     57Αναζητήστε την υποσυμβολοσειρά {{{scripting.}}}.
     58
     59{{{#!comment
     60== Δείτε επίσης ==
     61}}}
     62
     63----
     64Πίσω στη [wikitr:/Plugins Βοήθεια Πρόσθετων] \\
     65Πίσω στη [wikitr:/Help Βασική Βοήθεια]
     66
     67
     68
     69
     70