É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/ _______________________________________________ Talk-fr mailing list [email protected] http://lists.openstreetmap.org/listinfo/talk-fr

