¿Existe una función automática en QGIS para empaquetar todos los archivos en un proyecto para transferibilidad?

35

En mi proyecto, uso muchos geodatos de diferentes directorios. Ahora quiero entregar el proyecto QGIS a un colega (por ejemplo, en un CD).

¿Es posible copiar las formas de diferentes directorios automáticamente a un directorio?

Hendrik Pehlke
fuente
1
A partir de 2016-02-05, el complemento QConsolidate funciona correctamente con archivos de forma, rásteres tif y (!) Coberturas de arco. Sin embargo, las clases de entidad de geodatabase de archivos (como puntos) no se copian en la carpeta de salida.
Stu Smith

Respuestas:

44

Está buscando el complemento QConsolidate , que funciona muy bien. Transferirá todo a un solo directorio y reescribirá el archivo de proyecto .QGS (un archivo XML) para apuntar a las nuevas ubicaciones de origen.


QConsolidate todavía aparece como experimental: deberá habilitar "Mostrar también complementos experimentales" en el cuadro de diálogo de configuración.

Sin embargo, funciona muy bien. Notas:

  • Debe haber guardado el proyecto en el que está trabajando antes de intentar consolidarlo en otro lugar;
  • El formato de salida será el archivo del proyecto (.QGS), junto con una carpeta llamada 'capas' que (¡sorpresa!) Contiene las capas;
  • QConsolidate convertirá las capas de la base de datos en archivos shape y reescribirá el archivo del proyecto para referirse al nuevo archivo shape;
  • Si bien a menudo es posible que desee compartir el proyecto consolidado en una unidad externa / memoria USB, guárdelo primero en un disco duro local, ya que las numerosas operaciones de escritura realmente ralentizarán las cosas si intenta consolidarse directamente en medios lentos.
Simbamangu
fuente
Muchas gracias. QConsolidate es exactamente lo que estaba buscando.
Hendrik Pehlke
1
Solo busqué una respuesta para el mismo problema. Supongo que con los complementos Qconsolidate y relocator, el tema puede verse como respondido. PERO: Realmente espero que el desarrollo de relocator se acelere porque QConsolidate parece estar casi muerto :( Ni un solo commit en 2 años en la página de github.
martin
20

Acabo de probar los tres complementos que intentan hacer lo que pides en un archivo de proyecto con una gama de formatos basados ​​en archivos. Aquí están los resultados:

Los complementos probados fueron:

  • QConsolidate 0.2.1
  • QPackage 1.3
  • Reubicador 0.9

Las pruebas se ejecutaron en QGIS 2.18.14 de 64 bits en Windows 10

Los tres complementos manejaron los archivos de forma sin problemas, movieron los datos al directorio de destino y crearon un proyecto que hacía referencia a las copias locales de los conjuntos de datos.

QConsolidar

  • FileGDB: no copiado o traducido (pérdida de datos). El archivo del proyecto todavía hace referencia a la capa
  • Spatialite: traducido a SHP
  • Geopaquete: copiado sin traducción
  • GeoTiff: copiado intacto

QPackage

  • FileGDB: traducido a SHP
  • Spatialite: traducido a SHP
  • Geopaquete: traducido a SHP
  • GeoTiff: copiado intacto

relocalizador

  • FileGDB: traducido a SHP, ruta incorrecta en el archivo del proyecto
  • Spatialite: traducido a SHP, ruta incorrecta en el archivo del proyecto
  • Geopaquete: traducido a SHP, ruta incorrecta en el archivo del proyecto
  • GeoTiff: copiado intacto

De los tres, QPackage parecía funcionar mejor. Las conexiones de la base de datos y las capas del servicio web no se probaron.

Andy Harfoot
fuente
Excelente respuesta: estaba pensando en actualizar el mío de manera similar y encontré esto. ¿Qué experiencia tiene del archivo .QGS reescrito en sí? Mi última experiencia con QConsolidate hace un tiempo fue dar directorios de datos y archivos QGS con formato incorrecto.
Simbamangu
Honestamente, no uso los complementos, pero haría modificaciones en el script a una copia del archivo QGS según sea necesario. Esta respuesta se basó en algunas pruebas para un cliente que pensé que serían de mayor beneficio.
Andy Harfoot
Usé QPackage y funciona bastante bien. Otra opción, pero estoy contento con esa solución en este momento ...
Paulo Martinho
6

No sé una manera en QGIS en sí, pero el archivo del proyecto (.qgs) es solo un archivo de texto. Por lo tanto, una forma primitiva pero efectiva sería copiar todo manualmente en un directorio, luego alterar las <datasource></datasource>etiquetas en el archivo .qgs usando buscar y reemplazar o una expresión regular para apuntar al nuevo directorio.

Si tiene muchos archivos / directorios diferentes, una opción sería automatizarlo en Python buscando cada etiqueta en el archivo .qgs, copiando cada archivo relacionado con ese nombre en un directorio y luego reemplazando los .qgs etiqueta con el nuevo directorio.

Stev_k
fuente
4

Ahora también está el nuevo complemento de reubicación . (marcado como experimental también en este momento). Le da la oportunidad de guardar todas las capas con el archivo del proyecto en un directorio o incluso en un archivo zip.

Bernd V.
fuente