#1 Wed 16 June 2021 11:31
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
QGIS: Nom des communes dans la carte
Bonjour,
Dans un précédent post, j'ai réussi, avec l'aide de votre concours, à mettre de manière automatique le numéro des parcelles qui sont visibles sur la carte du composeur :
'Pylone(s) n°' || '' || aggregate('Pylones','concatenate',"numt", concatenator:=' - ',order_by:="numt",filter:=intersects($geometry, map_get( item_variables(''), 'map_extent')))
Je reprends ce même codage pour l'adapter aux communes qui sont visibles sur la carte du composeur :
'Commune(s)' || '' || aggregate('Communes','concatenate',"tex2", concatenator:=' - ',order_by:="tex2",filter:=intersects($geometry, map_get( item_variables(''), 'map_extent')))
Et cela ne fonctionne pas. J'ai ce message :
No feature was found on this layer to evaluate the expression.
Qqun aurait une explication. Merci
Hors ligne
#3 Wed 16 June 2021 14:11
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
Re: QGIS: Nom des communes dans la carte
J'ai essayé de faire ça à partir de ce qui est proposé dans les expressions, mais sans succès.
Par contre, en testant ceci :
[%aggregate( 'Communes', 'concatenate', "tex2", concatenator:=', ', order_by:="tex2")%]
Cela m'inscrit bien l'ensemble des communes, mais ce que je voudrais c'est ce qui est visible sur la carte.
Dès que je rajoute au code précédent :
filter:=intersects($geometry, map_get( item_variables(''), 'map_extent')))
Il n'y a rien, cadre blanc.
Hors ligne
#4 Thu 17 June 2021 10:28
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3938
Re: QGIS: Nom des communes dans la carte
Donc c'est le filtre qui est problématique. Syntaxiquement, à part la parenthèse en trop certainement due à un copier-coller, il n'y a rien à redire.
Vous aviez déjà eu ce problème à https://georezo.net/forum/viewtopic.php … 3#p343383. Et je reprends la piste évoquée à l'époque: est-ce le bon nom de l'objet carte qui est indiqué dans l'expression?
Hors ligne
#5 Thu 17 June 2021 10:50
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
Re: QGIS: Nom des communes dans la carte
oui dans map_id et item_id j'ai ceci : ''.
D'ailleurs, je n'ai fait que copier la syntaxe du précédent post auquel vous faites référence dans votre réponse.
Hors ligne
#6 Thu 17 June 2021 11:04
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3938
Re: QGIS: Nom des communes dans la carte
Et, désolé, je la pose quand même il y a bien des entités dans la couche "Communes" à l'endroit que vous visualisez actuellement dans la carte?
Hors ligne
#7 Thu 17 June 2021 11:11
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
Re: QGIS: Nom des communes dans la carte
OUI, d'ailleurs j'ai essayé avec les parcelles pour le même résultat.
Hors ligne
#8 Thu 17 June 2021 11:51
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3938
Re: QGIS: Nom des communes dans la carte
le même résultat, c'est -à-dire que ça ne marche pas ou ça marche comme la fois passée? Si la réponse est "ça ne marche pas", il va falloir trouver ce qui est différent entre cette mise en page et la précédente où ça fonctionnait, je pense.
Hors ligne
#9 Thu 17 June 2021 12:14
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
Re: QGIS: Nom des communes dans la carte
Cela ne fonctionne pas comme la dernière fois, et je ne comprends pas pourquoi puisque la syntaxe utilisée est un copier-coller de la fois passée, où j'ai juste changé le nom de la couche.
Hors ligne
#10 Thu 17 June 2021 14:38
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3938
Re: QGIS: Nom des communes dans la carte
Mais les conditions ne sont plus les mêmes: nommez votre objet carte et utilisez ce nom dans l'expression. Je pense qu'il n'est pas le seul item à être appelé '' dans votre mise en page.
Hors ligne
#11 Thu 17 June 2021 14:41
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
Re: QGIS: Nom des communes dans la carte
Justement comment fait-on pour nommer l'objet carte?
Hors ligne
#12 Thu 17 June 2021 14:50
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3938
Re: QGIS: Nom des communes dans la carte
En renseignant son champ item_id
Hors ligne
#13 Thu 17 June 2021 15:02
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
Re: QGIS: Nom des communes dans la carte
Les champs 'Variable' et 'valeur' sont verrouillés.
Hors ligne
#14 Thu 17 June 2021 15:43
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3938
Re: QGIS: Nom des communes dans la carte
Hors ligne
#15 Thu 17 June 2021 15:57
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
Re: QGIS: Nom des communes dans la carte
Merci Santanna. C'est parfait. Ce que je ne saisis pas, c'est pourquoi on utilise tantôt l'identifiant item_id dans 'Variables" et tantôt l'identifiant de l'objet dans les propriétés de l'objet...
Hors ligne
#16 Thu 17 June 2021 16:53
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3938
Re: QGIS: Nom des communes dans la carte
Ça veut dire que ça fonctionne?
Je ne sais pas si j'ai saisi la question, mais item = élément = objet. On parle de l'identifiant du même truc. S'il y a un flou, faudrait voir si c'est pas à la traduction que ça se trouve. Le champ item_id qui est dans le volet "Variables" (et que vous ne pouviez pas changer), il est alimenté par ce qui est saisi dans le champ Id sous Item ID du même objet/élément/truc. Et si vous observez les variables, vous verrez que la plupart de leurs valeurs sont extraites de champs qui sont dans les rubriques au-dessus (rotation, échelle, emprise, crs...), a priori renseignés par l'utilisateur.
Hors ligne
#17 Thu 17 June 2021 17:06
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
Re: QGIS: Nom des communes dans la carte
OUi cela fonctionne! Merci!
Ce que je veux dire à propos des identifiants, c'est que dans le cas des parcelles (précédent post) j'ai utilisé '' comme identifiant issu de 'Variable'
[%'Parcelle(s)' || ' ' || aggregate('Parcelles_ouest','concatenate',"code_parce", concatenator:='-',order_by:="code_parce",filter:=intersects($geometry, map_get( item_variables(''), 'map_extent')))%]
et j'ai utilisié 'id_page', nommé dans l'identifiant de l'objet carte :
||'Commune(s) de ' || '' || aggregate('Communes','concatenate',"tex2", concatenator:=' - ',order_by:="tex2",filter:=intersects($geometry, map_get( item_variables('id_page'), 'map_extent')))
Quelle est la différence entre les 2?
Hors ligne
#18 Fri 18 June 2021 10:05
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3938
Re: QGIS: Nom des communes dans la carte
L'identifiant issu de variable était ''(vide) parce que, pour je ne sais quelle raison, le champ Id de l'objet carte était vide aussi. Si vous regardez dans les variables de l'objet carte du cas 2, vous y verrez id_page indiqué, en tant que item_id (et map_id). donc vous faites référence à la même variable dans les deux cas.
La grosse différence est que le cas 2 vous évite le cadre blanc, car des objets sans nom dans la mise en page, il peut y en avoir plus d'un, et il n'est pas garanti que ce soit le bon qui est utilisé le moment venu. Alors que s'il est nommé et bien identifié, no risk.
Hors ligne
#19 Fri 18 June 2021 16:15
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
Re: QGIS: Nom des communes dans la carte
Merci Professeur
Hors ligne