Menghasilkan atribut secara otomatis dengan QGIS?

11

Saya ingin membuat ID secara otomatis saat saya membuat fitur baru. Jadi setiap kali saya membuat titik baru, ID-nya akan bertambah 1 seperti berikut:

Feature 1: id 1
Feature 2: id 2
Feature 3: id 3

Bagaimana saya bisa menyerang ini?

Orang
sumber

Jawaban:

8

Jika Anda mengklik kanan layer Anda dan pergi ke Properties > Fieldskemudian klik Text Edit, Anda dapat mengatur nilai Default (baik dengan mengetikkan nilai atau menggunakan ekspresi) yang akan muncul di tabel atribut secara otomatis.

Sayangnya, menggunakan ekspresi seperti $rownum(yang seharusnya membuat Anda id unik untuk fitur Anda) tidak berfungsi (dugaan saya adalah karena fitur tersebut harus dikomit dulu?). Tetapi kita dapat membuat fungsi yang menghitung jumlah fitur yang dibuat dan menambahkan 1. Anda dapat mengakses Editor Fungsi seperti yang ditunjukkan pada gambar:

Editor fungsi

Kemudian di Function Editor, buat file baru atau edit yang sudah ada dan gunakan kode berikut:

from qgis.core import *
from qgis.gui import *

@qgsfunction(args='auto', group='Custom')
def update(feature, parent):
    layer = qgis.utils.iface.activeLayer()
    x = layer.featureCount()
    return x + 1

Klik Muat lalu buka tab Ekspresi di sebelahnya dan masukkan ekspresi:

update()

Kemudian klik OK dan Anda akan melihat nilai pratinjau:

Pratinjau

Klik OK , Terapkan dll dan sekarang mudah-mudahan ketika Anda membuat fitur, itu akan secara otomatis membuat id unik di bidang yang Anda pilih.

Yusuf
sumber
6

Anda dapat menggunakan plugin "AutoFields" untuk pembaruan atribut otomatis saat membuat atau memodifikasi fitur vektor

Daniele Piccolo
sumber
3

Saya pikir Anda tidak dapat menetapkan nilai default saat membuat fitur baru tetapi Anda bisa mencoba yang berikut ini:

  • setelah selesai membuat fitur Anda pergi ke tabel atribut
  • Buka kalkulator bidang dan buat kolom baru yang disebut iddengan tipe Int
  • Sebagai nilai masukkan @row_numberyang akan menghasilkan katup unik sesuai dengan nomor baris
Tertawa
sumber