Rendu "FR": placement des toponymes...

La carte de France du rendu OpenStreetMap par défaut semble bien vide à cause de nos 36000 communes qui chacune ont un faible nombre d'habitants.

Aux échelles intermédiaires, c'est particulièrement visible car seules les villes d'au moins 10000 habitants sont indiquées.

 

Exemple:

 

Le rendu "FR" tente donc de corriger cela en plaçant les noms de villes de moins de 10000 habitants par ordre décroissant de population, afin que les plus importantes aient la priorité. Le problème c'est qu'il faut s'arrêter à un moment au risque de saturer la carte de noms de petites villes et villages.

Pour limiter la quantité de noms, une marge de 25 pixels est imposée qui limite donc leur densité. Le problème c'est que cette marge empêche d'autres éléments comme les références de route d'être tracés. On peut les placer en priorité, avant les noms de villes et cela donne ceci:

 

C'est mieux mais pas idéal car les petites villes principales coupées par des routes importantes voient leur noms impossible à placer. La solution consiste à placer les noms de villes en 2 passes, l'une pour les noms prioritaires avec une faible marge qui autorise une plus forte densité, puis vient les autres éléments comme les références de routes, puis une autre passe de "remplissage" avec les noms de ville/village restants avec une marge importante pour ne pas saturer la carte, ce qui donne:

 

C'est surtout le zoom 11 qui profite de cette dernière amélioration... en cours de recalcul sur http://tile.openstreetmap.fr/