Suite

Rendre toutes les routes avec une largeur égale dans Mapnik

Rendre toutes les routes avec une largeur égale dans Mapnik


Existe-t-il un moyen simple de rendre toutes les routes et tous les chemins avec une largeur égale dans Mapnik ? Dans le rendu ci-dessous, toutes les lignes ont la même largeur de ligne, mais comme la plupart des grandes routes ont de nombreuses voies ou routes parallèles qui se chevauchent (presque), elles semblent plus grosses.

Ma source pour Mapnik est une base de données PostGIS avec des données OSM.

Des idées?


Jetez un œil à Skeletron, qui est un outil Python pour fusionner des lignes adjacentes.

(Au fait, je suis venu ici via votre demande dans #osm IRC, mais il serait poli que vous attendiez là un peu plus de 30 secondes pour voir si quelqu'un a une réponse à votre question !)


Vous pouvez définir différentes largeurs de ligne dans mapnik avec un filtre, par ex.

 ([type]='autoroute')   ([type]='primaire') 

Pour créer des fichiers mapnik plus complexes, j'utilise généralement Tilemill car je trouve CartoCSS plus facile à lire et bien documenté. Pour plus d'informations consultez le guide des lignes de coiffage et la référence CartoCSS.

Un exemple de style de lignes de route pourrait être :

#roads { [type='motorway']{ line-width:.5; ligne-couleur:#168; } [type='primary']{ line-width:1; ligne-couleur:#168; } [type='secondaire']{ line-width:1; ligne-couleur:#168; } [type='residential']{ line-width:1; ligne-couleur:#168; } }

Après avoir créé votre carte dans Tilemill, vous pouvez exporter le style au format Mapnik XML que vous pouvez ensuite utiliser dans votre application.


Voir la vidéo: Tutoriel Bottle Framework: 2 - Les routes