#1 Mon 17 March 2008 11:20
- CarineS
- Participant occasionnel
- Date d'inscription: 19 Sep 2007
- Messages: 18
[Mapserver] Problème de rendu des LABEL avec AGG
Bonjour à tous,
Je rencontre un problème lorsque je génère ma carte sous Mapserver avec le format AGG.
Mes cartes son bien plus jolies qu’en utilisant GDAL mais les étiquettes de légendes apparaissent avec des points blancs à l’intérieur (cf. fichier joint ).
Lorsque j’utilise le rendu PNG avec GDAL je ne rencontre aucun problème.
J’ai essayé les différents output format AGG, proposés sur le site de Mapserver mais les rendus sont de moins bonne qualité.
Si je change la police, j’obtiens les mêmes points blancs.
Sauriez-vous quelle est la source du problème et comment y remédier ?
Voici quelques informations que la configuration de mon mapfile :
Code:
OUTPUTFORMAT NAME 'PNG' DRIVER AGG/PNG IMAGEMODE RGB # FORMATOPTION "TRANSPARENT=ON" # résultat identique avec ou sans le FORMATOPTION FORMATOPTION "QUANTIZE_FORCE=ON" FORMATOPTION "QUANTIZE_DITHER=OFF" FORMATOPTION "QUANTIZE_COLORS=256" END
# EXEMPLE d’étiquette pour les aires urbaines
Code:
CLASS EXPRESSION '10' STYLE COLOR 209 208 205 END LABEL COLOR 0 0 0 #outlinecolor 255 255 255 FONT arial TYPE truetype SIZE 14 POSITION CC MINDISTANCE 5000 PARTIALS FALSE END END
Merci d’avance pour votre aide et bonne fin de matinée !
Carine Stolz
Hors ligne
#2 Mon 17 March 2008 13:07
Re: [Mapserver] Problème de rendu des LABEL avec AGG
Bonjour Carine,
Comme tu as très bien choisis la zone de ton exemple je vais te répondre
À priori, je dirais que la carte a été crée avec le paramètre OUTLINECOLOR dé-commenté. En fonction de la taille de contour et de celle de la police cela peut arriver que le rendu soit bizarre. En regardant bien,n on s'aperçoit que le n de Toulon a le même problème. Si tu grossis la taille de la police, mettons 20 ou plus (juste pour voir ce que cela donne comme rendu), on verra certainement plus d'où vient le problème.
[Edit] en relisant le mail je me dit que cela peut provenir d'un problème avec la bilbiothèque AGG, sauf que je n'ai pas ce problème. D'autre part, l'autre bibliothèque utilisé est certainement GD pour le rendu, et pas GDAL même si celui-ci peut être utilisé.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Mon 17 March 2008 13:29
- tbonfort
- Participant actif
- Date d'inscription: 11 Oct 2007
- Messages: 87
Re: [Mapserver] Problème de rendu des LABEL avec AGG
Bonjour,
est tu sure que le probleme persiste sans le FORMATOPTION "TRANSPARENT=ON" ? c'est un probleme connu qu'il n'y pas de support pour la quantisation en mode RGBA, avec des resultats identiques a ceux que tu montres.
sache sinon qu'il y a du code dans le trunk mapserver (et donc dans ce qui sera la version 5.2) qui permettra d'utiliser la quantisation avec IMAGEMODE RGBA (donc l'equivalent de TRANSPARENT=ON).
thomas
Bonjour à tous,
Je rencontre un problème lorsque je génère ma carte sous Mapserver avec le format AGG.
Mes cartes son bien plus jolies qu’en utilisant GDAL mais les étiquettes de légendes apparaissent avec des points blancs à l’intérieur (cf. fichier joint ).
Lorsque j’utilise le rendu PNG avec GDAL je ne rencontre aucun problème.
J’ai essayé les différents output format AGG, proposés sur le site de Mapserver mais les rendus sont de moins bonne qualité.
Si je change la police, j’obtiens les mêmes points blancs.
Sauriez-vous quelle est la source du problème et comment y remédier ?
Voici quelques informations que la configuration de mon mapfile :Code:
OUTPUTFORMAT NAME 'PNG' DRIVER AGG/PNG IMAGEMODE RGB # FORMATOPTION "TRANSPARENT=ON" # résultat identique avec ou sans le FORMATOPTION FORMATOPTION "QUANTIZE_FORCE=ON" FORMATOPTION "QUANTIZE_DITHER=OFF" FORMATOPTION "QUANTIZE_COLORS=256" END# EXEMPLE d’étiquette pour les aires urbaines
Code:
CLASS EXPRESSION '10' STYLE COLOR 209 208 205 END LABEL COLOR 0 0 0 #outlinecolor 255 255 255 FONT arial TYPE truetype SIZE 14 POSITION CC MINDISTANCE 5000 PARTIALS FALSE END ENDMerci d’avance pour votre aide et bonne fin de matinée !
Carine Stolz
Hors ligne
#4 Mon 17 March 2008 14:55
- CarineS
- Participant occasionnel
- Date d'inscription: 19 Sep 2007
- Messages: 18
Re: [Mapserver] Problème de rendu des LABEL avec AGG
Merci Yves et Thomas pour vos réponses et vos corrections.
C'est bon ! Je ne rencontre plus le problème de rendu pour mes étiquettes
Lorsque j'ai voulu changer la taille de police de mes étiquettes, j'ai aussi changé la couleur.
Apparemment, ce serait le "COLOR 0 0 0" du LABEL qui pose problème. En effet, je l'ai remplacé par "COLOR 1 1 1" et depuis je n'ai plus de problème de rendu.
"Pourquoi ?", je ne sais pas... peut-être que vous avez une idée là-dessus...
Pour ceux que ça intéresse, je joins quand même à ce message une copie d'écran du "mauvais" rendu avec une police de taille 40.
Et pour répondre à Thomas,
est tu sure que le probleme persiste sans le FORMATOPTION "TRANSPARENT=ON" ?
Oui, j'ai fait plusieurs essais, et avec ou sans le formatoption, le problème persistait toujours.
Encore merci pour votre aide !
Bon après-midi,
Carine
Hors ligne
#5 Mon 17 March 2008 15:03
- tbonfort
- Participant actif
- Date d'inscription: 11 Oct 2007
- Messages: 87
Re: [Mapserver] Problème de rendu des LABEL avec AGG
est tu sure que le probleme persiste sans le FORMATOPTION "TRANSPARENT=ON" ?
Oui, j'ai fait plusieurs essais, et avec ou sans le formatoption, le problème persistait toujours.
c'est normal que le probleme disparaisse avec une couleur autre que 0 0 0. je persiste dans mon propos avec transparent=on: ne passerais tu pas un transparent=true dans tes requetes wms/mapserv ( ce qui revient alors au meme ) ?
thomas
Hors ligne
#6 Mon 17 March 2008 15:50
- CarineS
- Participant occasionnel
- Date d'inscription: 19 Sep 2007
- Messages: 18
Re: [Mapserver] Problème de rendu des LABEL avec AGG
Merci Thomas d'avoir persisté sur le "tranparent=on"...
En fait, je n'effectue pas de requetes wms pour générer mes cartes mais je passe par kamap.
En fouillant un peu, je me suis aperçue que dans le fichier "tile.php" de kamap une ligne de code traitait de la transparence (cf code qui suit).
Code:
$oMap->outputformat->set("transparent", MS_ON);
J'ai donc passé ce paramètre à MS_OFF et configuré mes label avec la couleur 0 0 0 et tout fonctionne désormais parfaitement !
c'est normal que le probleme disparaisse avec une couleur autre que 0 0 0
Au final, pourrais-tu m'expliquer pourquoi avec la color 0 0 0 on rencontre un problème quand la transparence est activée, alors qu'avec la couleur 1 1 1 il n'y en a pas ?
Merci d'avance pour ta réponse.
Carine
Hors ligne
#7 Mon 17 March 2008 16:14
- tbonfort
- Participant actif
- Date d'inscription: 11 Oct 2007
- Messages: 87
Re: [Mapserver] Problème de rendu des LABEL avec AGG
Au final, pourrais-tu m'expliquer pourquoi avec la color 0 0 0 on rencontre un problème quand la transparence est activée, alors qu'avec la couleur 1 1 1 il n'y en a pas ?
Merci d'avance pour ta réponse.
Carine
Mapserver utilise la librairie GD pour quantiser l'image rgb générée, et ainsi créer une palette de 256 couleurs les plus "representatives" de l'image de départ. Hors GD ne gère pas la création d'une palette pour des images ou il y a une couche alpha (imagemode rgba, ou formatoption "transparent=on" ), et dans ce cas il cree une palette avec une seule couleur completement transparente qui par defaut est le noir (donc 0 0 0) . les images que tu as créées sont donc interprétées par ton navigateur avec le noir equivalent a "transparent" et donc c'est la couleur par defaut de l'arriere plan (ici blanc) qui est visible pour ces pixels.
voila, HTH,
thomas
Hors ligne
#8 Mon 17 March 2008 16:20
Re: [Mapserver] Problème de rendu des LABEL avec AGG
Merci Thomas pour tes explications
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#9 Wed 15 October 2008 10:13
- Yann59
- Juste Inscrit !
- Date d'inscription: 14 Oct 2008
- Messages: 3
Re: [Mapserver] Problème de rendu des LABEL avec AGG
Bonjour,
J'ai un problème similaire à CarineS.
J'ai besoin de générer des rapports en format AGG pour gérer la transparence de certaines couche polygones.
J'arrive à obtenir un rendu satisfaisant pour les polygones, mais les couches de texte ne sont plus bonnes. La plupart des textes disparaissent, et d'autres apparaissent mais mal positionnés.
La définition de la couche texte :
Code:
LAYER NAME "4" STATUS ON DATA "0_8_21\poi-430m_0_text.shp" GROUP "" LABELITEM "TEXT" SYMBOLSCALE 2540 TYPE annotation CLASS LABEL TYPE truetype FONT "arial" FORCE true MINSIZE 0 MAXSIZE 10000 WRAP "_" SIZE [HEIGHT] ANGLE [ROTATE] POSITION uc COLOR 1 1 1 END END END
En pièce jointe le rendu GD (généré avec shp2img) avec le positionnement correct du texte (qui correspond au cadre et cartouche du plan), et le rendu AGG avec un placement "aléatoire" du texte.
Je travaille avec ms4w 2.2.9 (mapserver 5.2.0)
Dernière modification par Yann59 (Wed 15 October 2008 10:14)
Hors ligne
#10 Wed 15 October 2008 21:21
- tbonfort
- Participant actif
- Date d'inscription: 11 Oct 2007
- Messages: 87
Re: [Mapserver] Problème de rendu des LABEL avec AGG
Bonjour,
La plupart des textes disparaissent, et d'autres apparaissent mais mal positionnés.
y'a un bug dans la 5.2.0 qui est probablement a l'origine de tes problemes.
reessaye avec la 5.2.1 prevue pour dans les prochaines semaines.
http://trac.osgeo.org/mapserver/ticket/2756
--
thomas
Hors ligne
#11 Thu 16 October 2008 09:39
- Yann59
- Juste Inscrit !
- Date d'inscription: 14 Oct 2008
- Messages: 3
Re: [Mapserver] Problème de rendu des LABEL avec AGG
Merci Thomas,
Je donnerais un retour à la sortie de la 5.2.1
Hors ligne
#12 Thu 16 October 2008 17:13
- Yann59
- Juste Inscrit !
- Date d'inscription: 14 Oct 2008
- Messages: 3
Re: [Mapserver] Problème de rendu des LABEL avec AGG
J'ai remarqué un autre comportement étrange.
L'échelle ne se recalcule pas en rendu AGG PNG24 (pas exemple via un zoom effectué via mapscript), alors qu'en rendu PNG24 le recalcul de l'échelle fonctionne parfaitement.
Hors ligne