Используя консоль Python QGIS 2.4, я пытаюсь отобразить только подмножество объектов слоя. Мне удалось получить функции как из слоя:
featuresIterator = layer.getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
и из dataProvider:
featuresIterator = layer.dataProvider().getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
(Я не уверен, что понимаю разницу).
Чего я хочу достичь сейчас, так это отображать только эти функции. Точно так же, как можно было бы использовать построитель запросов из графического интерфейса. Я не знаю, нужно ли управлять этим на уровне рендеринга (который будет рендерить некоторые функции, а не другие), или на уровне поставщика данных (который предоставит слою только представление о данных, содержащих только желаемое подмножество), или где-то посередине.
Ответ от @Nathan правильный. Мы также можем получить то, что установлено с помощью setSubsetString () или Query Builder, используя layer.subsetString (). Если он пуст, то возвращается пустая строка.
—
Зак