Pages: 1
- Sujet précédent - QGIS 2.14: Etiquette - Afficher que 3 lettres des communes - Sujet suivant
#1 Tue 22 November 2016 15:45
- nico3926
- Juste Inscrit !
- Date d'inscription: 26 May 2008
- Messages: 9
QGIS 2.14: Etiquette - Afficher que 3 lettres des communes
Bonjour
Malgré mes recherche je n'ai pas trouvé de réponse:
J'ai une question concernant le formatage des étiquettes.
Je voudrais afficher que 3 lettres du nom des communes sur une carte du département de l'Ain afin que l'étiquette ne dépasse pas des limites de la commune.
Pour complexifier la chose, j'aimerais paramétrer l'étiquette différemment suivant si le nom de la commune et simple ou composé avec des Majuscule et des minuscules.
Exemple pour des communes de l'Ain :
Oyonnax affiche : Oyo
Bourg-en-Bresse affiche: BeB
Hauteville-Lompnes affiche : HaL
Saint Etienne du Bois affiche: SEB
Cela est-il possible et comment ?
Merci à tous ceux qui se penchent sur nos problèmes et souvent trouvent des solutions.
Hors ligne
#2 Tue 22 November 2016 16:21
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS 2.14: Etiquette - Afficher que 3 lettres des communes
Bonjour,
C'est surement réalisable avec des if dans l'étiquette mais tu devrais plutôt créer un nouveau champ pour les noms cours. Ça évite à Qgis de recalculer toutes les étiquettes à chaque fois.
Et trouver une formule pour le mettre à jour.
Opérateur cartographique & DAO & PHP.
Hors ligne
#3 Tue 22 November 2016 16:38
Re: QGIS 2.14: Etiquette - Afficher que 3 lettres des communes
Réponse partielle mais pour toutes les communes "simples", une étiquette basée sur une expression : left("NOM_COM",3)
Hors ligne
#4 Tue 22 November 2016 18:05
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS 2.14: Etiquette - Afficher que 3 lettres des communes
Pour Bourg-en-Bresse tu peux mettre:
Code:
left(regexp_substr("Name",'(.*)[-][a-zA-Z]'),1) || left(regexp_substr("Name",'[-](.*)[-]') ,1)|| left(regexp_substr("Name",'(.*)[-](.*)[-]'),1)
Pour Hauteville-Lompnes
Code:
left(regexp_substr("Name",'(.*)[-][a-zA-Z]'),2) || left(regexp_substr("Name",'[a-zA-Z][-](.*)'),1)
Opérateur cartographique & DAO & PHP.
Hors ligne
#5 Thu 24 November 2016 08:35
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS 2.14: Etiquette - Afficher que 3 lettres des communes
Tu peux faire un traitement en plusieurs fois comme suggéré par les réponses précédentes . En revanche, tu ne pourras pas trouver la formule magique qui réponde à ton besoin à moins d'écrire une fonction python qui utilise les expressions régulières.
Dernière modification par lejedi76 (Thu 24 November 2016 08:35)
Hors ligne
Pages: 1
- Sujet précédent - QGIS 2.14: Etiquette - Afficher que 3 lettres des communes - Sujet suivant