In QGIS 2.14.6 möchte ich einen Standardwert für ein Attribut in einem Shapefile (oder auch einer Spatialite-Ebene) definieren, der angewendet wird, wenn der Benutzer den Wert nicht explizit festlegt.
Gibt es eine Möglichkeit, dies mit Standardwerkzeugen / -einstellungen (ohne Python) zu erreichen?
qgis
shapefile
default-value
Jochen Schwarze
quelle
quelle
3.1415926
, der Benutzer legt keinen Attributwert fest. Und können solche in echte Attribute umgewandelt werden? Fragen über Fragen ... Außerdem war 'ohne Python' nicht obligatorisch, ich wäre in Ordnung, selbst wenn ich dies mit 'ein bisschen Python' erreichen könnte ;-) (Und wo ist @ Josephs Kommentar?!)Antworten:
QGIS 3
Wählen Sie die Ebene im Ebenenbedienfeld aus und klicken Sie mit der linken Maustaste. Eigenschaften auswählen. Wählen Sie das "Attributformular" wie unten gezeigt. Wählen Sie die Felder aus der Liste "Verfügbare Widgets" wie angezeigt aus. Geben Sie im Dialogfeld "Standardeinstellungen" einen Ausdruck für den Standardwert ein. Wenn das Kontrollkästchen "Standardwert bei Aktualisierung anwenden" aktiviert ist, wird der Wert jedes Mal angepasst, wenn die Geometrie des Features oder ein anderes Attribut geändert wird. Dies ermöglicht Dinge wie einen "last_modified" -Zeitstempel oder einen aktualisierten "Bereich".
QGIS 2.18
Ab QGIS 2.18 ist dies ohne zusätzliches Werkzeug möglich.
Gehen Sie einfach zu den Feldeigenschaften, klicken Sie auf die Schaltfläche in dem Feld, dem Sie einen Standardwert zuweisen möchten, und geben Sie einen Ausdruck ein. Es kann auch die Geometrie als Eingabe verwendet werden.
Nebenbemerkung: Ich weiß, dass die ursprüngliche Frage auf QGIS 2.14 abzielt, aber ich denke, dass dies für zukünftige Leser dieser Frage immer noch von Interesse ist.
quelle
Es gibt das AutoFields- Plugin, mit dem Sie Attributfelder erstellen (oder ändern) und diese automatisch mit einem benutzerdefinierten Ausdruck aktualisieren können .
Es wurde auch mit verschiedenen Formaten getestet und Autofelder gelten nicht als virtuelle Felder (zitiert von der Homepage des Plugins ):
quelle
Da ich diese oben genannten Attributwerte verwenden möchte, um einige Aspekte der Symbologie (Symbolgröße, Deckkraft) zu steuern, haben einige weitere Untersuchungen ergeben, dass es mit datendefinierten Eigenschaften einen anderen großartigen (und flexiblen) Weg gibt, dies zu erreichen. Ein (generischer) Ausdruck
Dabei
@default_value
wird als Projektvariable ein Standardwert zurückgegeben, der vom Benutzer definiert werden kann, wenn für das Attribut kein Wert festgelegt istattribute_name
und der Wert sonst angegeben wird.Definieren Sie Variablen in Projekteigenschaften:
Richten Sie einen Ausdruck mit datendefinierten Eigenschaften ein (rote Farbe mit benutzerdefinierter Deckkraft in diesem Fall):
quelle