Skip to content

Commit

Permalink
Remove vector.features
Browse files Browse the repository at this point in the history
Use QgsProcessingUtils.getFeatures instead
  • Loading branch information
nyalldawson committed Apr 26, 2017
1 parent 6397386 commit 427c3b1
Show file tree
Hide file tree
Showing 106 changed files with 133 additions and 220 deletions.
Expand Up @@ -25,7 +25,7 @@

__revision__ = '$Format:%H$'

from qgis.core import QgsVectorFileWriter, QgsSettings
from qgis.core import QgsVectorFileWriter, QgsSettings, QgsProcessingUtils

from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.parameters import ParameterVector
Expand Down Expand Up @@ -113,7 +113,7 @@ def processAlgorithm(self, context, feedback):
# selection that might exist in layer and the configuration that
# indicates should algorithm use only selected features or all
# of them
features = vector.features(vectorLayer, context)
features = QgsProcessingUtils.getFeatures(vectorLayer, context)
for f in features:
writer.addFeature(f)

Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/AddTableField.py
Expand Up @@ -100,7 +100,7 @@ def processAlgorithm(self, context, feedback):
writer = output.getVectorWriter(fields, layer.wkbType(),
layer.crs())
outFeat = QgsFeature()
features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, feat in enumerate(features):
feedback.setProgress(int(current * total))
Expand Down
Expand Up @@ -70,7 +70,7 @@ def processAlgorithm(self, context, feedback):
writer = output.getVectorWriter(fields, vlayer.wkbType(),
vlayer.crs())
outFeat = QgsFeature()
features = vector.features(vlayer, context)
features = QgsProcessingUtils.getFeatures(vlayer, context)
total = 100.0 / QgsProcessingUtils.featureCount(vlayer, context)
for current, feat in enumerate(features):
feedback.setProgress(int(current * total))
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/BasicStatistics.py
Expand Up @@ -130,7 +130,7 @@ def processAlgorithm(self, context, feedback):
output_file = self.getOutputValue(self.OUTPUT_HTML_FILE)

request = QgsFeatureRequest().setFlags(QgsFeatureRequest.NoGeometry).setSubsetOfAttributes([field_name], layer.fields())
features = vector.features(layer, context, request)
features = QgsProcessingUtils.getFeatures(layer, context, request)

data = []
data.append(self.tr('Analyzed layer: {}').format(layer.name()))
Expand Down
Expand Up @@ -124,7 +124,7 @@ def processAlgorithm(self, context, feedback):

request = QgsFeatureRequest().setFlags(QgsFeatureRequest.NoGeometry).setSubsetOfAttributes([fieldName], layer.fields())
stat = QgsStatisticalSummary()
features = vector.features(layer, context, request)
features = QgsProcessingUtils.getFeatures(layer, context, request)
count = QgsProcessingUtils.featureCount(layer, context)
total = 100.0 / float(count)
for current, ft in enumerate(features):
Expand Down
Expand Up @@ -111,7 +111,7 @@ def processAlgorithm(self, context, feedback):
request = QgsFeatureRequest().setFlags(QgsFeatureRequest.NoGeometry).setSubsetOfAttributes([fieldName],
layer.fields())
stat = QgsStringStatisticalSummary()
features = vector.features(layer, context, request)
features = QgsProcessingUtils.getFeatures(layer, context, request)
count = QgsProcessingUtils.featureCount(layer, context)
total = 100.0 / float(count)
for current, ft in enumerate(features):
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/Boundary.py
Expand Up @@ -83,7 +83,7 @@ def processAlgorithm(self, context, feedback):
output_wkb,
layer.crs())

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

for current, input_feature in enumerate(features):
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/BoundingBox.py
Expand Up @@ -72,7 +72,7 @@ def processAlgorithm(self, context, feedback):
QgsWkbTypes.Polygon,
layer.crs())

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

for current, input_feature in enumerate(features):
Expand Down
4 changes: 2 additions & 2 deletions python/plugins/processing/algs/qgis/Buffer.py
Expand Up @@ -25,7 +25,7 @@

__revision__ = '$Format:%H$'

from qgis.core import QgsFeature, QgsGeometry
from qgis.core import QgsFeature, QgsGeometry, QgsProcessingUtils

from processing.tools import vector

Expand All @@ -39,7 +39,7 @@ def buffering(feedback, context, writer, distance, field, useField, layer, disso
outFeat = QgsFeature()

current = 0
features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

# With dissolve
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/Centroids.py
Expand Up @@ -73,7 +73,7 @@ def processAlgorithm(self, context, feedback):
QgsWkbTypes.Point,
layer.crs())

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, input_feature in enumerate(features):
output_feature = input_feature
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/CheckValidity.py
Expand Up @@ -136,7 +136,7 @@ def doCheck(self, context, feedback):
layer.crs())
error_count = 0

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, inFeat in enumerate(features):
geom = inFeat.geometry()
Expand Down
6 changes: 3 additions & 3 deletions python/plugins/processing/algs/qgis/Clip.py
Expand Up @@ -78,7 +78,7 @@ def processAlgorithm(self, context, feedback):

