From f132a9dc3ed95e19203b2db65c4e7a0c7275c360 Mon Sep 17 00:00:00 2001 From: Samuel Dunesme Date: Tue, 7 Jan 2025 17:19:29 +0100 Subject: [PATCH] Allow decimal for maximum threshold valley bottom #2 --- fct/algorithms/spatial_components/ValleyBottom.py | 10 +++++----- fct/algorithms/terrain/DetrendDEM.py | 2 +- fct/workflows/spatialcomponents/ValleyBottom.py | 5 ++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/fct/algorithms/spatial_components/ValleyBottom.py b/fct/algorithms/spatial_components/ValleyBottom.py index 65d8fd86..9de63055 100644 --- a/fct/algorithms/spatial_components/ValleyBottom.py +++ b/fct/algorithms/spatial_components/ValleyBottom.py @@ -39,11 +39,11 @@ def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer('detrendeddem', 'Input detrended DEM', defaultValue=None)) self.addParameter(QgsProcessingParameterExtent('bbox', 'Output extent', defaultValue=None)) self.addParameter(QgsProcessingParameterFeatureSource('inputstreamnetwork', 'Input stream network', types=[QgsProcessing.TypeVectorLine], defaultValue=None)) - self.addParameter(QgsProcessingParameterDistance('largebufferdistanceparameter', 'Max width (large buffer distance)', parentParameterName='detrendeddem', minValue=0, defaultValue=1500)) - self.addParameter(QgsProcessingParameterDistance('mergedistance', 'Merge objects distance', parentParameterName='detrendeddem', minValue=0, defaultValue=5)) - self.addParameter(QgsProcessingParameterDistance('min_height', 'Min height', parentParameterName='detrendeddem', defaultValue=-10)) - self.addParameter(QgsProcessingParameterDistance('max_height', 'Max height', parentParameterName='detrendeddem', defaultValue=10)) - self.addParameter(QgsProcessingParameterNumber('simplify', 'Simplify tolerance', minValue=1, defaultValue=10)) + self.addParameter(QgsProcessingParameterDistance('largebufferdistanceparameter', 'Max width (large buffer distance)', parentParameterName='detrendeddem', minValue=0, defaultValue=1500, type=QgsProcessingParameterNumber.Double)) + self.addParameter(QgsProcessingParameterDistance('mergedistance', 'Merge objects distance', parentParameterName='detrendeddem', minValue=0, defaultValue=5, type=QgsProcessingParameterNumber.Double)) + self.addParameter(QgsProcessingParameterDistance('min_height', 'Min height', parentParameterName='detrendeddem', defaultValue=-10, type=QgsProcessingParameterNumber.Double)) + self.addParameter(QgsProcessingParameterDistance('max_height', 'Max height', parentParameterName='detrendeddem', defaultValue=10, type=QgsProcessingParameterNumber.Double)) + self.addParameter(QgsProcessingParameterNumber('simplify', 'Simplify tolerance', minValue=1, defaultValue=10, type=QgsProcessingParameterNumber.Double)) self.addParameter(QgsProcessingParameterNumber('smoothing', 'Smoothing iterations', minValue=1, defaultValue=5)) self.addParameter(QgsProcessingParameterRasterDestination('Valleybottom_raster', 'Output valley bottom raster', createByDefault=True, defaultValue=None)) self.addParameter(QgsProcessingParameterFeatureSink('Valleybottom_polygon', 'Output valley bottom polygons', type=QgsProcessing.TypeVectorAnyGeometry, createByDefault=True, supportsAppend=True, defaultValue=None)) diff --git a/fct/algorithms/terrain/DetrendDEM.py b/fct/algorithms/terrain/DetrendDEM.py index c7c4baaf..91779637 100644 --- a/fct/algorithms/terrain/DetrendDEM.py +++ b/fct/algorithms/terrain/DetrendDEM.py @@ -37,7 +37,7 @@ class DetrendDEM(AlgorithmMetadata, QgsProcessingAlgorithm): def initAlgorithm(self, configuration): self.addParameter(QgsProcessingParameterRasterLayer('dem', 'Input DEM', defaultValue=None)) - self.addParameter(QgsProcessingParameterDistance('disaggregationdistance', 'Disaggregation Distance', parentParameterName='dem', defaultValue=None)) + self.addParameter(QgsProcessingParameterDistance('disaggregationdistance', 'Disaggregation Distance', parentParameterName='dem', defaultValue=None, type=QgsProcessingParameterDistance.Double)) self.addParameter(QgsProcessingParameterFeatureSource('stream', 'Stream network', types=[QgsProcessing.TypeVectorLine], defaultValue=None)) self.addParameter(QgsProcessingParameterRasterDestination('Detrended', 'Output detrended DEM', createByDefault=True, defaultValue=None)) diff --git a/fct/workflows/spatialcomponents/ValleyBottom.py b/fct/workflows/spatialcomponents/ValleyBottom.py index 5e671ca9..32f7c046 100644 --- a/fct/workflows/spatialcomponents/ValleyBottom.py +++ b/fct/workflows/spatialcomponents/ValleyBottom.py @@ -72,6 +72,7 @@ def initAlgorithm(self, configuration): self.STEP, self.tr('Disaggregation step (topological detrending only)'), defaultValue=50.0, + type=QgsProcessingParameterNumber.Double, minValue=1)) self.addParameter(QgsProcessingParameterNumber( @@ -84,6 +85,7 @@ def initAlgorithm(self, configuration): self.BUFFER, self.tr('Max width (large buffer size)'), defaultValue=1500.0, + type=QgsProcessingParameterNumber.Double, minValue=1)) self.addParameter(QgsProcessingParameterNumber( @@ -101,7 +103,8 @@ def initAlgorithm(self, configuration): self.addParameter(QgsProcessingParameterNumber( self.SIMPLIFY, self.tr('Simplify Valley Bottom tolerance'), - defaultValue=10)) + defaultValue=10, + type=QgsProcessingParameterNumber.Double)) self.addParameter(QgsProcessingParameterNumber( self.SMOOTH,