J'essaie d'utiliser les outils QGIS Atlas pour créer des «scattermaps» pour étudiants, c'est-à-dire. afficher l'école et les élèves qui fréquentent cette école, pour 215 écoles.
La couche des écoles est la couche de couverture et dépend de la valeur SCHNUM
(numéro de l'école). Cela fonctionne bien, c'est-à-dire qu'il conduit les pages correctement.
Comment puis-je afficher uniquement les entités d'autres couches, dans ce cas la couche de points étudiant, qui correspondent à la SCHNUM
valeur correspondante pour l'entité actuelle dans la couche de couverture?
Je voudrais également basculer la couche de couverture (écoles) sur «caché» et utiliser la même technique pour afficher uniquement l'école actuelle à partir d'une couche d'écoles en double.
Il y a une présentation disponible ici qui fait allusion à l'utilisation d'un paramètre de règle de rendu de calque à l'aide $atlasfeatureid
, mais je ne peux pas comprendre comment cela fonctionne.
J'ai également trouvé cette page de suivi des bogues qui montre que cela fonctionne, mais encore une fois, je ne peux pas le faire fonctionner sur mes données:
Réponses:
En effet, vous devez utiliser la symbologie basée sur des règles pour réaliser ce que vous voulez.
Vous devez créer une règle pour ce que vous souhaitez afficher et une règle ELSE pour tous les autres.
Dans la règle ELSE, décochez la case du symbole pour la rendre invisible.
Masquer les autres fonctionnalités de la couche de couverture
La règle pour afficher uniquement la fonction d'atlas actuelle peut être la suivante:
note : je crois que la variable @atlas_featureid est une syntaxe 2.12. Je pense que dans 2.8.x, vous auriez besoin d'utiliser une fonction appelée $ atlas_featureid.
Masquer les entités en dehors de la fonctionnalité actuelle de l'atlas
La recette est la même qu'avant, une autre règle pour masquer les fonctionnalités, une pour afficher.
Pour votre question particulière, vous semblez avoir un attribut partagé appelé SCHNUM. Dans ce cas, la règle peut être:
dans votre cas particulier:
Remarquez la différence entre les deux SCHNUM. Le premier, entre guillemets, représente la valeur de chaque entité de couche actuelle du champ qui stocke le code de l'école. La seconde, entre guillemets simples, est une chaîne avec le nom de la couche de couverture qui stocke le code de l'école.
Remarque : Encore une fois, je pense que la variable @atlas_feature est une "nouvelle" chose, et dans la version 2.8.x, vous devrez utiliser la fonction $ atlas_feature
la source