Bergabung dengan file CSV non-spasial ke data spasial (shapefile) menggunakan QGIS?

40

Saya memiliki file CSV yang memiliki data kode pos di suatu bidang, tetapi ini non-spasial, misalnya tidak ada arah timur dan utara.

Saya memiliki shapefile dengan kode pos di suatu bidang dan beberapa data tambahan.

Saya ingin bergabung dengan CSV dengan shapefile berdasarkan atribut (bidang kode pos). Saya tahu saya bisa melakukan ini di ArcMap, tetapi bagaimana saya bisa mencapai hal yang sama di QGIS?

gisuser
sumber
Bagaimana Anda melakukan ini dalam versi 2.3.0-Master?
Dalam versi 2.8 (dan dengan beberapa versi sebelumnya juga sebelumnya) saya tidak dapat membuat ini berfungsi. Mencoba bergabung dengan data kode pos UK yang cocok. Menggunakan mmqgis saya mendapatkan kesalahan "tidak ada geometri di lapisan kode pos" atau sesuatu yang sangat mirip. Menggunakan fungsi gabungan QGIS saya mendapatkan gabungan data tetapi tidak ada geometri yang ditambahkan ke CSV. Sangat frustrasi dengan masalah ini.
Rostranimin
1
Hai @Rostranimin. Apakah Anda melakukannya dengan cara yang benar, yaitu menggabungkan data CSV ke data shapefile, dari dialog "Properties" shapefile?
stragu

Jawaban:

28

Cara cepat adalah dengan menggunakan plugin mmqgis yang akan menggabungkan file csv Anda ke shapefile dengan bidang kode pos

masukkan deskripsi gambar di sini

Mapperz
sumber
4
Hei lihat! Ada plugin File Browser saya: D
Nathan W
1
Good Work Nathan - sudah banyak menggunakannya, berfungsi dengan baik.
Mapperz
1
Ini bekerja dengan baik, hanya apa yang kami butuhkan. Terima kasih banyak!
gisuser
hai, saya mencoba melakukan itu tetapi saya mendapatkan kesalahan Traceback berikut (panggilan terakhir terakhir): File "C: / Pengguna / Jiang / .qgis/python/plugins \ mmqgis \ mmqgis_dialogs.py", baris 65, dalam dialek browse_infiles = csv.Sniffer (). sniff (infile.read (1024)) File "C: \ PROGRA ~ 1 \ QUANTU ~ 1 \ apps \ Python25 \ lib \ csv.py", baris 160, dalam sniff rise Error, "Bisa tidak menentukan pembatas "Kesalahan: Tidak dapat menentukan pembatas
@Carlos: Pembatas mana yang Anda gunakan dalam file CSV?
underdark
39

Rilis QGIS versi 1.7 yang akan datang akan memiliki fitur gabung yang dibangun ke dalam properti layer. Kecepatan bergabung juga cukup mengesankan.

Langkah-langkah untuk bergabung:

  1. Buka csv melalui ikon vektor terbuka.
  2. Buka tab properti pada layer yang ingin Anda gabungkan (peta Anda)
  3. Klik tab Gabung dan tekan tombol +
  4. Pilih layer csv dan dua kolom yang ingin Anda gabungkan.
  5. Tekan ok di dialog properti.

Bergabunglah dalam QGIS

Nathan W
sumber
Bagus. Menambahkan file csv menggunakan layer Add Vector tidak intuitif. Saya berharap saya tahu ini sebelumnya.
RK
1
Empat tahun kemudian dan ini masih tidak bekerja dengan andal seperti plugin MMQGIS IME.
camdenl
1
Ini jauh lebih cepat daripada plugin MM. Untuk menambahkan lapisan data, gunakan layer -> tambahkan teks yang dibatasi-> csv
Statistik pembelajaran dengan contoh
0

Jika Anda memuat data Anda ke MS Access, ftools akan memungkinkan Anda untuk bergabung dengan tabel MS Access.

Anda memulai penginstal plugin qgis, mengaktifkan repo pihak ke-3 dan ftools akan tersedia.

kemudian gunakan alat plugin dengan pergi ke fTools> Alat Manajemen Data> Gabung Atribut

relima
sumber
Terima kasih, saya tidak terlalu ingin menggunakan program lain untuk sampai ke sana tetapi saya akan mencoba ini jika semuanya gagal.
gisuser
0

Plugin fTools untuk bekerja dengan data Vector juga akan memberi Anda opsi yang sama untuk "bergabung dengan data pada atribut" meskipun itu non-spasial.

Archaeogeek
sumber
Tampaknya hanya menggunakan data spasial sebagai lapisan target, dalam hal ini saya ingin menambahkan bidang dari lapisan spasial ke csv. Terima kasih untuk sarannya.
gisuser