Le style est en place: http://tile.openstreetmap.fr/?zoom=19&lat=44.13525&lon=4.8059&layers=B00000
Vous pouvez voir ce que ça donne sur des cas tordus et signaler les problèmes via TRAC. Comment ça marche ? Requête SQL: (select osm_id, ST_GeometryN(st_union(way),1) as way, max(angle)-min(angle) as angle_diff, avg(angle) as angle from (select p.osm_id, p.way as way, cast(90+degrees(ST_Azimuth(st_line_interpolate_point(ST_Intersection(st_buffer(p.way,0.1), h.way),0),st_line_interpolate_point(ST_Intersection(st_buffer(p.way,0.1), h.way),1))) as integer) % 180 as angle from planet_osm_point p join planet_osm_line h on (st_intersects(p.way,h.way) and h.highway is not null and h.highway not in ('footway','cycleway','path','pedestrian','steps','service')) where p.highway='crossing' and p.way && !bbox!) as crossing group by osm_id ) as highway_crossings Style cartocss: #highway_crossings { [zoom=19][angle_diff<30] { point-ignore-placement: true; point-file: url('symbols/fr/crossing2.png'); point-transform: 'rotate([angle])'; } [zoom=19][angle_diff>=30] { point-file: url('symbols/fr/crossing.png'); point-transform: 'scale(0.75)'; } } Donc... si l'angle des différents segments qui aboutissent sur un highway_crossing ont plus de 30° d'écart, je met une icone de passage piéton, sinon je met les bandes blanches correctement orientées (enfin gris très clair). _______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr