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