Risoluzione dei conflitti in JOSM

Revisionato il 2017-09-15

Talvolta lavorando con JOSM, quando carichi i tuoi bellissimi edit ottieni un brutto messaggio che si lamenta di un conflitto.
conflict detected
E’ successo che hai scaricato dei dati, in cui c’è un punto che chiamiamo Nodo A. Mentre stavi editando, qualcun altro ha scaricato il Nodo A, lo ha cambiato e ha salvato i cambiamenti in OpenStreetMap. Adesso, quando provi a caricare la tua versione del Nodo A, questa è differente da quella presente in OSM. Quindi JOSM non sa quale quale versione del Nodo A deve essere salvata.

Conflitti

Talvolta JOSM è capace di risolvere autonomamente i conflitti e ti darà un messaggio come questo:
resolved automatically
Ciò significa che JOSM ha deciso autonomamente che gli oggetti nel tuo dataset locale non saranno caricati perchè sono stati già cancellati da un altro utente. In alcuni conflitti, comunque, JOSM non può prendere l’iniziativa e così lascia decidere all’utente come procedere. Tocca a te risolvere il conflitto.

Questa segnalazione ti avvisa che devi risolvere i conflitti del Livello 1 prima di poter caricare i dati:
warning unresolved

Questa finestra ti avvisa che probabilmente incontrerai un conflitto con le tue modifiche. Se controlli sul server sarai in grado di sistemare i problemi che potrebbero esserci:
check on server

Questo avviso ti dice che JOSM non è riuscito a cancellare un nodo dato che è ancora utilizzato in una way. Per risolvere questo problema, l’utente deve tornare in JOSM e risolvere il conflitto prima di caricare i dati:
still in use

Risoluzione dei conflitti

Il processo di risolvere un conflitto è molto semplice, sebbene a prima vista possa sembrare complicato in JOSM. Di base, per ogni conflitto JOSM ti presenterà due alternative - la tua versione di un oggetto e quella che c’è sul server. Tu devi scegliere se mantenere la tua versione, o se deve rimanere la nuova versione sul server.
Tu potresti pensare “di certo è migliore la mia versione!”, e forse potresti aver ragione. Ma ripensa al nostro esempio all’inizio di questo capitolo. Magari mentre eri impegnato a fare modifiche, un altro utente ha aggiunto molte informazioni ad uno dei nodi che avevi scaricato. Se scegli la tua versione rispetto alla loro, perderai tutte le preziose informazioni che loro hanno aggiunto. Quindi dovresti considerare di mantenere la loro versione, o di integrarla con la tua.
Quando ti compare una finestra di conflitto, è meglio scegliere il pulsante “Sincronizza … solamente”. Puoi farlo per più di un oggetto, ma è meglio risolvere i conflitti uno alla volta.
synchronize node
Quando clicchi questo pulsante, ti comparirà una finestra che dettaglia il conflitto. Il messaggio d’errore può sembrare complicato, ma è piuttosto semplice. Saprai che tipo di conflitto è dal quadratino rosso nella linguetta in alto. Il conflitto nell’esempio sottostante si riferisce alle proprietà, quali la posizione e l’esistenza dell’oggetto. Questo è il motivo per cui sono elencate le coordinate e lo stato di cancellazione.

Tipi di Conflitto:

  • Proprietà: L’oggetto è stato spostato (coordinate) o cancellato
  • Etichette: Le etichette non corrispondono
  • Nodi: C’è una differenza nella lista dei nodi delle due way
  • Membri: C’è differenza nella lista dei membri di una relazione
    properties with conflicts

I conflitti appaiono solo nel caso di due modifiche contemporanee. Se ci sono tre o più conflitti, apparirà una catena di conflitti. Dovrai quindi scegliere o unire due conflitti alla volta. Potrai scegliere la tua versione, l’altra versione o, a volte, unire le due.

Nel seguente esempio non hai l’opzione di unire le versioni. Clicca sulla prima colonna, o Mia versione se ritieni che le tue modifiche siano corrette. Clicca su Loro versione se ritieni che le loro modifiche siano migliori.
conflicts resolved

Una volta che hai selezionato quale versione pensi che sia migliore, clicca su “Applica Risoluzione”. Comparirà ancora qualche finestra e sarai quasi pronto per caricare le tue modifiche. Fai ancora qualche modifica. poi clicca ‘Carica’. Ti comparirà una finestra che dice:
command stack

Nel tuo menù Finestre avrai una Lista Conflitti. Questa finestra visualizza un elenco di conflitti. Nella testata è visualizzato il numero totale di conflitti non risolti. Puoi selezionare o risolvere un conflitto cliccandolo. Questo è utile quando hai molti conflitti da sistemare.
one unresolved
Non puoi caricare le tue modifiche finchè questa lista non è vuota.

Modi per evitare i conflitti

Aggiornare frequentemente

Per minimizzare la possibilità ed il numero di conflitti, è importante caricare con regolarità le proprie modifiche. I conflitti avvengono con più frequenza per chi è abituato a salvare l’area su cui sta lavorando in locale ed aspetta parecchio prima di caricarla sul server. E’ meglio scaricare l’area su cui si sta lavorando, modificarla e poi caricarla subito sul server. Più è lungo i’intervallo di tempo tra lo scarico dei dati ed il caricamento delle modifiche, più è probabile che qualcun altro abbia fatto altre modifiche nel frattempo. Se ti trovi ad un Mapathon e stai modificando una strada che può essere modificata anche da altri, carica molto spesso, magari ogni 6 modifiche!

Modifica nell’area che hai scaricato

Modificando nella specifica area che hai scaricato minimizza il rischio di conflitti. Assicurati di non fare modifiche fuori dall’area che hai scaricato. Puoi facilmente verificare in JOSM quali aree sono esterne all’area che hai scaricato, perché lo sfondo è costituito da linee diagonali invece che essere di un nero uniforme.

edit outside area

Riassunto

Quando modifichi in JOSM, rischi di incappare in conflitti. I conflitti avvengono quando un oggetto viene modificato da più persone contemporaneamente. Capendo cos’è un conflitto e come trattarlo, sarai in grado di assicurare che le modifiche migliori siano salvate in OpenStreetMap.