Ich möchte ein Feld mit Datum und Uhrzeit aktualisieren, während ich ein Attributfeld in diesem Format bearbeite. JJJJ-MM-TT 00:00:00 (= 2016-05-08 11:04:00) - mein lokales Datum / meine lokale Uhrzeit. Die Daten befinden sich in einem QGIS 2.14-Shapefile und Vektorlinien als Screenshot unten.
Wenn eine Funktion als NULL im Feld ‚Name‘, möchte ich für die Straße einen Namen einzugeben und die ‚mod‘ Feld muss de empfangen mod ified Datum / Uhrzeit wie ‚2016.05.08 15.16.00‘.
Ich habe bereits einige Optionen ausprobiert und bin gescheitert. Ich brauche Hilfe, um von vorne zu beginnen.
- Ich erstelle ein neues Feld, einen Datums- / Uhrzeittyp, bleibe aber nach der Bearbeitung im Feld "Name" oder in der Funktion selbst mit dem Wert NULL.
- Ich habe auch den Ausdruck now () verwendet, bleibe aber nach der Bearbeitung beim NULL-Wert.
Hinweis: Das dort angezeigte Datum, 14.04.2016, ist der erste Wert, der mit "Feldrechner" erstellt wurde.
Ich verwende QGIS 2.14.
Antworten:
Sie können den folgenden Code verwenden, der das
attributeValueChanged
Ereignis mit einer Funktion verbindet, die wir definieren können und die die Ergebnisse des$now
Ausdrucks einfügt . Markieren Sie Ihre Ebene und kopieren Sie Folgendes in die Python-Konsole :Wählen Sie das Feature aus, indem Sie auf die Zeilennummer (im roten Feld im Bild angezeigt) oder auf der Kartenoberfläche klicken und ein beliebiges Attribut für dieses Feature bearbeiten . Das Attribut in Ihrem
mod
Feld sollte aktualisiert werden:Hinweis: Ich habe ein Zeichenfolgenfeld anstelle des Datums verwendet, um die Uhrzeit abzurufen. Andernfalls zeichnet das Datumsfeld nur JJJJ-MM-TT auf .
quelle
Ich bin auf diese Fragen und Antworten gestoßen, als ich nach einer Möglichkeit gesucht habe, Datums- / Zeitstempeländerungen vorzunehmen, die ich mithilfe eines Plugins an Aufzeichnungen vorgenommen habe. Ich habe eine leicht modifizierte Version des Codes in das Plugin eingefügt, um Datum und Uhrzeit in den von mir geänderten Datensätzen automatisch zu aktualisieren:
quelle