Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 ven. 14 avril 2017 15:38

pedro9magic
Membre
Date d'inscription: 19 juil. 2015
Messages: 39

QGIS 2.18.1: personnaliser l'étiquette

Bonjour,

Je travaille sur Qgis et j'aimerais personnaliser l'étiquette que j'obtiens d'une couche. Attention quand je dis "personnaliser", ce n'est pas mettre un texte personnel mais personnaliser l'affichage (gras, italique, taille).

Soyons concret : Qgis me sert a avoir les parcelles de ma commune. L'étiquette actuelle dont le champ est "right(IDU,6)" me permet d'avoir la section et le numéro de ma parcelle. J'aimerais avoir un des deux champs en gras, est ce possible ? Par ailleurs, que veut dire ce "right(IDU,6)" ?

Deuxièmement, vu que la couche est très générique, mes parcelles s'appellent 0000042 au lieu de 42 par exemple. Est il possible de supprimer les zéro ? je crois que c'est possible mais je n'ai pas retrouvé comment on pouvait faire sans le faire manuellement (j'ai plus de 1000 lignes dans ma table attributaire)

En vous remerciant par avance, Bien cordialement

Hors ligne

 

#2 ven. 14 avril 2017 17:32

michel56
Membre
Lieu: Lorient
Date d'inscription: 14 juil. 2012
Messages: 255

Re: QGIS 2.18.1: personnaliser l'étiquette

Bonjour,

Pour les zéro tu convertis la chaîne de caractères en numéric avec to_int( ) et les zéro vont disparaitre.

Pour right(IDU,6) c'est écrit dans la doc:

Code:

fonction right
Renvoie une sous-chaîne de caractères contenant les n caractères les plus à droite.
Syntaxe
right(string, length)
Arguments

string
une chaîne de caractères
length
entier. Le nombre de caractères à renvoyer depuis la droite de la chaîne.

Exemples
right('Salut tout le monde',5) → 'Salut'

Dernière modification par michel56 (mer. 19 avril 2017 11:32)


Opérateur cartographique & DAO & PHP.

Hors ligne

 

#3 ven. 14 avril 2017 18:19

lejedi76
Membre
Date d'inscription: 8 août 2013
Messages: 239

Re: QGIS 2.18.1: personnaliser l'étiquette

Bonsoir, pour le moment ce n est pas encore possible de styliser une partie de l'étiquette.
Cette fonctionnalité est presque prête mais n'a pas encore été intégrée faute de moyen. Elle devrait voir le jour quand la version 3 arrivera.
https://github.com/qgis/QGIS/pull/2856
Cordialement,

Hors ligne

 

#4 ven. 14 avril 2017 19:01

C. Quent
Membre
Date d'inscription: 31 mars 2017
Messages: 3

Re: QGIS 2.18.1: personnaliser l'étiquette

Bonjour,

right(IDU,6) signifie que ce sont les 6 caractères les plus à droite de la chaîne IDU qui sont renvoyés. Pour ce qui est de IDU, cela doit être le nom de colonne contenant la section et le numéro de parcelle.

