======Die Attributtabelle====== Alle [[qgis:basic:a_grundlagen:al01_geographische_datenformate#vektor-geodaten|Vektor-Geodaten]] besitzt eine Attributtabelle (manchmal auch "Sachdatentabelle" gennannt). Die Attributtabelle eines Layers öffnet man mit: * ''Rechtsklick auf den Layer -> Attributtabelle öffnen'' * nach Auswahl des Layers mit dem Button {{:qgis:mactionopentable.png?@20px&nolink}} in der Menüleiste * oder einfach mit der Taste F6 Die Attributtabelle gibt die **Sachinformationen** (oder Attribute) aller Geometrien eines **Vektor-Layers** wieder. Es können theoretisch beliebig viele Attribute existieren, welche die jeweilige Geometrie näher **beschreiben** können. Das kann entweder nur die ID sein oder beliebig viele zusätzliche Informationen w.z.B. die Höhe eines Berges oder die Anzahl der Einwohner eines Ortes. [{{:qgis:basic:images:attributtabelleqgis34.png?direct|Die Attributtabelle mit Begrifflichkeiten}}] ^ Nr. ^ Tabelle ^ Was? ^ Beschreibung/Beispiel ^ ^ 1 | Zeile | Geometrie oder //Feature// | Das geometrische Objekt, z.B. eine Linie, ein Gebäudepolygon, ein Punkt... | ^ 2 | Spalte | Attribut oder //Field// | Die Eigenschaften oder eben Attribute, welche vergeben werden können oder vergeben sind | ^ 3 | Zelle | Wert oder //Value// | Der jeweilige Attributwert der Geometrie | Das **Erscheinungsbild** der **Attributtabelle** ändert sich mit dem Aktivieren/Deaktivieren des **Bearbeitungsmodus {{:qgis:mactiontoggleediting.png?@20px&nolink}}**. Ist der Bearbeitungsmodus deaktiviert, dient die Tabelle nur zur Wiedergabe der Inhalte: u.A. kann man Inhalte suchen, filtern, wählen und zu gewählten Geometrien auf der Karte springen. Eine versehentliche Änderung der Daten ist ausgeschlossen. Ist der Bearbeitungsmodus jedoch aktiv, so können Spalten, Zeilen und Werte der Attributtabelle **verändert**, **eingegeben** oder **gelöscht** werden. Außerdem ermöglicht der **Feldrechner** {{:qgis:mactioncalculatefield.png?@20px&nolink}} mit einem umfangreichen Angebot an Funktionen ([[qgis:basic:d_layer_und_daten:cl06_qgis_ausdruecke_expression|Ausdrücke]]) die **Berechnung** neuer Feldwerte und Virtueller Felder. Unten rechts im Attributtabellenfenster befinden sich zwei Buttons mit welchen zwischen **Tabellen-Ansicht** und **Formularansicht** gewechselt werden kann. {{ :qgis:basic:images:attributspalten_anordnen_kontext_qgis322.png?direct&200|Kontextmenü Attributtabellen-Kopf (QGIS 3.22)}}**Rechtsklick auf den Tabellenkopf** öffnet das Kontextmenü, worüber sich u.A. auch die **Reihenfolge der Spalten** und deren **Sichtbarkeit** regeln lässt! **Diese Einstellung wird nur im Stil des Layers gespeichert** ist also keine Änderung am Datensatz. Möchte man die **Struktur der Tabelle physisch ändern** (Datentypen, Längen, Reihenfolge, Namen etc.), so lohnt sich ein Blick auf das umfangreiche Tool [[https://docs.qgis.org/3.16/en/docs/user_manual/processing_algs/qgis/vectortable.html?highlight=refactor#refactor-fields|refactor fields]]. ===== Die Filterfunktionen ===== {{ :qgis:basic:images:filtermenue_attributtabelle_qgis322.png?300px&direct|}} Um die angezeigten Zeilen (Features) der Attributtabelle zu **reduzieren bzw. zu filtern**, stehen viele Möglichkeiten zur Verfügung {{:qgis:mactionfiltermap.png?@16px&nolink|}} (unten links). So ist es möglich, nur die Zeilen anzuzeigen, die: * Ausgewählt wurden, * im Kartenfenster sichtbar sind, * die seit dem letzten Speichern hinzugefügt oder bearbeitet wurden, * welche in einem Attribut (Feld) einen bestimmten Wert haben oder * welche den Bedingungen eines Ausdrucks (//Formel//) entsprechen (mehr zu Ausdrücken in der folgenden Lektion: [[qgis:basic:d_layer_und_daten:cl05_abfragen_und_regeln_qgis_ausdruck]]). Im Tabellenkopf finden Sie die **Gesamtanzahl der Einträge**, sowie die **gefilterten** und/oder **ausgewählten Spalten**. Möchten Sie, dass alle **gefilterten Spalten auch gewählt** werden, so klicken Sie in die **linke, obere Tabellenecke**. Mit dieser Methode können Sie Filtern, Wählen und dann eine **beliebige Operation an den gewählten Objekten** durchführen (z.B. als neuen Layer exportieren!) ===== Der Feldrechner ===== [{{ :qgis:basic:images:qgis_feldrechner_320.png?@700px&direct|Anlegen eines neuen virtuellen Feldes im Feldrechner (QGIS 3.20)}}] Den Feldrechner kann man nicht nur in der **Attributtabellenansicht** starten, er befindet sich auch im **Hauptmenü** sowie unter dem Tab ''Quellfelder'' in den ''Layereigenschaften'' {{:qgis:mactioncalculatefield.png?@20px&nolink|}}. Er ähnelt dem **[[qgis:basic:d_layer_und_daten:cl06_qgis_ausdruecke_expression|Audrucksdialog]]** - und tatsächlich ist es auch der Audrucksdialog nur mit erweiterten Interface zum **Anlegen neuer Spalten (Felder) oder zum Aktualisieren** vorhandener. Der eingegebene Ausdruck wird in der neu hinzugefügten Spalte bzw. in der zu aktualisierenden Spalte wirksam. Damit lassen sich beispielsweise Spalten automatisch mit den Werten einer anderen Spalte füllen, oder die Berechnung aus zwei Spalten (''"Attribut-A" * "Attribut-B"''), oder wie im Screenshot die Fläche in Hektar gerundet auf 2 Nachkommastellen. ====Virtuelle Felder (virtuelle Attribute)==== Virtuelle Felder in QGIS sind benutzerdefinierte Felder, die **durch [[qgis:basic:d_layer_und_daten:cl06_qgis_ausdruecke_expression|Ausdrücke]] erstellt werden können, ohne die zugrunde liegenden Daten zu verändern.** Sie sind nicht physisch in der Datentabelle gespeichert, sondern werden bei Bedarf **dynamisch berechnet**. Es ergeben sich u.A. diese Vorteile: * **Flexibilität:** Virtuelle Felder ermöglichen benutzerdefinierte Berechnungen und Funktionen, ohne die ursprüngliche Datenstruktur zu verändern. * **Dynamische Aktualisierungen:** Virtuelle Felder werden bei Bedarf berechnet und aktualisieren sich automatisch, wenn sich die zugrunde liegenden Daten ändern. * **Speicherplatzersparnis:** Da sie nicht physisch in der Datentabelle gespeichert werden, sparen virtuelle Felder Speicherplatz im Vergleich zu herkömmlichen Feldern. * **Unabhänig:** Virtuelle Felder können an allen Datenquellen erzeugt werden, auch wenn diese schreibgeschützt ist (z.B. ein WFS-Dienst) * **Einfache Anpassung:** Virtuelle Felder können leicht bearbeitet oder entfernt werden, ohne die Originaldaten zu beeinträchtigen. Zusammenfassend bieten virtuelle Felder in QGIS eine flexible, dynamische und effiziente Möglichkeit, benutzerdefinierte Berechnungen und Analysen durchzuführen, ohne die zugrunde liegenden Daten zu verändern oder zusätzlichen Speicherplatz zu beanspruchen. ===Virtuelle Felder erzeugen=== Erzeugt werden virtuelle Felder auf dem gleichen Weg wie oben bei den "normalen" Feldern beschrieben, es muss lediglich der Haken bei "virtuelles Feld anlegen" gesetzt werden. Geändert werden kann der verwendete Ausdruck auch ganz leicht: im Tab ''Quellfelder'' in den ''Layereigenschaften'' das virt. Feld auswählen und den Ausdruck bearbeiten. Virtuele Felder existieren nur in QGIS! Andere GIS verstehen diese nicht. Sie existieren nur im QGIS-Projekt bzw. im Stil des Layers. Sollten Sie jedoch einen Layer oder nur dessen Attributtabelle **Exportieren** so wird das virtuelle Feld als statisches Feld exportiert. Sie verlieren es also nicht. Nur die automatische Aktualisieren klappt dann nicht mehr. Virtuelle Felder haben fast nur Vorteile. Sollten Sie jedoch einen **komplexen Ausdruck** verwenden und **viele Geometrien** haben, könnte das zu **Lasten der PC-Ressourcen** gehen. ====== Die Attributtabelle schön erklärt von Dr. Christian Müller ====== {{ youtube>K9kkss9H5Qo?large }} ---- ~~DISCUSSION|Fragen, Hinweise und Fehler kommen hier hin:~~