Fiz um processamento em lote de várias camadas vetoriais e agora o nome de exibição para cada arquivo é "dissolvido" ao acessar a layer.name()
função no QGIS. Eu li nesta resposta do underdark para Alterar o nome da camada do vetor de saída do script de processamento no QGIS? , que eu posso definir o nome para o nome do arquivo, mas infelizmente tarde demais.
Consigo colocar todos os arquivos do meu projeto em uma lista com
layers = iface.mapCanvas().layers()
e todos os nomes com isso:
names = [layer.name() for layer in QgsMapLayerRegistry.instance().mapLayers().values()]
Com a ajuda desta resposta para Obtendo o caminho do projeto ou arquivo de camada no PyQGIS? , Posso obter os nomes dos arquivos com os quais estou trabalhando:
import os
real_names = []
for li in layers:
(myDirectory,nameFile) = os.path.split(li.dataProvider().dataSourceUri())
real_names.append(nameFile.split("|")[0]
A leitura do documento da API para o QgsVectorLayer não me ajudou. O que eu quero é renomear os arquivos para mostrar o nome do arquivo como nome para exibição. Como arquivar isso no console python?