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 Thu 19 March 2009 13:39

Vincent87
Participant actif
Date d'inscription: 26 Jun 2006
Messages: 113

[Mapserver] Requete dans LABELITEM

Bonjour,

J'ai mis en place des étiquettes via l'outil LABEL de Mapserver.

Donc dans l'entête de mon layer j'ai mis mon LABELITEM "mon champ"
Puis dans ma CLASS j'ai mis les paramètres de mon LABEL :

Code:

LABEL
COLOR  0 0 0
OUTLINECOLOR 255 255 255
FONT VERDANA-bold
TYPE truetype
SIZE 6
MINFEATURESIZE auto
POSITION cc
PARTIALS FALSE
END

Je souhaiterais maintenant mettre en place une requete qui me permet de sélectionner une chaine de caractere précise dans mon champs pour l'afficher dans l'étiquette.

Exemple : Mon champs contient "OA" et je ne souhaite afficher que "A"

Etant dans une base PostGis/PostGre j'ai rentré dans mon LABELITEM l'expression suivante :
"ltrim (mon champ,O)"
afin qu'il me supprrime le O.

Mais cela ne fonctionne pas...et du coups je ne suis pas sur d'avoir rentrer la bonne expression au bonne endroit qu'en pensez vous??

Merci de vos réponses.

Hors ligne

 

#2 Fri 20 March 2009 13:41

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

Re: [Mapserver] Requete dans LABELITEM

Les transformations par postgis doivent etre precisées dans le champ DATA de ton mapfile, pas dans le LABELITEM.

remplace donc

Code:

DATA "the_geom from matable"

par

Code:

DATA the_geom from (select gid, the_geom, ltrim (mon champ,O) as monlabel from matable) as foo using unique gid using srid=xxx
LABELITEM monlabel

tu peux bien sur ajouter toute sorte de filtrage ou de jointure dans la sous-requete postgis, il faut par contre bien s'assurer que ta sous-requete retourne bien tous les champs qui vont etre utilisés dans le reste de ton LAYER (notamment le classitem, et toute valeur utilisée pour du binding, ex SIZE [monchamplargeur] )

a+

thomas

Hors ligne

 

#3 Fri 20 March 2009 13:45

Vincent87
Participant actif
Date d'inscription: 26 Jun 2006
Messages: 113

Re: [Mapserver] Requete dans LABELITEM

Bin oui forcément GNE.....c'était tellement évident que j'ai pas tilté! Merci beaucoup!
je test ça de suite!

Hors ligne

 

#4 Fri 20 March 2009 14:12

Vincent87
Participant actif
Date d'inscription: 26 Jun 2006
Messages: 113

Re: [Mapserver] Requete dans LABELITEM

A noter que pour éliminer un caractère de type chiffre celui ci doit être en tre simple cote
Exemple mon champs contient 0A pour supprimer le 0 je tape :

ltrim(monchamps,'0')

EDIT j'ai testé ça marche nickel
Merci !!

Dernière modification par Vincent87 (Fri 20 March 2009 14:15)

Hors ligne

 

Pied de page des forums

Powered by FluxBB