De toute façon, place=* devrait être déprécié sur les noeuds, et déplacé sur la relation appropriées (en même temps que les indications sur la population).
- Ces noeuds ne sont encore là que pour compatibilité avec les rendus quand les communes n'avaient pas encore leur frontières définies. - La relation communale (niveau 8) devrait être nommée "Cherbourg-Octeville" avec place=town - Au niveau 9 des communes associées, ou au niveau 10 des anciennes communes, on peut distinguer "Cherbourg" et Octeville (avec place=suburb si on veut). - Au niveau 11 on a encore la possibilité de créer des quartiers de chaque commune si on est dans le cas des communes nouvelles (avec des communes déléguées) ou celui des communes associées. - Il ne resterait alors qu'un noeud référencé avec le rôle admin_center, et dont le nom devrait être le plus local possible, donc "Cherbourg", voire "Mairie" ou "Hôtel de ville" Les moteurs de rendus devraient ne pas utiliser ce nom s'ils veulent afficher un nom de ville mais pas les frontières, en recherchant une relation associée de type "boundary=administrative"+"admin_level=8" référençant ce noeud par un rôle "admin_centre"; ils devraient même pouvoir utiliser la relation directement sans noeud admin_centre, en utilisant alors un centroïde calculé; ce membre admin_centre ne sert plus alors que pour indiquer la position préférable pour afficher le libellé sans avoir à le calculer, ni tomber par calcul complètement en dehors de frontières concaves (comme pour L'Île-Saint-Denis, un cas où le calcul simple du centroïde échoue et demanderait de chercher une ligne passant par ce point pour prendre les deux premières intersections et prendre le point milieu ; la ligne d'intersection peut être délicate à déterminer si la commune a plusieurs parties exclavées : il faudrait alors prendre la zone fermée la plus grande, sachant que ce n'est pas toujours la plus grande exclave où se situe la ville ou le village le plus peuplé de la commune ou son administration communale ; si on considère l'exclave la plus grande, ou obtient en traçant une ligne horizontale parfois plusieurs paires de points formant des segments alignés mais disjoints dans la surface : il faudrait prendre le segment le plus long pour mieux placer le centroïde). Un calcul de centroïde correct à partir d'un polygone ou multipolygone (ou relation frontière) consiste donc à : - identifier les anneaux externes (outer) : calcul un peu compliqué - déterminer pour chaque anneau externe celui ayant une bounding box la plus grande : pas compliqué - prendre comme point d'appui le centre de cette bounding box. - garder la liste de points d'intersections de la ligne horizontale passant par le point d'appui avec TOUTES les frontières (internes ou externes peu importe). - on obtient une suite de paires de points (voir un point double si la ligne passe par un sommet extrême touchant le haut ou le bas de la bounding box; on élimine ces points doubles). - parmi les paires de points successives formant des segments disjoints, déterminer le segment le plus long - utiliser le centre de ce dernier segment comme centroïde. Si on avait généralisé ce genre de calcul, on n'aurait même pas besoin de préciser les admin_center et des communes très concaves auraient leur centroïde calculé dans un endroit approprié (et cela suffirait pour les rendus à faible niveau de zoom ne représentant pas les frontières. Le 5 juillet 2013 15:59, Francescu GAROBY <windu...@gmail.com> a écrit : > Ta question, c'est de savoir si le node 'admin_centre' est placé sur ce > qui était Cherbourg ou Octeville (avant la fusion) ? Ou de savoir si la > valeur de 'place' est la bonne (là je confirme que non : > Cherbourg-Octeville fait 38.000 habitants, donc ça devrait être > 'place=town') ? > > Francescu > > > Le 5 juillet 2013 15:40, Christian Quest <cqu...@openstreetmap.fr> a > écrit : > > Cherbourg me pose un petit problème... >> >> Cherbourg et Octeville ont fusionné en 2000, donc la commune c'est >> Cherboug-Octeville, elle a sa relation en admin_level=8 et un >> admin_centre sur un nœud name=Cherbourg et place=suburb ! >> >> Pour placer les noms de grandes villes, j'utilise les nœuds >> place=city/town >> >> Y'a des locaux pour nous éclairer ? >> >> _______________________________________________ >> Talk-fr mailing list >> Talk-fr@openstreetmap.org >> http://lists.openstreetmap.org/listinfo/talk-fr >> > > > > -- > Cordialement, > Francescu GAROBY > > _______________________________________________ > Talk-fr mailing list > Talk-fr@openstreetmap.org > http://lists.openstreetmap.org/listinfo/talk-fr > >
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr