Attribut-Eingabemaske¶
QField erstellt Eingabemasken ähnlich, aber nicht gleich zu QGIS. Die Feldattribute von QGIS werden nach bestem Wissen und Gewissen unterstützt und für den mobilen Einsatz optimiert.
Attributtyp | Unterstützung | Notiz |
---|---|---|
Text Edit | - HTML wird nicht unterstützt - Die numerische Eingabe ist abhängig vom Typ. |
|
Kontrollkästchen | ||
Werteabbildung | ||
Versteckt | ||
Anhang | Dieses Feld ist mit der Kameraintegration kombiniert. Es ist auch in der Lage, andere Dateien wie pdf und doc zu öffnen (wenn Sie einen entsprechenden Viewer haben) Anhang (Fotoeinstellungen) | |
Datum Zeit | ||
Bereich | ||
Beziehungen | ||
Beziehungsreferenz | ||
Wertebeziehung | ||
UUID-Generator | ||
QML / HTML Widget | ||
Andere | Finanzierung |
Änderbar¶
Das Kennzeichen bearbeitbar von Feldern wird beachtet.
Letzte Werte erinnern¶
QField bietet eine viel genauere Kontrolle über die zuletzt verwendeten Werte und ignoriert die QGIS-Einstellung.
Attribut-Eingabemasken unterdrücken¶
Die Einstellung Attribut-Eingabemaske unterdrücken wird direkt angewandt auf die QField-Eingabemaske.
Drag & Drop Designer Eingabemasken¶
Gruppen und Reiter von Drag and Drop Designer Eingabemasken werden unterstützt.
Gruppen und Reiter von Drag and Drop Designer Eingabemasken werden unterstützt. Im "Attributformular" können Sie Ihre Formulare mit verschiedenen Containern wie Registerkarten und Gruppen strukturieren und die Interaktivität durch die Integration einer ausdrucksbasierten bedingten Sichtbarkeit verbessern. Durch die Aktivierung des [Drag & Drop-Designers], (https://docs.qgis.org/latest/en/docs/user_manual/working_with_vector/vector_properties.html#vector-attributes-menu), erhalten Sie die Flexibilität, Attributfelder neu anzuordnen, sowie Zugriff auf Widgets, die nicht direkt an bestimmte Felder gebunden sind (z. B. HTML/QML-Widgets).
Ein Beziehungs-Widget konfigurieren¶
Vorbereitung am Schreibtisch
Weitere Informationen finden Sie im Kapitel über Beziehungen in der offiziellen [QGIS Dokumentation].(https://docs.qgis.org/3.22/en/docs/user_manual/working_with_vector/attribute_table.html#creating-one-or-many-to-many-relations).
Das Beziehungs-Widget zeigt alle in Bezug stehenden untergeordneten Features in einer Liste an. Sie können hinzugefügt, gelöscht und geöffnet werden.
Die visuelle Identifizierung der Listeneinträge erfolgt über Ausdruck anzeigen der untergeordneten Layer.
Handhabung der Schlüssel¶
Da die übergeordneten Primärschlüssel als Fremdschlüssel für die in Beziehung stehenden untergeordneten Merkmale verwendet werden, müssen diese Primärschlüssel so gespeichert werden, dass sie auch nach der Synchronisierung zurück zu den ursprünglichen Daten verwendet werden können. Daher empfehlen wir, stabile Werte wie UUIDs für Primärschlüssel zu verwenden.
Es ist möglich, bereits Kinder von einem Elternteil hinzuzufügen, der kurz davor steht, hinzugefügt zu werden. Diese Möglichkeit wird blockiert, wenn kein gültiger Primärschlüssel auf dem Eltern-Element vorhanden ist, oder die Abhängigkeiten würden verletzt. Falls das Hinzufügen des Eltern-Element abgebrochen wird, nachdem bereits einige untergeordnete Kind-Elemente hinzugefügt wurden, werden die Kind-Elemente ebenfalls gelöscht.
Viele-zu-viele Beziehungen¶
Bei m:n-Beziehungen, entsprechend der Kardinalitätseinstellung in den QGIS-Layer-Eigenschaften, wirkt sich das Hinzufügen, Löschen oder Öffnen eines Eintrags in der Liste direkt auf den Kind-Layer (bei direkter Kardinalität) oder die Verknüpfungstabelle (bei m:eins-Kardinalität) aus.
Der zweite Fall wird in der Regel verwendet, wenn zusätzliche Beziehungsinformationen (z. B. Prozentsätze) in der Verknüpfungstabelle vorhanden sind.
Im Falle der m:eins-Kardinalität für m:n-Beziehungen muss der Anzeigeausdruck in der Verknüpfungstabelle festgelegt werden.
Konfiguration des Elementschwellenwerts für wertebasierte Karten-Editor Widgets¶
Um die Benutzerfreundlichkeit von QField zu erhöhen, ist es möglich, den Schwellenwert für Elemente festzulegen, ab dem die Widgets des wertebasierten Karten-Editors auf eine Schaltfläche umschalten. Diese Funktion ermöglicht den schnellen Zugriff auf Elemente in QField, wenn nur wenige vorhanden sind, und bietet eine intuitivere Oberfläche, wenn eine große Anzahl von Elementen bearbeitet wird.
So aktivieren Sie die Schnittstelle der Umschalttaste¶
-
Öffnen Sie die Layer-Eigenschaften durch Rechtsklick auf den gewünschten Layer und die Auswahl von 'Eigenschaften' über das Kontextmenü.
-
Navigieren Sie zur Registerkarte QFeld im Dialogfeld Layer-Eigenschaften.
-
Hier finden Sie eine Option, mit der Sie die Anzahl der Elemente angeben können, die den Übergang zu einer Umschalttaste-Schnittstelle auslösen sollen. Geben Sie den gewünschten Schwellenwert entsprechend Ihren Bedürfnissen ein.
Widget für Anhänge konfigurieren¶
Vorbereitung am Schreibtisch
Der Bedienelementtyp Anhang wird für Felder verwendet, die den Pfad zu Dateien speichern.
Es kann verwendet werden, um:
- Fotos anzeigen und aufnehmen oder Bilder aus der Galerie hinzufügen
- Zuhören und Aufnehmen von Soundclips
- Anhören und Aufnehmen von Videos
- Links zu externen Dateien wie PDFs oder Dokumenten anzeigen
Der Pfad sollte auf relativ gesetzt werden. Die Bilder, Audios, Videos, PDFs und Dokumente werden dann in einem Unterverzeichnis des Projekts gespeichert, auf das der im Textfeld gespeicherte Link verweist.
Anmerkung
QGIS 3.30 oder neuer ist für die Audio- und Video-Funktion nötig.
In QField werden die Anhänge angezeigt. Durch Anklicken des Symbols wird die Kamera- oder Audioaufnahme gestartet, um die Bilder, Videos oder Audios mit einer neuen Mediendatei zu aktualisieren.
Bei der Synchronisierung muss auch das Unterverzeichnis mit den Bildern, Videos, Audios, PDFs und Dokumenten kopiert werden.
Die Option Hyperlink im Bedienelement Anhang deaktiviert die Kamerafunktion und aktiviert einen Hyperlink zum Öffnen eines Dokuments (pdf, doc, ...).
Konfigurierbarer Anhang-Pfad¶
Vorbereitung am Schreibtisch
QFieldSync bietet die Möglichkeit, den Pfad von Anhängen zu konfigurieren.
- Gehe zu QFieldSync Plugin > Layer-Eigenschaften
Verwenden Sie Ausdrücke, um den Pfad für die Anhänge anzugeben. Standardmäßig werden die Bilder im Ordner "DCIM", Audioaufnahmen werden im Ordner "Audio" und Videos im Ordner "Video" mit einem Zeitstempel als Namen gespeichert.
Konfigurieren Sie ein Wertrelations-Widget¶
Vorbereitung am Schreibtisch
Das Widget Wertrelation bietet Werte aus einer verwandten Tabelle in einer Combobox an. Sie können Layer, Schlüsselspalte und Wertspalte auswählen. Es sind mehrere Optionen verfügbar, um das Standardverhalten zu ändern: Nullwert zulassen, nach Wert ordnen und Mehrfachauswahl zulassen. Das Widget zeigt eine Dropdown- oder Mehrfachauswahlliste mit den referenzierten Merkmalen an.
Konfigurieren der bedingten Sichtbarkeit¶
Vorbereitung am Schreibtisch
Gruppen können auf der Grundlage eines Ausdrucks ausgeblendet werden. Dies ist nützlich, wenn bestimmte Attribute nur unter bestimmten Bedingungen erforderlich sind. Stellen Sie sich als Beispiel die Abbildung von Bäumen vor. Einige von ihnen könnten eine Krankheit haben, und Sie haben eine Liste möglicher Krankheiten. Um die Eingabemaske nicht mit vielen Feldern zu überladen, erstellen Sie eine Gruppe und konfigurieren Sie einen Sichtbarkeitsausdruck für diese Gruppe "Krankheiten". Fügen Sie ein Feld "Krankheit" mit einem Kontrollkästchen hinzu. Nur wenn das Kontrollkästchen markiert ist, steht Ihnen die Liste der Krankheiten zur Verfügung.
Mal sehen, was wir in dem Feld sehen:
Beschränkungen definieren¶
Vorbereitung am Schreibtisch
Attributfelder können mit Beschränkungen versehen werden. Beschränkungen sind Ausdrücke, die zu wahr
(oder 1
) ausgewertet werden müssen, um das Formular speichern zu können. Beschränkungen werden für jedes Feld einzeln konfiguriert
und es kann eine Beschreibung hinzugefügt werden, die angezeigt wird, wenn eine Beschränkung nicht erfüllt ist.
Übliche Anwendungsfälle¶
Du kannst keinen Höhenwert eingeben, der höher ist als der höchste Berg in diesem Land.
"elevation" < 5000
Es ist nötig, eine Bezeichnung einzugeben.
"identifier" IS NOT NULL
Definiere Vorgabewerte¶
Vorbereitung am Schreibtisch
Für Felder können Vorgabewerte eingestellt werden. Die Vorgabewerte werden in die Attribut-Eingabemaske eingefügt, wenn ein neues Feld angelegt wird. Sie sind sichtbar und können geändert werden, solange das Feld bearbeitbar ist. Sie können auf der Geometrie oder auf Ausdrucksvariablen basieren.
Bei der Erstellung von Ausdrücken für Projekte, die mit QField verwendet werden sollen, wird empfohlen, Layernamen und nicht Layer-IDs zu verwenden. Diese Empfehlung rührt daher, dass bei der Projektkonvertierung mit QFieldSync die resultierenden Layer möglicherweise unterschiedliche IDs erhalten, was zu falschen Ausdrucksauswertungen führen kann. Durch die Verwendung von Layernamen stellen Sie sicher, dass Ausdrücke über verschiedene Projektzustände hinweg konsistent und genau ausgewertet werden.
Zusätzliche Variablen¶
Weitere Informationen über die Speicherung von Informationen zu Ihrer Position in den Objektattributen finden Sie in der entsprechenden GNSS Dokumentation.
Für QFieldCloud-Benutzer können zwei Variablen in Ausdrücken verwendet werden, die die Standardwerte der Attribut-Eingabemaske enthalten:
- @cloud_username
gibt den Namen des aktuell eingeloggten QFieldCloud-Benutzers aus.
- @cloud_useremail
gibt die E-Mailadresse der aktuell eingeloggten QFieldCloud-Benutzers aus.
Übliche Anwendungsfälle¶
Positionsinformationen als Variable einbinden:
@position_horizontal_accuracy
Aktuelles Datum und Zeit einfüllen.
now()
Die Länge der digitalisierten Linie einfügen:
length($geometry)
Globale Variablen auf dem Gerät konfigurieren und verwenden.
@operator_name
Wenn du einen Regionalcode basierend auf dem Ort zuweisen möchtest, an dem ein neues Objekt eingefügt wird, kannst du dies mit einem Aggregatausdruck tun:
aggregate( layer:='regions', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )
So transformierst du die von \@position_coordinate erhaltenen Koordinaten in das Koordinatensystem deines Projektes:
x(transform(@position_coordinate, 'EPSG:4326', @project_crs ))
y(transform(@position_coordinate, 'EPSG:4326', @project_crs ))
::: {#Snapping_Ergebnisse} Wenn Sie die Ergebnisse des Snappings nach dem Zeichnen einer Linie verwenden möchten, können Sie die Variable [\@snapping_results]{.title-ref} nutzen. Der folgende Code extrahiert den Wert des Attributs [id]{.title-ref} der Snapping Übereinstimmung mit dem ersten Punkt einer Linie. :::
with_variable(
'first_snapped_point',
array_first( @snapping_results ),
attribute(
get_feature_by_id(
@first_snapped_point['layer'],
@first_snapped_point['feature_id']
),
'id'
)
)
In Wertbeziehungen und im Widget für Beziehungsreferenzen suchen¶
Es ist möglich, Werte in einer Wertrelation- oder einem Beziehungssreferenz-Widget zu suchen, indem man die Lupe neben dem Feld benutzt.
Anmerkung
Definieren Sie den Anzeigeausdruck für die betreffenden Layer. Dieser wird für die Suche nach Features verwendet. Dies wird unter Vektorlayer-Eigenschaften > Anzeige konfiguriert.
Auto-Vervollständigen Wert konfigurieren¶
Vorbereitung am Schreibtisch
Das Kontrollkästchen "Vervollständigung verwenden" muss aktiviert sein, um die automatische Vervollständigung in der Wertebeziehung nutzen zu können.
Hier ein Video, das zeigt, wie es in QField funktioniert
Definiere ein QML-Bedienelement¶
Benutzerdefinierte QML-Widgets können nützlich sein, um erweiterte Aktionen in Eingabemasken zu integrieren. In diesem Beispiel fügen wir eine Schaltfläche hinzu, die eine Karten- und Navigations-App eines Drittanbieters öffnet. Dies ist nützlich, um z. B. Turn-by-Turn-Navigationen auf der geräteeigenen App für den Benutzer zu öffnen.
import QtQuick 2.0
import QtQuick.Controls 2.0
Button {
width: 200
height: width/5
text: "Open in Maps"
onClicked: {
Qt.openUrlExternally(expression.evaluate("'geo:0,0?q=' || $y || ',' || $x"));
}
}
Der obige URI 'geo
' ist für Android angepasst. Für Apple Maps kann die URI geändert werden in 'geo:' || $y || ',' || $x
.