Outdated version of the documentation. Find the latest one here.

Mit Attributtabelle arbeiten

Die Attributtabelle stellt die Objekte eines ausgewählten Layers dar. Jede Zeile in der Tabelle repräsentiert ein Kartenobjekt und jede Spalte enthält bestimmte Informationen über das Objekt. Objekte in der Tabelle können gesucht, ausgewählt, verschoben oder sogar bearbeitet werden.

Um die Attributtabelle eines Vektorlayers zu öffnen machen Sie Ihn aktiv indem Sie auf ihn in der Legende klicken. Dann wählen Sie aus dem Layer Menü openTable Attributtabelle öffnen. Es ist auch möglich einen Rechtsklick auf einen Layer zu machen und openTable Attributtabelle öffnen aus dem Drop-Down Menü auszuwählen und auf den openTable Attributtabelle öffnen Knopf in der Attribute Werkzeugleiste zu klicken.

Dies wird ein neues Fenster öffnen das die Attribute des Layers zeigt (figure_attributes_1). Die Anzahl der Objekte und die Anzahl der gewählten Objekte werden im Attributtabellentitel gezeigt.

Figure Attributes 1:

../../../_images/vectorAttributeTable.png

Attributtabelle des regions Layer

Die anderen Knöpfe im Kopf der Attributtabelle stellen die folgenden Funktionalitäten zur Verfügung:

  • toggleEditing Bearbeitungsmodus umschalten um die unten beschriebenen Funktionalitäten zu ermöglichen (auch mit Strg+e)

  • saveEdits Änderungen speichern (auch mit Strg+s)

  • draw Attributtablle aktualisieren

  • newTableRow Objekt hinzufügen

  • deleteSelected Gewählte Objekte löschen (auch mit Strg+D)

  • expressionSelect Objekte über Ausdruck wählen

  • selectAll Alles wählen (auch mit Strg+a)

  • invertSelection Auswahl umkehren (auch mit Strg+r)

  • unselectAttributes Alles abwählen (auch mit Strg+u)

  • selectedToTop Auswahl nach Oben (auch mit Strg+t)

  • panToSelected Zu den gewählten Zeilen verschieben (auch mit Strg+p)

  • zoomToSelected Zu den gewählten Zeilen zoomen (auch mit Strg+j)

  • copySelected Ausgewählte Zeilen in die Zwischenablage kopieren (auch mit Strg+c)

  • editPaste Paste from clipboard to a new row (also with Ctrl+v)
  • deleteAttribute Spalte löschen für PostGIS Layer und für OGR Layer mit GDAL Version >=1.9 (auch mit Strg+l)

  • newAttribute Neue Spalte für PostGIS Layer und für OGR Layer mit GDAL Version >=1.6 (auch mit Strg+w)

  • calculateField Feldrechner öffnen (auch mit Strg+i)

Unter diesen Knöpfen ist die Feldrechnerleiste (aktiv nur im Bearbeitungsmodus), die Berechnungen, die schnell auf Attribute angewendet werden sollen, ermöglicht. Diese Leiste verwendet die gleichen Ausdrücke, wie der calculateField Feldrechner (siehe Feldrechner).

Tipp

WKT Geometrie überspringen

Wenn Sie Attributdaten in externen Programmen (wie Excel) nutzen wollen verwenden Sie den copySelected Ausgewählte Zeilen in die Zwischenablage kopieren Knopf. Sie können die Informationen ohne Vektorgeometrien kopieren wenn Sie Einstellungen ‣ Optionen ‣ Datenquellen Menü checkbox Geometrie in WKT aus Attributtabelle kopieren deaktiveren.

Objekte einer Attributtabelle abfragen

Jede selektierte Zeile in einer Attributtabelle repräsentiert alle Attribute eines Objektes in dem ausgewählten Layer. Die Attributtabelle zeigt alle Veränderungen bei einer Abfrage in der Attributtabelle im Kartenfenster und umgekehrt. Eine neue Abfrage in der Attributtabelle verursacht also eine Veränderung der im Kartenfenster als ausgewählt dargestellten Objekte und eine im Kartenfenster geänderte Auswahl von Objekten spiegelt sich durch eine Veränderung der ausgewählten Zeilen in der Attributtabelle wider.

