QGIS 2.4 python कंसोल का उपयोग करके, मैं केवल लेयर विशेषताओं का सबसेट प्रदर्शित करने का प्रयास कर रहा हूं। मैं परत से दोनों विशेषताओं को प्राप्त करने में कामयाब रहा:
featuresIterator = layer.getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
और डेटा सर्वर से:
featuresIterator = layer.dataProvider().getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
(मुझे फर्क समझ में नहीं आ रहा है)।
अब मैं जो हासिल करना चाहता हूं वह केवल इन सुविधाओं को प्रदर्शित करना है। ठीक उसी तरह से जैसे कोई GUI से क्वेरी बिल्डर का उपयोग करेगा। मुझे नहीं पता कि यह रेंडर के स्तर पर प्रबंधित किया जाना है (जो कुछ सुविधाओं को प्रस्तुत करेगा और अन्य को नहीं), या डेटा प्रदाता के स्तर पर (जो केवल डेटा वाले दृश्य पर परत प्रदान करेगा चाहता था), या कहीं बीच में।
@ नथन से जवाब सही है। हम यह भी पा सकते हैं कि setSubsetString () या क्वेरी बिल्डर द्वारा layer.subsetString () का उपयोग करके क्या सेट किया गया है। यदि यह खाली है, तो एक खाली स्ट्रिंग '' वापस आ गया है।
—
Zac