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.