Saya ingin membuat bidang yang diperbarui tanggal dan waktu ketika saya mengedit bidang atribut dalam format ini yyyy-mm-dd 00:00:00 (= 2016-05-08 11:04:00) - tanggal / waktu lokal saya. Data ada dalam garis QGIS 2.14 dan garis-garis vektor seperti screenshot di bawah ini.
Ketika fitur sebagai NULL di bidang 'nama', saya ingin memasukkan nama untuk jalan dan medan 'mod' harus menerima de mod ified tanggal / waktu seperti '2016/05/08 15:16:00'.
Saya sudah mencoba beberapa opsi dan gagal. Saya butuh bantuan untuk memulai dari awal.
- Saya membuat bidang baru, tipe tanggal / waktu, tetapi tetap dengan nilai NULL setelah saya edit, di bidang "nama", atau fitur itu sendiri.
- Saya menggunakan juga, ekspresi now (), tetapi tetap dengan nilai NULL setelah saya edit.
Catatan: tanggal yang terlihat di sana, 2016-04-14 adalah nilai pertama yang dibuat dengan "Kalkulator Bidang".
Saya menggunakan QGIS 2.14.
Jawaban:
Anda dapat menggunakan kode berikut yang menghubungkan
attributeValueChanged
acara ke fungsi yang dapat kami tentukan yang menyisipkan hasil$now
ekspresi. Sorot layer Anda dan salin / tempel yang berikut ini ke Python Console :Pilih fitur dengan mengklik nomor baris (ditunjukkan pada kotak merah pada gambar) atau dari kanvas peta dan edit atribut apa pun untuk fitur itu. Atribut di
mod
bidang Anda harus diperbarui:Catatan: Saya menggunakan bidang string sebagai ganti tanggal untuk mendapatkan waktu, jika tidak, bidang tanggal hanya mencatat YYYY-MM-DD .
sumber
Saya menemukan Q&A ini ketika saya sedang mencari cara untuk perubahan cap tanggal / waktu yang saya buat untuk catatan menggunakan plugin. Saya menempatkan versi kode yang sedikit dimodifikasi ke dalam plugin untuk secara otomatis memperbarui tanggal / waktu ke dalam catatan yang saya ubah:
sumber