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 Wed 01 April 2009 15:16

Debey Nicolas
Participant actif
Lieu: Rouen
Date d'inscription: 11 Oct 2006
Messages: 63

[Mapserver] requetes SQL dans LABELITEM

Bonjour à tous,

Dans le cadre du développement d'un serveur cartographique Mapserver couplé avec cartoweb pour la partie client, je me posais une question sur l'affichage des étiquettes.

Est-il possible de réaliser des requêtes SQL dans un mapfile au niveau des étiquettes, que ce soit dans le LABELITEM ou ailleurs? (les données concernées étant des shapefiles donc des fichiers DBF ou MDB)

Merci par avance pour vos réponses.

Nicolas.

Hors ligne

 

#2 Wed 01 April 2009 15:43

freesnowpetrel
Participant assidu
Lieu: Pretoria, Afrique du Sud
Date d'inscription: 1 Mar 2007
Messages: 222

Re: [Mapserver] requetes SQL dans LABELITEM

Bonjour

S'il s'agit de conditionner l'affichage des etiquettes, regarde du cote du parametre LABELREQUIRES.
S'il s'agit du contenu lui meme de l'etiquette, il me semble qu'il faut creer un champ dans ta requete sql d'appel a tes donnees, parametre DATA, et l'appeler ensuite dans ton parametre LABELITEM.

A+

Rodolphe

Dernière modification par freesnowpetrel (Wed 01 April 2009 15:48)

Hors ligne

 

#3 Thu 02 April 2009 09:51

Debey Nicolas
Participant actif
Lieu: Rouen
Date d'inscription: 11 Oct 2006
Messages: 63

Re: [Mapserver] requetes SQL dans LABELITEM

Et bien, en fait, il s'agit du contenu de l'etiquette en lui même. Mais du coup, je n'ai pas bien compris ce que tu veux dire par "créer un champ dans ta requête SQL d'appel à tes données, parametre DATA, et l'appeler ensuite dans ton parametre LABELITEM"

Dans access quand je veux prendre une partie de la valeur d'un attribut (CODLOT par exemple),
le language SQL est le suivant

SET CODLOT = right(CODLOT,2) -> pour prendre les deux derniers caractères de la valeur par exemple.
Donc dans le Mapfile, je voudrai réaliser la même opération.
Ou faut-il que je mette ce code? Dans le paramètre DATA? Faut-il l'adapter?

Nicolas

Hors ligne

 

#4 Thu 02 April 2009 10:09

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

Re: [Mapserver] requetes SQL dans LABELITEM

Bonjour,

Voici un exemple de ce que te propose rodolphe, pas forcément fonctionnel (je ne suis pas sur de la forme de la syntaxe) :

Code:

DATA SELECT the_geom, right(CODLOT,2) AS foo FROM matable

Et plus lien utiliser foo comme champ pour l'étiquette.

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

 

#5 Thu 02 April 2009 11:26

freesnowpetrel
Participant assidu
Lieu: Pretoria, Afrique du Sud
Date d'inscription: 1 Mar 2007
Messages: 222

Re: [Mapserver] requetes SQL dans LABELITEM

Bonjour,

Merci Yves pour ton complement, la syntaxe pour un shapefile est :

Code:

CONNECTIONTYPE OGR
CONNECTION "chemin_du_shape/monshape.shp"
DATA "SELECT *, expression as etiquette FROM monshape"
LABELITEM "etiquette"

Dans ton cas, remplaces expression par right(CODLOT,2) et ca devrait le faire

A+
Rodolphe

Hors ligne

 

Pied de page des forums

Powered by FluxBB