Mais

Escrevendo um script QGIS para carregar o arquivo de saída para mapear o projeto com o nome desejado?


A linha de código a seguir produz a saída como um arquivo de forma com o nome que eu quero ("MeuArquivo") e onde eu quero ("caminho"),

path = "/ Users / User1 / Desktop /" processing.runandload ('qgis: saveselectedfeatures', Input, path + 'MyFile.shp')

O novo shapefile de saída real foi salvo na minha área de trabalho com o nome "MyFile".

No entanto, a parte "andload" de "runandload" coloca a saída em MY MAP PROJECT com o nome "Selection", não "MyFile".

Isso se torna um problema mais tarde em meu script se eu gerar outro arquivo de saída, ele também será adicionado ao projeto de mapa com o nome "Seleção", tornando impossível escolher entre eles para processamento posterior.

Como meu script deve ser escrito para carregar a saída para o projeto de mapa com o nome desejado?


Se não quiser renomear a camada, você pode usar o código a seguir para carregar a saída que é salva diretamente em seu projeto de mapa e atribuirnomeComo desejar. Não há necessidade de usarrunandloade os únicos dois parâmetros que você pode querer alterar são onomee o diretório nocaminho:

from qgis.core import QgsMapLayerRegistry, QgsVectorLayer name = 'MyFile' path = "/ Users / User1 / Desktop /" + name + '.shp' processing.runalg ('qgis: saveselectedfeatures', Input, path) layer = QgsVectorLayer (caminho , nome, "ogr") QgsMapLayerRegistry.instance (). addMapLayer (camada)


Assista o vídeo: Rejestrowanie pliku rastrowego w Qgis (Outubro 2021).