|
JOSM - Creare impostazioni personalizzateNel capitolo precedente abbiamo visto come aggiungere in JOSM i menu delle impostazioni personalizzate. In questo capitolo vedrai come puoi creare un tuo file con le impostazioni personalizzate. ATTENZIONE! Questo è un argomento avanzato … considerati avvisato! Introduzione all’XMLPer poter creare un tuo menù personalizzato delle impostazioni, dobbiamo prima capire un linguaggio chiamato XML. Se hai già familiarità con XML puoi tranquillamente saltare alla prossima sezione. XML, che sta per “Linguaggio di Mark-up Estensibile” (Extensible Mark-up Language), è un linguaggio simile all’HTML. La differenza chiave è che l’XML è progettato per il trasporto dei dati, non per la sua visualizzazione. Molte applicazioni su internet utilizzano l’XML per trasmettere dati, inclusa OpenStreetMap. L’XML usa elementi, e ciascun elemento può contenere elementi “figli” al suo interno. Ad esempio immaginiamo di voler creare un file XML che contiene i dati riguardanti il menu di un ristorante. Dovremo creare un elemento radice (root element) che contiene tutti i dati riguardanti il menu. Il nostro elemento radice avrà un’etichetta (tag) di apertura ed una di chiusura, come questa:
Le informazioni sono contenute all’interno di un elemento, e all’interno di ciascun elemento possono esserci altri elementi.
In questo esempio abbiamo inserito due <item> all’interno del nostro elemento <menu> per descrivere due differenti item che sono contenuti nel menu. Ciascun item contiene due o più elementi all’interno, <cost> e <description>. Nota anche come abbiamo scritto name=”Hamburger” all’interno dell’etichetta (tag) di apertura <item>. Questo è chiamato attributo, ed aggiunge informazioni riguardanti l’elemento. Terminologia XML
L’utilizzo dell’XML per contenere e trasmettere dati è una grande cosa, perchè è semplice da capire per i computer. File delle preimpostazioni di JOSMVediamo come aggiungere un file di preimpostazioni d’esempio in JOSM ed analizziamo come funziona.
È possibile notare che il modulo che appare ha tre campi, ciascuno dei quali accetta un tipo differente di input. Il primo campo, building name, accetta una stringa di testo in input. Il secondo, building use, ha un menu a discesa. Il campo finale è una casella di spunta, che significa che può avere solo uno dei due valori “on” oppure “off”. Ora diamo un’occhiata al file XML che definisce il modulo di preimpostazione.
Per ora ignoriamo le prime sei linee e quella finale, e focalizziamoci su tutto quello che c’è tra le etichette (tags) <item>. La prima linea si presenta così:
Questa è l’etichetta (tag) di apertura di un item che è stato aggiunto al menu. Ha due attributi, name e type. L’attributo name definisce come questo apparirà nel menu preimpostazioni. L’attributo type limita questa preimpostazione a specifici tipi di oggetti. In questo caso la preimpostazione può essere applicata solamente a punti e sagome - in altre parole, nodi e percorsi chiusi. Se provassimo ad applicare questa preimpostazione ad una linea, non funzionerà. Diamo un’occhiata alla linea successiva:
Cliccando sul menu e aprendo il modulo di esempio, in alto è possibile vedere il testo “Building Form”. Questo è il testo definito da questa linea. Questo definisce l’elemento <label>, che visualizza semplicemente un testo nel modulo. Il testo è definito dall’attributo text=”some text”. Alcune linee più in basso troviamo questo:
Questa è una delle etichette (tags) che verranno applicate all’oggetto selezionato. Visto che utilizza l’elemento <key>, l’etichetta qui inserita verrà automaticamente applicata non appena la preimpostazione verrà selezionata. Quindi l’oggetto otterrà automaticamente l’etichetta (tag) building=yes. La linea seguente è un po’ diversa, usando l’elemento <text>.
L’elemento <text> crea un campo vuoto. Quando il modulo viene creato in JOSM, l’utente potrà riempire i campi vuoti. Visto che il campo delete_if_empty=”true” è selezionato, nessuna etichetta (tag) sarà aggiunta se l’utente lascia il campo vuoto. Il menu a discesa nel modulo è definito dalla linea seguente:
Un menu a discesa è definito dall’elemento <combo>. Come per l’elemento <text>, l’attributo key definisce l’etichetta (tag) key. Il valore è quindi scelto da una lista di possibili values. L’attributo display_values permette di scegliere nomi differenti da visualizzare nel menu a discesa, che saranno più semplici da capire rispetto ai valori OSM delle etichette (tag). Infine, diamo un occhiata alla linea che definisce il menu a discesa.
L’elemento <check> definisce - hai indovinato! - la casella di spunta. L’attributo default=”off” definisce che la casella è di default deselezionata. I rimanenti attributi sono già stati trattati. Creazione del proprio file di preimpostazioniIl modo migliore per creare il proprio file di preimpostazioni è quello di prenderne uno che già esiste e modificarlo per raggiungere i propri obiettivi. Sentiti libero di utilizzare questo file di esempio per fare esperimenti per imparare le basi. Ricorda solamente che, ogni volta the salvi il file, è necessario riavviare JOSM per caricare i cambiamenti. Prima di iniziare a creare le proprie preimpostazioni, occorre riflettere attentamente riguardo le etichette (tags) che useremo. Inventare nuove etichette è completamente un’altro argomento. Generalmente, se già presenti, andrebbero utilizzate le etichette OSM esistenti. La maggior parte delle etichette esistenti sono elencate nella pagina Wiki delle funzionalità della mappa. Questo file di esempio contiene la maggior parte degli elementi che troverai in un file di preimpostazioni di JOSM - non contiene molti elementi nel modulo. Se vuoi sperimentare con un file di preimpostazioni più complesso, scarica il file dhaka_presets.xml da questo link. In aggiunta, qui puoi trovare una spiegazione dettagliata di tutti gli elementi che puoi trovare. Buon divertimento!
Questo capitolo è stato utile?
Dacci il tuo parere ed aiutaci a migliorare le guide!
|