Zeilen können ausgewählt werden, indem Sie auf die Zeilennummer links neben der Zeile klicken. Mehrere Zeilen können ausgewählt werden, indem die Strg Taste während der Auswahl gedrückt wird.Eine kontinuierliche Auswahl ist möglich, indem Sie bei der Selektion die Umschalt Taste gedrückt halten, während Sie die Zeilennummern auswählen. Alle Zeilen zwischen der aktuell ausgewählten Zeile und der Mauspfeilposition werden dadurch selektiert. Bewegt man den Mauszeiger in der Attributtabelle indem man in eine Zelle in der Tabelle klickt ändert die Zeilenauswahl nicht. Verändert man die Auswahl im Kartenfenster bewegt sich der Mauszeiger in der Attributtabelle nicht.

Jede Spalte kann sortiert werden, indem Sie auf die Kopfzeile klicken. Ein kleiner Pfeil zeigt die Sortierfolge an. Wenn er nach unten zeigt, werden die Werte von oben nach unten absteigend angezeigt. Wenn der Pfeil nach oben zeigt, werden die von oben nach unten aufsteigend angezeigt.

For a simple search by attributes on only one column, choose the Column filter ‣ from the menu in the bottom left corner. Select the field (column) on which the search should be performed from the drop-down menu, and hit the [Apply] button. Then, only the matching features are shown in the attribute table.

Um eine Auswahl zu treffen müssen Sie das expressionSelect Objekte mit einem Ausdruck wählen Icon oberhalb der Attributtabelle verwenden. Mit expressionSelect Objekte mit einem Ausdruck wählen können Sie eine Untermenge einer Tabelle anhand einer Funktionsliste, wie Sie im calculateField Feldrechner vorhanden ist, definieren (siehe Feldrechner). Das Abfrageergebnis kann dann als neuer Vektorlayer gespeichert werden. Wenn Sie zum Beispiel Regionen vom Typ borough aus der Datei regions.shp der QGIS Beispieldaten finden wollen, müssen Sie das Felder und Werte Menü öffnen und das Feld, das Sie abfragen wollen, auswählen. Doppelklicken Sie das Feld ‘TYPE_2’ und auch [Alle eindeutigen]. Wählen und doppelklicken Sie ‘Borough’ in der Liste. Im Feld Ausdruck erscheint die folgende Abfrage:

"TYPE_2"  =  'Borough'

Hier können Sie auch Funktionsliste ‣ Letztes (Selection) verwenden um eine Auswahl zu treffen die Sie schon einmal verwendet haben. Der Ausdruckseditor speichert die letzten 20 verwendeten Ausdrücke ab.

Die zutreffenden Zeilen werden ausgewählt und die volle Anzahl zutreffender Zeilen erscheint dann in der Titelleiste der Attributtabelle sowie in der Statusleiste des Hauptfensters. Wollen Sie eine Suche durchführen, die dann nur die gewählten Objekte auf der Karte darstellt, verwenden Sie die Abfrageerstellung die in Kapitel Abfrageeditor beschrieben wird.

Um nur ausgewählte Objekte anzuzeigen verwenden Sie Alle gewählten Objekte anzeigen aus dem Menü links unten. Für weitere Informationen siehe nächsten Abschnitt über Filterfunktion.

Die Feldrechnerleiste erlaubt es Ihnen, Berechnungen nur auf der ausgewählten Reihe durchzuführen. Zum Beispiel, können Sie die Nummer des ID Felds des Layers regions.shp mit dem Ausdruck, ändern.

ID+5

wie in figure_attributes_1 gezeigt.

Objekt filtern

Am unteren Ende der Attributtabelle, haben Sie eine Drop-down-Liste der verschiedenen Filter:

  • Alle Objekte anzeigen;

  • Alle gewählten Objekte anzeigen;

  • Sichtbare Objekte der Karte anzeigen;

  • Bearbeitete und neue Objekte anzeigen;

  • Felderfilter;

  • Fortgeschrittener Filter (Ausdruck);

