Apakah ada fungsi otomatis dalam QGIS untuk mengemas semua file dalam proyek agar dapat ditransfer?

35

Dalam proyek saya, saya menggunakan banyak geodata dari direktori yang berbeda. Sekarang saya ingin memberikan proyek QGIS kepada seorang kolega (misalnya pada CD).

Apakah mungkin untuk menyalin bentuk dari direktori yang berbeda secara otomatis ke satu direktori?

Hendrik Pehlke
sumber
1
Pada 2016-02-05 plugin QConsolidate berfungsi dengan benar dengan shapefile, tif raster, dan (!) Cakupan Arc. Namun, file kelas fitur geodatabase (sebagai poin) tidak disalin ke folder output.
Stu Smith

Jawaban:

44

Anda sedang mencari plugin QConsolidate , yang berfungsi dengan sangat baik. Ini akan mentransfer semuanya ke direktori tunggal dan menulis ulang file proyek .QGS (file XML) untuk menunjuk ke lokasi sumber baru.


QConsolidate masih terdaftar sebagai percobaan - Anda harus mengaktifkan "Tampilkan juga plugin eksperimental" di dialog pengaturan.

Namun - ini bekerja dengan sangat baik. Catatan:

  • Anda harus menyimpan proyek yang sedang Anda kerjakan sebelum mencoba mengkonsolidasikannya di tempat lain;
  • Format output akan menjadi file proyek (.QGS), bersama dengan folder bernama 'lapisan' yang (kejutan!) Berisi lapisan;
  • QConsolidate akan mengubah lapisan database menjadi shapefile dan menulis ulang file proyek untuk merujuk ke shapefile baru;
  • Meskipun sering Anda mungkin ingin membagikan proyek yang dikonsolidasikan pada drive eksternal / jempol, simpan dulu pada hard drive lokal karena banyak operasi penulisan yang dibuat akan benar-benar memperlambat segalanya jika Anda mencoba untuk mengkonsolidasikan langsung ke media yang lambat.
Simbamangu
sumber
Terima kasih banyak. QConsolidate adalah apa yang saya cari.
Hendrik Pehlke
1
Hanya mencari jawaban untuk masalah yang sama. Saya kira dengan plugin Qconsolidate dan relocator topik dapat dilihat sebagai terjawab. TETAPI: Saya benar-benar berharap pengembangan relokator meningkat karena QConsolidate tampaknya hampir mati :( Tidak ada satu komit pun dalam 2 tahun di halaman github.
martin
20

Saya baru saja menguji tiga plugin yang mencoba melakukan apa yang Anda minta pada file proyek dengan berbagai format berbasis file. Inilah hasilnya:

Plugin yang diuji adalah:

  • QCkonsolidasi 0.2.1
  • QPackage 1.3
  • relocator 0.9

Pengujian dijalankan pada QGIS 2.18.14 64bit pada Windows 10

Ketiga plugin menangani shapefile tanpa masalah, memindahkan data ke direktori target dan membuat proyek yang mereferensikan salinan lokal dari dataset.

QCkonsolidasi

  • FileGDB: tidak disalin atau diterjemahkan (kehilangan data). File proyek masih mereferensikan layer
  • Spasial: diterjemahkan ke SHP
  • Geopackage: disalin tanpa terjemahan
  • GeoTiff: disalin secara utuh

QPackage

  • FileGDB: diterjemahkan ke SHP
  • Spasial: diterjemahkan ke SHP
  • Geopackage: diterjemahkan ke SHP
  • GeoTiff: disalin secara utuh

relokator

  • FileGDB: diterjemahkan ke SHP, jalur yang salah dalam file proyek
  • Spasial: diterjemahkan ke SHP, jalur yang salah dalam file proyek
  • Geopackage: diterjemahkan ke SHP, jalur yang salah dalam file proyek
  • GeoTiff: disalin secara utuh

Dari ketiganya, QPackage tampaknya bekerja paling baik. Koneksi basis data dan lapisan layanan web tidak diuji.

Andy Harfoot
sumber
Jawaban luar biasa - berpikir untuk memperbarui tambang saya dengan cara yang sama dan menemukan ini. Pengalaman apa yang Anda miliki tentang file .QGS yang ditulis ulang itu sendiri? Pengalaman terakhir saya dengan QConsolidate beberapa waktu lalu adalah memberikan direktori data dan file QGS salah.
Simbamangu
Dalam semua kejujuran, saya tidak menggunakan plugin, tetapi akan modifikasi skrip ke salinan file QGS seperti yang diperlukan. Jawaban ini didasarkan pada beberapa pengujian untuk klien yang saya pikir akan bermanfaat lebih luas.
Andy Harfoot
Saya menggunakan QPackage dan berfungsi cukup baik. Saya akan pilihan lain tetapi saya senang dengan solusi itu saat ini ...
Paulo Martinho
6

Saya tidak tahu tentang cara di QGIS itu sendiri, tetapi file proyek (.qgs) hanyalah file teks. Oleh karena itu cara primitif tetapi efektif adalah menyalin semua secara manual ke satu direktori, kemudian mengubah <datasource></datasource>tag dalam file .qgs baik menggunakan find dan replace atau ekspresi reguler untuk menunjuk ke direktori baru.

Jika Anda punya banyak file / direktori yang berbeda, satu opsi adalah mengotomatiskannya dengan python dengan mencari setiap tag di file .qgs, menyalin setiap file terkait dengan nama itu ke direktori, dan kemudian mengganti .qgs tag dengan direktori baru.

Stev_k
sumber
4

Sekarang ada juga plugin relocator baru . (ditandai sebagai eksperimental juga saat ini). Memberi Anda kesempatan untuk menyimpan semua lapisan dengan file proyek ke dalam satu direktori atau bahkan dalam file zip.

Bernd V.
sumber