Saya memiliki proyek QGIS (2.14.3-Essen) yang saya gunakan baik di tempat kerja maupun di rumah. Saya menyimpan semua kecuali dua lapisan dengan proyek.
Dua lapisan yang tersisa sangat besar - DEM dan hillshade dengan total lebih dari 20 GB - dan mereka disimpan di jalur yang berbeda di tempat kerja vs di rumah.
Saya ingin mengabaikan Handle Bad Layers
dialog dan menjaga jalur yang rusak untuk lapisan-lapisan itu. Saya sering tidak peduli mereka jahat; Saya ingin membuat perubahan pada bagian lain dari proyek.
Apakah ada cara untuk melakukannya, untuk mengabaikan atau melewatkan dialog Handle Bad Layers jadi saya tidak kehilangan referensi ke lapisan jika saya tidak memperbaruinya?
Jawaban:
Buat salinan terpisah dari file proyek Anda untuk digunakan di rumah dan di kantor.
Data yang Anda simpan akan ditulis ke file sumber layer, bukan ke file proyek.
Setelah Anda menyelesaikan bagian pekerjaan rumah, Anda dapat membuatnya bekerja dan menambahkan kembali lapisan yang buruk. Jika Anda memiliki gaya sulit pada lapisan, Anda dapat menyimpannya secara terpisah dan menambahkannya juga.
Pilihan lain adalah membungkus file VRT di sekitar sumber eksternal.
Contoh sampel untuk file raster Geotif, dibuat dengan
gdal_translate
:dan sampel untuk shapefile:
Ketika file sumber tidak ada, raster ditampilkan sebagai kotak hitam (Anda mungkin mengubah layer menjadi tidak terlihat), dan layer vektor menjadi tabel non-geometri, tanpa pesan kesalahan. Lapisan non-vrt tambahan dengan file sumber yang tidak dihapus akan tetap ada dan dapat diedit. Jika Anda menginstal ulang file sumber, semuanya kembali normal, bahkan perubahan ke lapisan lain.
sumber
Kemungkinan penyelesaian adalah memodifikasi file proyek qgs Anda menggunakan skrip. Saya menemukan bahwa jika Anda mengganti sumber data dengan
<datasource>.</datsource>
maka akan mengabaikan pop up Handle Bad Layers.Skrip python untuk dijalankan jika Anda tidak ingin memuat lapisan tertentu.
Script Python untuk menjalankan untuk memasukkan jalur sumber data yang sesuai.
Dengan melakukan ini, Anda dapat mengatur a
DoNotLoad.py
dengan skrip teratas danhome.py
lintasan dengan ke sumber rumah Anda danwork.py
lintasan dengan ke sumber pekerjaan Anda menggunakan skrip kedua sebagai pola.Anda kemudian akan memiliki satu proyek untuk dikerjakan tetapi Anda dapat dengan mudah mengubah jalur Anda tergantung pada lingkungan Anda, atau mengubah jalur sehingga lapisan tidak dimuat, tetapi masih dalam proyek Anda (semua gaya Anda disimpan dan saya pikir Anda bahkan dapat memodifikasi styling jika Anda mau. Hanya tidak ada yang muncul di peta).
sumber
Plugin ChangeDataSource menyimpan lapisan dalam file dengan memindahkannya sementara ke grup lapisan buruk. https://geogear.wordpress.com/2016/01/29/changedatasourceplugin-plugin-release-2-0/ Ini harus melakukan apa yang Anda inginkan. Tahun lalu saya mengalami masalah yang sama dan memperhatikan bahwa ada plugin ChangeDataSource yang bekerja dengan lapisan tetapi tidak menangani lapisan yang buruk. Saya menyebutkan bahwa menangani lapisan buruk akan menjadi fitur hebat dalam komentar di blog pengembang (Enrico Ferreguti). Dalam seminggu dia telah menambahkannya!
sumber