Die ersten vier selbsterklärend sind, die beiden letzten sind Ausdrucksfilter. Feld Filter ermöglichen dem Benutzer einen Spaltennamen in der Liste zu wählen und ein einfaches Formular auf der rechten Seite der Drop-down-Liste hinzufügen mit dem Ausdrucksparameter like. Dieser Filter wird einen Ausdrucksfilter als Erweiterter Filter erstellen. Die letzte Art von Filter wird ein Ausdrucksfenster öffnen, siehe Ausdrücke für weitere Informationen.

Reiter/Formular-Modus

Standardmäßig zeigt das Attributfenster ein Tabellenlayout. In einigen Fällen sollte man lieber ein Formularlayout verwenden, um einige Funktionen leichter zu bearbeiten.

Sie können zum Formularlayout wechseln, indem Sie in der unteren rechten Ecke auf openForm klicken und wechseln Sie zurück zum Tabellenlayout mit openTable.

Zum Objekt zoomen

Zum zoomen auf ein Objekt, ohne es ausgewählt zu haben, rechtsklicken Sie auf das gewünschte Objekt innerhalb der Attributtabelle und wählen Sie Auf Objekt zoomen.

Ausgewählte Objekte als neue Layer speichern

Die ausgewählten Objekte können in jedem OGR-unterstützten Vektorformat gespeichert werden und auch in ein anderes Koordinatenbezugssystem (KBS) transformiert werden. Öffnen Sie einfach das Rechte-Maus-Menü des Layers und klicken Sie auf :menuselection: Speichern als –> um den Namen, das Format und das KBS der Ausgabedatei zu definieren (siehe Kapitel Layerfenster). Um die Auswahl zu speichern vergewissern Sie sich dass|checkbox| nur gewählte Objekt speichern ausgewählt ist. Es ist genauso möglich OGR-Erstellungsoptionen innerhalb des Dialogs festzulegen.

In neuen Layer einfügen

Objekte, die sich in der Zwischenablage befinden, können in einen neuen Layer eingefügt werden. Versetzen Sie den Layer zuerst in den Bearbeitungsmodus. Wählen Sie einige Objekte aus, kopieren Sie sie in die Zwischenablage und fügen Sie sie unter Zuhilfenahme von Bearbeiten ‣ Objekte einfügen als und Neuer Vektorlayer oder Neuer Memory-Vektorlayer ein.

Dieses gilt für Objekte, die innerhalb von QGIS ausgewählt und kopiert wurden und auch für Objekte einer anderen Quelle die als Well-Known Text (WKT) definiert wurden.

Editiere Attributwerte

Mit calculateField Feldrechner Knopf in der Attributtabelle können Sie Berechnungen auf Basis von bestehenden Attributwerten oder definierten Funktionen durchführen, z.B. um die Länge oder die Fläche von Geometrieobjekten zu berechnen. Die Ergebnisse können in eine neue Attributspalte geschrieben werden, in ein virtuelles Feld oder Sie können verwendet werden um Werte in einer vorhandenen Spalte zu updaten.

Ein Virtuelles Feld ist ein Feld, das auf einem Ausdruck basiert und on-the-fly berechnet wird, das bedeutet, dass seine Werte automatisch aktualisiert werden, wenn sich die Werte der zugrunde liegenden Parameter ändern. Der Ausdruck wird einmal eingestellt; Sie müssen das Feld nicht neu berechnen, wenn sich zugrunde liegende Werte ändern. Zum Beispiel können Sie ein virtuelles Feld verwenden, wenn Bereiche ausgewertet werden müssen, wie Sie Features digitalisieren oder um automatisch eine Dauer zwischen Daten zu berechnen, die sich ändern kann (zum Beispiel unter Verwendung der now() Funktion).

Bemerkung

Virtuelle Felder benutzen

  • Virtuelle Felder sind nicht dauerhaft in den Layerattributen, was bedeutet, dass sie in der Projektdatei gespeichert und verfügabr sind, in der sie gespeichert wurden.

  • Ein Feld kann nur bei der Erzeugung als virtuell eingestellt werden und der Ausdruck kann später nicht mehr geändert werden: Sie müssen es löschen und ein neues erstellen.

Der Feldrechner ist jetzt über jeden Layer der Bearbeitung unterstützt erreichbar. Wenn Sie auf das Feldrechner Icon klicken öffnet sich ein Dialog (siehe figure_attributes_2). Wenn der Layer nicht im Bearbeitungsmodus ist wird eine Warnung gezeigt und das Verwenden des Feldrechners bewirkt, dass der Layer in den Bearbeitungsmodus gesetzt wird bevor die Berechnung gemacht wird.

