Dalam QGIS 2.14.6 saya ingin mendefinisikan nilai default untuk atribut dalam shapefile (atau lapisan spasial juga) yang diterapkan jika pengguna tidak secara eksplisit menetapkan nilai.
Apakah ada cara untuk mencapai ini menggunakan alat / pengaturan standar (tanpa python)?
qgis
shapefile
default-value
Jochen Schwarze
sumber
sumber
3.1415926
, jika pengguna tidak menetapkan nilai atribut? Dan dapatkah itu dikonversi menjadi atribut nyata? Pertanyaan atas pertanyaan ... Selain itu, 'tanpa python' tidak wajib, saya akan baik-baik saja bahkan jika saya bisa mencapai ini dengan 'sedikit python' ;-) (Dan di mana komentar @ Joseph ?!)Jawaban:
QGIS 3
Pilih layer di panel layer dan klik kiri. Pilih properti. Pilih "Formulir Atribut" seperti yang ditunjukkan di bawah ini. Pilih bidang dari daftar "Widget yang Tersedia" sebagai pertunjukan. Berikan ekspresi untuk nilai default dalam dialog "Default". Jika "Terapkan nilai default pada pembaruan" dicentang, nilainya akan disesuaikan setiap kali geometri fitur atau atribut lainnya diubah. Ini memungkinkan hal-hal seperti cap waktu "last_modified" atau "area" yang diperbarui menjadi mungkin.
QGIS 2.18
Mulai dari QGIS 2.18 ini dimungkinkan tanpa alat tambahan.
Cukup buka properti bidang klik pada tombol di bidang yang ingin Anda tetapkan nilai default dan masukkan ekspresi. Itu juga dapat mengambil geometri sebagai input.
Sidenote: Saya tahu bahwa pertanyaan awal menargetkan QGIS 2.14, tetapi saya pikir ini masih menarik bagi pembaca di masa depan dari pertanyaan ini.
sumber
Ada plugin AutoFields yang memungkinkan Anda membuat (atau memodifikasi) bidang atribut dan memperbaruinya secara otomatis dengan ekspresi kustom .
Itu juga telah diuji dengan berbagai format dan autofields tidak dianggap sebagai bidang virtual (dikutip dari beranda plugin ):
sumber
Karena saya ingin menggunakan nilai atribut ini yang disebutkan di atas untuk mengontrol beberapa aspek simbologi (ukuran simbol, opacity), beberapa penelitian lebih lanjut mengungkapkan bahwa dengan properti yang ditentukan data ada cara lain (dan fleksibel) yang bagus untuk mencapai ini. Ekspresi (umum)
di mana
@default_value
didefinisikan sebagai variabel proyek, mengembalikan default yang dapat didefinisikan oleh pengguna ketika tidak ada nilai yang ditetapkan untuk atributattribute_name
dan nilainya yang lain.Tentukan variabel dalam properti proyek:
Menyiapkan ekspresi dengan properti yang ditentukan data (warna merah dengan opacity yang ditentukan pengguna dalam kasus ini):
sumber