Le 21/06/2017 à 12:43, Christian Quest - cqu...@openstreetmap.fr a écrit :

Une carte papier a deux différences principales à mon avis par rapport à une carte en ligne:

 (...)

- on travaille sur une emprise limitée (ça simplifie)
Mais dans un cadre limité (ça complique).
Car si sur une tuile tu peux couper un texte, par exemple mettre l'étiquette Brest à l'ouest de la ville et Strasbourg au nord (pour mettre Kehl au sud), sur une carte papier de la France tu ne peux le faire (sauf à autoriser l'utilisation des marges le cas échéant). Sur les cartes nautiques marines électroniques, il faut que les données soient visibles à l'écran mais il n'y a pas à ma connaissance de feuille de style qui le fasse (déjà pour les règles d'affichages ce sont des procédures style ordres à des imprimantes). World Wind (qui existe en Java comme en Javascript) a de bons systèmes de placements de labels. Là encore pas vraiment de la feuille de style et peut-être quelque chose à ajouter à Mapnik pour styler comme ça (*) mais je connais trop peu Mapnik pour être affirmatif.

Quand une feuille de style affichera l"Avenue Maréchal Jean de Lattre de Tassigny" sur une rue courte et tordue (par exemple Av. M^al T^gny )... Au niveau de zoom 19, le rendu par défaut <http://www.openstreetmap.org/query?lat=47.88031&lon=6.76335> comme le rendu OSM FR <http://layers.openstreetmap.fr/?lat=47.88031&lon=6.76335&zoom=19> n'arrive pas à afficher une "simple" Place Maréchal de Lattre de Tassigny <http://www.openstreetmap.org/query?lat=47.88031&lon=6.76335#map=19/47.88040/6.76338>. Le rendu HOT <http://layers.openstreetmap.fr/?lat=47.88031&lon=6.76335&zoom=19&layers=000B0FFFFFFFFFFFFFFFFFFFFFF> y arrive.

Si tu as un plan avec l'index des rues et un rendu style OSM, ne pas avoir le nom de la place sur la carte mais dans l'index des rues un "Pl. Maréchal de Lattre de Tassigny" en disons M9, et que tu vois un mémorial Maréchal de Lattre de Tassigny au milieu d'une place dans le carreau M9, tu vas deviner. C'est un peu l'exemple de JB avec ses deux parkings qu'il rassemble graphiquement et déplace : savoir qu'il y a un parking à côté du belvédère, c'est ce qui intéresse l'usager. Sur place il verra bien où est exactement le parking (ici les parkings).

Ce genre de truc (ne pas afficher des icônes ou des textes) en fonction du contexte ça semble difficilement automatisable. Par contre j'aime l'idée d'avoir une liste d'objets pas affichés (ou partiellement affichés) proposés à un traitement ultérieur. Et la possibilité de se rappeler les recettes de cuisine (comme JB le propose), par exemple pour afficher des traits de rappels en semi automatique via QGis et Postgres <https://gisunchained.wordpress.com/2015/01/12/etiquetas-com-guias-em-qgis-e-postgis-labels-leading-lines-with-qgis-and-postgis/>.

Certaines abréviations peuvent être utilisées mais pas partout (Rue de l'Avenue peut devenir r. de l'Avenue pas Rue de l'Av.) et on a la contrainte de la langue (Rue * en français = r. * si nécessaire, pas dans d'autres langues).

(*) de mémoire le système calcule l'empreinte (ou des empreintes possibles : repliement de lignes ou pas suivant les besoins) et les positions possibles. Par exemple pour une ville le nom doit être idéalement au nord mais si besoin on peut ne pas centrer, ou le placer au sud, à l'est ou à l'ouest. Voir mettre des traits de report pour signaler que le texte est déplacé par rapport à l'icône (ou le polygone) ? C'est un calcul de masque. Donc il place les icônes (dans un ordre prédéterminé) puis les différentes étiquettes en acceptant plus ou moins les recouvrements (si le texte est détouré par un halo blanc semi transparent, on peut par exemple avoir un P de Parking dans le halo mais pas un texte) et en acceptant un certain nombre de positions possibles.

Mettons que l'on affiche Strasbourg au centre. Quand on veut afficher Kehl ça ne passe pas <www.openstreetmap.org/#map=9/48.5675/7.8662> (au centre, ou aux 3 points cardinaux). L'algo essaye alors de placer Strasbourg à l'ouest. Ça passe donc on a une ville de plus d'affichée et sur une carte de passage frontière, les deux villes sont importante.

Pour les traits reliant les étiquettes, sous QGis il y a le greffon "Easy custom labelling" <https://georezo.net/forum/viewtopic.php?id=98277>. Je n'ai pas testé. Sinon sur QGis il y a pas mal d'infos dans la doc <http://planet.qgis.org/planet/tag/labeling/> autant sur des greffons que sur la bonne utilisation de l'existant.

Bon, je relève les copies dans 4h, c'est l'époque ;-)

Jean-Yvon
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr

Répondre à