Essentiellement, je veux produire un atlas basé sur un champ catégoriel dans une couche de points.
c'est-à-dire que j'ai une couche de points de gardiennes d'enfants avec le champ catégorique «Provision». J'ai classé chaque fonctionnalité dans ce domaine avec "After School Club", "Breakfast Club" etc. Une carte des clubs parascolaires, une carte des clubs de petit-déjeuner, etc. Les étendues peuvent être subtilement différentes.
Je pourrais le faire un par un, mais il semble qu'il devrait y avoir un moyen de produire un atlas basé sur l'étendue de chaque catégorie? (Je sens que je manque quelque chose d'évident :))
Ou bien existe-t-il un moyen d'automatiser la création d'une couche polygonale et de l'utiliser comme couverture cachée pour l'atlas?
EDIT: J'ai fait un petit progrès avec cela - vous pouvez utiliser un style basé sur des règles pour activer et désactiver des fonctionnalités pertinentes pour la fonctionnalité de couverture de l'atlas actuelle. cela fonctionne très bien si tout ce que vous voulez faire est d'afficher un ensemble différent de points. Je cherche maintenant à relier cela à un schéma de couleurs et à une légende réactive.
Réponses:
J'ai finalement résolu cela à mes fins, alors voici la solution que j'ai trouvée si cela aide quelqu'un:
Écrivez un script python (le mien à la fin de ceci) qui fait essentiellement ceci:
Cela m'a donné la couche de couverture de l'atlas avec un polygone pour chaque catégorie d'intérêt ressemblant à ceci:
Configurez l'atlas et le compositeur d'impression comme d'habitude - ne laissant que le problème de désactiver et d'activer les fonctionnalités.
Pour cela, c'est un peu d'essais et d'erreurs pour déterminer l'ensemble exact d'options:
L'expression ci-dessous vous permet d'obtenir la valeur actuellement conservée dans le champ Nom de catégorie pour la fonction d'atlas actuelle
Utilisez-le pour créer un style basé sur des règles pour le calque de points le long des lignes de
J'avais aussi une règle pour garantir que tous les autres devenaient transparents
Tester cela avec l'atlas fonctionne très bien. Enfin, utilisez simplement la même approche pour manipuler les étiquettes affichées, rendre les étiquettes dynamiques et filtrer les tableaux de manière appropriée. Cochez la case «filtrer la légende par le contenu de la carte» est également très efficace si vous ne voulez pas que tous les éléments de légende sur toutes les cartes.
Ensemble d'atlas final:
Modifier - comme cela a été demandé, voici mon script:
la source