From 06c4b07222f9410e1669387a6497897c61748a16 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Thu, 4 Aug 2016 07:33:49 +1000 Subject: [PATCH 1/2] [processing] Use layer crs/fields instead of provider crs/fields Since the layer has more complete knowledge of the crs (ie, when provider could not determine crs and user has selected it from the list), and also better knowledge of layer fields (virtual fields, joined fields) we should use these rather than the provider methods. --- .../processing/algs/qgis/AddTableField.py | 5 ++-- .../algs/qgis/AutoincrementalField.py | 5 ++-- .../plugins/processing/algs/qgis/Centroids.py | 2 +- .../processing/algs/qgis/CheckValidity.py | 9 +++--- .../processing/algs/qgis/ConcaveHull.py | 2 +- .../processing/algs/qgis/ConvexHull.py | 2 +- .../processing/algs/qgis/Difference.py | 4 +-- .../plugins/processing/algs/qgis/Dissolve.py | 3 +- .../plugins/processing/algs/qgis/Eliminate.py | 5 ++-- .../algs/qgis/EquivalentNumField.py | 5 ++-- .../plugins/processing/algs/qgis/Explode.py | 3 +- .../algs/qgis/ExportGeometryInfo.py | 2 +- .../processing/algs/qgis/ExtractByLocation.py | 2 +- .../processing/algs/qgis/FieldPyculator.py | 7 ++--- .../processing/algs/qgis/FieldsCalculator.py | 5 ++-- .../processing/algs/qgis/FieldsMapper.py | 3 +- .../processing/algs/qgis/Intersection.py | 5 ++-- .../processing/algs/qgis/JoinAttributes.py | 3 +- .../processing/algs/qgis/LinesIntersection.py | 2 +- python/plugins/processing/algs/qgis/Merge.py | 10 +++---- .../processing/algs/qgis/MergeLines.py | 3 +- .../algs/qgis/MultipartToSingleparts.py | 30 +++++++++---------- .../algs/qgis/OrientedMinimumBoundingBox.py | 5 ++-- .../algs/qgis/PointsDisplacement.py | 5 ++-- .../processing/algs/qgis/PointsInPolygon.py | 7 ++--- .../algs/qgis/PointsInPolygonUnique.py | 5 ++-- .../algs/qgis/PointsInPolygonWeighted.py | 7 ++--- .../algs/qgis/PointsLayerFromTable.py | 3 +- .../processing/algs/qgis/PointsToPaths.py | 2 +- .../processing/algs/qgis/Polygonize.py | 3 +- .../algs/qgis/RandomPointsAlongLines.py | 2 +- .../processing/algs/qgis/RandomPointsLayer.py | 2 +- .../algs/qgis/RandomPointsPolygonsFixed.py | 2 +- .../algs/qgis/RandomPointsPolygonsVariable.py | 2 +- .../algs/qgis/ReverseLineDirection.py | 3 +- .../algs/qgis/SaveSelectedFeatures.py | 5 ++-- .../algs/qgis/SinglePartsToMultiparts.py | 2 +- python/plugins/processing/algs/qgis/Smooth.py | 3 +- .../processing/algs/qgis/SpatialJoin.py | 9 ++---- .../algs/qgis/SplitLinesWithLines.py | 2 +- .../plugins/processing/algs/qgis/SumLines.py | 6 ++-- .../algs/qgis/SymmetricalDifference.py | 13 ++++---- python/plugins/processing/algs/qgis/Union.py | 8 ++--- .../processing/algs/qgis/VectorSplit.py | 2 +- .../processing/algs/qgis/ZonalStatistics.py | 2 +- 45 files changed, 92 insertions(+), 125 deletions(-) diff --git a/python/plugins/processing/algs/qgis/AddTableField.py b/python/plugins/processing/algs/qgis/AddTableField.py index a48ff28234a..d722eef81a3 100644 --- a/python/plugins/processing/algs/qgis/AddTableField.py +++ b/python/plugins/processing/algs/qgis/AddTableField.py @@ -78,11 +78,10 @@ class AddTableField(GeoAlgorithm): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT_LAYER)) - provider = layer.dataProvider() - fields = provider.fields() + fields = layer.fields() fields.append(QgsField(fieldName, self.TYPES[fieldType], '', fieldLength, fieldPrecision)) - writer = output.getVectorWriter(fields, provider.wkbType(), + writer = output.getVectorWriter(fields, layer.wkbType(), layer.crs()) outFeat = QgsFeature() features = vector.features(layer) diff --git a/python/plugins/processing/algs/qgis/AutoincrementalField.py b/python/plugins/processing/algs/qgis/AutoincrementalField.py index a04603402be..8ec34a1305e 100644 --- a/python/plugins/processing/algs/qgis/AutoincrementalField.py +++ b/python/plugins/processing/algs/qgis/AutoincrementalField.py @@ -49,10 +49,9 @@ class AutoincrementalField(GeoAlgorithm): output = self.getOutputFromName(self.OUTPUT) vlayer = \ dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT)) - vprovider = vlayer.dataProvider() - fields = vprovider.fields() + fields = vlayer.fields() fields.append(QgsField('AUTO', QVariant.Int)) - writer = output.getVectorWriter(fields, vprovider.wkbType(), + writer = output.getVectorWriter(fields, vlayer.wkbType(), vlayer.crs()) outFeat = QgsFeature() features = vector.features(vlayer) diff --git a/python/plugins/processing/algs/qgis/Centroids.py b/python/plugins/processing/algs/qgis/Centroids.py index 50445b7beee..d718db833ba 100644 --- a/python/plugins/processing/algs/qgis/Centroids.py +++ b/python/plugins/processing/algs/qgis/Centroids.py @@ -63,7 +63,7 @@ class Centroids(GeoAlgorithm): writer = self.getOutputFromName( self.OUTPUT_LAYER).getVectorWriter( - layer.pendingFields().toList(), + layer.fields(), QgsWkbTypes.Point, layer.crs()) diff --git a/python/plugins/processing/algs/qgis/CheckValidity.py b/python/plugins/processing/algs/qgis/CheckValidity.py index 02d3a3d5b43..9a976402b5f 100644 --- a/python/plugins/processing/algs/qgis/CheckValidity.py +++ b/python/plugins/processing/algs/qgis/CheckValidity.py @@ -97,27 +97,26 @@ class CheckValidity(GeoAlgorithm): def doCheck(self, progress): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT_LAYER)) - provider = layer.dataProvider() settings = QSettings() method = int(settings.value(settings_method_key, 1)) valid_ouput = self.getOutputFromName(self.VALID_OUTPUT) - valid_fields = layer.pendingFields().toList() + valid_fields = layer.fields() valid_writer = valid_ouput.getVectorWriter( valid_fields, - provider.wkbType(), + layer.wkbType(), layer.crs()) valid_count = 0 invalid_ouput = self.getOutputFromName(self.INVALID_OUTPUT) - invalid_fields = layer.pendingFields().toList() + [ + invalid_fields = layer.fields().toList() + [ QgsField(name='_errors', type=QVariant.String, len=255)] invalid_writer = invalid_ouput.getVectorWriter( invalid_fields, - provider.wkbType(), + layer.wkbType(), layer.crs()) invalid_count = 0 diff --git a/python/plugins/processing/algs/qgis/ConcaveHull.py b/python/plugins/processing/algs/qgis/ConcaveHull.py index d366ce3674a..ee316b87da0 100644 --- a/python/plugins/processing/algs/qgis/ConcaveHull.py +++ b/python/plugins/processing/algs/qgis/ConcaveHull.py @@ -111,7 +111,7 @@ class ConcaveHull(GeoAlgorithm): feat = QgsFeature() dissolved_layer.getFeatures(QgsFeatureRequest().setFilterFid(0)).nextFeature(feat) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), QgsWkbTypes.Polygon, layer.crs()) + layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs()) geom = feat.geometry() if no_multigeom and geom.isMultipart(): # Only singlepart geometries are allowed diff --git a/python/plugins/processing/algs/qgis/ConvexHull.py b/python/plugins/processing/algs/qgis/ConvexHull.py index 90d165840b8..9c7897bc43d 100644 --- a/python/plugins/processing/algs/qgis/ConvexHull.py +++ b/python/plugins/processing/algs/qgis/ConvexHull.py @@ -97,7 +97,7 @@ class ConvexHull(GeoAlgorithm): ] writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields, QgsWkbTypes.Polygon, layer.dataProvider().crs()) + fields, QgsWkbTypes.Polygon, layer.crs()) outFeat = QgsFeature() inGeom = QgsGeometry() diff --git a/python/plugins/processing/algs/qgis/Difference.py b/python/plugins/processing/algs/qgis/Difference.py index c3e6e8d1cc3..d3c422cd129 100644 --- a/python/plugins/processing/algs/qgis/Difference.py +++ b/python/plugins/processing/algs/qgis/Difference.py @@ -68,11 +68,11 @@ class Difference(GeoAlgorithm): self.getParameterValue(Difference.OVERLAY)) ignoreInvalid = self.getParameterValue(Difference.IGNORE_INVALID) - geomType = layerA.dataProvider().wkbType() + geomType = layerA.wkbType() writer = self.getOutputFromName( Difference.OUTPUT).getVectorWriter(layerA.pendingFields(), geomType, - layerA.dataProvider().crs()) + layerA.crs()) outFeat = QgsFeature() index = vector.spatialindex(layerB) diff --git a/python/plugins/processing/algs/qgis/Dissolve.py b/python/plugins/processing/algs/qgis/Dissolve.py index 37d4d3f6f3e..01bb670baf2 100644 --- a/python/plugins/processing/algs/qgis/Dissolve.py +++ b/python/plugins/processing/algs/qgis/Dissolve.py @@ -71,12 +71,11 @@ class Dissolve(GeoAlgorithm): field_names = self.getParameterValue(Dissolve.FIELD) vlayerA = dataobjects.getObjectFromUri( self.getParameterValue(Dissolve.INPUT)) - vproviderA = vlayerA.dataProvider() writer = self.getOutputFromName( Dissolve.OUTPUT).getVectorWriter( vlayerA.fields().toList(), - vproviderA.wkbType(), + vlayerA.wkbType(), vlayerA.crs()) outFeat = QgsFeature() diff --git a/python/plugins/processing/algs/qgis/Eliminate.py b/python/plugins/processing/algs/qgis/Eliminate.py index 1e9561ddc54..52b11e5a76d 100644 --- a/python/plugins/processing/algs/qgis/Eliminate.py +++ b/python/plugins/processing/algs/qgis/Eliminate.py @@ -315,10 +315,9 @@ class Eliminate(GeoAlgorithm): # End while # Create output - provider = processLayer.dataProvider() output = self.getOutputFromName(self.OUTPUT) - writer = output.getVectorWriter(provider.fields(), - provider.wkbType(), processLayer.crs()) + writer = output.getVectorWriter(processLayer.fields(), + processLayer.wkbType(), processLayer.crs()) # Write all features that are left over to output layer iterator = processLayer.getFeatures() diff --git a/python/plugins/processing/algs/qgis/EquivalentNumField.py b/python/plugins/processing/algs/qgis/EquivalentNumField.py index 99280ffd8d1..0468b342b55 100644 --- a/python/plugins/processing/algs/qgis/EquivalentNumField.py +++ b/python/plugins/processing/algs/qgis/EquivalentNumField.py @@ -54,11 +54,10 @@ class EquivalentNumField(GeoAlgorithm): output = self.getOutputFromName(self.OUTPUT) vlayer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT)) - vprovider = vlayer.dataProvider() fieldindex = vlayer.fieldNameIndex(fieldname) - fields = vprovider.fields() + fields = vlayer.fields() fields.append(QgsField('NUM_FIELD', QVariant.Int)) - writer = output.getVectorWriter(fields, vprovider.wkbType(), + writer = output.getVectorWriter(fields, vlayer.wkbType(), vlayer.crs()) outFeat = QgsFeature() classes = {} diff --git a/python/plugins/processing/algs/qgis/Explode.py b/python/plugins/processing/algs/qgis/Explode.py index 912c56ad730..a62a7d4d67b 100644 --- a/python/plugins/processing/algs/qgis/Explode.py +++ b/python/plugins/processing/algs/qgis/Explode.py @@ -48,8 +48,7 @@ class Explode(GeoAlgorithm): vlayer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT)) output = self.getOutputFromName(self.OUTPUT) - vprovider = vlayer.dataProvider() - fields = vprovider.fields() + fields = vlayer.fields() writer = output.getVectorWriter(fields, QgsWkbTypes.LineString, vlayer.crs()) outFeat = QgsFeature() diff --git a/python/plugins/processing/algs/qgis/ExportGeometryInfo.py b/python/plugins/processing/algs/qgis/ExportGeometryInfo.py index 5e09de5815c..76487c15323 100644 --- a/python/plugins/processing/algs/qgis/ExportGeometryInfo.py +++ b/python/plugins/processing/algs/qgis/ExportGeometryInfo.py @@ -89,7 +89,7 @@ class ExportGeometryInfo(GeoAlgorithm): fields.append(QgsField(yName, QVariant.Double)) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields.toList(), layer.dataProvider().wkbType(), layer.crs()) + fields.toList(), layer.wkbType(), layer.crs()) ellips = None crs = None diff --git a/python/plugins/processing/algs/qgis/ExtractByLocation.py b/python/plugins/processing/algs/qgis/ExtractByLocation.py index f1b0a7c5a55..5df9981a0ec 100644 --- a/python/plugins/processing/algs/qgis/ExtractByLocation.py +++ b/python/plugins/processing/algs/qgis/ExtractByLocation.py @@ -71,7 +71,7 @@ class ExtractByLocation(GeoAlgorithm): output = self.getOutputFromName(self.OUTPUT) writer = output.getVectorWriter(layer.pendingFields(), - layer.dataProvider().wkbType(), layer.crs()) + layer.wkbType(), layer.crs()) if 'disjoint' in predicates: disjoinSet = [] diff --git a/python/plugins/processing/algs/qgis/FieldPyculator.py b/python/plugins/processing/algs/qgis/FieldPyculator.py index 1a6bf7af5e0..0f517fc1b07 100644 --- a/python/plugins/processing/algs/qgis/FieldPyculator.py +++ b/python/plugins/processing/algs/qgis/FieldPyculator.py @@ -88,11 +88,10 @@ class FieldsPyculator(GeoAlgorithm): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT_LAYER)) - provider = layer.dataProvider() - fields = provider.fields() + fields = layer.fields() fields.append(QgsField(fieldName, self.TYPES[fieldType], '', fieldLength, fieldPrecision)) - writer = output.getVectorWriter(fields, provider.wkbType(), + writer = output.getVectorWriter(fields, layer.wkbType(), layer.crs()) outFeat = QgsFeature() new_ns = {} @@ -107,7 +106,7 @@ class FieldsPyculator(GeoAlgorithm): self.tr("FieldPyculator code execute error.Global code block can't be executed!\n%s\n%s") % (unicode(sys.exc_info()[0].__name__), unicode(sys.exc_info()[1]))) # Replace all fields tags - fields = provider.fields() + fields = layer.fields() num = 0 for field in fields: field_name = unicode(field.name()) diff --git a/python/plugins/processing/algs/qgis/FieldsCalculator.py b/python/plugins/processing/algs/qgis/FieldsCalculator.py index 39fcc4aab2c..f7695663f16 100644 --- a/python/plugins/processing/algs/qgis/FieldsCalculator.py +++ b/python/plugins/processing/algs/qgis/FieldsCalculator.py @@ -94,12 +94,11 @@ class FieldsCalculator(GeoAlgorithm): output.value = system.getTempFilenameInTempFolder( output.name + '.' + ext) - provider = layer.dataProvider() - fields = layer.pendingFields() + fields = layer.fields() if newField: fields.append(QgsField(fieldName, fieldType, '', width, precision)) - writer = output.getVectorWriter(fields, provider.wkbType(), + writer = output.getVectorWriter(fields, layer.wkbType(), layer.crs()) exp = QgsExpression(formula) diff --git a/python/plugins/processing/algs/qgis/FieldsMapper.py b/python/plugins/processing/algs/qgis/FieldsMapper.py index 1c9e6e9204a..4c15a18d213 100644 --- a/python/plugins/processing/algs/qgis/FieldsMapper.py +++ b/python/plugins/processing/algs/qgis/FieldsMapper.py @@ -68,7 +68,6 @@ class FieldsMapper(GeoAlgorithm): output = self.getOutputFromName(self.OUTPUT_LAYER) layer = dataobjects.getObjectFromUri(layer) - provider = layer.dataProvider() fields = [] expressions = [] @@ -109,7 +108,7 @@ class FieldsMapper(GeoAlgorithm): expressions.append(expression) writer = output.getVectorWriter(fields, - provider.wkbType(), + layer.wkbType(), layer.crs()) # Create output vector layer with new attributes diff --git a/python/plugins/processing/algs/qgis/Intersection.py b/python/plugins/processing/algs/qgis/Intersection.py index 4296485af44..1a2d7e3a2f0 100644 --- a/python/plugins/processing/algs/qgis/Intersection.py +++ b/python/plugins/processing/algs/qgis/Intersection.py @@ -73,12 +73,11 @@ class Intersection(GeoAlgorithm): self.getParameterValue(self.INPUT)) vlayerB = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT2)) - vproviderA = vlayerA.dataProvider() - geomType = vproviderA.wkbType() + geomType = vlayerA.wkbType() fields = vector.combineVectorFields(vlayerA, vlayerB) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, - geomType, vproviderA.crs()) + geomType, vlayerA.crs()) outFeat = QgsFeature() index = vector.spatialindex(vlayerB) selectionA = vector.features(vlayerA) diff --git a/python/plugins/processing/algs/qgis/JoinAttributes.py b/python/plugins/processing/algs/qgis/JoinAttributes.py index 056e1c43db7..e1422d7201d 100644 --- a/python/plugins/processing/algs/qgis/JoinAttributes.py +++ b/python/plugins/processing/algs/qgis/JoinAttributes.py @@ -69,14 +69,13 @@ class JoinAttributes(GeoAlgorithm): field2 = self.getParameterValue(self.TABLE_FIELD_2) layer = dataobjects.getObjectFromUri(input) - provider = layer.dataProvider() joinField1Index = layer.fieldNameIndex(field) layer2 = dataobjects.getObjectFromUri(input2) joinField2Index = layer2.fieldNameIndex(field2) outFields = vector.combineVectorFields(layer, layer2) - writer = output.getVectorWriter(outFields, provider.wkbType(), + writer = output.getVectorWriter(outFields, layer.wkbType(), layer.crs()) # Cache attributes of Layer 2 diff --git a/python/plugins/processing/algs/qgis/LinesIntersection.py b/python/plugins/processing/algs/qgis/LinesIntersection.py index 193409225df..371105fec03 100644 --- a/python/plugins/processing/algs/qgis/LinesIntersection.py +++ b/python/plugins/processing/algs/qgis/LinesIntersection.py @@ -86,7 +86,7 @@ class LinesIntersection(GeoAlgorithm): layerB.pendingFields()[idxB]] writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList, - QgsWkbTypes.Point, layerA.dataProvider().crs()) + QgsWkbTypes.Point, layerA.crs()) spatialIndex = vector.spatialindex(layerB) diff --git a/python/plugins/processing/algs/qgis/Merge.py b/python/plugins/processing/algs/qgis/Merge.py index ebf58cddcc8..760b59abe64 100644 --- a/python/plugins/processing/algs/qgis/Merge.py +++ b/python/plugins/processing/algs/qgis/Merge.py @@ -66,14 +66,14 @@ class Merge(GeoAlgorithm): layer = QgsVectorLayer(paths[x], unicode(x), 'ogr') if (len(layers) > 0): - if (layer.dataProvider().wkbType() != layers[0].dataProvider().wkbType()): + if (layer.wkbType() != layers[0].wkbType()): raise GeoAlgorithmExecutionException( self.tr('All layers must have same geometry type!')) layers.append(layer) totalFeatureCount += layer.featureCount() - for sindex, sfield in enumerate(layer.dataProvider().fields()): + for sindex, sfield in enumerate(layer.fields()): found = None for dfield in fields: if (dfield.name().upper() == sfield.name().upper()): @@ -88,12 +88,12 @@ class Merge(GeoAlgorithm): total = 100.0 / totalFeatureCount writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields.toList(), layers[0].dataProvider().wkbType(), + fields.toList(), layers[0].wkbType(), layers[0].crs()) featureCount = 0 for layer in layers: - for feature in layer.dataProvider().getFeatures(): + for feature in layer.getFeatures(): sattributes = feature.attributes() dattributes = [] for dindex, dfield in enumerate(fields): @@ -104,7 +104,7 @@ class Merge(GeoAlgorithm): else: dattribute = '' - for sindex, sfield in enumerate(layer.dataProvider().fields()): + for sindex, sfield in enumerate(layer.fields()): if (sfield.name().upper() == dfield.name().upper()): if (sfield.type() != dfield.type()): raise GeoAlgorithmExecutionException( diff --git a/python/plugins/processing/algs/qgis/MergeLines.py b/python/plugins/processing/algs/qgis/MergeLines.py index e3bbe3b3bca..c3c831ee8f7 100644 --- a/python/plugins/processing/algs/qgis/MergeLines.py +++ b/python/plugins/processing/algs/qgis/MergeLines.py @@ -59,12 +59,11 @@ class MergeLines(GeoAlgorithm): def processAlgorithm(self, progress): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT_LAYER)) - provider = layer.dataProvider() writer = self.getOutputFromName( self.OUTPUT_LAYER).getVectorWriter( layer.fields().toList(), - provider.wkbType(), + layer.wkbType(), layer.crs()) features = vector.features(layer) diff --git a/python/plugins/processing/algs/qgis/MultipartToSingleparts.py b/python/plugins/processing/algs/qgis/MultipartToSingleparts.py index 586d8245a41..4183a310e84 100644 --- a/python/plugins/processing/algs/qgis/MultipartToSingleparts.py +++ b/python/plugins/processing/algs/qgis/MultipartToSingleparts.py @@ -58,7 +58,7 @@ class MultipartToSingleparts(GeoAlgorithm): def processAlgorithm(self, progress): layer = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT)) - geomType = self.multiToSingleGeom(layer.dataProvider().wkbType()) + geomType = self.multiToSingleGeom(layer.wkbType()) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( layer.pendingFields().toList(), geomType, layer.crs()) @@ -87,41 +87,41 @@ class MultipartToSingleparts(GeoAlgorithm): def multiToSingleGeom(self, wkbType): try: - if wkbType in (QgsWkbTypes.Point, QgsWkbTypes.MultiPoint, - QgsWkbTypes.Point25D, QgsWkbTypes.MultiPoint25D): - return QgsWkbTypes.Point - elif wkbType in (QgsWkbTypes.LineString, QgsWkbTypes.MultiLineString, - QgsWkbTypes.MultiLineString25D, - QgsWkbTypes.LineString25D): + if wkbType in (Qgis.WKBPoint, Qgis.WKBMultiPoint, + Qgis.WKBPoint25D, Qgis.WKBMultiPoint25D): + return Qgis.WKBPoint + elif wkbType in (Qgis.WKBLineString, Qgis.WKBMultiLineString, + Qgis.WKBMultiLineString25D, + Qgis.WKBLineString25D): - return QgsWkbTypes.LineString - elif wkbType in (QgsWkbTypes.Polygon, QgsWkbTypes.MultiPolygon, - QgsWkbTypes.MultiPolygon25D, QgsWkbTypes.Polygon25D): + return Qgis.WKBLineString + elif wkbType in (Qgis.WKBPolygon, Qgis.WKBMultiPolygon, + Qgis.WKBMultiPolygon25D, Qgis.WKBPolygon25D): - return QgsWkbTypes.Polygon + return Qgis.WKBPolygon else: - return QgsWkbTypes.Unknown + return Qgis.WKBUnknown except Exception as err: raise GeoAlgorithmExecutionException(unicode(err)) def extractAsSingle(self, geom): multiGeom = QgsGeometry() geometries = [] - if geom.type() == QgsWkbTypes.PointGeometry: + if geom.type() == Qgis.Point: if geom.isMultipart(): multiGeom = geom.asMultiPoint() for i in multiGeom: geometries.append(QgsGeometry().fromPoint(i)) else: geometries.append(geom) - elif geom.type() == QgsWkbTypes.LineGeometry: + elif geom.type() == Qgis.Line: if geom.isMultipart(): multiGeom = geom.asMultiPolyline() for i in multiGeom: geometries.append(QgsGeometry().fromPolyline(i)) else: geometries.append(geom) - elif geom.type() == QgsWkbTypes.PolygonGeometry: + elif geom.type() == Qgis.Polygon: if geom.isMultipart(): multiGeom = geom.asMultiPolygon() for i in multiGeom: diff --git a/python/plugins/processing/algs/qgis/OrientedMinimumBoundingBox.py b/python/plugins/processing/algs/qgis/OrientedMinimumBoundingBox.py index 6d209713c83..94e9a448f3f 100644 --- a/python/plugins/processing/algs/qgis/OrientedMinimumBoundingBox.py +++ b/python/plugins/processing/algs/qgis/OrientedMinimumBoundingBox.py @@ -82,11 +82,10 @@ class OrientedMinimumBoundingBox(GeoAlgorithm): def layerOmmb(self, layer, writer, progress): current = 0 - vprovider = layer.dataProvider() - fit = vprovider.getFeatures() + fit = layer.getFeatures() inFeat = QgsFeature() - total = 100.0 / vprovider.featureCount() + total = 100.0 / layer.featureCount() newgeometry = QgsGeometry() first = True while fit.nextFeature(inFeat): diff --git a/python/plugins/processing/algs/qgis/PointsDisplacement.py b/python/plugins/processing/algs/qgis/PointsDisplacement.py index d641570ff09..c61d4806a5e 100644 --- a/python/plugins/processing/algs/qgis/PointsDisplacement.py +++ b/python/plugins/processing/algs/qgis/PointsDisplacement.py @@ -62,9 +62,8 @@ class PointsDisplacement(GeoAlgorithm): layer = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT_LAYER)) - provider = layer.dataProvider() - writer = output.getVectorWriter(provider.fields(), - provider.wkbType(), provider.crs()) + writer = output.getVectorWriter(layer.fields(), + layer.wkbType(), layer.crs()) features = vector.features(layer) diff --git a/python/plugins/processing/algs/qgis/PointsInPolygon.py b/python/plugins/processing/algs/qgis/PointsInPolygon.py index e11f6e6d7b1..d457e9da2c3 100644 --- a/python/plugins/processing/algs/qgis/PointsInPolygon.py +++ b/python/plugins/processing/algs/qgis/PointsInPolygon.py @@ -68,15 +68,14 @@ class PointsInPolygon(GeoAlgorithm): pointLayer = dataobjects.getObjectFromUri(self.getParameterValue(self.POINTS)) fieldName = self.getParameterValue(self.FIELD) - polyProvider = polyLayer.dataProvider() - fields = polyProvider.fields() + fields = polyLayer.fields() fields.append(QgsField(fieldName, QVariant.Int)) (idxCount, fieldList) = vector.findOrCreateField(polyLayer, - polyLayer.pendingFields(), fieldName) + polyLayer.fields(), fieldName) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields.toList(), polyProvider.geometryType(), polyProvider.crs()) + fields.toList(), polyLayer.wkbType(), polyLayer.crs()) spatialIndex = vector.spatialindex(pointLayer) diff --git a/python/plugins/processing/algs/qgis/PointsInPolygonUnique.py b/python/plugins/processing/algs/qgis/PointsInPolygonUnique.py index 1da6ad08547..d0dc3503e6a 100644 --- a/python/plugins/processing/algs/qgis/PointsInPolygonUnique.py +++ b/python/plugins/processing/algs/qgis/PointsInPolygonUnique.py @@ -62,8 +62,7 @@ class PointsInPolygonUnique(GeoAlgorithm): fieldName = self.getParameterValue(self.FIELD) classFieldName = self.getParameterValue(self.CLASSFIELD) - polyProvider = polyLayer.dataProvider() - fields = polyProvider.fields() + fields = polyLayer.fields() fields.append(QgsField(fieldName, QVariant.Int)) classFieldIndex = pointLayer.fieldNameIndex(classFieldName) @@ -71,7 +70,7 @@ class PointsInPolygonUnique(GeoAlgorithm): polyLayer.pendingFields(), fieldName) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields.toList(), polyProvider.geometryType(), polyProvider.crs()) + fields.toList(), polyLayer.wkbType(), polyLayer.crs()) spatialIndex = vector.spatialindex(pointLayer) diff --git a/python/plugins/processing/algs/qgis/PointsInPolygonWeighted.py b/python/plugins/processing/algs/qgis/PointsInPolygonWeighted.py index cb19a227030..13ae7235324 100644 --- a/python/plugins/processing/algs/qgis/PointsInPolygonWeighted.py +++ b/python/plugins/processing/algs/qgis/PointsInPolygonWeighted.py @@ -69,15 +69,14 @@ class PointsInPolygonWeighted(GeoAlgorithm): fieldName = self.getParameterValue(self.FIELD) fieldIdx = pointLayer.fieldNameIndex(self.getParameterValue(self.WEIGHT)) - polyProvider = polyLayer.dataProvider() - fields = polyProvider.fields() + fields = polyLayer.fields() fields.append(QgsField(fieldName, QVariant.Int)) (idxCount, fieldList) = vector.findOrCreateField(polyLayer, - polyLayer.pendingFields(), fieldName) + polyLayer.fields(), fieldName) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields.toList(), polyProvider.geometryType(), polyProvider.crs()) + fields.toList(), polyLayer.wkbType(), polyLayer.crs()) spatialIndex = vector.spatialindex(pointLayer) diff --git a/python/plugins/processing/algs/qgis/PointsLayerFromTable.py b/python/plugins/processing/algs/qgis/PointsLayerFromTable.py index 8c068278fb4..2f315db77ed 100644 --- a/python/plugins/processing/algs/qgis/PointsLayerFromTable.py +++ b/python/plugins/processing/algs/qgis/PointsLayerFromTable.py @@ -63,8 +63,7 @@ class PointsLayerFromTable(GeoAlgorithm): source = self.getParameterValue(self.INPUT) vlayer = dataobjects.getObjectFromUri(source) output = self.getOutputFromName(self.OUTPUT) - vprovider = vlayer.dataProvider() - fields = vprovider.fields() + fields = vlayer.fields() writer = output.getVectorWriter(fields, QgsWkbTypes.Point, self.crs) xfieldindex = vlayer.fieldNameIndex(self.getParameterValue(self.XFIELD)) yfieldindex = vlayer.fieldNameIndex(self.getParameterValue(self.YFIELD)) diff --git a/python/plugins/processing/algs/qgis/PointsToPaths.py b/python/plugins/processing/algs/qgis/PointsToPaths.py index c0c18609a94..bf2398e6fcb 100644 --- a/python/plugins/processing/algs/qgis/PointsToPaths.py +++ b/python/plugins/processing/algs/qgis/PointsToPaths.py @@ -81,7 +81,7 @@ class PointsToPaths(GeoAlgorithm): fields.append(QgsField('begin', QVariant.String, '', 254, 0)) fields.append(QgsField('end', QVariant.String, '', 254, 0)) writer = self.getOutputFromName(self.OUTPUT_LINES).getVectorWriter( - fields, QgsWkbTypes.LineString, layer.dataProvider().crs()) + fields, QgsWkbTypes.LineString, layer.crs()) points = dict() features = vector.features(layer) diff --git a/python/plugins/processing/algs/qgis/Polygonize.py b/python/plugins/processing/algs/qgis/Polygonize.py index 96497b1a3aa..38c0b0b1837 100644 --- a/python/plugins/processing/algs/qgis/Polygonize.py +++ b/python/plugins/processing/algs/qgis/Polygonize.py @@ -60,9 +60,8 @@ class Polygonize(GeoAlgorithm): def processAlgorithm(self, progress): vlayer = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT)) output = self.getOutputFromName(self.OUTPUT) - vprovider = vlayer.dataProvider() if self.getParameterValue(self.FIELDS): - fields = vprovider.fields() + fields = vlayer.fields() else: fields = QgsFields() if self.getParameterValue(self.GEOMETRY): diff --git a/python/plugins/processing/algs/qgis/RandomPointsAlongLines.py b/python/plugins/processing/algs/qgis/RandomPointsAlongLines.py index 15f994d615c..03c71225767 100644 --- a/python/plugins/processing/algs/qgis/RandomPointsAlongLines.py +++ b/python/plugins/processing/algs/qgis/RandomPointsAlongLines.py @@ -68,7 +68,7 @@ class RandomPointsAlongLines(GeoAlgorithm): fields = QgsFields() fields.append(QgsField('id', QVariant.Int, '', 10, 0)) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields, QgsWkbTypes.Point, layer.dataProvider().crs()) + fields, QgsWkbTypes.Point, layer.crs()) nPoints = 0 nIterations = 0 diff --git a/python/plugins/processing/algs/qgis/RandomPointsLayer.py b/python/plugins/processing/algs/qgis/RandomPointsLayer.py index b88d0e121a7..be36ae1dc10 100644 --- a/python/plugins/processing/algs/qgis/RandomPointsLayer.py +++ b/python/plugins/processing/algs/qgis/RandomPointsLayer.py @@ -77,7 +77,7 @@ class RandomPointsLayer(GeoAlgorithm): fields = QgsFields() fields.append(QgsField('id', QVariant.Int, '', 10, 0)) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields, QgsWkbTypes.Point, layer.dataProvider().crs()) + fields, QgsWkbTypes.Point, layer.crs()) nPoints = 0 nIterations = 0 diff --git a/python/plugins/processing/algs/qgis/RandomPointsPolygonsFixed.py b/python/plugins/processing/algs/qgis/RandomPointsPolygonsFixed.py index 94fa48e5173..a6ed28ca19e 100644 --- a/python/plugins/processing/algs/qgis/RandomPointsPolygonsFixed.py +++ b/python/plugins/processing/algs/qgis/RandomPointsPolygonsFixed.py @@ -83,7 +83,7 @@ class RandomPointsPolygonsFixed(GeoAlgorithm): fields = QgsFields() fields.append(QgsField('id', QVariant.Int, '', 10, 0)) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields, QgsWkbTypes.Point, layer.dataProvider().crs()) + fields, QgsWkbTypes.Point, layer.crs()) da = QgsDistanceArea() diff --git a/python/plugins/processing/algs/qgis/RandomPointsPolygonsVariable.py b/python/plugins/processing/algs/qgis/RandomPointsPolygonsVariable.py index d2b909b8619..998a5b2de96 100644 --- a/python/plugins/processing/algs/qgis/RandomPointsPolygonsVariable.py +++ b/python/plugins/processing/algs/qgis/RandomPointsPolygonsVariable.py @@ -84,7 +84,7 @@ class RandomPointsPolygonsVariable(GeoAlgorithm): fields = QgsFields() fields.append(QgsField('id', QVariant.Int, '', 10, 0)) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields, QgsWkbTypes.Point, layer.dataProvider().crs()) + fields, QgsWkbTypes.Point, layer.crs()) da = QgsDistanceArea() diff --git a/python/plugins/processing/algs/qgis/ReverseLineDirection.py b/python/plugins/processing/algs/qgis/ReverseLineDirection.py index 7902939330a..b8315664fd6 100644 --- a/python/plugins/processing/algs/qgis/ReverseLineDirection.py +++ b/python/plugins/processing/algs/qgis/ReverseLineDirection.py @@ -49,12 +49,11 @@ class ReverseLineDirection(GeoAlgorithm): def processAlgorithm(self, progress): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT_LAYER)) - provider = layer.dataProvider() writer = self.getOutputFromName( self.OUTPUT_LAYER).getVectorWriter( layer.fields().toList(), - provider.wkbType(), + layer.wkbType(), layer.crs()) outFeat = QgsFeature() diff --git a/python/plugins/processing/algs/qgis/SaveSelectedFeatures.py b/python/plugins/processing/algs/qgis/SaveSelectedFeatures.py index f202c30a15e..77a8a58232a 100644 --- a/python/plugins/processing/algs/qgis/SaveSelectedFeatures.py +++ b/python/plugins/processing/algs/qgis/SaveSelectedFeatures.py @@ -52,9 +52,8 @@ class SaveSelectedFeatures(GeoAlgorithm): vectorLayer = dataobjects.getObjectFromUri(inputFilename) - provider = vectorLayer.dataProvider() - writer = output.getVectorWriter(provider.fields(), - provider.wkbType(), vectorLayer.crs()) + writer = output.getVectorWriter(vectorLayer.fields(), + vectorLayer.wkbType(), vectorLayer.crs()) features = vector.features(vectorLayer) total = 100.0 / len(features) diff --git a/python/plugins/processing/algs/qgis/SinglePartsToMultiparts.py b/python/plugins/processing/algs/qgis/SinglePartsToMultiparts.py index 7f1deb40b40..bfe8d71a202 100644 --- a/python/plugins/processing/algs/qgis/SinglePartsToMultiparts.py +++ b/python/plugins/processing/algs/qgis/SinglePartsToMultiparts.py @@ -64,7 +64,7 @@ class SinglePartsToMultiparts(GeoAlgorithm): layer = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT)) fieldName = self.getParameterValue(self.FIELD) - geomType = self.singleToMultiGeom(layer.dataProvider().wkbType()) + geomType = self.singleToMultiGeom(layer.wkbType()) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( layer.pendingFields().toList(), geomType, layer.crs()) diff --git a/python/plugins/processing/algs/qgis/Smooth.py b/python/plugins/processing/algs/qgis/Smooth.py index 13b63ad3b56..2e53ec8a084 100644 --- a/python/plugins/processing/algs/qgis/Smooth.py +++ b/python/plugins/processing/algs/qgis/Smooth.py @@ -55,14 +55,13 @@ class Smooth(GeoAlgorithm): def processAlgorithm(self, progress): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT_LAYER)) - provider = layer.dataProvider() iterations = self.getParameterValue(self.ITERATIONS) offset = self.getParameterValue(self.OFFSET) writer = self.getOutputFromName( self.OUTPUT_LAYER).getVectorWriter( layer.fields().toList(), - provider.wkbType(), + layer.wkbType(), layer.crs()) outFeat = QgsFeature() diff --git a/python/plugins/processing/algs/qgis/SpatialJoin.py b/python/plugins/processing/algs/qgis/SpatialJoin.py index 358fde7ac06..a34fef41d0d 100644 --- a/python/plugins/processing/algs/qgis/SpatialJoin.py +++ b/python/plugins/processing/algs/qgis/SpatialJoin.py @@ -108,11 +108,8 @@ class SpatialJoin(GeoAlgorithm): sumList = self.getParameterValue(self.STATS).lower().split(',') - targetProvider = target.dataProvider() - joinProvider = join.dataProvider() - - targetFields = targetProvider.fields() - joinFields = joinProvider.fields() + targetFields = target.fields() + joinFields = join.fields() fieldList = QgsFields() @@ -141,7 +138,7 @@ class SpatialJoin(GeoAlgorithm): fields.append(f) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields, targetProvider.geometryType(), targetProvider.crs()) + fields, target.wkbType(), target.crs()) outFeat = QgsFeature() inFeatB = QgsFeature() diff --git a/python/plugins/processing/algs/qgis/SplitLinesWithLines.py b/python/plugins/processing/algs/qgis/SplitLinesWithLines.py index d4fbf2ac765..dbdc81910e2 100644 --- a/python/plugins/processing/algs/qgis/SplitLinesWithLines.py +++ b/python/plugins/processing/algs/qgis/SplitLinesWithLines.py @@ -60,7 +60,7 @@ class SplitLinesWithLines(GeoAlgorithm): fieldList = layerA.pendingFields() writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList, - QgsWkbTypes.LineString, layerA.dataProvider().crs()) + QgsWkbTypes.LineString, layerA.crs()) spatialIndex = vector.spatialindex(layerB) diff --git a/python/plugins/processing/algs/qgis/SumLines.py b/python/plugins/processing/algs/qgis/SumLines.py index 09b61e1f85f..78eede6584c 100644 --- a/python/plugins/processing/algs/qgis/SumLines.py +++ b/python/plugins/processing/algs/qgis/SumLines.py @@ -72,15 +72,13 @@ class SumLines(GeoAlgorithm): lengthFieldName = self.getParameterValue(self.LEN_FIELD) countFieldName = self.getParameterValue(self.COUNT_FIELD) - polyProvider = polyLayer.dataProvider() - (idxLength, fieldList) = vector.findOrCreateField(polyLayer, - polyLayer.pendingFields(), lengthFieldName) + polyLayer.fields(), lengthFieldName) (idxCount, fieldList) = vector.findOrCreateField(polyLayer, fieldList, countFieldName) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fieldList.toList(), polyProvider.geometryType(), polyProvider.crs()) + fieldList.toList(), polyLayer.wkbType(), polyLayer.crs()) spatialIndex = vector.spatialindex(lineLayer) diff --git a/python/plugins/processing/algs/qgis/SymmetricalDifference.py b/python/plugins/processing/algs/qgis/SymmetricalDifference.py index 327fefb1e2b..2a84f04256f 100644 --- a/python/plugins/processing/algs/qgis/SymmetricalDifference.py +++ b/python/plugins/processing/algs/qgis/SymmetricalDifference.py @@ -65,13 +65,10 @@ class SymmetricalDifference(GeoAlgorithm): layerB = dataobjects.getObjectFromUri( self.getParameterValue(self.OVERLAY)) - providerA = layerA.dataProvider() - providerB = layerB.dataProvider() - - geomType = providerA.geometryType() + geomType = layerA.wkbType() fields = vector.combineVectorFields(layerA, layerB) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - fields, geomType, providerA.crs()) + fields, geomType, layerA.crs()) featB = QgsFeature() outFeat = QgsFeature() @@ -92,7 +89,7 @@ class SymmetricalDifference(GeoAlgorithm): attrs = featA.attributes() intersects = indexA.intersects(geom.boundingBox()) for i in intersects: - providerB.getFeatures(QgsFeatureRequest().setFilterFid(i)).nextFeature(featB) + layerB.getFeatures(QgsFeatureRequest().setFilterFid(i)).nextFeature(featB) tmpGeom = featB.geometry() if diffGeom.intersects(tmpGeom): diffGeom = QgsGeometry(diffGeom.difference(tmpGeom)) @@ -117,7 +114,7 @@ class SymmetricalDifference(GeoAlgorithm): count += 1 progress.setPercentage(int(count * total)) - length = len(providerA.fields()) + length = len(layerA.fields()) for featA in featuresB: add = True @@ -127,7 +124,7 @@ class SymmetricalDifference(GeoAlgorithm): attrs = [NULL] * length + attrs intersects = indexB.intersects(geom.boundingBox()) for i in intersects: - providerA.getFeatures(QgsFeatureRequest().setFilterFid(i)).nextFeature(featB) + layerA.getFeatures(QgsFeatureRequest().setFilterFid(i)).nextFeature(featB) tmpGeom = featB.geometry() if diffGeom.intersects(tmpGeom): diffGeom = QgsGeometry(diffGeom.difference(tmpGeom)) diff --git a/python/plugins/processing/algs/qgis/Union.py b/python/plugins/processing/algs/qgis/Union.py index d6a24b8a463..5f1b8520c51 100644 --- a/python/plugins/processing/algs/qgis/Union.py +++ b/python/plugins/processing/algs/qgis/Union.py @@ -72,12 +72,10 @@ class Union(GeoAlgorithm): vlayerA = dataobjects.getObjectFromUri(self.getParameterValue(Union.INPUT)) vlayerB = dataobjects.getObjectFromUri(self.getParameterValue(Union.INPUT2)) - vproviderA = vlayerA.dataProvider() - - geomType = vproviderA.wkbType() + geomType = vlayerA.wkbType() fields = vector.combineVectorFields(vlayerA, vlayerB) writer = self.getOutputFromName(Union.OUTPUT).getVectorWriter(fields, - geomType, vproviderA.crs()) + geomType, vlayerA.crs()) inFeatA = QgsFeature() inFeatB = QgsFeature() outFeat = QgsFeature() @@ -175,7 +173,7 @@ class Union(GeoAlgorithm): ProcessingLog.addToLog(ProcessingLog.LOG_INFO, self.tr('Feature geometry error: One or more output features ignored due to invalid geometry.')) - length = len(vproviderA.fields()) + length = len(vlayerA.fields()) atMapA = [None] * length featuresA = vector.features(vlayerB) diff --git a/python/plugins/processing/algs/qgis/VectorSplit.py b/python/plugins/processing/algs/qgis/VectorSplit.py index 5c6cee7e6a9..7659808aac3 100644 --- a/python/plugins/processing/algs/qgis/VectorSplit.py +++ b/python/plugins/processing/algs/qgis/VectorSplit.py @@ -71,7 +71,7 @@ class VectorSplit(GeoAlgorithm): baseName = os.path.join(directory, '{0}_{1}'.format(layer.name(), fieldName)) fields = layer.pendingFields() - crs = layer.dataProvider().crs() + crs = layer.crs() geomType = layer.wkbType() total = 100.0 / len(uniqueValues) diff --git a/python/plugins/processing/algs/qgis/ZonalStatistics.py b/python/plugins/processing/algs/qgis/ZonalStatistics.py index 20d172e555c..510bae25c13 100644 --- a/python/plugins/processing/algs/qgis/ZonalStatistics.py +++ b/python/plugins/processing/algs/qgis/ZonalStatistics.py @@ -158,7 +158,7 @@ class ZonalStatistics(GeoAlgorithm): columnPrefix + 'mode', 21, 6) writer = self.getOutputFromName(self.OUTPUT_LAYER).getVectorWriter( - fields.toList(), layer.dataProvider().wkbType(), layer.crs()) + fields.toList(), layer.wkbType(), layer.crs()) outFeat = QgsFeature() From c1649ebef475b7b37c978c614a0a416839fcc3d0 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Thu, 4 Aug 2016 07:37:22 +1000 Subject: [PATCH 2/2] [processing] pendingFields() -> fields() Does the same thing, but pendingFields() is ugly --- python/plugins/processing/algs/qgis/ConvexHull.py | 2 +- python/plugins/processing/algs/qgis/DeleteColumn.py | 2 +- .../processing/algs/qgis/DeleteDuplicateGeometries.py | 2 +- python/plugins/processing/algs/qgis/DeleteHoles.py | 2 +- python/plugins/processing/algs/qgis/DensifyGeometries.py | 2 +- .../processing/algs/qgis/DensifyGeometriesInterval.py | 2 +- python/plugins/processing/algs/qgis/Difference.py | 2 +- python/plugins/processing/algs/qgis/ExecuteSQL.py | 2 +- python/plugins/processing/algs/qgis/ExportGeometryInfo.py | 2 +- python/plugins/processing/algs/qgis/ExtractByAttribute.py | 2 +- python/plugins/processing/algs/qgis/ExtractByLocation.py | 2 +- python/plugins/processing/algs/qgis/ExtractNodes.py | 2 +- python/plugins/processing/algs/qgis/FixedDistanceBuffer.py | 2 +- python/plugins/processing/algs/qgis/GeometryConvert.py | 2 +- python/plugins/processing/algs/qgis/Gridify.py | 2 +- python/plugins/processing/algs/qgis/HubDistance.py | 2 +- python/plugins/processing/algs/qgis/HubLines.py | 2 +- python/plugins/processing/algs/qgis/LinesIntersection.py | 4 ++-- python/plugins/processing/algs/qgis/LinesToPolygons.py | 2 +- .../plugins/processing/algs/qgis/MultipartToSingleparts.py | 2 +- .../plugins/processing/algs/qgis/PointsInPolygonUnique.py | 2 +- python/plugins/processing/algs/qgis/PolygonsToLines.py | 2 +- python/plugins/processing/algs/qgis/RandomExtract.py | 2 +- .../processing/algs/qgis/RandomExtractWithinSubsets.py | 2 +- .../processing/algs/qgis/RectanglesOvalsDiamondsFixed.py | 4 ++-- .../processing/algs/qgis/RectanglesOvalsDiamondsVariable.py | 6 +++--- python/plugins/processing/algs/qgis/ReprojectLayer.py | 2 +- python/plugins/processing/algs/qgis/SelectByAttribute.py | 2 +- python/plugins/processing/algs/qgis/SimplifyGeometries.py | 2 +- .../plugins/processing/algs/qgis/SinglePartsToMultiparts.py | 2 +- python/plugins/processing/algs/qgis/SplitLinesWithLines.py | 2 +- python/plugins/processing/algs/qgis/TextToFloat.py | 2 +- .../plugins/processing/algs/qgis/VariableDistanceBuffer.py | 2 +- python/plugins/processing/algs/qgis/VectorSplit.py | 2 +- python/plugins/processing/algs/qgis/VoronoiPolygons.py | 2 +- python/plugins/processing/algs/qgis/ZonalStatistics.py | 2 +- .../processing/algs/qgis/scripts/Frequency_analysis.py | 2 +- .../processing/algs/qgis/ui/FieldsCalculatorDialog.py | 2 +- 38 files changed, 42 insertions(+), 42 deletions(-) diff --git a/python/plugins/processing/algs/qgis/ConvexHull.py b/python/plugins/processing/algs/qgis/ConvexHull.py index 9c7897bc43d..f2930ac61ed 100644 --- a/python/plugins/processing/algs/qgis/ConvexHull.py +++ b/python/plugins/processing/algs/qgis/ConvexHull.py @@ -78,7 +78,7 @@ class ConvexHull(GeoAlgorithm): f = QgsField('value', QVariant.String, '', 255) if useField: index = layer.fieldNameIndex(fieldName) - fType = layer.pendingFields()[index].type() + fType = layer.fields()[index].type() if fType in [QVariant.Int, QVariant.UInt, QVariant.LongLong, QVariant.ULongLong]: f.setType(fType) f.setLength(20) diff --git a/python/plugins/processing/algs/qgis/DeleteColumn.py b/python/plugins/processing/algs/qgis/DeleteColumn.py index 96aea8b8ef8..f65925f29e0 100644 --- a/python/plugins/processing/algs/qgis/DeleteColumn.py +++ b/python/plugins/processing/algs/qgis/DeleteColumn.py @@ -54,7 +54,7 @@ class DeleteColumn(GeoAlgorithm): self.getParameterValue(self.INPUT)) idx = layer.fieldNameIndex(self.getParameterValue(self.COLUMN)) - fields = layer.pendingFields() + fields = layer.fields() fields.remove(idx) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, diff --git a/python/plugins/processing/algs/qgis/DeleteDuplicateGeometries.py b/python/plugins/processing/algs/qgis/DeleteDuplicateGeometries.py index df1b74e2dbc..11e9463b3d8 100644 --- a/python/plugins/processing/algs/qgis/DeleteDuplicateGeometries.py +++ b/python/plugins/processing/algs/qgis/DeleteDuplicateGeometries.py @@ -49,7 +49,7 @@ class DeleteDuplicateGeometries(GeoAlgorithm): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT)) - fields = layer.pendingFields() + fields = layer.fields() writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, layer.wkbType(), layer.crs()) diff --git a/python/plugins/processing/algs/qgis/DeleteHoles.py b/python/plugins/processing/algs/qgis/DeleteHoles.py index ec626fd3156..367734e8093 100644 --- a/python/plugins/processing/algs/qgis/DeleteHoles.py +++ b/python/plugins/processing/algs/qgis/DeleteHoles.py @@ -49,7 +49,7 @@ class DeleteHoles(GeoAlgorithm): self.getParameterValue(self.INPUT)) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields(), + layer.fields(), layer.wkbType(), layer.crs()) diff --git a/python/plugins/processing/algs/qgis/DensifyGeometries.py b/python/plugins/processing/algs/qgis/DensifyGeometries.py index 410a8974133..b0c89b15f34 100644 --- a/python/plugins/processing/algs/qgis/DensifyGeometries.py +++ b/python/plugins/processing/algs/qgis/DensifyGeometries.py @@ -65,7 +65,7 @@ class DensifyGeometries(GeoAlgorithm): isPolygon = layer.geometryType() == QgsWkbTypes.PolygonGeometry writer = self.getOutputFromName( - self.OUTPUT).getVectorWriter(layer.pendingFields().toList(), + self.OUTPUT).getVectorWriter(layer.fields().toList(), layer.wkbType(), layer.crs()) features = vector.features(layer) diff --git a/python/plugins/processing/algs/qgis/DensifyGeometriesInterval.py b/python/plugins/processing/algs/qgis/DensifyGeometriesInterval.py index ad3fcaf0195..cd11aaee47e 100644 --- a/python/plugins/processing/algs/qgis/DensifyGeometriesInterval.py +++ b/python/plugins/processing/algs/qgis/DensifyGeometriesInterval.py @@ -62,7 +62,7 @@ class DensifyGeometriesInterval(GeoAlgorithm): isPolygon = layer.geometryType() == QgsWkbTypes.PolygonGeometry writer = self.getOutputFromName( - self.OUTPUT).getVectorWriter(layer.pendingFields().toList(), + self.OUTPUT).getVectorWriter(layer.fields().toList(), layer.wkbType(), layer.crs()) features = vector.features(layer) diff --git a/python/plugins/processing/algs/qgis/Difference.py b/python/plugins/processing/algs/qgis/Difference.py index d3c422cd129..7a7193eeaac 100644 --- a/python/plugins/processing/algs/qgis/Difference.py +++ b/python/plugins/processing/algs/qgis/Difference.py @@ -70,7 +70,7 @@ class Difference(GeoAlgorithm): geomType = layerA.wkbType() writer = self.getOutputFromName( - Difference.OUTPUT).getVectorWriter(layerA.pendingFields(), + Difference.OUTPUT).getVectorWriter(layerA.fields(), geomType, layerA.crs()) diff --git a/python/plugins/processing/algs/qgis/ExecuteSQL.py b/python/plugins/processing/algs/qgis/ExecuteSQL.py index 6c7af43f214..1613dc7d41d 100644 --- a/python/plugins/processing/algs/qgis/ExecuteSQL.py +++ b/python/plugins/processing/algs/qgis/ExecuteSQL.py @@ -131,7 +131,7 @@ class ExecuteSQL(GeoAlgorithm): raise GeoAlgorithmExecutionException(vLayer.dataProvider().error().message()) writer = self.getOutputFromName(self.OUTPUT_LAYER).getVectorWriter( - vLayer.pendingFields().toList(), + vLayer.fields().toList(), # Create a point layer (without any points) if 'no geometry' is chosen vLayer.wkbType() if geometry_type != 1 else 1, vLayer.crs()) diff --git a/python/plugins/processing/algs/qgis/ExportGeometryInfo.py b/python/plugins/processing/algs/qgis/ExportGeometryInfo.py index 76487c15323..656e3162085 100644 --- a/python/plugins/processing/algs/qgis/ExportGeometryInfo.py +++ b/python/plugins/processing/algs/qgis/ExportGeometryInfo.py @@ -72,7 +72,7 @@ class ExportGeometryInfo(GeoAlgorithm): method = self.getParameterValue(self.METHOD) geometryType = layer.geometryType() - fields = layer.pendingFields() + fields = layer.fields() if geometryType == QgsWkbTypes.PolygonGeometry: areaName = vector.createUniqueFieldName('area', fields) diff --git a/python/plugins/processing/algs/qgis/ExtractByAttribute.py b/python/plugins/processing/algs/qgis/ExtractByAttribute.py index d8c33e1d77b..2cb90c76811 100644 --- a/python/plugins/processing/algs/qgis/ExtractByAttribute.py +++ b/python/plugins/processing/algs/qgis/ExtractByAttribute.py @@ -83,7 +83,7 @@ class ExtractByAttribute(GeoAlgorithm): operator = self.OPERATORS[self.getParameterValue(self.OPERATOR)] value = self.getParameterValue(self.VALUE) - fields = layer.pendingFields() + fields = layer.fields() writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, layer.wkbType(), layer.crs()) diff --git a/python/plugins/processing/algs/qgis/ExtractByLocation.py b/python/plugins/processing/algs/qgis/ExtractByLocation.py index 5df9981a0ec..9208f7c149a 100644 --- a/python/plugins/processing/algs/qgis/ExtractByLocation.py +++ b/python/plugins/processing/algs/qgis/ExtractByLocation.py @@ -70,7 +70,7 @@ class ExtractByLocation(GeoAlgorithm): index = vector.spatialindex(layer) output = self.getOutputFromName(self.OUTPUT) - writer = output.getVectorWriter(layer.pendingFields(), + writer = output.getVectorWriter(layer.fields(), layer.wkbType(), layer.crs()) if 'disjoint' in predicates: diff --git a/python/plugins/processing/algs/qgis/ExtractNodes.py b/python/plugins/processing/algs/qgis/ExtractNodes.py index e005e70d511..f412c4ac978 100644 --- a/python/plugins/processing/algs/qgis/ExtractNodes.py +++ b/python/plugins/processing/algs/qgis/ExtractNodes.py @@ -62,7 +62,7 @@ class ExtractNodes(GeoAlgorithm): self.getParameterValue(self.INPUT)) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), QgsWkbTypes.Point, layer.crs()) + layer.fields().toList(), QgsWkbTypes.Point, layer.crs()) outFeat = QgsFeature() inGeom = QgsGeometry() diff --git a/python/plugins/processing/algs/qgis/FixedDistanceBuffer.py b/python/plugins/processing/algs/qgis/FixedDistanceBuffer.py index 78300e501f1..d36803480cd 100644 --- a/python/plugins/processing/algs/qgis/FixedDistanceBuffer.py +++ b/python/plugins/processing/algs/qgis/FixedDistanceBuffer.py @@ -75,7 +75,7 @@ class FixedDistanceBuffer(GeoAlgorithm): segments = int(self.getParameterValue(self.SEGMENTS)) writer = self.getOutputFromName( - self.OUTPUT).getVectorWriter(layer.pendingFields().toList(), + self.OUTPUT).getVectorWriter(layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs()) buff.buffering(progress, writer, distance, None, False, layer, diff --git a/python/plugins/processing/algs/qgis/GeometryConvert.py b/python/plugins/processing/algs/qgis/GeometryConvert.py index 8cf09ea8960..233307c4887 100644 --- a/python/plugins/processing/algs/qgis/GeometryConvert.py +++ b/python/plugins/processing/algs/qgis/GeometryConvert.py @@ -78,7 +78,7 @@ class GeometryConvert(GeoAlgorithm): newType = QgsWkbTypes.Point writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields(), newType, layer.crs()) + layer.fields(), newType, layer.crs()) features = vector.features(layer) total = 100.0 / len(features) diff --git a/python/plugins/processing/algs/qgis/Gridify.py b/python/plugins/processing/algs/qgis/Gridify.py index 09cc7ee7ffe..a5335e15467 100644 --- a/python/plugins/processing/algs/qgis/Gridify.py +++ b/python/plugins/processing/algs/qgis/Gridify.py @@ -65,7 +65,7 @@ class Gridify(GeoAlgorithm): self.tr('Invalid grid spacing: %s/%s' % (hSpacing, vSpacing))) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields(), layer.wkbType(), layer.crs()) + layer.fields(), layer.wkbType(), layer.crs()) features = vector.features(layer) total = 100.0 / len(features) diff --git a/python/plugins/processing/algs/qgis/HubDistance.py b/python/plugins/processing/algs/qgis/HubDistance.py index 773f4674315..464e5b770e1 100644 --- a/python/plugins/processing/algs/qgis/HubDistance.py +++ b/python/plugins/processing/algs/qgis/HubDistance.py @@ -99,7 +99,7 @@ class HubDistance(GeoAlgorithm): if addLines: geomType = QgsWkbTypes.LineString - fields = layerPoints.pendingFields() + fields = layerPoints.fields() fields.append(QgsField('HubName', QVariant.String)) fields.append(QgsField('HubDist', QVariant.Double)) diff --git a/python/plugins/processing/algs/qgis/HubLines.py b/python/plugins/processing/algs/qgis/HubLines.py index 21800a3ca33..df7324ba0cb 100644 --- a/python/plugins/processing/algs/qgis/HubLines.py +++ b/python/plugins/processing/algs/qgis/HubLines.py @@ -71,7 +71,7 @@ class HubLines(GeoAlgorithm): self.tr('Same layer given for both hubs and spokes')) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layerSpoke.pendingFields(), QgsWkbTypes.LineString, layerSpoke.crs()) + layerSpoke.fields(), QgsWkbTypes.LineString, layerSpoke.crs()) spokes = vector.features(layerSpoke) hubs = vector.features(layerHub) diff --git a/python/plugins/processing/algs/qgis/LinesIntersection.py b/python/plugins/processing/algs/qgis/LinesIntersection.py index 371105fec03..fad9ac0ad7c 100644 --- a/python/plugins/processing/algs/qgis/LinesIntersection.py +++ b/python/plugins/processing/algs/qgis/LinesIntersection.py @@ -82,8 +82,8 @@ class LinesIntersection(GeoAlgorithm): idxA = layerA.fieldNameIndex(fieldA) idxB = layerB.fieldNameIndex(fieldB) - fieldList = [layerA.pendingFields()[idxA], - layerB.pendingFields()[idxB]] + fieldList = [layerA.fields()[idxA], + layerB.fields()[idxB]] writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList, QgsWkbTypes.Point, layerA.crs()) diff --git a/python/plugins/processing/algs/qgis/LinesToPolygons.py b/python/plugins/processing/algs/qgis/LinesToPolygons.py index 4c610a28d0c..0889fca6283 100644 --- a/python/plugins/processing/algs/qgis/LinesToPolygons.py +++ b/python/plugins/processing/algs/qgis/LinesToPolygons.py @@ -59,7 +59,7 @@ class LinesToPolygons(GeoAlgorithm): layer = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT)) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), QgsWkbTypes.Polygon, layer.crs() + layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs() ) outFeat = QgsFeature() diff --git a/python/plugins/processing/algs/qgis/MultipartToSingleparts.py b/python/plugins/processing/algs/qgis/MultipartToSingleparts.py index 4183a310e84..6fe045b3c3d 100644 --- a/python/plugins/processing/algs/qgis/MultipartToSingleparts.py +++ b/python/plugins/processing/algs/qgis/MultipartToSingleparts.py @@ -61,7 +61,7 @@ class MultipartToSingleparts(GeoAlgorithm): geomType = self.multiToSingleGeom(layer.wkbType()) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), geomType, layer.crs()) + layer.fields().toList(), geomType, layer.crs()) features = vector.features(layer) total = 100.0 / len(features) diff --git a/python/plugins/processing/algs/qgis/PointsInPolygonUnique.py b/python/plugins/processing/algs/qgis/PointsInPolygonUnique.py index d0dc3503e6a..2382c7e0f07 100644 --- a/python/plugins/processing/algs/qgis/PointsInPolygonUnique.py +++ b/python/plugins/processing/algs/qgis/PointsInPolygonUnique.py @@ -67,7 +67,7 @@ class PointsInPolygonUnique(GeoAlgorithm): classFieldIndex = pointLayer.fieldNameIndex(classFieldName) (idxCount, fieldList) = vector.findOrCreateField(polyLayer, - polyLayer.pendingFields(), fieldName) + polyLayer.fields(), fieldName) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( fields.toList(), polyLayer.wkbType(), polyLayer.crs()) diff --git a/python/plugins/processing/algs/qgis/PolygonsToLines.py b/python/plugins/processing/algs/qgis/PolygonsToLines.py index 97ad2e14af5..a8604b208b1 100644 --- a/python/plugins/processing/algs/qgis/PolygonsToLines.py +++ b/python/plugins/processing/algs/qgis/PolygonsToLines.py @@ -60,7 +60,7 @@ class PolygonsToLines(GeoAlgorithm): layer = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT)) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), QgsWkbTypes.LineString, layer.crs()) + layer.fields().toList(), QgsWkbTypes.LineString, layer.crs()) outFeat = QgsFeature() inGeom = QgsGeometry() diff --git a/python/plugins/processing/algs/qgis/RandomExtract.py b/python/plugins/processing/algs/qgis/RandomExtract.py index 80839def8de..c5e631a1635 100644 --- a/python/plugins/processing/algs/qgis/RandomExtract.py +++ b/python/plugins/processing/algs/qgis/RandomExtract.py @@ -83,7 +83,7 @@ class RandomExtract(GeoAlgorithm): selran = random.sample(xrange(featureCount), value) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), layer.wkbType(), layer.crs()) + layer.fields().toList(), layer.wkbType(), layer.crs()) total = 100.0 / featureCount for i, feat in enumerate(features): diff --git a/python/plugins/processing/algs/qgis/RandomExtractWithinSubsets.py b/python/plugins/processing/algs/qgis/RandomExtractWithinSubsets.py index b66db4b82c7..e2b743a3e0a 100644 --- a/python/plugins/processing/algs/qgis/RandomExtractWithinSubsets.py +++ b/python/plugins/processing/algs/qgis/RandomExtractWithinSubsets.py @@ -89,7 +89,7 @@ class RandomExtractWithinSubsets(GeoAlgorithm): value = value / 100.0 writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), layer.wkbType(), layer.crs()) + layer.fields().toList(), layer.wkbType(), layer.crs()) selran = [] current = 0 diff --git a/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsFixed.py b/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsFixed.py index c0439c81eb7..adc0afe9a33 100644 --- a/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsFixed.py +++ b/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsFixed.py @@ -30,7 +30,7 @@ import math from qgis.PyQt.QtGui import QIcon -from qgis.core import Qgis, QgsFeature, QgsGeometry, QgsPoint, QgsWkbTypes, QgsWkbTypes +from qgis.core import Qgis, QgsFeature, QgsGeometry, QgsPoint, QgsWkbTypes from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.ProcessingLog import ProcessingLog @@ -89,7 +89,7 @@ class RectanglesOvalsDiamondsFixed(GeoAlgorithm): writer = self.getOutputFromName( self.OUTPUT_LAYER).getVectorWriter( - layer.pendingFields().toList(), + layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs()) diff --git a/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsVariable.py b/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsVariable.py index 4930e2a5a16..8646af704c9 100644 --- a/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsVariable.py +++ b/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsVariable.py @@ -30,7 +30,7 @@ import math from qgis.PyQt.QtGui import QIcon -from qgis.core import Qgis, QgsFeature, QgsGeometry, QgsPoint, QgsWkbTypes +from qgis.core import Qgis, QgsFeature, QgsGeometry, QgsPoint from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.ProcessingLog import ProcessingLog @@ -97,8 +97,8 @@ class RectanglesOvalsDiamondsVariable(GeoAlgorithm): writer = self.getOutputFromName( self.OUTPUT_LAYER).getVectorWriter( - layer.pendingFields().toList(), - QgsWkbTypes.Polygon, + layer.fields().toList(), + Qgis.WKBPolygon, layer.crs()) outFeat = QgsFeature() diff --git a/python/plugins/processing/algs/qgis/ReprojectLayer.py b/python/plugins/processing/algs/qgis/ReprojectLayer.py index d5104e9f2f5..326b46026b7 100644 --- a/python/plugins/processing/algs/qgis/ReprojectLayer.py +++ b/python/plugins/processing/algs/qgis/ReprojectLayer.py @@ -57,7 +57,7 @@ class ReprojectLayer(GeoAlgorithm): targetCrs.createFromUserInput(crsId) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), layer.wkbType(), targetCrs) + layer.fields().toList(), layer.wkbType(), targetCrs) layerCrs = layer.crs() crsTransform = QgsCoordinateTransform(layerCrs, targetCrs) diff --git a/python/plugins/processing/algs/qgis/SelectByAttribute.py b/python/plugins/processing/algs/qgis/SelectByAttribute.py index 208d436f7e0..042bd4e0f58 100644 --- a/python/plugins/processing/algs/qgis/SelectByAttribute.py +++ b/python/plugins/processing/algs/qgis/SelectByAttribute.py @@ -84,7 +84,7 @@ class SelectByAttribute(GeoAlgorithm): operator = self.OPERATORS[self.getParameterValue(self.OPERATOR)] value = self.getParameterValue(self.VALUE) - fields = layer.pendingFields() + fields = layer.fields() idx = layer.fieldNameIndex(fieldName) fieldType = fields[idx].type() diff --git a/python/plugins/processing/algs/qgis/SimplifyGeometries.py b/python/plugins/processing/algs/qgis/SimplifyGeometries.py index 8605236641f..77eaaeea7f7 100644 --- a/python/plugins/processing/algs/qgis/SimplifyGeometries.py +++ b/python/plugins/processing/algs/qgis/SimplifyGeometries.py @@ -70,7 +70,7 @@ class SimplifyGeometries(GeoAlgorithm): pointsAfter = 0 writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), layer.wkbType(), layer.crs()) + layer.fields().toList(), layer.wkbType(), layer.crs()) features = vector.features(layer) total = 100.0 / len(features) diff --git a/python/plugins/processing/algs/qgis/SinglePartsToMultiparts.py b/python/plugins/processing/algs/qgis/SinglePartsToMultiparts.py index bfe8d71a202..96121621998 100644 --- a/python/plugins/processing/algs/qgis/SinglePartsToMultiparts.py +++ b/python/plugins/processing/algs/qgis/SinglePartsToMultiparts.py @@ -67,7 +67,7 @@ class SinglePartsToMultiparts(GeoAlgorithm): geomType = self.singleToMultiGeom(layer.wkbType()) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), geomType, layer.crs()) + layer.fields().toList(), geomType, layer.crs()) inFeat = QgsFeature() outFeat = QgsFeature() diff --git a/python/plugins/processing/algs/qgis/SplitLinesWithLines.py b/python/plugins/processing/algs/qgis/SplitLinesWithLines.py index dbdc81910e2..589032a84cb 100644 --- a/python/plugins/processing/algs/qgis/SplitLinesWithLines.py +++ b/python/plugins/processing/algs/qgis/SplitLinesWithLines.py @@ -57,7 +57,7 @@ class SplitLinesWithLines(GeoAlgorithm): layerB = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT_B)) sameLayer = self.getParameterValue(self.INPUT_A) == self.getParameterValue(self.INPUT_B) - fieldList = layerA.pendingFields() + fieldList = layerA.fields() writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList, QgsWkbTypes.LineString, layerA.crs()) diff --git a/python/plugins/processing/algs/qgis/TextToFloat.py b/python/plugins/processing/algs/qgis/TextToFloat.py index 45da82c57c5..7c6f2da308a 100644 --- a/python/plugins/processing/algs/qgis/TextToFloat.py +++ b/python/plugins/processing/algs/qgis/TextToFloat.py @@ -55,7 +55,7 @@ class TextToFloat(GeoAlgorithm): fieldName = self.getParameterValue(self.FIELD) idx = layer.fieldNameIndex(fieldName) - fields = layer.pendingFields() + fields = layer.fields() fields[idx] = QgsField(fieldName, QVariant.Double, '', 24, 15) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, diff --git a/python/plugins/processing/algs/qgis/VariableDistanceBuffer.py b/python/plugins/processing/algs/qgis/VariableDistanceBuffer.py index b01c7670d33..a2cae895272 100644 --- a/python/plugins/processing/algs/qgis/VariableDistanceBuffer.py +++ b/python/plugins/processing/algs/qgis/VariableDistanceBuffer.py @@ -76,7 +76,7 @@ class VariableDistanceBuffer(GeoAlgorithm): segments = int(self.getParameterValue(self.SEGMENTS)) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), QgsWkbTypes.Polygon, layer.crs()) + layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs()) buff.buffering(progress, writer, 0, field, True, layer, dissolve, segments) diff --git a/python/plugins/processing/algs/qgis/VectorSplit.py b/python/plugins/processing/algs/qgis/VectorSplit.py index 7659808aac3..b4699160f0d 100644 --- a/python/plugins/processing/algs/qgis/VectorSplit.py +++ b/python/plugins/processing/algs/qgis/VectorSplit.py @@ -70,7 +70,7 @@ class VectorSplit(GeoAlgorithm): uniqueValues = vector.uniqueValues(layer, fieldIndex) baseName = os.path.join(directory, '{0}_{1}'.format(layer.name(), fieldName)) - fields = layer.pendingFields() + fields = layer.fields() crs = layer.crs() geomType = layer.wkbType() diff --git a/python/plugins/processing/algs/qgis/VoronoiPolygons.py b/python/plugins/processing/algs/qgis/VoronoiPolygons.py index f880f5df4bb..d618933acf4 100644 --- a/python/plugins/processing/algs/qgis/VoronoiPolygons.py +++ b/python/plugins/processing/algs/qgis/VoronoiPolygons.py @@ -69,7 +69,7 @@ class VoronoiPolygons(GeoAlgorithm): buf = self.getParameterValue(self.BUFFER) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( - layer.pendingFields().toList(), QgsWkbTypes.Polygon, layer.crs()) + layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs()) outFeat = QgsFeature() extent = layer.extent() diff --git a/python/plugins/processing/algs/qgis/ZonalStatistics.py b/python/plugins/processing/algs/qgis/ZonalStatistics.py index 510bae25c13..0c4cb68a0df 100644 --- a/python/plugins/processing/algs/qgis/ZonalStatistics.py +++ b/python/plugins/processing/algs/qgis/ZonalStatistics.py @@ -132,7 +132,7 @@ class ZonalStatistics(GeoAlgorithm): memVectorDriver = ogr.GetDriverByName('Memory') memRasterDriver = gdal.GetDriverByName('MEM') - fields = layer.pendingFields() + fields = layer.fields() (idxMin, fields) = vector.findOrCreateField(layer, fields, columnPrefix + 'min', 21, 6) (idxMax, fields) = vector.findOrCreateField(layer, fields, diff --git a/python/plugins/processing/algs/qgis/scripts/Frequency_analysis.py b/python/plugins/processing/algs/qgis/scripts/Frequency_analysis.py index 4ee16156ea7..26654065baf 100644 --- a/python/plugins/processing/algs/qgis/scripts/Frequency_analysis.py +++ b/python/plugins/processing/algs/qgis/scripts/Frequency_analysis.py @@ -8,7 +8,7 @@ from collections import defaultdict from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException layer = processing.getObject(Input) -inputFields = layer.pendingFields() +inputFields = layer.fields() fieldIdxs = [] fields = Fields.split(',') for f in fields: diff --git a/python/plugins/processing/algs/qgis/ui/FieldsCalculatorDialog.py b/python/plugins/processing/algs/qgis/ui/FieldsCalculatorDialog.py index cc0fa6c42c7..4956ec61027 100644 --- a/python/plugins/processing/algs/qgis/ui/FieldsCalculatorDialog.py +++ b/python/plugins/processing/algs/qgis/ui/FieldsCalculatorDialog.py @@ -172,7 +172,7 @@ class FieldsCalculatorDialog(BASE, WIDGET): if self.layer is None: return - fields = self.layer.pendingFields() + fields = self.layer.fields() for f in fields: self.mExistingFieldComboBox.addItem(f.name())