Die schnelle Feldberechnungsleiste oben in der Attributtabelle ist nur sichtbar wenn der Layer bearbeitbar ist.

In der schnellen Feldberechnungsleiste wählen Sie erst einen bestehenden Feldnamen aus, öffnen dann den Ausdrucksdialog um Ihren Ausdruck zu erstellen oder schreiben ihn direkt in das Feld und klicken dann, je nach Bedarf, den [Alle aktualisieren], [Ausgewählte aktualisieren] oder [Gefilterte aktualisieren] Knopf.

Feldrechner

Basierend auf dem Dialog Expression Builder, bietet der Feldrechner Dialog ein komplettes Interface um Ausdrücke zu definieren und auf ein neues oder existierendes Feld anzuwenden. Wenn Sie den Feldrechner Dialog verwenden möchten, müssen Sie zunächst auswählen, ob Sie ein vorhandenes ausgewähltes Merkmal aktualisieren möchten, ein neues Feld erstellen oder ein existierendes Feld aktualisieren möchten.

Figure Attributes 2:

../../../_images/fieldcalculator.png

Feldrechner

Wenn Sie sich entschließen ein neues Feld hinzuzufügen, müssen Sie einen Feldnamen, einen Feldtyp (Ganzzahl, Dezimalzahl, Text oder Datum), die Ausgabefeldbreite und die Genauigkeit eingeben (siehe figure_attributes_2). Zum Beispiel wenn Sie ein Ausgabefeldbreite von 10 und eine Genauigkeit von 3 wählen, heißt das, dass 6 Einträge vor dem Komma stehen, dann das Komma und dann weitere 3 Einträge für die Genauigkeit.

Ein kurzes Beispiel zeigt wie der Feldrechner arbeitet, wenn Sie den Reiter Ausdruck verwenden. Wir wollen die Länge des ‘railroads’ Layers aus dem QGIS Beispieldatensatz in km berechnen:

  1. Laden Sie das Shape railroads.shp in QGIS und öffnen Sie die den Dialog openTable Attributtabelle öffnen.

  2. Klicken Sie auf toggleEditing Bearbeitungsmodus umschalten und öffnen Sie den calculateField Feldrechner Dialog.

  3. Wählen Sie das checkbox Neues Feld anlegen Kontrollkästchen um die Berechnungen in ein neues Feld zu speichern.

  4. Setzen Sie laenge als Ausgabefeldname, real als Ausgabefeldtyp und definieren Sie die Ausgabefeldbreite mit 10 und die Ausgabefeldgenauigkeit mit 3.

  5. Machen Sie jetzt einen Doppelklick auf die Funktion $length in der Geometrie Gruppe und fügen Sie sie in die Ausdruck Box des Feldrechners ein.

  6. Vervollständigen Sie den Ausdruck indem Sie /1000 im Feldrechnerausdrucksfenster und klicken Sie [OK].

  7. Sie können jetzt eine neue Spalte laenge in der Attributtabelle finden.

Arbeiten mit nicht räumlichen Attributtabellen

Mit QGIS können Sie auch nicht-räumliche Tabellen laden. Dies beinhaltet derzeit Tabellen die von OGR und Delimited Text, sowie vom PostgreSQL, MSSQL and Oracle Provider unterstützt werden. Die Tabellen können zum Nachschlagen benutzt werden oder nur um allgemein zu suchen und zu bearbeiten anhand der Tabellenansicht. Wenn Sie die Tabelle laden sehen Sie dies in der Legende. Sie kann mit dem openTable Attributtabelle öffnen Werkzeug geöffnet werden und ist dann editierbar wie jeder andere Attributtabelle.

Sie können zum Beispiel Spalten von nicht-räumlichen Tabellen verwenden um Attributwerte oder eine Spanne von Werten, die erlaubt ist, in einen bestimmten Vektorlayer während der Bearbeitung hinzugefügt zu werden definieren. Sehen Sie sich das Bearbeitungselement genauer im Abschnitt Menü Felder an, um mehr zu erfahren.

