29
29
30
30
import os
31
31
32
+ from qgis .core import (QgsProcessingParameterRasterLayer ,
33
+ QgsProcessingParameterBand ,
34
+ QgsProcessingParameterBoolean ,
35
+ QgsProcessingParameterNumber ,
36
+ QgsProcessingParameterRasterDestination )
37
+
32
38
from processing .algs .gdal .GdalAlgorithm import GdalAlgorithm
33
- from processing .core .parameters import ParameterRaster
34
- from processing .core .parameters import ParameterBoolean
35
- from processing .core .parameters import ParameterNumber
36
- from processing .core .outputs import OutputRaster
37
39
from processing .algs .gdal .GdalUtils import GdalUtils
38
40
39
41
pluginPath = os .path .split (os .path .split (os .path .dirname (__file__ ))[0 ])[0 ]
@@ -55,26 +57,26 @@ def __init__(self):
55
57
super ().__init__ ()
56
58
57
59
def initAlgorithm (self , config = None ):
58
- self .addParameter (ParameterRaster (self .INPUT , self .tr ('Input layer' )))
59
- self .addParameter (ParameterNumber (self .BAND ,
60
- self .tr ('Band number' ), 1 , 99 , 1 ))
61
- self .addParameter (ParameterBoolean (self .COMPUTE_EDGES ,
62
- self .tr ('Compute edges' ), False ))
63
- self .addParameter (ParameterBoolean (self .ZEVENBERGEN ,
64
- self .tr ("Use Zevenbergen&Thorne formula (instead of the Horn's one)" ),
65
- False ))
66
- self .addParameter ( ParameterNumber ( self . Z_FACTOR ,
67
- self . tr ( 'Z factor (vertical exaggeration)' ),
68
- 0.0 , 99999999.999999 , 1.0 ))
69
- self .addParameter ( ParameterNumber ( self . SCALE ,
70
- self . tr ( 'Scale (ratio of vert. units to horiz.)' ),
71
- 0.0 , 99999999.999999 , 1.0 ))
72
- self .addParameter ( ParameterNumber ( self . AZIMUTH ,
73
- self . tr ( 'Azimuth of the light' ), 0.0 , 359.0 , 315.0 ))
74
- self .addParameter (ParameterNumber (self .ALTITUDE ,
75
- self .tr ('Altitude of the light' ), 0.0 , 99999999.999999 , 45.0 ))
76
-
77
- self .addOutput ( OutputRaster (self .OUTPUT , self .tr ('Hillshade' )))
60
+ self .addParameter (QgsProcessingParameterRasterLayer (self .INPUT , self .tr ('Input layer' )))
61
+ self .addParameter (QgsProcessingParameterBand (self .BAND ,
62
+ self .tr ('Band number' ), parentLayerParameterName = self . INPUT ))
63
+ self .addParameter (QgsProcessingParameterBoolean (self .COMPUTE_EDGES ,
64
+ self .tr ('Compute edges' ), defaultValue = False ))
65
+ self .addParameter (QgsProcessingParameterBoolean (self .ZEVENBERGEN ,
66
+ self .tr ("Use Zevenbergen&Thorne formula (instead of the Horn's one)" ), defaultValue = False ))
67
+ self . addParameter ( QgsProcessingParameterNumber ( self . Z_FACTOR ,
68
+ self .tr ( 'Z factor (vertical exaggeration)' ) ,
69
+ type = QgsProcessingParameterNumber . Double , minValue = 0.0 , maxValue = 99999999.999999 , defaultValue = 1.0 ))
70
+ self . addParameter ( QgsProcessingParameterNumber ( self . SCALE ,
71
+ self .tr ( 'Scale (ratio of vert. units to horiz.)' ) ,
72
+ type = QgsProcessingParameterNumber . Double , minValue = 0.0 , maxValue = 99999999.999999 , defaultValue = 1.0 ))
73
+ self . addParameter ( QgsProcessingParameterNumber ( self . AZIMUTH ,
74
+ self .tr ( 'Azimuth of the light' ) ,
75
+ type = QgsProcessingParameterNumber . Double , minValue = 0.0 , maxValue = 359.9 , defaultValue = 315.0 ))
76
+ self .addParameter (QgsProcessingParameterNumber (self .ALTITUDE ,
77
+ self .tr ('Altitude of the light' ),
78
+ type = QgsProcessingParameterNumber . Double , minValue = 0.0 , maxValue = 99999999.999999 , defaultValue = 45.0 ))
79
+ self .addParameter ( QgsProcessingParameterRasterDestination (self .OUTPUT , self .tr ('Hillshade' )))
78
80
79
81
def name (self ):
80
82
return 'hillshade'
@@ -87,24 +89,24 @@ def group(self):
87
89
88
90
def getConsoleCommands (self , parameters , context , feedback ):
89
91
arguments = ['hillshade' ]
90
- arguments .append (str ( self .getParameterValue ( self .INPUT ) ))
91
- arguments .append (str (self .getOutputValue ( self .OUTPUT )))
92
+ arguments .append (self .parameterAsRasterLayer ( parameters , self .INPUT , context ). source ( ))
93
+ arguments .append (str (self .parameterAsOutputLayer ( parameters , self .OUTPUT , context )))
92
94
93
95
arguments .append ('-b' )
94
- arguments .append (str (self .getParameterValue ( self .BAND )))
96
+ arguments .append (str (self .parameterAsInt ( parameters , self .BAND , context )))
95
97
arguments .append ('-z' )
96
- arguments .append (str (self .getParameterValue ( self .Z_FACTOR )))
98
+ arguments .append (str (self .parameterAsDouble ( parameters , self .Z_FACTOR , context )))
97
99
arguments .append ('-s' )
98
- arguments .append (str (self .getParameterValue ( self .SCALE )))
100
+ arguments .append (str (self .parameterAsDouble ( parameters , self .SCALE , context )))
99
101
arguments .append ('-az' )
100
- arguments .append (str (self .getParameterValue ( self .AZIMUTH )))
102
+ arguments .append (str (self .parameterAsDouble ( parameters , self .AZIMUTH , context )))
101
103
arguments .append ('-alt' )
102
- arguments .append (str (self .getParameterValue ( self .ALTITUDE )))
104
+ arguments .append (str (self .parameterAsDouble ( parameters , self .ALTITUDE , context )))
103
105
104
- if self .getParameterValue ( self .COMPUTE_EDGES ):
106
+ if self .parameterAsBool ( parameters , self .COMPUTE_EDGES , context ):
105
107
arguments .append ('-compute_edges' )
106
108
107
- if self .getParameterValue ( self .ZEVENBERGEN ):
109
+ if self .parameterAsBool ( parameters , self .ZEVENBERGEN , context ):
108
110
arguments .append ('-alg' )
109
111
arguments .append ('ZevenbergenThorne' )
110
112
0 commit comments