পাইথন থেকে কিউজিআইএস স্তরটি কীভাবে ফিল্টার করব?


9

কিউজিআইএস ২.৪ পাইথন কনসোল ব্যবহার করে, আমি কেবলমাত্র একটি স্তর বৈশিষ্ট্যের একটি উপসেট প্রদর্শন করার চেষ্টা করছি। আমি স্তর থেকে উভয় বৈশিষ্ট্য পেতে পরিচালিত করেছি:

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

এবং ডেটা সরবরাহকারী থেকে:

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

(আমি পার্থক্য বুঝতে নিশ্চিত না)।

আমি এখন যা অর্জন করতে চাই তা হ'ল কেবল এই বৈশিষ্ট্যগুলি প্রদর্শন করা। জিইউআই থেকে কোয়েরি বিল্ডার ব্যবহার করে কেউ ঠিক একইভাবে। আমি জানি না যে এটি রেন্ডার পর্যায়ে পরিচালনা করা উচিত (যা কিছু বৈশিষ্ট্য সরবরাহ করবে এবং অন্য নয়), বা তথ্য সরবরাহকারীর স্তরে (যা কেবলমাত্র কেবলমাত্রযুক্ত ডেটার উপর একটি দৃশ্যের সাথে স্তর সরবরাহ করবে) ওয়ান্টেড সাবসেট), বা এর মধ্যে কোথাও।


@ নাথানের উত্তর সঠিক is সেট.সুবসেটস্ট্রিং () বা লেয়ার.সুবসেটস্ট্রিং () ব্যবহার করে কোয়েরি বিল্ডার দ্বারা সেট করা কি আমরা পেতে পারি। যদি এটি খালি হয়, তবে একটি খালি স্ট্রিং '' ফিরিয়ে দেওয়া হবে।
জ্যাক

উত্তর:


13

আপনি যে পদ্ধতিটির সন্ধান করছেন তাকে সেটসুবসেটস্ট্রিং বলে

layer.setSubsetString("field=4")

অনেক ধন্যবাদ. আপনার উত্তরটি আপনার লেখার সাথে ফাংশনের নাম সেটসবস্ট্রিং নয় তবে সেটসুবসেটস্ট্রিং। লিঙ্কটি যাইহোক ভাল ফাংশনে নির্দেশ করে। আমি আপনার উত্তরটি ভবিষ্যতের রেফারেন্সের জন্য সম্পাদনা করেছি। আবার ধন্যবাদ.
জিন-ফিলিপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.