Bedingte Formatierungsregeln für Tabellenzellen

Sie können das Bedingte Formatierung Bedienfeld aktiveren, indem Sie auf rendererAttributeTable oben rechts des Attributfensters in der Tabellenansicht klicken (nicht verfügbar in der Formularansicht).

Das neue Bedienfeld ermöglicht es dem Benutzer neue Regeln zum bedingten Formatieren von Feldern hinzuzufügen oder ganze Reihen im Bezug auf den Ausdruck des Felds. Neue Regeln öffnet ein Formular in dem Sie einstellen können:

  • den Namen der Regel,

  • eine Bedingung aus dem Ausdrucksfenster,

  • eine voreingestellte Formatierung

  • einige andere Parameter um die Formatierung zu verbessern oder ändern:

    • Hintergrund- und Textfarbe,

    • Icons benutzen,

    • fett, kursiv, unterstrichen oder durchgestrichen,

    • Textfeld,

    • Schriftart.

Figure Attributes 3:

../../../_images/attribute_table_conditional_formating.png

Bedingte Formatierungsregeln für Attributtabellen

Ein-Zu-Mehrere-Beziehungen erstellen

Beziehungen sind eine Technik, die oft in Datenbanken zum Einsatz kommen. Das Konzept ist dass Objekte (Zeilen) verschiedener Layer (Tabellen) zueinander gehören können.

Als Beispiel nehmen wir einen Layer mit allen Regionen von Alaska (Polygon) in dem einige Attribute über den Namen und den Regionstyp sowie eine eindeutige ID (die als Primärschlüssel eingesetzt wird) vorhanden sind.

Fremdschlüssel

Dann erhalten Sie einen anderen Punktlayer oder Tabelle mit Informationen über Flughäfen die in den Regionen liegen und wollen diese ebenfalls im Auge behalten. Wenn Sie diese dem Regionen Layer hinzufügen wollen müssen Sie eine Eine-Zu-Mehrere-Beziehung anhand von Fremdschlüsseln erstellen weil es in den meisten Regionen mehrere Flughäfen gibt.

Figure Relations 1:

../../../_images/relations1.png

Die Region Alaska mit Flughäfen

Zusätzlich zu den bereits bestehenden Attributen in der Airport Attributtabelle wird ein anderes Feld fk_region das als Fremdschlüssel verwendet werden soll, eingefügt (wenn Sie eine Datenbank verwenden würden Sie wahrscheinlich dafür einen Constraint definieren).

Dieses Feld fk_region enthält immer eine ID einer Region. Man kann es als Zeiger zu der Region, zu der es gehört, betrachten. Und sie können eine benutzerdefinierte Eingabemaske erstellen wobei QGIS sich um das Einrichten kümmert. Es funktioniert mit verschiedenen Anbietern (so dass sie es mit Shape- und CSV-Dateien benutzen können) und alles was Sie tun müssen ist QGIS die Beziehung zwischen Ihren Tabellen mitzuteilen.

Layer

QGIS unterscheidet nicht zwischen einer Tabelle und einem Vektorlayer. Grundsätzlich gesehen ist ein Vektorlayer eine Tabelle mit einer Geometrie. Sie können Ihre Tabelle also als Vektorlayer einfügen. Zu Demonstrationszwecken können Sie die ‘region’ Shapedatei (mit Geometrien) und die ‘airport’ CSV-Tabelle (ohne Geometrien) und einen Fremdschlüssel (fk_region) zu dem Layer ‘region’ laden (eine typische Ein-Zu-Mehrere Beziehung).

Definition (Relation Manager)

