Existe uma maneira de originar um shapefile para um arquivo de camada no QGIS, assim como você faz isso nas propriedades de uma camada do ArcGIS? (ou seja, vá para as propriedades da camada, guia fonte e pressione o 'Set Dat Source'
botão)
Estive em todas as propriedades da camada no QGIS e não vejo isso em nenhum lugar ...
EDIT: recebi comentários explicando que você não pode fazer isso com shapefiles, mas se eu alterar o nome de um shapefile e abrir um arquivo de projeto preexistente que contenha esse shapefile como uma camada, receberei o 'Handle O diálogo Bad Layers ', que permite navegar e reorientar a camada para qualquer shapefile que eu desejar. Acho estranho que você possa recorrer nesse cenário, mas não pode fazê-lo manualmente através da caixa de diálogo de propriedades da camada.
fonte
Atualmente, isso não é possível, mas há um ticket para isso. No entanto, você pode alterar a fonte de dados no arquivo .qgs (arquivo de projeto) e reabrir o projeto.
Mude a
<datasource>
linhafonte
em python, é possível modificar diretamente a fonte de dados usando QgsVectorLayer.writeLayerXML e QgsVectorLayer.readLayerXML modificando o documento DOM rapidamente e recarregando a camada, como no exemplo abaixo.
O recurso foi incluído no plug-in PickLayer que permite executar ações na camada e no recurso clicados
fonte
A partir da versão 2.10, a QGis Api inclui o método QgsVectorLayer :: setDataSource :
fonte
Se você trabalha com shapefiles, não (devido às características específicas do formato). Se você usar as camadas PostGIS ou SpatiaLite, uma única camada vetorial (tabela geometry_columns) poderá ser conectada a várias tabelas de atributos e inversa (com chaves estrangeiras ou Views).
É implementado nativamente no GRASS GIS, várias tabelas para uma camada vetorial e alteração da fonte de dados ( v.to.db
fonte