Mengubah tipe data dalam tabel atribut di QGIS?

11

Saya memiliki data county di mana FIP (sebenarnya State FIPS dan County FIPS digabungkan). Saya memiliki data yang diimpor sebagai CSV dengan data yang sama dengan FIPS yang berjudul STCounty. Namun, FIPS shapefile terdaftar sebagai Real dan CSV masuk sebagai Integer dan fungsi Gabung tampaknya tidak berfungsi. Kotak drop berwarna abu-abu / kosong.

Jadi pertanyaan yang lebih besar adalah bagaimana Anda mengubah tipe atribut dalam sebuah tabel?

Saya mencoba untuk membuat kolom baru di shapefile (data county) dan mengaturnya menjadi integer dan kemudian mengalikan FIPS * 1, tetapi mendapat kolom penuh "NULL".

Saya baru mengenal QGIS dan memiliki banyak pengalaman di MapInfo, jadi konsep join bukanlah hal baru bagi saya, hanya sintaksis dalam QGIS.

pengguna10525
sumber

Jawaban:

11

Membuat kolom bilangan bulat baru adalah cara yang tepat - tetapi 1*FIPSyang Anda gunakan (yang akan berfungsi di Excel atau Libreoffice) adalah tempat masalahnya; QGIS tidak secara otomatis mengkonversi antar jenis bidang dalam perhitungan.

Anda perlu menggunakan salah satu fungsi konversi ( tointkonversi ke integer, tostringke teks, dan torealke nyata / desimal) dengan nama kolom yang benar:

toreal("FIPS")

Anda dapat menggunakan plugin Tablemanager untuk kemudian menghapus kolom yang tidak perlu.

Menyiapkan file .csvt akan menjadi solusi berulang terbaik tetapi untuk satu kolom, ini harus cukup mudah.

Simbamangu
sumber
The 1 * FIPS juga berfungsi di ArcGIS.
L_Holcombe
tampaknya agak konyol tidak bisa hanya mengubah tipe data. Namun, ini tampaknya merupakan jawaban yang benar
chrismarx
1

Saya hanya punya masalah yang sama. Dalam kasus saya, saya bekerja dengan Libreoffice dan QGIS.

Saya mengekspor tabel dari R ke .CSV dengan dua kolom: "id" dan "kend". "id" adalah Integer dan "otomotif" Nyata.

write.csv(tab2,file='/path/table.csv',row.names = F)

Ketika saya membuka table.csv di Libreoffice, field field dibaca sebagai "string". Jadi saya membuat coulmn lain "kendaraan" sebagai perkalian dari "kendaraan" * 1, dan hasilnya adalah angka yang diinginkan. Kemudian saya menyimpan file tersebut sebagai .ODS (Libre Office)

Kemudian saya memuat table.ODS dalam qgis dan "otomotif" diakui sebagai Real.

Sergio
sumber