Saya memiliki layer Shapefile di QGIS 2.6 dengan beberapa poligon, masing-masing memiliki data di lebih dari 100 bidang. Saya perlu membuat layer baru dengan semua poligon yang sama, tetapi dengan semua bidang data kosong (set ke 0, Null atau kosong tergantung pada jenis bidang). Apakah ada cara yang lebih cepat untuk melakukan ini daripada menekan delete pada setiap bidang setiap poligon satu per satu, saya harus melakukan ini lebih dari 1000 kali dengan cara ini.
qgis
attribute-table
qgis-2.6
alphabetasoup
sumber
sumber
Jawaban:
Tidak bisakah Anda hanya menyalin dan menempelkan data Anda ke Layer X (lapisan / shapefile / kelas fitur / apa pun) yang tidak memiliki atribut (selain OID dan Geometri) dan kemudian salin dan tempel kembali geometri "kosong" yang sekarang ke dalam lapisan asli Anda?
sumber
Anda bisa memasukkan kode berikut di Konsol Python untuk menghapus SEMUA atribut untuk
NULL
untuk shapefile yang dimuat ke QGIS. Pilih lapisan dari panel lapisan (Daftar Isi) dan jalankan kodenya:Ini diuji pada QGIS 2.8.2.
PEMBARUAN :
Menanggapi komentar oleh @Vince, kode berikut ini dapat langsung disalin / ditempelkan ke konsol Python dan akan mengubah nilai atribut tergantung pada jenis bidang (yaitu
0
untuk bidang bilangan bulat ;NULL
untuk bidang string ; dan zaman1900-01-01
untuk a Tanggal lapangan):sumber
Anda cukup menyimpannya sebagai file baru dan centang kotak "Lewati Penciptaan Atribut" di dialog "Simpan sebagai ...". Ia melakukan persis seperti yang dikatakannya.
Akan ada satu kolom penghitung angka bernama FID, ternyata format Shapefile membutuhkan setidaknya satu atribut? Jika Anda bisa, gunakan sesuatu yang lebih baik, spatialite atau geopackage.
sumber
NULL
.Buka file .dbf dengan openoffice atau yang lain, dan hapus data.
Anda dapat menggunakan python untuk mengulang file dan menghapus semua kecuali header Lihat modul python dbf
sumber
QGIS dapat membuka file bentuk tanpa .dbf.
Jadi Anda bisa menghapus komponen .dbf dan memuatnya .shp, yang hanya akan menghasilkan geometri.
sumber
Mungkin Anda dapat mengedit file * .dbf dengan Excel.
Kemudian Anda menghapus semua bidang kecuali yang geom.
Akhirnya simpan dan keluar.
Akan bermanfaat untuk menyimpan arsip * .shp sebelum melakukan ini.
sumber
Di QGIS 2.8.x Anda juga bisa menyingkirkan bidang tertentu atau semua. Buka tabel atribut, Toggle editing mode, Klik tombol "Delete kolom", Pilih semua atribut yang tidak diinginkan dan klik "OK" Simpan hasil edit.
sumber