# first build up a list of clip geometries
clip_geoms = []
for maskFeat in vector.features(mask_layer, context, QgsFeatureRequest().setSubsetOfAttributes([])):
for maskFeat in QgsProcessingUtils.getFeatures(mask_layer, context, QgsFeatureRequest().setSubsetOfAttributes([])):
clip_geoms.append(maskFeat.geometry())

# are we clipping against a single feature? if so, we can show finer progress reports
Expand All @@ -96,8 +96,8 @@ def processAlgorithm(self, context, feedback):
tested_feature_ids = set()

for i, clip_geom in enumerate(clip_geoms):
input_features = [f for f in vector.features(source_layer, context,
QgsFeatureRequest().setFilterRect(clip_geom.boundingBox()))]
input_features = [f for f in QgsProcessingUtils.getFeatures(source_layer, context,
QgsFeatureRequest().setFilterRect(clip_geom.boundingBox()))]

if not input_features:
continue
Expand Down
6 changes: 3 additions & 3 deletions python/plugins/processing/algs/qgis/ConvexHull.py
Expand Up @@ -112,15 +112,15 @@ def processAlgorithm(self, context, feedback):

fid = 0
val = None
features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
if useField:
unique = layer.uniqueValues(index)
current = 0
total = 100.0 / (QgsProcessingUtils.featureCount(layer, context) * len(unique))
for i in unique:
first = True
hull = []
features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
for f in features:
idVar = f[fieldName]
if str(idVar).strip() == str(i).strip():
Expand Down Expand Up @@ -149,7 +149,7 @@ def processAlgorithm(self, context, feedback):
else:
hull = []
total = 100.0 / layer.featureCount()
features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
for current, f in enumerate(features):
inGeom = f.geometry()
points = vector.extractPoints(inGeom)
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/Delaunay.py
Expand Up @@ -84,7 +84,7 @@ def processAlgorithm(self, context, feedback):
ptDict = {}
ptNdx = -1
c = voronoi.Context()
features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, inFeat in enumerate(features):
geom = QgsGeometry(inFeat.geometry())
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/DeleteColumn.py
Expand Up @@ -86,7 +86,7 @@ def processAlgorithm(self, context, feedback):
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields,
layer.wkbType(), layer.crs())

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

for current, f in enumerate(features):
Expand Down
Expand Up @@ -68,7 +68,7 @@ def processAlgorithm(self, context, feedback):
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields,
layer.wkbType(), layer.crs())

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)

total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
geoms = dict()
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/DeleteHoles.py
Expand Up @@ -82,7 +82,7 @@ def processAlgorithm(self, context, feedback):
layer.wkbType(),
layer.crs())

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

for current, f in enumerate(features):
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/DensifyGeometries.py
Expand Up @@ -88,7 +88,7 @@ def processAlgorithm(self, context, feedback):
self.OUTPUT).getVectorWriter(layer.fields().toList(),
layer.wkbType(), layer.crs())

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, f in enumerate(features):
feature = f
Expand Down
Expand Up @@ -82,7 +82,7 @@ def processAlgorithm(self, context, feedback):
self.OUTPUT).getVectorWriter(layer.fields().toList(),
layer.wkbType(), layer.crs())

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, f in enumerate(features):
feature = f
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/Difference.py
Expand Up @@ -79,7 +79,7 @@ def processAlgorithm(self, context, feedback):

outFeat = QgsFeature()
index = vector.spatialindex(layerB)
selectionA = vector.features(layerA, context)
selectionA = QgsProcessingUtils.getFeatures(layerA, context)
total = 100.0 / QgsProcessingUtils.featureCount(layerA, context)
for current, inFeatA in enumerate(selectionA):
geom = inFeatA.geometry()
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/Dissolve.py
Expand Up @@ -86,7 +86,7 @@ def processAlgorithm(self, context, feedback):
vlayerA.crs())

outFeat = QgsFeature()
features = vector.features(vlayerA, context)
features = QgsProcessingUtils.getFeatures(vlayerA, context)
total = 100.0 / QgsProcessingUtils.featureCount(vlayerA, context)

if not useField:
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/DropGeometry.py
Expand Up @@ -76,7 +76,7 @@ def processAlgorithm(self, context, feedback):
QgsCoordinateReferenceSystem())

request = QgsFeatureRequest().setFlags(QgsFeatureRequest.NoGeometry)
features = vector.features(layer, context, request)
features = QgsProcessingUtils.getFeatures(layer, context, request)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

for current, input_feature in enumerate(features):
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/EquivalentNumField.py
Expand Up @@ -78,7 +78,7 @@ def processAlgorithm(self, context, feedback):
outFeat = QgsFeature()
classes = {}

features = vector.features(vlayer, context)
features = QgsProcessingUtils.getFeatures(vlayer, context)
total = 100.0 / QgsProcessingUtils.featureCount(vlayer, context)
for current, feature in enumerate(features):
feedback.setProgress(int(current * total))
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/ExecuteSQL.py
Expand Up @@ -152,7 +152,7 @@ def processAlgorithm(self, context, feedback):
vLayer.wkbType() if geometry_type != 1 else 1,
vLayer.crs())

