ওপেন সোর্স ব্যবহার করার সময় কেউ কীভাবে "সহজেই" নিজস্ব সমাধান তৈরি করতে পারে তার উদাহরণ হিসাবে এই প্রশ্নের দ্বারা উত্তর দিয়ে অনুপ্রাণিত হয়ে আমি সম্পাদনা সেশনের সময় বেছে বেছে "বিস্ফোরিত" মাল্টিপার্ট বৈশিষ্ট্যগুলির জন্য নিজস্ব কোড তৈরি করার চেষ্টা করেছি।
আমি প্রথমবারের মতো কিউজিআইএস 1.8 এপিআই অন্বেষণ করেছি এবং এই কোডের এই টুকরোটি নিয়ে বেরিয়ে এসেছি যা কাজটি করতে পারে:
layer = qgis.utils.iface.mapCanvas().currentLayer()
remove_list = []
for feature in layer.selectedFeatures():
geom = feature.geometry()
# check if feature geometry is multipart
if geom.isMultipart():
remove_list.append(feature.id())
new_features = []
temp_feature = QgsFeature(feature)
# create a new feature using the geometry of each part
for part in geom.asGeometryCollection ():
temp_feature.setGeometry(part)
new_features.append(QgsFeature(temp_feature))
# add new features to layer
layer.addFeatures(new_features, False)
# remove the original (multipart) features from layer
if len(remove_list) > 0:
for id in remove_list:
layer.deleteFeature (id)
আমি একজন অভিজ্ঞ প্রোগ্রামার নই, তাই কোডটি সম্ভবত সবচেয়ে দক্ষ নাও হতে পারে।
এর পরের খাড়াটি এটি থেকে একটি প্লাগইন তৈরি করা হবে ... বা কমপক্ষে, চেষ্টা করুন!
আপডেট:
আমি প্লাগইন তৈরি করতে সক্ষম হয়েছি। এটিকে মাল্টিপার্ট স্প্লিট বলা হয় এবং এটি QGIS অফিসিয়াল ভাণ্ডারে পাওয়া যায়।