[OSM-talk-fr] Suivi des cours d'eau français
sylvain letuffe
sylvain at letuffe.org
Sam 17 Juil 16:02:21 UTC 2010
Le samedi 17 juillet 2010 17:01:43, Rodolphe Quiedeville a écrit :
> On peut ajouter http://tile.quiedeville.org/river/ pour le suivi, je
> m'étais amusé à faire un rendu hydro pour étudier le fonctionnement de
> mapnik.
Tu as donc du te rendre compte du problème. La méthode que tu utilises, qui
est, je suppose, de dessiner les waterway=river présente un problème à zoom
faible, car ça devient illisible tellement chaque petit bout de rivière
inconnue est dessinée.
Donc, il faut faire chauffer le postgis ;-)
J'utilise ça comme layer :
<Parameter name="table">
(select st_collect(way) as way,st_length(st_collect(way)) as longueur
from planet_osm_line where waterway IS NOT NULL and (waterway='river'
or waterway='canal') and st_length(way)>10000 group by osm_id)
as water_lines
</Parameter>
(j'ai pas mal galéré avant d'utiliser st_collect way, qui ne devrait pas être
utile normalement, mais comme osm2pgsql découpe les longs ways, c'est soit ça
soit patcher osm2pgsql, ce que j'ai fini par faire)
Et un style genre ça :
<Style name="water_lines">
<Rule>
<Filter> [longueur] > 100000</Filter>
<LineSymbolizer>
<CssParameter name="stroke">#1693f3</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
<CssParameter name="stroke-linejoin">round</CssParameter>
<CssParameter name="stroke-linecap">round</CssParameter>
</LineSymbolizer>
</Rule>
Le 100000 n'est en fait pas 100km car on est en projection mercator, mais en
gros ça va pour la zone france, idéalement il faudrait passer par un
st_transform, mais je crains que ça n'alourdisse passablement la requête
Plus d'informations sur la liste de diffusion Talk-fr