12 votos

¿Cómo aplicar un filtro a múltiples capas vectoriales en QGIS?

Estoy intentando aplicar un filtro de atributos a varias capas en QGIS a la vez. El filtro debe aplicarse a los datos .osm introducidos a través de PostGIS en QGIS.

He probado a seleccionar varias capas -> clic derecho --> filtro pero sólo lo aplica a la última capa que seleccioné del grupo. Quiero poder aplicar un filtro a través de una consulta como "osm_user" = 'donlaser' a varias capas a la vez, en lugar de tener que repetir el proceso muchas veces.

¿Hay alguna forma estándar de hacer esto dentro de QGIS que me esté perdiendo? ¿Existe un plugin que proporcione esta funcionalidad?

Una solución basada en Python también me sería útil.

14voto

Elliott Maynard Puntos 11

Así es como yo lo haría con PyQGIS:

En su TdC de QGIS, desactive las capas que desee mantener intactas, es decir, deje visibles sólo las capas a las que desee aplicar el filtro.

Ahora abre una consola de QGIS Python y pega este código:

layers = iface.mapCanvas().layers()
for layer in layers:
    layer.setSubsetString('"osm_user" = \'donlaser\'')

Esto debería servir.

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