Mapnik évolue

21 septembre 2008

Un des deux rendus officiels d'OpenStreetMap est réalisé à partir du logiciel open-source Mapnik. Ce logiciel a récemment évolué au niveau des feuilles de style et donc concernant le rendu. Ces quelques essais sont très alléchants ! :-)

EDIT : ci-dessous j'ajoute un peu plus de précisions puisqu'on me le suggère dans les commentaires :-)

Mapnik, qu'est-ce que c'est exactement ?
C'est un moteur de rendu qui prend d'un côté des données géographiques (dans notre cas, OpenStreetMap), et de l'autre des règles de rendu (exemple : une route tertiary est un trait jaune entouré de liserets noirs). Avec ces deux sources, Mapnik retourne des tuiles de carte.

Qu'est-ce qui a changé exactement ?
La grande nouveauté de Mapnik, c'est Cascadenik. Avant, les règles de rendu étaient sous forme d'un énorme fichier XML qui devait être exhaustif. Pour chaque type d'élément rendu, il devait y avoir une règle prévue. Il y avait alors une grande quantité de répétitions, par exemple, la taille de police de caractère pour les noms de rues était répétée pour tous les types de rue (primary, secondary, tertiary, service, etc.)

Cascadenik reprend l'idée des feuilles de style du web (CSS). Quelques avantages :
- L'héritage des styles, avec exceptions. On peut spécifier une règle : tous les textes sont noir avec une taille de 8 pixels. On peut aussi redéfinir la règle pour un cas précis : pour les chemins, le texte est gris.
- Les classes. On peut regrouper plusieurs éléments sous un même rendu. Par exemple, définir un rendu sous un nom : "tourisme". Puis regrouper les attractions touristiques, les monuments historiques, les hôtels sous ce même rendu.

Comme l'architecture des règles de rendu est complètement différente, le responsable des rendus Mapnik a donc préféré repartir de zéro, d'où les rendus d'essais assez différents des rendus actuels... et surtout plus consistants.

2 commentaires:

  1. Je comprends à peine ce qui y est expliqué, j'ai parcouru le blog du gars et... c'est du costaud.

    En tout cas les rendus sont très sympathiques en effet :)

  2. Merci pour tes explications :) J'avais bien saisi l'avantage de l'héritage, mais je ne savais pas que mapnik utilisait qu'un seul et gros fichier avec son lot d'informations redondantes.