Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
Pages: 1
- Sujet précédent - QGIS 3: des etiquettes d'une couche selon perimetre d'une autre - Sujet suivant
#1 Wed 04 December 2019 16:55
- Groflo
- Participant actif
- Date d'inscription: 3 Jun 2013
- Messages: 84
QGIS 3: des etiquettes d'une couche selon perimetre d'une autre
Bonjour,
Je réalise des cartes similaires pour différents territoires.
Pour l'un des types de carte, j'utilise un fond de carte national, et selon le territoire que je veux représenter, je zoom sur le territoire, avec une mise en forme permettant de l'isoler (polygones inversés avec fond blanc).
Seulement, les étiquettes que je veux faire apparaitre sont celles du fond de carte (qui est une maille de vecteurs).
De fait, si j'active les symboles pour ce fond de carte, les données du territoire mais aussi celle autour du territoire sont visibles.
Je n'ai pas trouvé comment faire pour dire à mon fond de carte : « n'affiche que les données qui sont sur le périmètre de la couche territoire » (ou son corollaire « n'affiche pas les symboles qui ne sont pas situés dans le vecteur territoire »).
Est-ce possible simplement, par une règle par exemple ? Sachant que j'ai un grand nombre de ce type de carte par territoire (une 30aine environ de fonds de carte nationaux à peu près), si j'avais quelque chose de simple ça m'arrangerait !
Merci par avance, Groflo
Hors ligne
#2 Wed 04 December 2019 17:03
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1105
Re: QGIS 3: des etiquettes d'une couche selon perimetre d'une autre
Oui c'est possible, il suffit de mettre l'expression suivante dans l'onglet étiquetage des couches concernées :
CASE WHEN NOT disjoint(centroid($geometry),@atlas_geometry) THEN "CHAMPetiquette" ELSE '' END
Hors ligne
#3 Thu 05 December 2019 12:02
- Groflo
- Participant actif
- Date d'inscription: 3 Jun 2013
- Messages: 84
Re: QGIS 3: des etiquettes d'une couche selon perimetre d'une autre
Bonjour,
Merci pour votre réponse, mais ça ne fonctionne pas. Ou plus précisément, je n'ai pas trouvé comme le faire fonctionner.
J'ai par exemple :
- Une couche EPCI, symbologie en polygones inversés pour masquer tout ce qui dépasse de la couche ;
- Ma couche « fond de carte », sur laquelle en plus je veux afficher les étiquettes.
J'ai également toute une série de couche fond cartes autres en dessous, mais non visibles (je modifie la visibilité de chacune pour extraire la carte qui m'intéresse à chaque fois, selon les cas).
Si je mets sur ma couche fond de carte l'expression que vous avez donnée, ça continue de m'afficher partout les étiquettes, comme si je n'avais rien changé.
J'ai ensuite pensé que ça pouvait en fait agir sur le composeur de cartes, mais lorqsue je fais une nouvelle mise en page, alors que les étiquettes s'affichent sur ma fenêtre de travail, elles ne s'affichent nulle part pas dans le composeur de cartes.
Bref, une idée de ce que je fais de travers ?
Merci.
Hors ligne
#4 Thu 05 December 2019 13:08
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1105
Re: QGIS 3: des etiquettes d'une couche selon perimetre d'une autre
Bonjour,
Je suis parti du principe que vous travaillez avec un atlas...
Hors ligne
#5 Thu 05 December 2019 14:58
- Groflo
- Participant actif
- Date d'inscription: 3 Jun 2013
- Messages: 84
Re: QGIS 3: des etiquettes d'une couche selon perimetre d'une autre
Bonjour,
Je suis parti du principe que vous travaillez avec un atlas...
Ah d'accord je comprends mieux. Mais non, pas d'atlas, malheureusement (ça me simplifierait pas mal la vie), car mon atlas ne serait pas sur plusieurs parties d'une couche, mais sur plusieurs couches ! (j'avais d'ailleurs créé un sujet à ce propos ici-même).
Hors ligne
Pages: 1
- Sujet précédent - QGIS 3: des etiquettes d'une couche selon perimetre d'une autre - Sujet suivant