Im Wesentlichen möchte ich einen Atlas erstellen, der auf einem kategorialen Feld in einer Punktebene basiert.
dh ich habe eine Punktschicht von Kinderbetreuern mit dem kategorischen Feld "Bereitstellung". Ich habe jede Funktion in diesem Feld mit "After School Club", "Breakfast Club" usw. kategorisiert und möchte jetzt eine Reihe von Karten erstellen, die jede Kategorie durchlaufen und nur die Punkte für jede anzeigen. Eine Karte von After-School-Clubs, eine Karte von Frühstücksclubs usw. Die Ausmaße können geringfügig voneinander abweichen.
Ich könnte es einzeln tun, aber es scheint, dass es eine Möglichkeit geben sollte, einen Atlas zu erstellen, der auf den Ausmaßen jeder Kategorie basiert. (Ich habe das Gefühl, ich vermisse etwas Offensichtliches :))
Oder gibt es eine Möglichkeit, die Erstellung einer Polygonebene zu automatisieren und diese als versteckte Abdeckung für den Atlas zu verwenden?
BEARBEITEN: Ich habe ein wenig Fortschritte gemacht - Sie können das regelbasierte Styling verwenden, um Funktionen ein- und auszuschalten, die für die aktuelle Atlasabdeckungsfunktion relevant sind. Es funktioniert tatsächlich einwandfrei, wenn Sie nur einen anderen Satz von Punkten anzeigen möchten. Ich versuche jetzt, das mit einem Farbschema und einer reaktiven Legende zu verknüpfen.
Antworten:
Ich habe dies endlich für meine Zwecke gelöst. Hier ist die Lösung, die ich gefunden habe, wenn sie jemandem hilft:
Schreiben Sie ein Python-Skript (meins am Ende), das im Wesentlichen Folgendes tut:
Dies gab mir die Atlasabdeckungsschicht mit einem Polygon für jede interessierende Kategorie, die so aussah:
Konfigurieren Sie den Atlas und den Print Composer wie gewohnt - und lassen Sie nur die Funktionen zum Ein- und Ausschalten.
Dafür ist es ein bisschen Versuch und Irrtum, die genauen Optionen herauszufinden:
Mit dem folgenden Ausdruck können Sie den Wert abrufen, der derzeit im Feld CategoryName für die aktuelle Atlasfunktion gespeichert ist
Verwenden Sie diese Option, um ein regelbasiertes Styling für die Punktebene entlang der Linien von zu erstellen
Ich hatte auch eine Regel, um sicherzustellen, dass alle anderen transparent wurden
Das Testen mit dem Atlas funktioniert wirklich gut. Verwenden Sie zum Schluss einfach den gleichen Ansatz, um die angezeigten Beschriftungen zu bearbeiten, Beschriftungen dynamisch zu machen und Tabellen entsprechend zu filtern. Das Aktivieren der Option "Legende nach Karteninhalt filtern" ist auch dann sehr effektiv, wenn nicht alle Legendenelemente auf allen Karten angezeigt werden sollen.
Letzter Atlas-Satz:
Bearbeiten - wie es verlangt wurde, hier ist mein Skript:
quelle