2010/5/26 Carlo <cybo...@gmail.com>: >> E' corretto anche se inutile. >> Il tag layer serve a "mappare per il render". > Ma questo non è contrario a quello detto nel > wiki: > http://wiki.openstreetmap.org/wiki/Key:layer
Il wiki è sibillino: "Do not use this tag to correct render behaviour, as in just to make the output look better" "Non usare questo tag per *correggere* il comportamento del render, cioè per migliorare l'aspetto grafico". Mi spiego meglio: è *previsto* che il render usi questo tag per mostrare un aspetto grafico "corretto", cioè con le vie sopra che nascondono quelle sotto. Cioè se la way A passa sotto la way B è corretto assegnare layer=0 alla A e layer=1 alla B e *aspettarsi* che il render faccia quello che deve. Se non lo fa, è un bug del render! Come cercavo di dire, però questo è proprio "mappare per il render" nel senso che l'informazione "A sta sotto B" è un'informazione esclusivamente grafica, cioè serve per dirigere l'"algoritmo del pittore" di Mapnik (se volessi un'informazione oggettiva, metterei il tag ele sia ad A che a B) Quello che il wiki proibisce è di giocare con layer per puri scopi grafici, come ad esempio un lago dentro un bosco, ma il bosco non è correttamente taggato come multipolygon. Potrebbe capitare che il render nasconda il lago perché disegna il bosco sopra il lago. In questo caso sarei tentato di giocare con layer assegnando layer=0 al bosco e layer=1 al lago. Questo è scorretto: sto aggirando un problema (di altro tipo!) con layer. > Che significato ha layer=1 in questi tratti ? Assolutamente nessuno. Ma secondo me stai vedendo un significato eccessivo al tag layer, che serve esclusivamente come suggerimento agli algoritmi di Mapnik. > Mi ripeto, perchè non vorrei essermi spiegato male, parlo di tratti che > sono in superfice, non passano sopra a fiumi od altre strade ne in > galleria. Sei stato chiarissimo. Ma vorrei obiettare che "in superficie" == "layer=0" non è assolutamente vero. Prendi un fiume per i fatti suoi. E' in superficie, quindi secondo te "layer=0" Prendi una strada per i fatti suoi. E' in superficie, quindi "layer=0". Ora supponi che si incontrino. Come assegni il tag layer? Sento già che dici: "se la strada scavalca il fiume, c'è un ponte, quindi la strada (in un tratto) diventa layer=1 e il fiume rimane layer=0". Ma io potrei obiettarti: "se guardi bene, la strada rimane alla stessa altezza (il ponte è a raso): è il fiume che è sempre stato un metro più sotto del livello della strada, quindi in quel tratto il fiume diventa layer=-1" Chi ha ragione? Entrambi! Il fatto è che un tag layer, assegnato ad un unico oggetto, non ha alcun significato. Diventa significativo solo quando prendi due oggetti e ne confronti il layer (con la regola che layer=0 di default): l'oggetto con layer più alto sta sopra. Quindi entrambe le mappature (+1,0 oppure 0,-1) hanno lo stesso significato. >> Quindi una way completamente isolata può avere un tag layer qualsiasi: >> ciò non ha alcun effetto estetico, e neppure semantico ("questa way è >> più alta delle way con layer=0 che incrocia" è un'affermazione vera, >> perché non incrocia nessuna way!) > Io avevo capito esattamente l'opposto, ovvero che il layer andasse > usato in presenza di incroci per specificare chi sta sotto a chi. Sì hai ragione, serve proprio a quello! Io sto dicendo che un tag layer ad una way isolata è del tutto pleonastico. Tu stai dicendo che il tag layer serve solo quando due way si incrociano. Stiamo dicendo la stessa cosa da punti di vista opposti! > Un dubbio mi assale :-) Ma a che serve una strada isolata a layer -5 > per esempio ? Assolutamente a niente. Cancella pure quel tag se ti fa stare più tranquillo :-) Ciao, Federico _______________________________________________ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it