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 04 May 2016 13:37

Olivier69
Participant actif
Date d'inscription: 17 Mar 2016
Messages: 61

QGIS 2.14.1: Problème avec les étiquettes

Bonjour,

Voici le topo : j'ai un fichier shp avec les parcelles agricoles et les cultures présentes dessus, j'ai créer des camemberts pour chaque parcelle qui permettent de voir la ou les cultures présent sur la parcelle en fonction de la surface déclarée par l'exploitant. Je cherche à mettre des indiquer les valeurs des parts des camemberts mais je n'y arrive pas.

J'ai essayé de mettre des étiquettes qui indique la surface de culture sur chaque parcelle mais en marquant pas celle non présente, par ex sur une parcelle j'ai 1 Ha de Céréales et 2Ha de prairies je veux qu'il apparait :

Céréales : 1
Prairie : 2 et non comme actuellement

Céréales 1
Prairie : 2
Éléments naturels : 0
Éléments artificiels : 0
... (encore 5 lignes comme ça)

Pour une question de visibilité je voudrais une ligne par type de culture.

J'ai essayé aussi un système de règle qui fonctionne quand il y a qu'une seule culture sur la parcelle mais dès qu'il y en a plusieurs les étiquettes de chevauchent et c'est illisible.

Comment pourrais-je régler mon problème ?

Merci d'avance

Hors ligne

 

#2 Wed 04 May 2016 14:14

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3941

Re: QGIS 2.14.1: Problème avec les étiquettes

Bonjour,
Je pars de l'hypothèse que votre table est constituée de colonnes nommées cereales, prairie, elt_naturel ... On peut obtenir ce que vous cherchez avec un case when.

Code:

concat( -- on va mettre bout à bout des informations
CASE WHEN cereales<>0 then concat('Céréales : ', cereales, '/n') END, -- lorsqu'il y a des céréales, construis cette étiquette en combinant le texte saisie et la valeur du champ plus un saut de ligne ('/n'). Si valeur nulle, tu ne fais rien
CASE WHEN prairie<>0 then concat('Prairie: ', prairie, '/n') END, --idem pour la prairie
... -- ainsi de suite pour les autres (attention à ne pas mettre de virgule pour la dernière colonne ni de saut de ligne)
) -- et on ferme la parenthèse ouverte au début

Hors ligne

 

#3 Wed 04 May 2016 14:27

Olivier69
Participant actif
Date d'inscription: 17 Mar 2016
Messages: 61

Re: QGIS 2.14.1: Problème avec les étiquettes

Merci ça fonctionne ! J'étais parti sur de bonne base j'avais ça comme code :

case
when  "S_Céréal" > 0  then concat('Céréales : ', "S_Céréal" )
when "S_Prairie" >0  then concat('Prairie : ',"S_Prairie")
when "S_Patates" >0  then concat('Patates : ',"S_Patates")
when "S_Mais">0         then concat('Mais : ',"S_Mais" )
when "S_Elements" >0 then concat('Elements naturels : ',"S_Elements")
when "S_Artifici" >0 then  concat('Elements artificiels : ',"S_Artifici" )
when"S_Maraicha" >0 then concat('Maraichage : ',"S_Maraicha")
when "S_Pas d'ac" >0 then concat('Pas d activites : ', "S_Pas d'ac")
when"S_Protéag" >0  then concat('Protéagineux fourragers : ',"S_Protéag")
when "S_Vergers" >0  then concat('Vergers : ',"S_Vergers")
Else null
end

Mais je ne savais pas où mettre '/n'. L'idée d'un concat de tout mon code est vraiment pas mal ! Merci !

Hors ligne

 

Pied de page des forums

Powered by FluxBB