Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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 smile 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


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Mon 17 March 2008 13:07

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

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 smile

À 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

CarineS a écrit:

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 smile 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

 

#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 smile

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


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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

CarineS a écrit:

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 !

Thomas a écrit:

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

CarineS a écrit:

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [Mapserver] Problème de rendu des LABEL avec AGG

Merci Thomas pour tes explications smile

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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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

Yann59 a écrit:

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

 

Pied de page des forums

Powered by FluxBB