Pour supprimer les zéros, vous pouvez créer une nouvelle colonne et dans celle-ci utiliser la calculatrice de champ afin de ne garder que 42 ( donc right ("nom de votre colonne", 2)

Quentin

Hors ligne

 

#5 mar. 18 avril 2017 12:26

SANTANNA
Membre
Lieu: Angers
Date d'inscription: 18 janv. 2008
Messages: 1681

Re: QGIS 2.18.1: personnaliser l'étiquette

Bonjour,

Pour supprimer les zéros, vous pouvez créer une nouvelle colonne et dans celle-ci utiliser la calculatrice de champ afin de ne garder que 42 ( donc right ("nom de votre colonne", 2)

@C. Quent, la difficulté avec votre système est qu'il faut connaître le nombre de chiffres à conserver dans le IDU; le 42 peut très bien être 3 ou 156 sur une autre parcelle. Donc la formule ne sera pas juste.
La solution de michel56 avec to_int est beaucoup plus juste, plus adaptée à mon avis et présente en plus l'avantage de ne pas stocker de champ calculé dans le fichier.

Hors ligne

 

#6 mer. 19 avril 2017 16:55

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 janv. 2006
Messages: 1002
Site web

Re: QGIS 2.18.1: personnaliser l'étiquette

Bonjour et bienvenue sur GeoRezo,

si vous souhaitez garder un champ texte ou ne pas créer un nouveau champ, vous pouvez utiliser la fonction l'expression regexp_replace(chaîne_en_entrée, expression_rationnelle, remplacement) :

Code:

regexp_replace( '00000420','^0+','')

-> renvoie '420'

On demande à la fonction de remplacer dans la chaîne de caractère 00000420 tous les 0 (0+)qui sont en début de chaîne (^) par une chaîne vide ('')


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#7 ven. 21 avril 2017 09:17

pedro9magic
Membre
Date d'inscription: 19 juil. 2015
Messages: 39

Re: QGIS 2.18.1: personnaliser l'étiquette

merci pour toutes vos réponses. Je n'avais pas eu le temps de repasser depuis.

J'ai réussi à supprimer les 0 mais manque de chance, le champ IDU donne le code postal + section + feuille + numéro donc ca n'a pas réglé mon étiquette. Puis je créer un nouveau champ qui reprendrait donc à la suite le champ secteur et le champ numéro (ou j'ai donc supprimé les 0). C'est possible j'imagine ?

Dernière modification par pedro9magic (ven. 21 avril 2017 09:28)

Hors ligne

 

#8 ven. 21 avril 2017 09:54

jmarsac
Membre
Lieu: NICE
Date d'inscription: 26 oct. 2005
Messages: 215
Site web

Re: QGIS 2.18.1: personnaliser l'étiquette

bonjour,

Code:

regexp_replace('0040000C0920','(\d*)([A-Z]+)(0*)(\d+)','($2)($4)')

La fonction ne garde que le deuxième (lettre(s) section) et le quatrième champ (numéro de parcelle sans les zéros).

Dernière modification par jmarsac (ven. 21 avril 2017 09:56)


Jean-Marie

Hors ligne

 

#9 ven. 21 avril 2017 10:18

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 janv. 2006
Messages: 1002
Site web

Re: QGIS 2.18.1: personnaliser l'étiquette

regexp power !


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#10 ven. 21 avril 2017 10:32

pedro9magic
Membre
Date d'inscription: 19 juil. 2015
Messages: 39

Re: QGIS 2.18.1: personnaliser l'étiquette

jmarsac a écrit:

bonjour,

Code:

regexp_replace('0040000C0920','(\d*)([A-Z]+)(0*)(\d+)','($2)($4)')

La fonction ne garde que le deuxième (lettre(s) section) et le quatrième champ (numéro de parcelle sans les zéros).

merci mais malheureusement selon la longueur de certains champs (j'ai des sections avec deux caractères, d'autre 1 par exemple), ca ne fonctionne pas

MathieuB a écrit:

regexp power !

je ne suis pas un grand spécialiste, je mets ca comment ?

J'ai essayé le champ 1 and champ 2, le + entre les deux, rien ne fonctionne

Dernière modification par pedro9magic (ven. 21 avril 2017 10:35)

Hors ligne

 

#11 ven. 21 avril 2017 10:48

jmarsac
Membre
Lieu: NICE
Date d'inscription: 26 oct. 2005
Messages: 215
Site web

Re: QGIS 2.18.1: personnaliser l'étiquette

Pouvez-vous nous indiquer les IDU pour lesquels cela ne fonctionne pas ?
"regexp power" était seulement un commentaire de Mathieu sur la puissance des expressions rationnelles !

Dernière modification par jmarsac (ven. 21 avril 2017 10:57)


Jean-Marie

Hors ligne

 

#12 ven. 21 avril 2017 11:01

pedro9magic
Membre
Date d'inscription: 19 juil. 2015
Messages: 39

Re: QGIS 2.18.1: personnaliser l'étiquette

Finalement, en cherchant sur le forum, j'ai modifié l'étiquette par un "champ 1" ||  "champ 2" et ca m'évite d'avoir à recréer un champ.

Par contre, petite question encore : sur le champ des numéros, quand je les classe, le classement est étrange, j'ai tout 1 10 1000 10000 et après j'ai 2 200 2000. Il n'y a pas un moyen d'avoir un classement plus cohérent avec 1 2 3 ... 10 11... ? ca vient du format du champ non ?

Merci en tout cas pour l'aide apportée

Hors ligne

 

#13 ven. 21 avril 2017 11:09

jmarsac
Membre
Lieu: NICE
Date d'inscription: 26 oct. 2005
Messages: 215
Site web

Re: QGIS 2.18.1: personnaliser l'étiquette

pedro9magic a écrit:

Finalement, en cherchant sur le forum, j'ai modifié l'étiquette par un "champ 1" ||  "champ 2" et ca m'évite d'avoir à recréer un champ.

Il n'est pas nécessaire de recréer un champ

Par contre, petite question encore : sur le champ des numéros, quand je les classe, le classement est étrange, j'ai tout 1 10 1000 10000 et après j'ai 2 200 2000. Il n'y a pas un moyen d'avoir un classement plus cohérent avec 1 2 3 ... 10 11... ? ca vient du format du champ non ?

Merci en tout cas pour l'aide apportée

Oui. Il faut que ce champ soit de type entier (ou rajouter des 0 de cadrage !)


Jean-Marie

Hors ligne

 

#14 ven. 21 avril 2017 11:11

michel56
Membre
Lieu: Lorient
Date d'inscription: 14 juil. 2012
Messages: 255

Re: QGIS 2.18.1: personnaliser l'étiquette

Bonjour,


Tu as surement mis comme type de champ: "Texte" au lieu de "Entier"


Opérateur cartographique & DAO & PHP.

Hors ligne

 

#15 ven. 21 avril 2017 11:44

pedro9magic
Membre
Date d'inscription: 19 juil. 2015
Messages: 39

Re: QGIS 2.18.1: personnaliser l'étiquette

Je viens d'essayer de recréer le champ avec 'entier' et j'ai le meme souci.

Hors ligne

 

#16 ven. 21 avril 2017 12:01

michel56
Membre
Lieu: Lorient
Date d'inscription: 14 juil. 2012
Messages: 255

Re: QGIS 2.18.1: personnaliser l'étiquette


Opérateur cartographique & DAO & PHP.

Hors ligne

 

#17 ven. 21 avril 2017 13:53

pedro9magic
Membre
Date d'inscription: 19 juil. 2015
Messages: 39

Re: QGIS 2.18.1: personnaliser l'étiquette

to_int("colonne") ca me met que c'est invalide

Quand je vais dans table management, ca me met pourtant que ma colonne est en integer 10

edit : J'ai créé la colonne par table management et ca marche

Merci a tous pour votre aide

Dernière modification par pedro9magic (ven. 21 avril 2017 13:59)

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |