আমি মাত্র 2.0 সংস্করণ 2.0 থেকে কিউজিআইএস পাইথন এপিআইতে পরিবর্তনের আলোকে পূর্ববর্তী উত্তরের কিছু আপডেট পোস্ট করতে চেয়েছিলাম ।
আগের মত, আপনি নির্বাচিত বৈশিষ্ট্যগুলির একটি তালিকা পাবেন iface.activeLayer().selectedFeatures()
তবে QGIS
সংস্করণে >= 2.0
আপনি এখন QgsFeature.attributes()
পরিবর্তে ফাংশনটি ব্যবহার করেন QgsFeature.attributeMap()
। দুটি ফাংশন হুবহু এক নয়: attributes()
এখন একটি তালিকা ফিরে আসে , যেখানে পুরানো attributeMap()
একটি অভিধান ফেরত দেয় । জন্য API ডকুমেন্টেশন ব্রাউজ করতে এক মুহুর্ত সময় নিন QgsFeature.attributes()
, QgsAttributes
ইত্যাদি বুঝতে বৈশিষ্ট্যাবলী সংরক্ষণ / প্রবেশ করে।
আপনি যদি আগ্রহী হন তবে আপনি এই মেলিং তালিকার থ্রেডে API পরিবর্তনের পিছনে কিছু যুক্তি সম্পর্কে পড়তে পারেন: [কিউজিস-বিকাশকারী] নতুন ভেক্টর এপিআই নির্বাচন বৈশিষ্ট্যগুলি । সংক্ষেপে (কিউজিআইএস বিকাশকারী মার্টিন ডোবিয়াসের ভাষায়):
বৈশিষ্ট্যে অ্যাক্সেস: f.attributeMap()
আর নেই, কারণ বৈশিষ্ট্যগুলি এখন list
মানচিত্রের (পাইথন:) পরিবর্তে কোনও ভেক্টরে (পাইথন :) সঞ্চিত রয়েছে dict
। QgsFeature
ক্লাসটি পাইথন কনটেইনার অবজেক্ট 4 এমুলেট করে
যাতে আপনি বৈশিষ্ট্যগুলি অ্যাক্সেস করতে পারেন যেমন QgsFeature
উদাহরণগুলি একটি তালিকা বা অভিধান ছিল, কীগুলি ক্ষেত্রের সূচক বা ক্ষেত্রের নাম হিসাবে রয়েছে:
f[0]
... প্রথম বৈশিষ্ট্য
f["type"]
... "টাইপ" নামযুক্ত বৈশিষ্ট্য
এখনও সমস্ত বৈশিষ্ট্য পাওয়া সম্ভব: f.attributes()
মানগুলির একটি তালিকা প্রদান করে।
সুতরাং কীভাবে আপনি কীভাবে জিজ্ঞাসা করেছিলেন (উদাহরণস্বরূপ, আপনি নির্বাচিত একক বৈশিষ্ট্যের জন্য ডেটা পান) উদাহরণস্বরূপ, ধরুন আপনার city
বৈশিষ্ট্যগুলির একটি স্তর রয়েছে যা প্রত্যেকটির একটি county
বৈশিষ্ট্য সহ বৈশিষ্ট্যের একটি তালিকা রয়েছে । আপনি county
নির্বাচিত একটি নির্দিষ্ট শহরের মান পেতে (বলে Helena, AR
), পাইথন কনসোলে নিম্নলিখিতটি করুন:
city = iface.activeLayer().selectedFeatures()[0]
city["county"]
# OUTPUTS: u'Phillips'
আপনি যদি শহরের বৈশিষ্ট্য সারণীতে সমস্ত ক্ষেত্রের মান চান তবে আপনি কেবল ব্যবহার করতে পারেন:
cityData = city.attributes()