[Talk-it] XML scritto a mano... come si carica sul server?
Carlo Stemberger
carlo.stemberger at gmail.com
Fri Nov 14 07:19:41 GMT 2008
Dando un'occhiata a Tagwatch Italy[1], ho visto che c'era un errore
molto diffuso per quanto riguarda il tag cycleway="track", che era
inserito come cycleway="track " (spazio di troppo) più di 750 volte.
Allora ho scaricato il file .osm, l'ho aperto con Merkaartor, e mi sono
accorto che l'errore era ben più grave: il tag era stato inserito su
ogni singolo nodo del sentiero, e non è presente nessuna way!
A quel punto mi sono chiesto se fosse possibile correggere l'errore e mi
sono messo ad analizzare la struttura XML di OSM (che non avevo mai
approfondito); andando per tentativi (creandomi degli esempi man mano un
po' più complessi) ho capito che in pratica basta aggiungere in alto,
sopra ai tag dei nodi, il tag <way> contenente il riferimento a tutti i
nodi che poi vengono descritti sotto.
Quindi, dopo aver suddiviso in 2 nuovi file il file scaricato (perché in
realtà i sentieri sono 2), sono arrivato a scrivere questi comandi per
estrarre i dati da mettere in cima:
for i in $(grep "node id" primo.osm | cut -f 4 -d " " | sed -e
's/id/ref/g'); do echo " <nd "$i"/>"; done | sort > nodiprimo.txt
(e la stessa cosa per il secondo sentiero)
Poi ho aperto i 2 file, ho creato i tag <way> e ci ho piazzato dentro i
2 elenchi ottenuti (ovviamente si poteva fare tutto direttamente con uno
script, ma al momento sono una capra in questo settore...).
Infine ho provato ad aprire i 2 file "corretti" con Merkaartor, e tutto
sembrava perfetto. Peccato che adesso non riesca a caricare sul server
la nuova way: tutti i nodi (a cui ho rimosso tutti i tag) sono stati
aggiornati, ma quando cerco di caricare la way mi vien detto:
> There was an error uploading this request (404)
>
> Server message is 'Not Found'
>
La way del primo sentiero ha questo id:
<way id="{9dc2eba1-8d97-4170-b049-19ab82fe34d3}">
la del seconda:
<way id="{9dc2eba1-8d97-4170-b049-19ab82fe34d5}">
(sono dei valori che ho messo abbastanza a caso seguendo ciò che produce
normalmente Merkaartor)
Immagino che il problema stia lì: si può correggere?
Ovviamente non è che ci tenga particolarmente a quei 2 sentieri (anche
se adesso sono ormai quasi recuperati), era solo un'occasione per
mettere il naso ad un livello un po' più basso.
Grazie!
--
.' `. | Registered Linux User #443882
|a_a | | http://counter.li.org/ .''`.
\<_)__/ +--- : :' :
/( )\ ---+ `. `'`
|\`> < /\ Registered Debian User #9 | `-
\_|=='|_/ http://debiancounter.altervista.org/ |
More information about the Talk-it
mailing list