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 Fri 21 October 2011 17:48

Jean-Marie64
Participant actif
Lieu: Pau
Date d'inscription: 6 Nov 2007
Messages: 131

[MapServer] paramètres couleur dans l'objet CLASS du mapfile

Bonjour

je cherche actuellement à passer en paramètre des couleurs au format r g b décimal dans l'objet CLASS ;
pour cela j'ai défini dans le mapfile des variables COLORDATEi de la façon suivante :

Code:

  class
    name "classdate0"
    style
      symbol "Point"
      size 6
      color "%COLORDATE0%"
    end
  end

Code:

  class
    name "classdate1"
    style
      symbol "Point"
      size 6
      color "%COLORDATE1%"
    end
  end

...

l'url de ma requête http contient par exemple les paramètres couleurs avec la syntaxe suivante :

http://...&COLORDATE0=220%200%200&COLORDATE1=255%20100%200&....

il s'avère que les variable COLORDATEi ne sont initialisées correctement puisque j'ai le message d'erreur suivant :
loadColor(): Symbol definition error. Invalid hex color (%COLORDATE0%):

comment puis-je passer les variables couleur dans l'objet CLASS ?

merci d'avance

jean-Marie

Hors ligne

 

#2 Sun 23 October 2011 13:20

tbonfort
Participant actif
Date d'inscription: 11 Oct 2007
Messages: 87

Re: [MapServer] paramètres couleur dans l'objet CLASS du mapfile

Jean-Marie64 a écrit:

Bonjour

je cherche actuellement à passer en paramètre des couleurs au format r g b décimal dans l'objet CLASS ;
pour cela j'ai défini dans le mapfile des variables COLORDATEi de la façon suivante :

Code:

  class
    name "classdate0"
    style
      symbol "Point"
      size 6
      color "%COLORDATE0%"
    end
  end

Code:

  class
    name "classdate1"
    style
      symbol "Point"
      size 6
      color "%COLORDATE1%"
    end
  end

...

l'url de ma requête http contient par exemple les paramètres couleurs avec la syntaxe suivante :

http://...&COLORDATE0=220%200%200&COLORDATE1=255%20100%200&....

il s'avère que les variable COLORDATEi ne sont initialisées correctement puisque j'ai le message d'erreur suivant :
loadColor(): Symbol definition error. Invalid hex color (%COLORDATE0%):

comment puis-je passer les variables couleur dans l'objet CLASS ?

merci d'avance

jean-Marie


&map.layer[nom_de_couche].class[classedate0].style[0]=color+r+g+b&

Hors ligne

 

#3 Mon 24 October 2011 15:25

Jean-Marie64
Participant actif
Lieu: Pau
Date d'inscription: 6 Nov 2007
Messages: 131

Re: [MapServer] paramètres couleur dans l'objet CLASS du mapfile

j'allais répondre à ma question quand j'ai vu votre réponse ;
j'y été parvenu en trouvant la documentation sur le sujet :

http://mapserver.org/development/rfc/ms-rfc-31.html

votre réponse est utile car elle me confirme dans cette solution
qui ne me paraissait pas optimale vu que l'url peut être très longue

je peux avoir dans mon cas jusqu'à 12 lignes du genre :

Code:

map.layer[NOM-DE_COUCHE].class[0].style[0]=color++255+0+0&
map.layer[NOM-DE_COUCHE].class[1].style[0]=color++255+0+255&
...

il m'a fallu cependant mettre en majuscule "nom_de_couche" soit "NOM-DE_COUCHE"
dans le mapfile car lorsque je génère l'URL à partir de :
layer.mergeNewParams(params); (depuis OpenLayers)
tous les caractères sont mis en majuscule
et Mapserver semble sensible à la casse ;
j'ai le message d'erreur suivant si je n'en tiens pas compte :

msUpdateMapFromURL(): General error message. Layer to be modified not valid.

merci donc pour l'aide apportée

Hors ligne

 

Pied de page des forums

Powered by FluxBB