layer=* sert surtout à indiquer qu'il n'y a pas d'intersection et qu'un objet est au dessus d'un autre.
S'il n'y a qu'un seul objet en présence, il ne change rien au rendu en tant que tel de cet objet : seul tunnel=yes ou bridge=yes a un effet. Mais si on a un objet qui a une intersection apparente sans aucun noeud commun, alors il faut mettre un layer=* au moins sur un objet (le layer par défaut d'un objet a la valeur 0) pour marquer explicitememtn qu'il n'y a pas d'intersection (donc pas de noeud en commun) et que l'un est à dessiner par dessus l'autre dans un ordre prédéterminé. En pratique layer=* ne sert qu'au rendu, il ne strictement change rien à la modélisation, sauf qu'il indique explicitement qu'il n'y a effectivement pas d'intersection entre les objets partageant la même valeur de layer=*. C'est déjà le cas par défaut si on n'a pas de noeud commun, mais ce sont les moteurs d'analyse qui cherchent à savoir si une intersection n'a pas été oubliée : si deux objets sont dans le même layer et qu'ils ont des points ou surfaces en commun dans la projection 2D d'OSM, ces objets sont en intersection et alors que faire des tags de chacun d'eux si ils sont incompatibles entre eux ? Une route et un fleuve ne sont normalement pas compatibles entre eux, sauf si on tague explicitement la partie en intersection (par exemple un gué), ou quon supprime cette intersection en les mettant dans des layers séparés. Maintenant même si on a mi des layers séparés pour une route et une rivière, cela devrait suffire pour le rendu correct car on sait lequel passe au dessus de l'autre. Mais l'analyse cherche souvent à savoir s'il l'objet du dessus est un pont, ou si l'objet du dessous est un tunnel : ce n'est pas à l'endroit de l'intersection évitée qu'on peut répondre, mais sur ce qui est autour et amène à cette intersection : - si l'objet au dessus est en moyenne plus haut que la route qui y vient, on a normalement un pont sur cet objet. - si l'objet en dessous descend sous le niveau moyen, on a normalement un tunnel sur cet objet. - mais on ne peut pas répondre si aucun des deux objets ne subit un changement de hauteur absolue (et dans ce cas mette l'un en pont plutôt que l'autre en tunnel est un choix arbitraire). En principe, une rivière ne peut pas descendre et remonter de l'autre côté, contrairement à un pont ou tunnel routier ; et les terres autour de la rivière sont plus haut et s'alignent en hauteur avec la route. C'est pour ça que la plupart du temps dans une intersection rivirère/route on a un pont sur la route et non un tunnel sur la rivière (mais ce second cas existe). Pour les intersections route/route, il n'y a aucune règle morphologique. Mais comme le schéma routier privilégie de minimiser les changements de hauteur et minimise les besoins en matériaux et coûts de déblaiement (et de renforcement des parois pour éviter le comblement de l'excavation, ainsi que les équipements de mise hors d'eau), on a le plus souvent un pont (moins compliqué, moins cher) pour la voie du dessus plutôt qu'un tunnel pour la voie du dessous. Mais on devrait avoir l'un ou l'autre. Si on a soit un point soit un tunnel dans la partie des deux chemins en intersection, on devrait pouvoir se passer alors de layer=* sur les deux chemins : si on trouvait une route sans pont et sans layer de valeur inférieure à une section de rivière sans layer marquée en bridge (oui ça existe !) on peut déduire que la rivière est à un layer supérieur (un bridge est nécessairement au dessus d'un non-bridge ; de même un tunnel set nécessairement en dessous d'un d'un non non-tunnel). Cela veut dire aussi que des cas comme ceux-ci sont en erreur (layers incompatibles) : - bridge=yes **et** tunnel=yes sur le même objet (peu importe leurs layers) - bridge=yes sans layer (équivalent à layer=0), contre un autre objet non-bridge (tunnel ou pas) avec layer > 0 - tunnel=yes sans layer (équivalent à layer=0), contre un autre objet non-tunnel (bridge ou pas) avec layer < 0 Le cas suivant n'est pas toujours une erreur, mais il manque quelquechose (soit des noeuds supplémentaires, soit des layers pour lever l'ambiguité) : - non-bridge **et** non-tunnel, contre un autre objet non-bridge **et** non-tunnel (signalé par Osmose) Mais des cas comme ceux-ci sont corrects: - bridge=yes sans layer (équivalent à layer=0), contre un autre objet non-bridge (tunnel ou pas) avec layer < 0 - bridge=yes sans layer (équivalent à layer=0), contre un autre objet bridge (non-tunnel) avec layer != 0 - tunnel=yes sans layer (équivalent à layer=0), contre un autre objet non-tunnel (bridge ou pas) avec layer > 0 - tunnel=yes sans layer (équivalent à layer=0), contre un autre objet tunnel (non-bridge) avec layer != 0 Cependant les cas suivants sont moins graves (on peut déduire un ordre automatiquement, les layers sont redondants, Osmose les sginale mais en fait un moteur de rendu peut lever l'ambiguïté) : - bridge sans layer, contre un autre objet non-bridge **et** non-tunnel sans layer - tunnel sans layer, contre un autre objet non-bridge **et** non-tunnel sans layer - bridge avec layer=N, contre un autre objet non-bridge **et** non-tunnel avec le même layer=N - tunnel avec layer=N, contre un autre objet non-bridge **et** non-tunnel avec le même layer=N Le 22 février 2013 23:01, Mides <mides....@gmail.com> a écrit : > Bonsoir, > > pourquoi pas, et c'est vrai que ton raisonnement est tout à fait logique. > > Mais il m'arrive parfois d'avoir un "avertissement" me signalant un > croisement entre un cours d'eau et une route, où l'on trouve bien un > tag:bridge sur celle ci donc...je rajoute layer:-1, mais finalement ce n'est > peut être pas très utile. > > Pour mon ruisseau qui serpente à travers champ et bois, puis longe une route > sur un tronçon et finit par la traverser, j'hésite quand même à mettre un > tag bridge:yes pour un "passage" de 1.50 m. Par contre là, et je ne sais > point si c'est le tag layers:-1 ou tunnel:culvert qui mène la barque, mais > je n'ai pas "d 'avertissement" et le ruisseau passe bien, visuellement, sous > la route. > > Michel > > > > > > Le 22 février 2013 22:45, Vincent de Chateau-Thierry <v...@laposte.net> a > écrit : > >> Bonsoir, >> >> Le 22/02/2013 22:31, Mides a écrit : >>> >>> >>> J'ai bien mis layer:-1 et tunnel:culvert mais celui ci apparait quand >>> même sur la carto, et rien ne laisse supposer qu'il n'est donc pas >>> visible. >>> >> >> Ajouter "layer=-1" pour un tunnel, ou "layer=1" pour un pont n'a d'intérêt >> que si d'autres objets à proximité immédiate sont, respectivement, en >> dessous du tunnel ou au dessus du pont. >> Dit autrement, si aucun objet n'a besoin d'un tag "layer=-2", alors ce qui >> est taggué en tunnel n'a pas besoin d'être surchargé par "layer=-1". >> Idem pour un pont : si aucun objet n'a a être placé au dessus du pont avec >> "layer=2" (par exemple une ligne électrique), alors ajouter "layer=1" est >> redondant avec le tag bridge=yes. >> >> vincent >> >> _______________________________________________ >> Talk-fr mailing list >> Talk-fr@openstreetmap.org >> http://lists.openstreetmap.org/listinfo/talk-fr > > > > _______________________________________________ > Talk-fr mailing list > Talk-fr@openstreetmap.org > http://lists.openstreetmap.org/listinfo/talk-fr > _______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr