Existe uma função automática no QGIS para empacotar todos os arquivos em um projeto para transferência?

35

No meu projeto, eu uso muitos dados geográficos de diferentes diretórios. Agora, quero entregar o projeto QGIS a um colega (por exemplo, em um CD).

É possível copiar as formas de diferentes diretórios automaticamente para um diretório?

Hendrik Pehlke
fonte
11
A partir de 05/02/2016, o plug-in QConsolidate funcionará corretamente com shapefiles, tif rasters e (!) Coberturas de arco. No entanto, as classes de recursos do geodatabase (como pontos) não são copiadas para a pasta de saída.
Stu Smith

Respostas:

44

Você está procurando o plugin QConsolidate , que funciona muito bem. Ele transferirá tudo para um único diretório e reescreve o arquivo de projeto .QGS (um arquivo XML) para apontar para os novos locais de origem.


O QConsolidate ainda está listado como experimental - você precisará ativar "Mostrar também plugins experimentais" na caixa de diálogo de configurações.

No entanto - funciona muito bem. Notas:

  • Você deve ter salvo o projeto no qual está trabalhando antes de tentar consolidá-lo em outro lugar;
  • O formato de saída será o arquivo do projeto (.QGS), junto com uma pasta chamada 'layers' que (surpresa!) Contém as camadas;
  • O QConsolidate converterá as camadas do banco de dados em shapefiles e reescreverá o arquivo do projeto para se referir ao novo shapefile;
  • Embora muitas vezes você queira compartilhar o projeto consolidado em uma unidade externa / thumb, salve-o em um disco rígido local primeiro, pois as muitas operações de gravação feitas realmente tornarão as coisas mais lentas, se você tentar consolidar diretamente em mídia lenta.
Simbamangu
fonte
Muito obrigado. QConsolidate é exatamente o que eu estava procurando.
Hendrik Pehlke
11
Apenas procurei uma resposta para o mesmo problema. Eu acho que com os plugins Qconsolidate e relocator, o tópico pode ser visto como uma resposta. MAS: Eu realmente espero que o desenvolvimento do relocador aconteça porque o QConsolidate parece estar quase morto :( Nenhum único commit em 2 anos na página do github.
martin
20

Acabei de testar os três plugins que tentam fazer o que você pede em um arquivo de projeto com vários formatos baseados em arquivo. Aqui estão os resultados:

Os plugins testados foram:

  • QConsolidate 0.2.1
  • QPackage 1.3
  • realocador 0,9

Os testes foram executados no QGIS 2.18.14 64bit no Windows 10

Todos os três plugins manipularam shapefiles sem problemas, moveram dados para o diretório de destino e criaram um projeto que referenciava as cópias locais dos conjuntos de dados.

QConsolidado

  • FileGDB: não copiado ou traduzido (perda de dados). O arquivo do projeto ainda faz referência à camada
  • Spatialite: traduzido para SHP
  • Geopacote: copiado sem tradução
  • GeoTiff: copiado intacto

QPackage

  • FileGDB: traduzido para SHP
  • Spatialite: traduzido para SHP
  • Geopacote: traduzido para SHP
  • GeoTiff: copiado intacto

relocador

  • FileGDB: traduzido para SHP, caminho incorreto no arquivo do projeto
  • Spatialite: traduzido para SHP, caminho incorreto no arquivo do projeto
  • Geopacote: traduzido para SHP, caminho incorreto no arquivo do projeto
  • GeoTiff: copiado intacto

Dos três, o QPackage pareceu funcionar melhor. As conexões com o banco de dados e as camadas de serviço da web não foram testadas.

Andy Harfoot
fonte
Excelente resposta - estava pensando em atualizar o meu da mesma forma e encontrei isso. Que experiência você tem do próprio arquivo .QGS reescrito? Minha última experiência com o QConsolidate, há algum tempo, foi fornecer diretórios malformados de dados e arquivos QGS.
Simbamangu 21/01
Com toda a honestidade, não uso os plug-ins, mas faria modificações em scripts em uma cópia do arquivo QGS, conforme necessário. Esta resposta foi baseada em alguns testes para um cliente que eu pensei que seriam de maior benefício.
Andy Harfoot
Eu usei o QPackage e funciona muito bem. Terei outra opção, mas estou feliz com essa solução no momento ...
Paulo Martinho
6

Não conheço uma maneira no QGIS, mas o arquivo do projeto (.qgs) é apenas um arquivo de texto. Portanto, uma maneira primitiva, porém eficaz, seria copiar tudo manualmente em um diretório e, em seguida, alterar as <datasource></datasource>marcas no arquivo .qgs usando find e replace ou uma expressão regular para apontar para o novo diretório.

Se você tiver vários arquivos / diretórios diferentes, uma opção seria automatizá-lo em python pesquisando cada tag no arquivo .qgs, copiando cada arquivo relacionado com esse nome para um diretório e substituindo o .qgs tag com o novo diretório.

Stev_k
fonte
4

Agora também existe o novo plugin do relocator . (marcado como experimental também neste momento). Dá a você a oportunidade de salvar todas as camadas com o arquivo do projeto em um diretório ou mesmo em um arquivo zip.

Bernd V.
fonte