Das erste was wir machen müssen ist QGIS über die Beziehungen zwischen den Layern wissen lassen. Dies wird in Einstellungen ‣ Projekteigenschaften gemacht. Öffnen Sie das Beziehungen Menü und klicken Sie auf Beziehung hinzufügen.

  • Name wird als Titel verwendet. Es sollte eine lesbare Zeichenfolge sein, die beschreibt, wofür die Beziehung verwendet werden soll. Wir werden ihn in diesem Fall einfach “Airports” nennen.

  • Referenzierender Layer ist der in dem der Fremdschlüssel steht. In diesem Fall ist dies der ‘airports’ Layer.

  • Referenzierendes Feld zeigt an welches Feld auf den anderen Layer zeigt, also ist dies in diesem Fall fk_region

  • Referenzierter Layer ist der mit dem Primärschlüssel, auf den gezeigt wird, also ist dies in diesem Fall der ‘regions’ Layer

  • Referenziertes Feld ist der Primärschlüssel des referenzierten Layers, also die ID.

  • ID wird für interne Zwecke benutzt und muss eindeutig sein. Sie brauchen es vielleicht um benutzerdefinierte Eingabemasken zu erstellen sobald dies unterstützt wird. Wenn Sie es leer lassen wird eines für Sie erstellt aber Sie können auch selber eine zuweisen die einfacher zu handhaben ist.

Figure Relations 2:

../../../_images/relations2.png

Relation Manager

Formulare

Jetzt wo QGIS von der Beziehung weiss wird es dazu benutzt das Formular das es erstellt zu verbessern. Da wir die Standard Formular Methode (autogenerated) nicht verändert haben, wird es Ihrem Formular einfach ein neues Bearbeitungselement hinzufügen. Also lassen Sie uns einen Layer ‘region’ in der Legende auswählen und das Objekte abfragen Werkzeug benutzen. Abhängig von Ihren Einstellungen öffnet sich das Formular entweder direkt oder Sie müssen den Identifizieren Dialog unter Aktionen öffnen.

Figure Relations 3:

../../../_images/relations3.png

identifikationsergebnis Dialog von regions mit Beziehung zu airports

Wie Sie sehen können werden die dieser bestimmten region zugeordneten airports alle in einer Tabelle gezeigt. Und es ikönnen außerdem einige Knöpfe benutzt werden. Lassen Sie uns einen kurzen Blick daruf werfen

  • Der toggleEditing Knopf ist zum Umschalten des Bearbeitungsmodus da. Seien Sie sich dessen bewusst dass es den Bearbeitungsmodus des ‘airport’ Layers umschaltet, trotzdessen wir uns im Objektformular eines Objektes aus dem ‘region’ Layer befinden. Die Tabelle jedoch stellt Objekte des ‘aiport’ Layer dar.

  • Der signPlus Knopf wird dem ‘airport’ Layer ein neues Objekt hinzufügen. Und es wird den neuen airport der aktuellen region standardmäßig zuordnen.

  • Der remove Knopf löscht den ausgewählten airport dauerhaft.

  • Das link Symbol öffnet einen neuen Dialog in dem Sie jeden vorhandenen ‘airport’ auswählen können was dann der aktuellen ‘region’ zugewiesen wird. Dies kann nützlich sein wenn Sie den ‘airport’ aus Versehen in der falschen ‘region’ erstellt haben.

  • Das unlink Symbol hebt die Verbindung zwischen dem ausgewählten ‘airport’ und der aktuellen ‘region’ wieder auf so dass dieser auf wirksame Art und Weise nicht mehr zugewiesen ist (der Fremdschlüssel wird auf NULL gesetzt).

  • Die zwei Knöpfe rechts wechseln zwischen Tabellenansicht und Formularansicht wobei Sie bei der letzten Einstellung alle ‘airports’ in ihrer jeweiligen Form sehen können.

Wenn Sie an der ‘airport’ Tabelle arbeiten steht ein neuer Typ von Bearbeitungselement zur Verfügung, mit dem Sie das Objektformular der referenzierten ‘region’ in das Objektformular der ‘airports’ einbetten können. Es kann verwendet werden wenn Sie die Layereigenschaften der ‘airports’ Tabelle öffnen, zum Felder Menü wechseln und den Typ des Bearbeitungselements des Fremdschlüssels ‘fk_region’ auf Beziehungsreferenz ändern.

Wenn Sie jetzt einen Blick auf den Objektdialog werfen werden Sie sehen dass das Formular der ‘region’ in das ‘airports’ Formular eingebettet ist und sogar eine Kombobox vorhanden ist mit dem der aktuelle ‘airport’ zu einer anderen ‘region’ zugeordnet werden kann.

Figure Relations 4:

../../../_images/relations4.png

Objekte abfragen Dialog von ‘airport’ mit Beziehung zu ‘regions’