[OSM-talk-fr] Vers une mise à disposition d'un rendu "FR" (était: osm13 est opérationnel !)

Christian Quest cquest at openstreetmap.fr
Lun 11 Mar 12:10:18 UTC 2013


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).




Plus d'informations sur la liste de diffusion Talk-fr