[OSM-talk-fr] Limites administratives - rendu mapnik

Gilles Bassière gbassiere at gmail.com
Mar 19 Oct 14:37:15 UTC 2010


Étienne Loks wrote:
> Bonjour,
> 
> Le 19/10/2010 15:49, sly (sylvain letuffe) a écrit :
>> On mardi 19 octobre 2010, Étienne Loks wrote:
>>> communes dont le nom n'apparaît pas (comme Rennes, Paimpont, etc.).
>> L'hypothèse de Gilles me semble insuffisante pour expliquer les deux que tu 
>> viens de citer, puisque la surface des deux communes est grande, et il y 
>> aurait largement la place.
> 

La surface des géométrie n'entre pas en considération dans le placement
des étiquettes. Si mes souvenirs sont bons, ce placement est fait après
tout le reste pour que les étiquettes apparaissent toujours au-dessus
des autres couches. L'algorithme utilise alors seulement les centroïdes
des géométries et positionnent les étiquettes les unes après les autres
en s'assurant qu'elles ne chevauchent pas d'autres étiquettes (en tenant
compte d'une marge).

Si mes souvenirs sont bons, cette détection de chevauchement considère
les étiquettes de *toutes* les couches, pas seulement celles de la
couche concernée, ce qui rendrait le résultat d'autant plus
difficilement prévisible.

J'ai bien dit plusieurs fois "si mes souvenirs sont bons". Mieux vaut
reposer la question sur mapnik-users. Les développeurs du projet ont la
mémoire plus fraîche et sont habituellement très réactifs.

>> La vérité est ailleurs, et il faudrait faire plus de test pour savoir si ça 
>> vient d'un bug de mapnik, un problème de mémoire quelque part ou autre.
> 
> Probablement un bug de mapnik du coup. Car en forçant le chevauchement
> ça passe. Il sera p-e utile que je reporte ce cas de figure sur la liste
> mapnik.
> 

Possible que ce soit un bug mais possible aussi que ce soit une
configuration inappropriée. Le placement des étiquettes est un mécanisme
compliqué et très certainement capricieux. Il faut savoir que ce
mécanisme était un des points forts du projet dès ses débuts, j'imagine
que ça a été testé en long en large et en travers. Bref, si tu contactes
mapnik-users, mieux vaut avancer prudemment avant de parler de bug.

Il me semble qu'il y a un paramètre pour jouer sur l'écartement entre
les étiquettes, min_distance peut-être (à vérifier dans la doc). Je ne
sais plus quelle est la valeur par défaut.

La clause order by reste aussi une piste à ne pas négliger, quand tu
fais la requête à la main, est-ce que rennes et paimpont (pour reprendre
l'exemple) arrivent avant les communes qui leur sont limitrophes ?

Cordialement
-- 
Gilles Bassière - Web/GIS software engineer
http://gbassiere.free.fr/




Plus d'informations sur la liste de diffusion Talk-fr