En mi plugin de QGIS selecciono dinámicamente características de una capa de Vectores. Y actualmente creo una nueva capa (shapefile) de la selección en la combinación de todas las características en una nueva característica:
theField = QgsField
self.theString = (os.path.expanduser("~")+'\.qgis\\statsRectangle.shp')
feat = QgsFeature()
shapeLayer2 = QgsVectorLayer(self.theString, "Upstream Area Of Interest", 'ogr')
geomtotSubwatershed = QgsGeometry.fromWkt('GEOMETRYCOLLECTION EMPTY')
nodLayer.setSelectedFeatures(selectFeatureIDlist)
UpstreamGeometry = QgsGeometry.fromWkt('GEOMETRYCOLLECTION EMPTY')
for elem in nodLayer.selectedFeatures():
UpstreamGeometry = UpstreamGeometry.combine(elem.geometry())
feat.setGeometry(UpstreamGeometry)
QgsMapLayerRegistry.instance().addMapLayer(shapeLayer2)
pero la combinación de la característica seleccionada toma mucho tiempo y congela la interfaz de usuario de QGIS.