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 !.
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

Printemps des cartes 2024

#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

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

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)


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

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: 722

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

 

Pied de page des forums

Powered by FluxBB