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..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) @@ -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/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 c3e6e8d1cc3..7a7193eeaac 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(), + Difference.OUTPUT).getVectorWriter(layerA.fields(), 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/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/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..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) @@ -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/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 f1b0a7c5a55..9208f7c149a 100644 --- a/python/plugins/processing/algs/qgis/ExtractByLocation.py +++ b/python/plugins/processing/algs/qgis/ExtractByLocation.py @@ -70,8 +70,8 @@ class ExtractByLocation(GeoAlgorithm): index = vector.spatialindex(layer) output = self.getOutputFromName(self.OUTPUT) - writer = output.getVectorWriter(layer.pendingFields(), - layer.dataProvider().wkbType(), layer.crs()) + writer = output.getVectorWriter(layer.fields(), + layer.wkbType(), layer.crs()) if 'disjoint' in predicates: disjoinSet = [] 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/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/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/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..fad9ac0ad7c 100644 --- a/python/plugins/processing/algs/qgis/LinesIntersection.py +++ b/python/plugins/processing/algs/qgis/LinesIntersection.py @@ -82,11 +82,11 @@ 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.dataProvider().crs()) + QgsWkbTypes.Point, layerA.crs()) spatialIndex = vector.spatialindex(layerB) 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/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..6fe045b3c3d 100644 --- a/python/plugins/processing/algs/qgis/MultipartToSingleparts.py +++ b/python/plugins/processing/algs/qgis/MultipartToSingleparts.py @@ -58,10 +58,10 @@ 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()) + layer.fields().toList(), geomType, layer.crs()) features = vector.features(layer) total = 100.0 / len(features) @@ -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..2382c7e0f07 100644 --- a/python/plugins/processing/algs/qgis/PointsInPolygonUnique.py +++ b/python/plugins/processing/algs/qgis/PointsInPolygonUnique.py @@ -62,16 +62,15 @@ 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) (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/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/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/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/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/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/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 7f1deb40b40..96121621998 100644 --- a/python/plugins/processing/algs/qgis/SinglePartsToMultiparts.py +++ b/python/plugins/processing/algs/qgis/SinglePartsToMultiparts.py @@ -64,10 +64,10 @@ 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()) + layer.fields().toList(), geomType, layer.crs()) inFeat = QgsFeature() outFeat = QgsFeature() 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..589032a84cb 100644 --- a/python/plugins/processing/algs/qgis/SplitLinesWithLines.py +++ b/python/plugins/processing/algs/qgis/SplitLinesWithLines.py @@ -57,10 +57,10 @@ 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.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/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/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/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 5c6cee7e6a9..b4699160f0d 100644 --- a/python/plugins/processing/algs/qgis/VectorSplit.py +++ b/python/plugins/processing/algs/qgis/VectorSplit.py @@ -70,8 +70,8 @@ class VectorSplit(GeoAlgorithm): uniqueValues = vector.uniqueValues(layer, fieldIndex) baseName = os.path.join(directory, '{0}_{1}'.format(layer.name(), fieldName)) - fields = layer.pendingFields() - crs = layer.dataProvider().crs() + fields = layer.fields() + crs = layer.crs() geomType = layer.wkbType() total = 100.0 / len(uniqueValues) 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 20d172e555c..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, @@ -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() 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())