10 votos

Cómo filtrar la capa QGIS de python?

El uso de QGIS 2.4 consola de python, estoy tratando de mostrar sólo un subconjunto de las funciones de capa. Me las he arreglado para conseguir la cuenta de la capa :

featuresIterator = layer.getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))

y desde el dataProvider :

featuresIterator = layer.dataProvider().getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))

(No estoy seguro de entender la diferencia).

Lo que quiero lograr ahora es mostrar sólo estas características. Exactamente de la misma manera como se haría mediante el generador de consultas de la interfaz gráfica de usuario. No sé si esto tiene que ser manejados en el nivel de procesamiento (que haría algunas características y no otras), o a nivel del proveedor de datos (lo cual sólo puede proporcionar la capa con una vista de los datos que contiene sólo la quería subconjunto), o en algún lugar en el medio.

15voto

Jauder Ho Puntos 3172

El método que está buscando se llama setSubsetString

 layer.setSubsetString("field=4")
 

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