[processing] fixes extract by location alg (fixes #10241)

This commit is contained in:
Salvatore Larosa 2014-05-28 09:14:59 +02:00
parent a3628a6702
commit c0b3e90faa

View File

@ -55,6 +55,10 @@ class ExtractByLocation(GeoAlgorithm):
filename = self.getParameterValue(self.INTERSECT)
selectLayer = dataobjects.getObjectFromUri(filename)
index = vector.spatialindex(layer)
output = self.getOutputFromName(self.OUTPUT)
writer = output.getVectorWriter(layer.pendingFields(),
layer.dataProvider().geometryType(), layer.crs())
geom = QgsGeometry()
selectedSet = []
@ -73,12 +77,8 @@ class ExtractByLocation(GeoAlgorithm):
selectedSet.append(feat.id())
progress.setPercentage(int(current * total))
output = self.getOutputFromName(self.OUTPUT)
writer = output.getVectorWriter(layer.layer.pendingFields().toList(),
layer.geometryType(), layer.crs())
for (i, feat) in enumerate(features):
if feat.id() in selectedSet:
writer.addFeature(feat)
for i, f in enumerate(vector.features(layer)):
if f.id() in selectedSet:
writer.addFeature(f)
progress.setPercentage(100 * i / float(featureCount))
del writer