Esiste una funzione automatica in QGIS per impacchettare tutti i file in un progetto per la trasferibilità?


35

Nel mio progetto, utilizzo molti geodati di diverse directory. Ora voglio dare il progetto QGIS a un collega (ad es. Su un CD).

È possibile copiare automaticamente le forme da directory diverse in una directory?


1
A partire dal 05-02-2016 il plug-in QConsolidate funziona correttamente con shapefile, tif raster e (!) Coperture Arc. Tuttavia, le classi di caratteristiche del file geodatabase (come punti) non vengono copiate nella cartella di output.
Stu Smith,

Risposte:


44

Stai cercando il plug-in QConsolidate , che funziona molto bene. Trasferirà tutto in una singola directory e riscriverà il file di progetto .QGS (un file XML) per puntare ai nuovi percorsi di origine.


QConsolidate è ancora elencato come sperimentale: dovrai abilitare "Mostra anche plugin sperimentali" nella finestra di dialogo delle impostazioni.

Tuttavia, funziona molto bene. Gli appunti:

  • Devi aver salvato il progetto a cui stai lavorando prima di provare a consolidarlo altrove;
  • Il formato di output sarà il file di progetto (.QGS), insieme a una cartella chiamata 'livelli' che (sorpresa!) Contiene i livelli;
  • QConsolidate converte i livelli del database in shapefile e riscrive il file di progetto per fare riferimento al nuovo shapefile;
  • Mentre spesso potresti voler condividere il progetto consolidato su una chiavetta esterna / esterna, salvalo prima su un disco rigido locale poiché le numerose operazioni di scrittura rallenteranno davvero le cose se provi a consolidare direttamente su supporti lenti.

Grazie mille. QConsolidate è esattamente quello che stavo cercando.
Hendrik Pehlke,

1
Ho appena cercato una risposta per lo stesso problema. Immagino che con i plugin Qconsolidate e rilocatore l'argomento possa essere visto come risolto. MA: spero davvero che lo sviluppo di rilocazione riprenda perché QConsolidate sembra essere quasi morto :( Non un singolo commit in 2 anni sulla pagina di github.
martin

20

Ho appena testato i tre plugin che tentano di fare ciò che chiedi su un file di progetto con una gamma di formati basati su file. Ecco i risultati:

I plugin testati erano:

  • QConsolidate 0.2.1
  • QPacchetto 1.3
  • rilocatore 0.9

I test sono stati eseguiti su QGIS 2.18.14 a 64 bit su Windows 10

Tutti e tre i plug-in hanno gestito senza problemi gli shapefile, spostato i dati nella directory di destinazione e creato un progetto che faceva riferimento alle copie locali dei set di dati.

QConsolidate

  • FileGDB: non copiato o tradotto (perdita di dati). Il file di progetto fa ancora riferimento al livello
  • Spatialite: tradotto in SHP
  • Geopackage: copiato senza traduzione
  • GeoTiff: copiato intatto

QPackage

  • FileGDB: tradotto in SHP
  • Spatialite: tradotto in SHP
  • Geopackage: tradotto in SHP
  • GeoTiff: copiato intatto

relocator

  • FileGDB: tradotto in SHP, percorso errato nel file di progetto
  • Spatialite: tradotto in SHP, percorso errato nel file di progetto
  • Geopackage: tradotto in SHP, percorso errato nel file di progetto
  • GeoTiff: copiato intatto

Dei tre, QPackage sembrava funzionare al meglio. Le connessioni al database e i livelli dei servizi Web non sono stati testati.


Ottima risposta - Stavo pensando di aggiornare la mia in modo simile e ho trovato questo. Quale esperienza hai del file .QGS riscritto stesso? La mia ultima esperienza con QConsolidate qualche tempo fa è stata quella di fornire directory di dati e file QGS non validi.
Simbamangu,

In tutta onestà, non utilizzo i plugin, ma copierei le modifiche su una copia del file QGS come richiesto. Questa risposta si basava su alcuni test per un cliente che pensavo sarebbero stati di grande beneficio.
Andy Harfoot,

Ho usato QPackage e funziona abbastanza bene. Farò un'altra opzione ma al momento sono contento di quella soluzione ...
Paulo Martinho,

6

Non conosco un modo in QGIS stesso, ma il file di progetto (.qgs) è solo un file di testo. Pertanto, un modo primitivo ma efficace sarebbe quello di copiare tutto manualmente in una directory, quindi modificare i <datasource></datasource>tag nel file .qgs usando find e sostituisci o un'espressione regolare per puntare alla nuova directory.

Se hai molti file / directory diversi, un'opzione sarebbe quella di automatizzarlo in Python cercando ogni tag nel file .qgs, copiando ogni file correlato con quel nome in una directory e quindi sostituendo il .qgs tag con la nuova directory.


4

Ora c'è anche il nuovo plugin di rilocazione . (contrassegnato anche come sperimentale in questo momento). Ti dà l'opportunità di salvare tutti i livelli con il file di progetto in una directory o anche in un file zip.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.