QGIS'de bir projedeki tüm dosyaları aktarılabilirlik için paketlemek için otomatik bir işlev var mı?


35

Projemde farklı dizinlerden birçok coğrafi veri kullanıyorum. Şimdi QGIS projesini bir meslektaşıma vermek istiyorum (örneğin bir CD'de).

Şekilleri farklı dizinlerden otomatik olarak bir dizine kopyalamak mümkün mü?


1
2016-02-05 tarihi itibariyle QConsolidate eklentisi shapefiles, tif rasterler ve (!) Arc değerlerinde düzgün çalışıyor. Ancak, dosya coğrafi veritabanı özellik sınıfları (puan olarak) çıktı klasörüne kopyalanmaz.
Stu Smith,

Yanıtlar:


44

Çok iyi çalışan QConsolidate eklentisini arıyorsunuz . Her şeyi tek bir dizine aktarır ve .QGS proje dosyasını (XML dosyası) yeni kaynak konumlarına işaret edecek şekilde yeniden yazar.


QConsolidate hala deneysel olarak listeleniyor - ayarlar iletişim kutusundaki "Deneysel eklentileri de göster" özelliğini etkinleştirmeniz gerekir.

Ancak - çok iyi çalışıyor. Notlar:

  • Başka bir yerde birleştirmeyi denemeden önce üzerinde çalıştığınız projeyi kaydetmiş olmalısınız;
  • Çıktı formatı, proje (.QGS) dosyası olacak ve katmanlar içeren 'katmanlar' adlı bir klasörle birlikte olacaktır;
  • QConsolidate, veritabanı katmanlarını şekil dosyalarına dönüştürecek ve yeni şekil dosyasına atıfta bulunmak için proje dosyasını yeniden yazacak;
  • Sık sık konsolide edilmiş projeyi bir harici / başparmak sürücüde paylaşmak isteyebilirsiniz, ancak birçok yazma işlemi doğrudan yavaş medyada birleştirmeye çalışırsanız işleri yavaşlatacağından önce yerel bir sabit diskte saklayın.

Çok teşekkür ederim. QConsolidate tam olarak aradığım şeydi.
Hendrik Pehlke 13:12

1
Sadece aynı sorunun cevabını aradım. Sanırım Qconsolidate ve relocator eklentileri ile konu cevapsız olarak görülebiliyor. AMA: QConsolidate neredeyse ölmüş gibi gözüktüğü için yeniden yerleştirmenin gelişimini gerçekten umuyorum :( Github sayfasında 2 yılda tek bir taahhüt yok
martin

20

Bir proje dosyasında istediğinizi, dosya tabanlı biçimlerde bir dizi yapmaya çalışan üç eklentiyi test ettim. Sonuçlar burada:

Test edilen eklentiler şunlardı:

  • QConsolidate 0.2.1
  • QPackage 1.3
  • tehcir 0.9

Testler, Windows 10'da QGIS 2.18.14 64bit üzerinde yapıldı

Her üç eklenti de, şekil dosyalarını sorunsuzca işledi, verileri hedef dizine taşıdı ve veri setlerinin yerel kopyalarını referans alan bir proje yarattı.

QConsolidate

  • FileGDB: kopyalanmadı veya çevrilmedi (veri kaybı). Proje dosyası hala katmana başvuruyor
  • Spatialite: SHP'ye çevrildi
  • Geopackage: çeviri olmadan kopyalandı
  • GeoTiff: bozulmamış kopyalandı

QPackage

  • FileGDB: SHP'ye çevrildi
  • Spatialite: SHP'ye çevrildi
  • Geopackage: SHP'ye çevrildi
  • GeoTiff: bozulmamış kopyalandı

Relocator

  • FileGDB: SHP'ye çevrildi, proje dosyasında yanlış yol
  • Spatialite: SHP'ye çevrildi, proje dosyasında yanlış yol
  • Geopackage: SHP'ye çevrildi, proje dosyasında yanlış yol
  • GeoTiff: bozulmamış kopyalandı

Üçünden, QPackage'ın en iyi sonuç verdiği ortaya çıktı. Veritabanı bağlantıları ve web servis katmanları test edilmedi.


Mükemmel cevap - benimkine benzer şekilde güncelleme yapmayı düşünüyordum ve bunu buldum. Yeniden yazılan .QGS dosyasının kendisinde hangi deneyime sahipsiniz? Bir süre önce QConsolidate ile olan son deneyimim, hatalı biçimlendirilmiş veri dizinlerini ve QGS dosyasını vermekti.
Simbamangu,

Dürüst olmak gerekirse, eklentileri kullanmıyorum, ancak QGS dosyasının bir kopyasına gerekli değişiklikleri yapıyorum. Bu cevap, daha geniş fayda sağlayacağını düşündüğüm bir müşteri testine dayanıyordu.
Andy Harfoot

QPackage kullandım ve oldukça iyi çalışıyor. Başka bir seçenek yapacağım ama şu anda bu çözümden memnunum ...
Paulo Martinho

6

QGIS'in kendisinde bir yol bilmiyorum ama proje dosyası (.qgs) sadece bir metin dosyası. Bu nedenle, ilkel ancak etkili bir yol, her şeyi el ile bir dizine kopyalamak, ardından <datasource></datasource>.qgs dosyasındaki etiketleri, yeni dizine işaret etmek için bulma ve değiştirme ya da normal bir ifade kullanarak değiştirmektir.

Çok sayıda farklı dosya / dizininiz varsa, seçeneklerden biri .qgs dosyasındaki her etiketi arayarak, ilgili her dosyayı bu adla bir dizine kopyalayıp ve .qgs dosyasını değiştirerek python'da otomatikleştirmek olacaktır. Yeni dizinle etiketleyin.


4

Şimdi de yeni relocator eklentisi var . (şu anda deneysel olarak işaretlendi). Proje dosyasıyla tüm katmanları bir dizine, hatta bir zip dosyasına kaydetme şansını verir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.