Saya menggunakan QGIS untuk menggambarkan hasil dari simulasi Matlab saya. Matlab menghasilkan file CSV yang terhubung ke shapefile dalam QGIS.
Saat ini saya harus menutup dan membuka kembali QGIS untuk menunjukkan hasil baru dari simulasi Matlab.
Apakah mungkin memuat ulang tabel atribut dari file CSV tanpa menutup dan membuka kembali QGIS?
Jawaban:
Saya dapat menyarankan alur kerja alternatif yang, meskipun tidak selalu lebih mudah daripada menutup dan membuka QGIS setiap kali, mungkin lebih masuk akal:
Sekarang, Anda dapat menampilkan tampilan dalam QGIS seperti halnya lapisan spasial mana pun, dan menggunakan nilai-nilai BERGABUNG dari spatialite. Tetapi, setiap kali CSV diciptakan kembali, Anda perlu MENGHENTIKAN tabel CSV virtual, dan menautkannya kembali. Kemudian refresh di QGIS akan menunjukkan nilai-nilai baru. Ini hanya membutuhkan beberapa saat, dan terlebih lagi, Anda dapat menentukan banyak tampilan, dan menyimpan yang sebelumnya jika diperlukan ...
HTH
sumber
Bagi siapa pun yang masih mencari jawaban untuk ini tanpa menggunakan format spasial, saya telah menemukan sesuatu yang berfungsi.
Jika Anda memiliki csv dan menggunakan gabungan untuk bergabung ke lapisan spasial, salah satu opsi bergabung adalah untuk men-cache lapisan. Anda bisa mendapatkan opsi ini jika Anda pergi ke properti lapisan Anda, lalu ke data yang bergabung dan klik edit gabungan. Jika Anda menonaktifkan opsi cache , Anda dapat memuat ulang lapisan data setelah csv berubah dan kemudian memicu pengecatan ulang peta Anda untuk mendapatkan tampilan peta yang segar.
Anda bisa melakukan pemuatan ulang dan pengecatan ulang di Konsol Python. Pertama, Anda harus mendefinisikan nama untuk kanvas peta, csv dan untuk layer:
Pastikan untuk mengaktifkan lapisan saat Anda memberi nama mereka di konsol saat menggunakan metode currentLayer (itu harus menjadi 'lapisan saat ini').
Kemudian, jika Anda menetapkan opsi cache sebagai off untuk bergabung Anda, Anda dapat mengubah csv dan kemudian menggunakan dua perintah berikut di konsol Python untuk menggambar ulang peta Anda:
Ini bekerja untuk saya, tetapi saya hanya memiliki 100 baris data. Bisa jadi operasi akan lambat tanpa caching ketika Anda memiliki dataset yang lebih besar.
sumber
Buka properti layer dari shapefile, dan pergi ke
General
-Coordinate reference system
, klikCreate spatial index
. Setelah selesai, shapefile di-refresh.sumber