Skip to content

Commit 56863b8

Browse files
committed
[processing] restore roughness algorithm
1 parent f663ceb commit 56863b8

File tree

2 files changed

+26
-21
lines changed

2 files changed

+26
-21
lines changed

python/plugins/processing/algs/gdal/GdalAlgorithmProvider.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
from .pct2rgb import pct2rgb
4444
from .polygonize import polygonize
4545
from .rgb2pct import rgb2pct
46+
from .roughness import roughness
4647
from .slope import slope
4748
from .translate import translate
4849
from .tpi import tpi
@@ -60,7 +61,6 @@
6061
# from .fillnodata import fillnodata
6162
# from .extractprojection import ExtractProjection
6263
# from .gdal2xyz import gdal2xyz
63-
# from .roughness import roughness
6464
# from .GridInvDist import GridInvDist
6565
# from .GridAverage import GridAverage
6666
# from .GridNearest import GridNearest
@@ -144,6 +144,7 @@ def loadAlgorithms(self):
144144
pct2rgb(),
145145
polygonize(),
146146
rgb2pct(),
147+
roughness(),
147148
slope(),
148149
translate(),
149150
tpi(),
@@ -160,7 +161,6 @@ def loadAlgorithms(self):
160161
# fillnodata(),
161162
# ExtractProjection(),
162163
# gdal2xyz(),
163-
# roughness(),
164164
# GridInvDist(),
165165
# GridAverage(),
166166
# GridNearest(),

python/plugins/processing/algs/gdal/roughness.py

+24-19
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,14 @@
2828

2929
import os
3030

31+
from qgis.core import (QgsRasterFileWriter,
32+
QgsProcessingParameterRasterLayer,
33+
QgsProcessingParameterBand,
34+
QgsProcessingParameterNumber,
35+
QgsProcessingParameterBoolean,
36+
QgsProcessingParameterRasterDestination)
37+
3138
from processing.algs.gdal.GdalAlgorithm import GdalAlgorithm
32-
from processing.core.parameters import ParameterRaster
33-
from processing.core.parameters import ParameterBoolean
34-
from processing.core.parameters import ParameterNumber
35-
from processing.core.outputs import OutputRaster
3639
from processing.algs.gdal.GdalUtils import GdalUtils
3740

3841
pluginPath = os.path.split(os.path.split(os.path.dirname(__file__))[0])[0]
@@ -45,40 +48,42 @@ class roughness(GdalAlgorithm):
4548
COMPUTE_EDGES = 'COMPUTE_EDGES'
4649
OUTPUT = 'OUTPUT'
4750

48-
def group(self):
49-
return self.tr('Raster analysis')
50-
5151
def __init__(self):
5252
super().__init__()
5353

5454
def initAlgorithm(self, config=None):
55-
self.addParameter(ParameterRaster(self.INPUT, self.tr('Input layer')))
56-
self.addParameter(ParameterNumber(self.BAND,
57-
self.tr('Band number'), 1, 99, 1))
58-
self.addParameter(ParameterBoolean(self.COMPUTE_EDGES,
59-
self.tr('Compute edges'), False))
55+
self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer')))
56+
self.addParameter(QgsProcessingParameterBand(
57+
self.BAND, self.tr('Band number'), parentLayerParameterName=self.INPUT))
58+
self.addParameter(QgsProcessingParameterBoolean(
59+
self.COMPUTE_EDGES, self.tr('Compute edges'), defaultValue=False))
6060

61-
self.addOutput(OutputRaster(self.OUTPUT, self.tr('Roughness')))
61+
self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Roughness')))
6262

6363
def name(self):
6464
return 'roughness'
6565

6666
def displayName(self):
6767
return self.tr('Roughness')
6868

69+
def group(self):
70+
return self.tr('Raster analysis')
71+
6972
def getConsoleCommands(self, parameters, context, feedback):
7073
arguments = ['roughness']
71-
arguments.append(str(self.getParameterValue(self.INPUT)))
72-
output = str(self.getOutputValue(self.OUTPUT))
73-
arguments.append(output)
74+
inLayer = self.parameterAsRasterLayer(parameters, self.INPUT, context)
75+
arguments.append(inLayer.source())
76+
77+
out = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)
78+
arguments.append(out)
7479

7580
arguments.append('-of')
76-
arguments.append(GdalUtils.getFormatShortNameFromFilename(output))
81+
arguments.append(QgsRasterFileWriter.driverForExtension(os.path.splitext(out)[1]))
7782

7883
arguments.append('-b')
79-
arguments.append(str(self.getParameterValue(self.BAND)))
84+
arguments.append(str(self.parameterAsInt(parameters, self.BAND, context)))
8085

81-
if self.getParameterValue(self.COMPUTE_EDGES):
86+
if self.parameterAsBool(parameters, self.COMPUTE_EDGES, context):
8287
arguments.append('-compute_edges')
8388

8489
return ['gdaldem', GdalUtils.escapeAndJoin(arguments)]

0 commit comments

Comments
 (0)