[OSM-talk-fr] Vers une mise à disposition d'un rendu "FR" (était: osm13 est opérationnel !)
Vincent de Chateau-Thierry
vdct at laposte.net
Mar 12 Mar 20:13:50 UTC 2013
Bonjour,
Le 11/03/2013 13:10, Christian Quest a écrit :
> 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
>
Petit retour à hier : j'ai déposé par ici [1] ma manière de faire de
points orientés pour supporter un symbole avec rotation. Tu as du tout
spatial en une requête, j'ai du tout relationnel en plusieurs requêtes,
comme quoi :-)
Une question sur ta requête : comment gères-tu (ou pas) les mises à jour
en continu ? Est-ce que le zoom 19 permet, en opérant sur un volume de
données minuscule, de jouer la requête à chaque demande de tuile ?
J'avais éludé le problème de mon côté, fabriquant en une fois pour un
territoire assez large (Clermont-Fd), ce qui permet de s'asseoir sur les
performances :-(
vincent
[1] : https://github.com/vdct/Passages_pietons/blob/master/crossing.sql
Plus d'informations sur la liste de diffusion Talk-fr