15 votos

¿Creando nueva capa virtual programáticamente en QGIS?

¿Es posible crear una capa virtual a través de un script de python? Por ejemplo, tengo una capa "carretera", y me gustaría realizar sql "SELECT * FROM road WHERE type = 'Expressway'"

¿Será esto posible? ¿Hay algún ejemplo al que pueda referirme?

11voto

Mue Puntos 2469

Podrías usar algo como lo siguiente:

 from qgis.core import QgsVectorLayer, QgsMapLayerRegistry

vlayer = QgsVectorLayer( "?query=SELECT * FROM road WHERE type = 'Expressway'", "vlayer", "virtual" )
QgsMapLayerRegistry.instance().addMapLayer(vlayer)
 

Puede encontrar ejemplos sobre cómo usar capas virtuales a través de python en el GitHub del autor:

https://github.com/mhugo/qgis_vlayers/blob/master/README.md

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X