diff --git a/python/plugins/processing/algs/gdal/Buffer.py b/python/plugins/processing/algs/gdal/Buffer.py index d21db4f78e7..3b1428bb962 100644 --- a/python/plugins/processing/algs/gdal/Buffer.py +++ b/python/plugins/processing/algs/gdal/Buffer.py @@ -116,6 +116,11 @@ class Buffer(GdalAlgorithm): continue other_fields.append(f.name()) + if other_fields: + other_fields = ', {}'.format(','.join(other_fields)) + else: + other_fields = '' + arguments = [] arguments.append(output) arguments.append(ogrLayer) @@ -124,9 +129,9 @@ class Buffer(GdalAlgorithm): arguments.append('-sql') if dissolve or fieldName: - sql = "SELECT ST_Union(ST_Buffer({}, {})) AS {}, {} FROM '{}'".format(geometry, distance, geometry, ','.join(other_fields), layerName) + sql = "SELECT ST_Union(ST_Buffer({}, {})) AS {}{} FROM '{}'".format(geometry, distance, geometry, other_fields, layerName) else: - sql = "SELECT ST_Buffer({}, {}) AS {}, {} FROM '{}'".format(geometry, distance, geometry, ','.join(other_fields), layerName) + sql = "SELECT ST_Buffer({}, {}) AS {}{} FROM '{}'".format(geometry, distance, geometry, other_fields, layerName) if fieldName: sql = '{} GROUP BY {}'.format(sql, fieldName) diff --git a/python/plugins/processing/algs/gdal/Dissolve.py b/python/plugins/processing/algs/gdal/Dissolve.py index 5642b1ecb90..b523a31beff 100644 --- a/python/plugins/processing/algs/gdal/Dissolve.py +++ b/python/plugins/processing/algs/gdal/Dissolve.py @@ -127,6 +127,11 @@ class Dissolve(GdalAlgorithm): other_fields.append(f.name()) + if other_fields: + other_fields = ', {}'.format(','.join(other_fields)) + else: + other_fields = '' + arguments = [] arguments.append(output) arguments.append(ogrLayer) @@ -148,12 +153,12 @@ class Dissolve(GdalAlgorithm): params = ','.join(tokens) if params: if self.parameterAsBool(parameters, self.KEEP_ATTRIBUTES, context): - sql = "SELECT ST_Union({}) AS {}, {}, {} FROM {} GROUP BY {}".format(geometry, geometry, ','.join(other_fields), params, layerName, fieldName) + sql = "SELECT ST_Union({}) AS {}{}, {} FROM {} GROUP BY {}".format(geometry, geometry, other_fields, params, layerName, fieldName) else: sql = "SELECT ST_Union({}) AS {}, {}, {} FROM {} GROUP BY {}".format(geometry, geometry, fieldName, params, layerName, fieldName) else: if self.parameterAsBool(parameters, self.KEEP_ATTRIBUTES, context): - sql = "SELECT ST_Union({}) AS {}, {} FROM {} GROUP BY {}".format(geometry, geometry, ','.join(other_fields), layerName, fieldName) + sql = "SELECT ST_Union({}) AS {}{} FROM {} GROUP BY {}".format(geometry, geometry, other_fields, layerName, fieldName) else: sql = "SELECT ST_Union({}) AS {}, {} FROM {} GROUP BY {}".format(geometry, geometry, fieldName, layerName, fieldName) diff --git a/python/plugins/processing/algs/gdal/OffsetCurve.py b/python/plugins/processing/algs/gdal/OffsetCurve.py index 07890e1fab8..d86972596b4 100644 --- a/python/plugins/processing/algs/gdal/OffsetCurve.py +++ b/python/plugins/processing/algs/gdal/OffsetCurve.py @@ -97,6 +97,11 @@ class OffsetCurve(GdalAlgorithm): continue other_fields.append(f.name()) + if other_fields: + other_fields = ', {}'.format(','.join(other_fields)) + else: + other_fields = '' + arguments = [] arguments.append(output) arguments.append(ogrLayer) @@ -104,7 +109,7 @@ class OffsetCurve(GdalAlgorithm): arguments.append('sqlite') arguments.append('-sql') - sql = "SELECT ST_OffsetCurve({}, {}) AS {}, {} FROM '{}'".format(geometry, distance, geometry, ','.join(other_fields), layerName) + sql = "SELECT ST_OffsetCurve({}, {}) AS {}{} FROM '{}'".format(geometry, distance, geometry, other_fields, layerName) arguments.append(sql) if options: diff --git a/python/plugins/processing/algs/gdal/OneSideBuffer.py b/python/plugins/processing/algs/gdal/OneSideBuffer.py index 2d781cbb548..27913355558 100644 --- a/python/plugins/processing/algs/gdal/OneSideBuffer.py +++ b/python/plugins/processing/algs/gdal/OneSideBuffer.py @@ -126,6 +126,11 @@ class OneSideBuffer(GdalAlgorithm): continue other_fields.append(f.name()) + if other_fields: + other_fields = ', {}'.format(','.join(other_fields)) + else: + other_fields = '' + arguments = [] arguments.append(output) arguments.append(ogrLayer) @@ -134,9 +139,9 @@ class OneSideBuffer(GdalAlgorithm): arguments.append('-sql') if dissolve or fieldName: - sql = "SELECT ST_Union(ST_SingleSidedBuffer({}, {}, {})) AS {}, {} FROM '{}'".format(geometry, distance, side, geometry, ','.join(other_fields), layerName) + sql = "SELECT ST_Union(ST_SingleSidedBuffer({}, {}, {})) AS {}{} FROM '{}'".format(geometry, distance, side, geometry, other_fields, layerName) else: - sql = "SELECT ST_SingleSidedBuffer({}, {}, {}) AS {}, {} FROM '{}'".format(geometry, distance, side, geometry, ','.join(other_fields), layerName) + sql = "SELECT ST_SingleSidedBuffer({}, {}, {}) AS {}{} FROM '{}'".format(geometry, distance, side, geometry, other_fields, layerName) if fieldName: sql = '"{} GROUP BY {}"'.format(sql, fieldName) diff --git a/python/plugins/processing/algs/gdal/PointsAlongLines.py b/python/plugins/processing/algs/gdal/PointsAlongLines.py index 3af72072ef1..95362ad17ce 100644 --- a/python/plugins/processing/algs/gdal/PointsAlongLines.py +++ b/python/plugins/processing/algs/gdal/PointsAlongLines.py @@ -102,6 +102,11 @@ class PointsAlongLines(GdalAlgorithm): continue other_fields.append(f.name()) + if other_fields: + other_fields = ', {}'.format(','.join(other_fields)) + else: + other_fields = '' + arguments = [] arguments.append(output) arguments.append(ogrLayer) @@ -109,7 +114,7 @@ class PointsAlongLines(GdalAlgorithm): arguments.append('sqlite') arguments.append('-sql') - sql = "SELECT ST_Line_Interpolate_Point({}, {}) AS {}, {} FROM '{}'".format(geometry, distance, geometry, ','.join(other_fields), layerName) + sql = "SELECT ST_Line_Interpolate_Point({}, {}) AS {}{} FROM '{}'".format(geometry, distance, geometry, other_fields, layerName) arguments.append(sql) if options: