Eu uso o QGIS para ilustrar os resultados da minha simulação Matlab. O Matlab produz um arquivo CSV conectado a um shapefile no QGIS.
No momento, tenho que fechar e reabrir o QGIS para mostrar os novos resultados da simulação Matlab.
É possível recarregar a tabela de atributos do arquivo CSV sem fechar e reabrir o QGIS?
Respostas:
Posso sugerir um fluxo de trabalho alternativo que, embora não seja necessariamente mais fácil do que fechar e abrir o QGIS a cada vez, possa fazer mais sentido:
Agora, você pode exibir a vista no QGIS como qualquer camada espacial e usar os valores JOINed de spatialite. Porém, sempre que o CSV for recriado, você precisará DROP a tabela CSV virtual e vincular novamente a ela. Em seguida, uma atualização no QGIS mostrará os novos valores. Isso leva apenas um momento e, além do mais, você pode definir muitas visualizações e manter as anteriores, se necessário ...
HTH
fonte
Para quem ainda procura uma resposta para isso sem usar um formato espacial, encontrei algo que funciona.
Se você possui um csv e usa uma associação para associá-lo a uma camada espacial, uma das opções da associação é armazenar em cache a camada. Você pode acessar essa opção se acessar as propriedades da sua camada, acessar os dados associados e clicar em editar associação. Se você desabilitar a opção de cache , poderá recarregar a camada de dados após a alteração do csv e acionar uma nova pintura do seu mapa para obter uma visualização atualizada do mapa.
Você pode recarregar e repintar no console Python. Primeiro, você precisa definir um nome para a tela do mapa, o csv e para a camada:
Certifique-se de ter as camadas ativas ao nomeá-las no console ao usar o método currentLayer (deve ser a 'camada atual').
Então, se você definir a opção de cache como desativada para sua associação, poderá alterar o csv e, em seguida, usar os dois comandos a seguir no console do Python para redesenhar seu mapa:
Isso funcionou para mim, mas eu só tinha 100 linhas de dados. Pode ser que as operações sejam lentas sem armazenamento em cache quando você tiver um conjunto de dados maior.
fonte
Abra as propriedades da camada do shapefile e vá para
General
-Coordinate reference system
, clique emCreate spatial index
. Depois de concluído, o shapefile é atualizado.fonte