[Talk-it] VIA, via, ViA, PIAZZA, piazza

Paolo Molaro lupus at oddwiz.org
Tue Sep 2 17:31:03 BST 2008


On 09/02/08 Simone Cortesi wrote:
> ecco come pensavo di procedere:
> 
> 1. domenica mattina alle 4:40 CET scarico il planet italiano da geofabrik
> 2. applico con tagtransform/osmosis la modifica ai file
> 3. creo un 'delta' rispetto al planet
> 4. uploado
> 
> tutto ok?
> 
> aspetto domenica per dare la possibilità di controllare il file ancora
> un po' e di doppio-controllare le cose.
> 
> NOTA IMPORTANTE: siete avvisati...chi facesse modifiche dopo la
> mezzanotte fra sabato e domenica alle way che poi saranno da me
> modificate 5 ore dopo con lo script....si vedrà anullate le modifiche
> allo stato precedente la mezzanotte.

Scusa, ma non credo che la tua procedura di update sia accettabile.
E' encomiabile che ti alzi alle 4 di mattina di una domenica per
cercare di limitare i danni, ma si puo' fare molto meglio, riducendo
a pochi secondi per ogni singola way la finestra di tempo in cui i dati
potrebbero finire sovrascritti e continuando a dormire la notte
(o fare cose piu' divertenti...:-).

Faccio un esempio: dopo aver mappato un'isola in Grecia mi sarebbero
girati i cabasisi se qualcuno avesse deciso di distruggere 5 ore di
lavoro dopo aver mandato un analogo messaggio di avvertimento su una
mailing list in greco (che io non leggo). Lo stesso dicasi per un
turista americano che e' tornato a casa e fa l'upload delle sue
modifiche ad una citta' turistica italiana in una pausa dopo cena
mentre qui e' notte fonda e si sperava nessuno facesse modifiche al db.

Non mi pare che l'api di openstreetmap dia la possibilita' di
garantire che un oggetto non e' stato modificato in altro modo prima di
aggiornarlo, ma si puo' fare una cosa del genere:
1) si crea una lista di questo tipo (in un qualche formato xml):
	oggetto id tagname vecchio_valore nuovo_valore
2) si scrive un programmino che scarica l'oggetto dal db e controlla
che il tag abbia ancora vecchio_valore e lo cambia in nuovo_valore
facendo l'update immediatamente.

In questo modo il tempo in cui ci potrebbe essere una sovrascrittura
dei dati e' ridotto a pochi secondi (in pratica dipende solo da quanto
e' veloce il web server e il db di osm).

Io ho gia' del codice che avevo scritto per un altro progetto che puo'
essere adattato alla bisogna. Volendo in 10 minuti posso scrivere anche
il programmino che genera la lista di cui sopra (mi chiedo perche'
nell'elenco vengano messi sia 'via' che 'VIA': usi dei tool che non
possono fare confronti ignorando il case?).

lupus

-- 
-----------------------------------------------------------------
lupus at debian.org                                     debian/rules
lupus at ximian.com                             Monkeys do it better




More information about the Talk-it mailing list