Cara mengubah panjang bidang dalam QGIS

11

Saya memiliki shapefile yang saya buat di QGIS 1.7.4. Salah satu bidang adalah String dengan panjang 80. Saya ingin membuat bidang menerima sengatan yang lebih lama, tapi saya tidak tahu cara mengubah panjangnya. Bagaimana saya melakukan ini?

Terima kasih.

Evan
sumber

Jawaban:

15

Inilah solusi yang mengejutkan saya bahwa itu berhasil !!!

Peringatan: pertama buat cadangan. Ini adalah percobaan meskipun itu bekerja untuk saya sekarang ..

buka .dbf dari shapefile tertentu menggunakan aplikasi OpenOffice Calc. Ubah nilai dari 80 ke nilai apa pun yang Anda inginkan. Silakan lihat gambar di bawah ini. Yang mengejutkan adalah definisi bidang ini tidak terlihat di Excel..Keuntungan menjadi Terbuka !!

masukkan deskripsi gambar di sini

Vinayan
sumber
+1 - trik kecil yang luar biasa. Selalu menemukan angka-angka itu mengganggu di DBF Libre / Openoffice tetapi sekarang lihat penggunaannya.
Simbamangu
1
Saya yang kedua ini, gunakan cukup banyak untuk mengedit dan memformat data yang cepat dan kotor (terutama ketika saya ingin menggunakan formula Cals), atau ketika saya hanya ingin bergabung dengan beberapa data berdasarkan lokasi dan sekali lagi nama field berubah auf menjadi terlalu lama ... Hanya ingat: jangan mengurutkan ulang baris tanpa beberapa kolom FID untuk menyusun ulang dengan benar, atau setiap fitur akan memiliki beberapa data atribut yang salah sesudahnya.
SAnderka
Saya mencoba ini, dan merusak nilai di kolom berikutnya. Tapi itu ide yang cerdas.
Evan
2
Saya belum pernah mengalami korupsi data sejauh ini. Apakah Anda secara tidak sengaja mengubah tipe data (C, misalnya, singkatan dari karakter, lebih banyak dijelaskan di sini: dbase.com/knowledgebase/int/db7_file_fmt.htm )? Meskipun Calc tidak memperingatkan Anda jika Anda mencoba untuk menyimpan dbf dengan data di dalamnya yang tidak sesuai dengan tajuk. Saya masih tidak mengerti bagaimana data Anda rusak, itu hampir bisa berarti apa-apa ...
SAnderka
2
Dan tentang penyortiran: Koneksi antara data fitur (poligon, titik, garis) dan data atribut tampaknya dibuat oleh nomor baris, untuk jika Anda menggunakan file atribut apa pun di Calc dan menyimpannya, atribut yang salah akan terhubung dengan Anda fitur (campur aduk, jadi bisa dikatakan).
SAnderka
12

Sepengetahuan saya, Anda tidak dapat mengubah panjang bidang shapefile di QGIS. Rekomendasikan membuat bidang baru:

  • Buka tabel atribut
  • Hidupkan pengeditan aktif
  • Pilih 'Kolom Baru' dan atur
    jenis ke teks, dan pilih lebar yang diinginkan

Jika sudah ada data di bidang lama, gunakan kalkulator bidang untuk mengisi bidang baru:

  • Pilih 'Kalkulator Bidang'
  • Centang 'Perbarui bidang yang ada' dan pilih bidang baru
  • Klik dua kali nama bidang lama di bawah 'Bidang'
  • Tekan 'OK' dan jangan lupa untuk menyimpan hasil edit Anda.
Scro
sumber
Metode yang bagus Di akhir langkah-langkah ini, masuk ke Table Manager (plugin) untuk menghapus bidang lama, dan (jika perlu) ganti nama bidang baru.
IanS
4

Saya baru saja melakukan ini di Excel. buka dbf di Excel, klik kanan header kolom yang ingin Anda ubah dan pilih Lebar Kolom. Ubah panjang yang Anda butuhkan, lalu simpan sebagai dbf. Tampaknya bekerja baik untuk saya.

Darren
sumber
bukankah lebar kolom seharusnya menjadi lebar tampilan kolom?
vinayan
3
@Vinayan, pertanyaannya secara eksplisit merujuk pada apa yang bisa dipegang oleh field, bukan bagaimana tampilannya di QGIS. Excel menggunakan tampilan lebar kolom sebagai panduan seberapa lebar untuk membuat bidang ketika menyimpan file, itulah sebabnya jawaban ini berfungsi. Untuk detailnya, kunjungi quantdec.com/SYSEN597/GTKAV/section4/chapter_15a.htm#Recipe . Namun, ini hanya berfungsi di versi Excel yang lebih lama. Yang terbaru tidak akan menulis file DBF yang saya dengar :-(.
whuber
@whuber, itu menarik..saya tidak akan pernah memasukkan jenis fungsi itu (mengubah ukuran) dalam aplikasi saya :-)
vinayan
0

Panduan untuk mengubah ukuran kolom untuk tabel Atribut di QGIS

  1. Klik kanan pada layer vektor dan pilih properti.
  2. Buka tab bidang.
  3. Tambahkan kolom baru (Tombol ini ada di sudut kanan atas. A. Pastikan untuk mencocokkan semua data dengan kolom Anda, mencoba melebar. Kecuali panjang ubah itu menjadi panjang yang Anda inginkan.
  4. Pilih tombol 'Kalkulator Bidang' (Tombol ini ada di sudut kanan atas.)
  5. Periksa 'Perbarui bidang yang ada'
  6. Pastikan 'Perbarui bidang yang dipilih saja' tidak dicentang.
  7. Pilih bidang baru dari menu tepat di sebelah kotak centang
  8. Di bawah Field Menu klik dua kali bidang lama
  9. Tekan oke dan simpan hasil edit
  10. * Buka Plugin Table Manager a. PlugingsTableTable Manager
  11. Pilih dan hapus bidang yang lama
  12. Ganti nama bidang baru dengan yang lama.

* Anda perlu menginstal Plugin Table Manager.

YP-kun
sumber
0

Solusi Scro seperti dijelaskan lebih lanjut oleh YP-kun hanya berhasil untuk saya. Satu perubahan sekarang dengan QGIS 3.4, tidak perlu menggunakan Table Manager untuk langkah 10 dan 11 YP-kun (untuk menghapus kolom lama). Bahkan, Table Manager rupanya tidak lebih karena sekarang tidak tersedia di Plugin Manager. Sekarang, setelah langkah 1-9 YP-kun, Anda dapat pergi ke Layer Properties untuk layer (klik dua kali pada layer di panel Layer, atau klik kanan padanya dan klik Properties)> Source Fields> klik tombol edit> lalu pilih bidang lama yang ingin Anda hapus> klik tombol Hapus Bidang> lalu edit lagi tombol untuk menutup pengeditan> simpan perubahan Anda. Sepertinya banyak yang harus dilalui untuk mengubah panjang satu bidang dalam satu lapisan, tetapi biarlah.

JJD
sumber