Ziel: datenbasierte Filterung auf der Grundlage von Attributen, um die Darstellung bestimmter Objekte zu beeinflussen
Mit dem Mausrad oder dem entsprechenden Symbol (Lupe mit Plus) zur Stadt Zürich hineinzoomen. Es wird klar, dass nicht nur Eisenbahn-Schienen, sondern u.a. auch Tramschienen dargestellt werden:
Rechtsklick auf Layer Schienennetz und Eintrag wählen «Attributtabelle öffnen»:
Hier werden «Attribute», also Eigenschaften der jeweiligen Objekte auf der Karte angezeigt – hier jetzt Attribute der einzelnen Segmente, die in ihrer Gesamtheit den Layer Schienennetz ausmachen. Werden Beschriftungen der Spalten teilweise verdeckt, kann die Breite oben an den Spaltenrändern verändert werden. In der Spalte Datenherr_TUAbkuerzung wird angezeigt, woher die jeweiligen Daten stammen. Es wird klar, dass bestimmt Gleis-Objekte von der SBB stammen, andere von den Verkehrsbetrieben der Stadt Zürich (VBZ: Tramlinien). In anderen Regionen der Schweiz gibt es noch weitere Datenquellen (Regionalbahnen etc.). Wir merken uns: 1) den Namen der Spalte Datenherr_TUAbkuerzung und 2) die beiden hier relevanten Einträge SBB und VBZ. Dann schliessen wir die Attributtabelle (Schaltfläche x) wieder:
Erneut Rechtsklick auf Layer Schienennetz, diesmal aber Eigenschaften wählen; unter Symbolisierung in der Dropdown-Liste den Eintrag «Einzelsymbol» ersetzen durch «Regelbasierend»:
Es erscheint ein Eintrag, den wir unterhalb der Beschriftung «Regel» doppelklicken: ein neues Dialogfenster «Edit Rule» öffnet sich. Dort auf das Symbol ε klicken, womit sich der Ausdruckseditor öffnet:
1) Im sich öffnenden Ausdruckseditor klicken wir im mittleren, grauen Feld auf den Pfeil vor «Felder und Werte», womit dieser Eintrag aufgeklappt wird. Wir sehen hier alle Datenfelder (Attribute), die unser Layer aufweist und die wir bereits in der Attributtabelle gesehen hatten.
2) Wir wählen den Eintrag aus, den wir uns gemerkt hatten: Datenherr_TUAbkuerzung und doppelklicken darauf: der Name wird in doppelten Anführungszeichen in den davor leeren Ausdruckseditor links übernommen.
3) Nun fügen wir im Ausdruckseditor von Hand oder mit dem Symbol oben links ein Gleichheitszeichen (=) ein
4) Wir gehen wieder nach rechts, achten darauf, dass Datenherr_TUAbkuerzung immer noch angewählt ist, und gehen dann ganz rechts auf «Alle eindeutigen»: hier erscheint eine Liste mit sämtlichen Werten, die in der Attributtabelle im entsprechenden Datenfeld «Datenherr_TUAbkuerzung» auftauche. Wir scrollen runter und suchen nach dem Eintrag für die SBB, der hier ‘SBB CFF FFS’ lautet: wir doppelklicken darauf. Auch dieser Eintrag wird in den Ausdruckseditor übernommen. Die Formel dort lautet nun:
„Datenherr_TUAbkuerzung“ = ‚SBB CFF FFS‘
Sie muss exakt so lauten, inkl. der einfachen und doppelten Anführungszeichen, damit die Filterung funktioniert. Tritt ein Syntaxfehler auf, so wird dies ganz unten links (wo auf dem Screenshot «Ausgabevoransicht: 1» steht), eine Fehlermeldung «Ausdruck ist ungültig» angezeigt.
Mit OK das Fenster schliessen:
Wir sind wieder im Dialogfenster «Edit Rule», wo wir mit der Schaltfläche «Test» prüfen können, ob unsere eben definierte Filterregel Objekte gefunden hat. In unserem Falle hat der Filter 187 Objekte (Schienen-Segmente) gefunden. Unser vorhin generierter Ausdruck weist QGIS an, nur Objekte mit Datenherkunft SBB zu berücksichtigen. Dialogfenster «Edit Rule», mit OK schliessen:
Zurück im Fenster Layereigenschaften unten auf Anwenden klicken, um die definierte Filterung anzuwenden und auf der Karte sichtbar zu machen: die Tramlinien werden ausgeblendet, die Eisenbahnlinien (hier: unterirdische S-Bahn-Linien) bleiben sichtbar:
In dieser Übung wurde gezeigt, wie datenbasierte Filterung auf der Grundlage von Attributen dazu verwendet werden kann, die Darstellung bestimmter Objekte zu beeinflussen, etwa durch Weglassen von Objekten mit bestimmten Eigenschaften.
Hier geht es weiter mit Teil 7 der Übung.