3 votos

Obteniendo solo los ids de las características con QgsFeatureRequest en PyQGIS

Usar un QgsFeatureRequest por defecto recuperará todos los atributos (incluyendo la geometría) de las entidades. Puedo usar .setFlags(QgsFeatureRequest.NoGeometry) para no recuperar la geometría, y .setSubsetOfAttributes(['valor'], vector_layer.fields()) para recuperar sólo un atributo.

Estoy usando QgsFeatureRequest porque necesito el filtro setDistanceWithin(QgsGeometry, tolerancia).

Me gustaría no recuperar atributos para optimizar mi consulta ya que sólo necesito la identificación de las entidades.

1voto

bugmenot123 Puntos 770

https://api.qgis.org/api/classQgsFeatureRequest.html#a85f831f339a9882822d5d5cf19b29fdf indica que "Una lista de atributos vacía indica que no se recuperarán atributos".

Eso significa que al combinar .setFlags(QgsFeatureRequest.NoGeometry) y .setSubsetOfAttributes([]) deberías recibir entidades que son poco más que sus IDs.

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