#1 Thu 11 May 2023 12:27
- HockYan
- Participant occasionnel
- Date d'inscription: 21 Apr 2023
- Messages: 17
QGIS/Mise en page: faire disparaitre une valeur
Bonjour,
Je suis actuellement sur la réalisation de fiche de terrain. Pour cela je créé des fiches automatiques d'après l'acquisition du terrain à l'aide du logiciel QFIELD.
J'ai actuellement un problème que je n'arrive pas à résoudre sur la mise en page sur QGIS.
Sur le terrain, je dois identifier des digues et savoir s'il y a des déversoirs. Ce que je cherche à faire c'est quand sur le tronçon il n'y a pas de déversoir alors il m'enlève la mise en page du déversoir ou il me le masque.
La méthode la plus simple que j'ai pu trouver et de créer un rectangle et de mettre le code suivant : case when "DEVERSOIR" is FALSE then color_rgb (255,255,255) end
Le code permet de rempli le rectangle en blanc à la condition que "DEVERSOIR" soit faux. Cependant, cela me fait rien.
Pour information, la propriété du champ "DEVERSOIR" est une case à cocher. Si elle est cochée alors elle me permet de rentrer des valeurs supplémentaires.
Je ne sais pas si mes explications sont claires, n'hésitez pas à me demander plus d'informations.
Je vous remercie par avance, Yan.
Hors ligne
#2 Thu 11 May 2023 15:16
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3928
Re: QGIS/Mise en page: faire disparaitre une valeur
Bonjour,
Et si vous lui indiquez TRUE au lieu de FALSE, se passe-t-il quelque chose? L'idée derrière est de savoir si TRUE/FALSE correspond bien aux valeurs prises par le déversoir. Vous pourriez par exemple renvoyer la valeur de DEVERSOIR dans une zone de texte, histoire d'être certain d'utiliser la bonne valeur (FALSE, false, 0, ...?).
La méthode la plus simple que j'ai pu trouver et de créer un rectangle et de mettre le code suivant : case when "DEVERSOIR" is FALSE then color_rgb (255,255,255) end
Quid de l'option "Exclure cet objet de l'export" (même si je ne visualise pas trop ce que vous mettez derrière l'expression "mise en page du déversoir")?
Hors ligne
#3 Thu 11 May 2023 16:08
- HockYan
- Participant occasionnel
- Date d'inscription: 21 Apr 2023
- Messages: 17
Re: QGIS/Mise en page: faire disparaitre une valeur
Pour être sûr d'être compris, je réalise une fiche automatique sur chaque couche que j'identifie sur le terrain à l'aide de l'outil atlas pour éviter de compléter mes fiches une par une à la main. Par conséquent, si je comprend bien l'option "exclure cet objet de l'export", il ne serait pas satisfaisant de l'utiliser car je serais obligé de le faire à la main.
J'ai fais le test de lui indiquer TRUE et cela ne change rien. Mon rectangle reste vide et ne se rempli pas.
J'ai renvoyer la valeur de DEVERSOIR dans une zone de texte et elle me renvoie une valeur soit 1 soit 0 (pour TRUE ou FALSE). J'ai donc modifié mon code en mettant la valeur 0 ou 1 et cela ne fonctionne pas non plus. J'ai également fais un test en mettant "is null" dans le code et j'arrive au même résultat.
Pour le moment, vue que j'ai besoin des fiches au plus vite, j'ai grisé les cases au moment ou la valeur est nulle. (code : case when "Nom_Champs" is null then color_rgb (147,147,147) end).
A terme, j'aimerais bien supprimer les cases complétement ou de les masquer.
Yan
Hors ligne
#4 Thu 11 May 2023 17:31
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3928
Re: QGIS/Mise en page: faire disparaitre une valeur
Pour être sûr d'être compris,
Désolé... Je n'ai toujours pas compris. Notamment comment l'atlas vient alimenter (?) un relevé terrain, ni de quelles cases grisées (depuis où? comment?) vous parlez mais c'est pas grave... c'est certainement moi.
J'ai donc modifié mon code en mettant la valeur 0 ou 1 et cela ne fonctionne pas non plus.
Avec un "= 0" ou "= 1"? Bizarre...
Hors ligne
#5 Fri 12 May 2023 09:28
- Vincent Vauchey
- Participant assidu
- Lieu: saint jean de braye
- Date d'inscription: 24 Jan 2006
- Messages: 288
Re: QGIS/Mise en page: faire disparaitre une valeur
Bonjour
Il ne serait pas plus simple de faire une sélection sur le champs "DEVERSOIRE" pour ensuite faire la mise en forme de l'atlas uniquement sur les données que vous voulez imprimer.
Cordialement
Hors ligne
#6 Fri 12 May 2023 09:45
- HockYan
- Participant occasionnel
- Date d'inscription: 21 Apr 2023
- Messages: 17
Re: QGIS/Mise en page: faire disparaitre une valeur
Je m'excuse si mes explications ne sont pas claire.
Je vais essayer de simplifier mon problème.
Je vais sur le terrain en utilisant l'application QFIELD pour remplir mes champs et ajouter des entités. Quand je reviens du terrain, je transfert mes couches complétées sur QGIS. Vue que j'ai plusieurs entités donc plusieurs fiche de terrain, j'utilise l'outil atlas pour remplir toutes mes données de chaque entité automatiquement. J'ai donc à la fin plusieurs pdf avec la même mise en page mais des résultats différents.
Le problème, c'est que j'ai des champs qui ne se remplissent que quand c'est présent sur le terrain.
Par exemple : Le champs "DEVERSOIR" si case coché alors je peux compléter les valeurs de dimensionnement, l'état général, le matériaux, etc. S'il n'y a pas de déversoir alors case non coché donc les informations n'apparaissent pas.
Ce que je cherche à faire dans la mise en page, c'est de masquer les informations du déversoir quand celle-ci est nulle ou le contraire les faires apparaître quand le champs "DEVERSOIR" est coché.
Quand je parle de cases grisées c'est la zone de texte qui est grisées. Pour le moment j'ai les informations du déversoir qui sont dans la mise en page et quand le champs est "null" alors il me grise la zone de texte.
J'espère avoir été plus explicite.
Yan
Hors ligne
#7 Fri 12 May 2023 10:14
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3928
Re: QGIS/Mise en page: faire disparaitre une valeur
Bonjour,
Vue que j'ai plusieurs entités donc plusieurs fiche de terrain, j'utilise l'outil atlas pour remplir toutes mes données de chaque entité automatiquement. J'ai donc à la fin plusieurs pdf avec la même mise en page mais des résultats différents.
Par remplir, vous voulez dire que vous restituez le contenu de votre table de données via une mise en page personnalisée? Si oui, et que les champs que vous présentez, ils sont appelés dans la mise en page chacun dans une zone de texte (ou groupés par zone de texte), alors je ne vois pas pourquoi mon option de "ne pas afficher l'item lors de l'export" ne marcherait pas. Cette option peut être définie par des données donc en lui passant la bonne formule, la zone de texte apparaîtra ou disparaîtra selon l'entité de l'atlas. Pas de manip manuelle.
Si je suis toujours à côté de la plaque pour votre process, des images valent plus que mille mots (j'ai compté, on y est presque)
Hors ligne
#8 Fri 12 May 2023 10:36
- HockYan
- Participant occasionnel
- Date d'inscription: 21 Apr 2023
- Messages: 17
Re: QGIS/Mise en page: faire disparaitre une valeur
Cette option peut être définie par des données donc en lui passant la bonne formule, la zone de texte apparaîtra ou disparaîtra selon l'entité de l'atlas. Pas de manip manuelle.
Oui c'est exactement ça que je cherche à réalisé. Cependant, je ne connais pas la formule adapté pour résoudre mon problème.
Hors ligne
#9 Fri 12 May 2023 10:40
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3928
Re: QGIS/Mise en page: faire disparaitre une valeur
deversoir = 0 ne marche pas non plus? Sinon, vous utilisez les formules avec is null qui fonctionnent pour le grisé (il n'y a pas de raison que ça marche pas là)
Hors ligne
#10 Fri 12 May 2023 12:01
- HockYan
- Participant occasionnel
- Date d'inscription: 21 Apr 2023
- Messages: 17
Re: QGIS/Mise en page: faire disparaitre une valeur
Effectivement, j'ai mis le code suivant au niveau de l'outil "exclure cet objet des exports" : case when "DEVERSOIR" = 'non' then ' ' end
Cela me permet de masquer les zones de textes quand le champs "DEVERSOIR" est non coché lors de l'export de mon atlas.
Je m'excuse de nouveau pour la complexité de mes explications et vous remercie pour votre aide.
Hors ligne