2 votos

Necesito filtrar la capa por PyQGIS 3

Tengo una capa vectorial que necesito filtrar y no ver los otros registros. Ese filtro es como la imagen, encuentro un código Python y lo ejecuto en consola pero la instrucción devuelve otro elemento.

python' expression = "\"id_parroqu\"= 1" '
python' QgsFeatureRequest().setFilterExpression(expression)'

<qgis._core.QgsFeatureRequest object at 0x000001A24D00DB88>

' enter image description here

5voto

BWW Puntos 302

No estoy seguro ya que tu pregunta no es perfectamente clara (para mí al menos) pero si quieres filtrar la capa, utiliza lo siguiente

expression = '"id_parroqu"=1'
layer = iface.activeLayer()
layer.setSubsetString(expression)

Si desea restablecer el filtro, sólo tiene que utilizar

layer.setSubsetString("")

Si sólo quieres hacer un bucle sobre las características de una capa, debes utilizar

expression = '"id_parroqu"= 1'
layer = iface.activeLayer()
request = QgsFeatureRequest().setFilterExpression(expression)
# Magic happen in layer.getFeatures(request)
for feature in layer.getFeatures(request):
    print(feature)

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