4

I want to merge the selected features. I found this post but I can not do it.
Can anybody help me?

layer = iface.activeLayer()
obj1 = 24
obj2= 25
expr = QgsExpression( " \"ID_PARCEL\" = '{}' OR \"ID_PARCEL\"='{}' ".format(obj1,obj2))
it = layer.getFeatures( QgsFeatureRequest( expr ) )
ids = [i.id() for i in it]
if ids == []:
    print 'ERROR - WAS NOT FOUND'
else:
    layer.setSelectedFeatures( ids )
    selectFeatures = layer.selectedFeatures()

#MERGE SELECTED FEATURES
1
  • 1
    Your obj values are those related database fields type text or integer? Right now your expression sees them as text because you have them surrounded with single quotes.
    – artwork21
    Jun 12, 2017 at 14:06

1 Answer 1

5

Try something like this below

geom = None
for feat in selectFeatures:
    if geom == None:
       geom = feat.geometry()
    else:
       geom = geom.combine(feat.geometry())

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.