features = vector.features(vLayer, context)
features = QgsProcessingUtils.getFeatures(vLayer, context)
total = 100.0 / QgsProcessingUtils.featureCount(vLayer, context)
outFeat = QgsFeature()
for current, inFeat in enumerate(features):
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/Explode.py
Expand Up @@ -71,7 +71,7 @@ def processAlgorithm(self, context, feedback):
writer = output.getVectorWriter(fields, QgsWkbTypes.LineString,
vlayer.crs())
outFeat = QgsFeature()
features = vector.features(vlayer, context)
features = QgsProcessingUtils.getFeatures(vlayer, context)
total = 100.0 / QgsProcessingUtils.featureCount(vlayer, context)
for current, feature in enumerate(features):
feedback.setProgress(int(current * total))
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/ExportGeometryInfo.py
Expand Up @@ -132,7 +132,7 @@ def processAlgorithm(self, context, feedback):
outFeat.initAttributes(len(fields))
outFeat.setFields(fields)

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, f in enumerate(features):
inGeom = f.geometry()
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/ExtendLines.py
Expand Up @@ -79,7 +79,7 @@ def processAlgorithm(self, context, feedback):
start_distance = self.getParameterValue(self.START_DISTANCE)
end_distance = self.getParameterValue(self.END_DISTANCE)

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

for current, input_feature in enumerate(features):
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/ExtentFromLayer.py
Expand Up @@ -133,7 +133,7 @@ def layerExtent(self, layer, writer, feedback):
writer.addFeature(feat)

def featureExtent(self, layer, context, writer, feedback):
features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
feat = QgsFeature()
for current, f in enumerate(features):
Expand Down
6 changes: 3 additions & 3 deletions python/plugins/processing/algs/qgis/ExtractByLocation.py
Expand Up @@ -102,11 +102,11 @@ def processAlgorithm(self, context, feedback):

if 'disjoint' in predicates:
disjoinSet = []
for feat in vector.features(layer, context):
for feat in QgsProcessingUtils.getFeatures(layer, context):
disjoinSet.append(feat.id())

selectedSet = []
features = vector.features(selectLayer, context)
features = QgsProcessingUtils.getFeatures(selectLayer, context)
total = 100.0 / QgsProcessingUtils.featureCount(selectLayer, context)
for current, f in enumerate(features):
geom = vector.snapToPrecision(f.geometry(), precision)
Expand Down Expand Up @@ -134,7 +134,7 @@ def processAlgorithm(self, context, feedback):
if 'disjoint' in predicates:
selectedSet = selectedSet + disjoinSet

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, f in enumerate(features):
if f.id() in selectedSet:
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/ExtractNodes.py
Expand Up @@ -78,7 +78,7 @@ def processAlgorithm(self, context, feedback):
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(
fields, QgsWkbTypes.Point, layer.crs())

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, f in enumerate(features):
input_geometry = f.geometry()
Expand Down
Expand Up @@ -94,7 +94,7 @@ def processAlgorithm(self, context, feedback):
raise GeoAlgorithmExecutionException(
self.tr('\'{}\' is not a valid node index').format(node))

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

for current, f in enumerate(features):
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/FieldPyculator.py
Expand Up @@ -145,7 +145,7 @@ def processAlgorithm(self, context, feedback):
self.tr("FieldPyculator code execute error. Field code block can't be executed!\n{0}\n{1}").format(str(sys.exc_info()[0].__name__), str(sys.exc_info()[1])))

# Run
features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, feat in enumerate(features):
feedback.setProgress(int(current * total))
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/FieldsCalculator.py
Expand Up @@ -138,7 +138,7 @@ def processAlgorithm(self, context, feedback):
error = ''
calculationSuccess = True

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

rownum = 1
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/FieldsMapper.py
Expand Up @@ -152,7 +152,7 @@ def processAlgorithm(self, context, feedback):
error_exp = None
inFeat = QgsFeature()
outFeat = QgsFeature()
features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
if len(features):
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, inFeat in enumerate(features):
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/FixGeometry.py
Expand Up @@ -78,7 +78,7 @@ def processAlgorithm(self, context, feedback):
QgsWkbTypes.multiType(layer.wkbType()),
layer.crs())

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
if len(features) == 0:
raise GeoAlgorithmExecutionException(self.tr('There are no features in the input layer'))

Expand Down
Expand Up @@ -118,7 +118,7 @@ def processAlgorithm(self, context, feedback):
raise GeoAlgorithmExecutionException(
self.tr('Evaluation error: {0}').format(expression.evalErrorString()))

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)
for current, input_feature in enumerate(features):
output_feature = input_feature
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/algs/qgis/GeometryConvert.py
Expand Up @@ -96,7 +96,7 @@ def processAlgorithm(self, context, feedback):
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(
layer.fields(), newType, layer.crs())

features = vector.features(layer, context)
features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

for current, f in enumerate(features):
Expand Down

0 comments on commit 427c3b1

Please sign in to comment.