Czy w QGIS jest funkcja automatyczna do pakowania wszystkich plików w projekcie w celu przeniesienia?


35

W moim projekcie korzystam z wielu geodanych z różnych katalogów. Teraz chcę przekazać projekt QGIS koledze (np. Na płycie CD).

Czy możliwe jest automatyczne kopiowanie kształtów z różnych katalogów do jednego katalogu?


1
Od 2016-02-05 wtyczka QConsolidate działa poprawnie z plikami kształtów, rastrami tif i (!) Zasięgami Arc. Jednak klasy obiektów geobazy danych (jako punkty) nie są kopiowane do folderu wyjściowego.
— Stu Smith

Odpowiedzi:


44

Szukasz wtyczki QConsolidate , która działa bardzo dobrze. Przeniesie wszystko do jednego katalogu i przepisze plik projektu .QGS (plik XML), aby wskazał nowe lokalizacje źródłowe.


QConsolidate wciąż jest wymieniony jako eksperymentalny - musisz włączyć „Pokaż także eksperymentalne wtyczki” w oknie dialogowym ustawień.

Jednak - działa bardzo dobrze. Uwagi:

  • Musisz zapisać projekt, nad którym pracujesz, zanim spróbujesz skonsolidować go w innym miejscu;
  • Format wyjściowy to plik projektu (.QGS) wraz z folderem o nazwie „warstwy”, który (niespodzianka!) Zawiera warstwy;
  • QConsolidate konwertuje warstwy bazy danych na pliki shapefile i przepisuje plik projektu, aby odwoływał się do nowego pliku shapefile;
  • Chociaż często możesz chcieć udostępnić skonsolidowany projekt na dysku zewnętrznym / kciuka, najpierw zapisz go na lokalnym dysku twardym, ponieważ wiele wykonanych operacji zapisu naprawdę spowolni, jeśli spróbujesz skonsolidować bezpośrednio na wolnym nośniku.

Dziękuję Ci bardzo. QConsolidate jest dokładnie tym, czego szukałem.
— Hendrik Pehlke,

1
Po prostu szukałem odpowiedzi na ten sam problem. Wydaje mi się, że dzięki wtyczkom Qconsolidate i relocator temat można uznać za udzielony. ALE: Naprawdę mam nadzieję, że rozwój relokatora przyspieszy, ponieważ QConsolidate wydaje się być prawie martwy :( Ani jednego zatwierdzenia przez 2 lata na stronie github.
— martin

20

Właśnie przetestowałem trzy wtyczki, które próbują zrobić to, o co prosisz w pliku projektu z wieloma formatami opartymi na plikach. Oto wyniki:

Testowane wtyczki to:

  • QConsolidate 0.2.1
  • QPackage 1.3
  • relokator 0.9

Testy przeprowadzono na 64-bitowym systemie QGIS 2.18.14 w systemie Windows 10

Wszystkie trzy wtyczki bez problemu obsługiwały pliki kształtów, przenosiły dane do katalogu docelowego i tworzyły projekt odwołujący się do lokalnych kopii zestawów danych.

QConsolidate

  • FileGDB: nie skopiowano ani nie przetłumaczono (utrata danych). Plik projektu nadal odwołuje się do warstwy
  • Spatialite: przetłumaczone na SHP
  • Geopackage: skopiowane bez tłumaczenia
  • GeoTiff: nienaruszone skopiowane

QPackage

  • FileGDB: przetłumaczono na SHP
  • Spatialite: przetłumaczone na SHP
  • Geopackage: przetłumaczono na SHP
  • GeoTiff: nienaruszone skopiowane

relokator

  • FileGDB: przetłumaczony na SHP, niepoprawna ścieżka w pliku projektu
  • Spatialite: przetłumaczony na SHP, niepoprawna ścieżka w pliku projektu
  • Geopackage: przetłumaczony na SHP, niepoprawna ścieżka w pliku projektu
  • GeoTiff: nienaruszone skopiowane

Z tych trzech QPackage wydaje się działać najlepiej. Połączenia z bazą danych i warstwy usług internetowych nie zostały przetestowane.


Doskonała odpowiedź - myślałem o podobnej aktualizacji mojego i znalazłem to. Jakie masz doświadczenie z samego przepisanego pliku .QGS? Moje ostatnie doświadczenie z QConsolidate jakiś czas temu dawało zniekształcone katalogi danych i pliku QGS.
— Simbamangu

Szczerze mówiąc, nie używam wtyczek, ale modyfikuję skrypty w kopii pliku QGS zgodnie z wymaganiami. Ta odpowiedź była oparta na testach dla klienta, które, jak sądzę, przyniosłyby szersze korzyści.
— Andy Harfoot,

Użyłem QPackage i działa całkiem dobrze. Zrobię inną opcję, ale w tej chwili jestem zadowolony z tego rozwiązania ...
— Paulo Martinho,

6

Nie znam sposobu w samym QGIS, ale plik projektu (.qgs) jest tylko plikiem tekstowym. Dlatego prymitywnym, ale skutecznym sposobem byłoby skopiowanie wszystkiego ręcznie do jednego katalogu, a następnie zmiana <datasource></datasource>znaczników w pliku .qgs za pomocą funkcji znajdź i zamień lub wyrażenia regularnego wskazującego nowy katalog.

Jeśli masz wiele różnych plików / katalogów, jedną z opcji byłoby zautomatyzowanie go w pythonie poprzez wyszukanie każdego znacznika w pliku .qgs, skopiowanie każdego powiązanego pliku o tej nazwie do katalogu, a następnie zastąpienie .qgs tag z nowym katalogiem.


4

Pojawiła się również nowa wtyczka relokatora . (w tej chwili oznaczone jako eksperymentalne). Daje możliwość zapisania wszystkich warstw z plikiem projektu w jednym katalogu lub nawet w pliku zip.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.