2727
2828from processing .core .parameters import ParameterVector
2929from processing .core .parameters import ParameterString
30+ from processing .core .parameters import ParameterNumber
3031from processing .core .parameters import ParameterBoolean
3132from processing .core .parameters import ParameterTableField
3233from processing .core .parameters import ParameterSelection
@@ -46,8 +47,6 @@ class OffsetCurve(GdalAlgorithm):
4647 INPUT_LAYER = 'INPUT_LAYER'
4748 GEOMETRY = 'GEOMETRY'
4849 RADIUS = 'RADIUS'
49- LEFTRIGHT = 'LEFTRIGHT'
50- LEFTRIGHTLIST = ['Right' , 'Left' ]
5150 DISSOLVEALL = 'DISSOLVEALL'
5251 FIELD = 'FIELD'
5352 MULTI = 'MULTI'
@@ -62,10 +61,10 @@ def defineCharacteristics(self):
6261 self .addParameter (ParameterString (self .GEOMETRY ,
6362 self .tr ('Geometry column name ("geometry" for Shapefiles, may be different for other formats)' ),
6463 'geometry' , optional = False ))
65- self .addParameter (ParameterString (self .RADIUS ,
66- self .tr ('Offset distance' ), '1000' , optional = False ))
67- self . addParameter ( ParameterSelection ( self . LEFTRIGHT ,
68- self . tr ( 'Offset side' ), self . LEFTRIGHTLIST , 0 ))
64+ self .addParameter (ParameterNumber (self .RADIUS ,
65+ self .tr ('Offset distance (positive value for left-sided and negative - for right-sided)' ),
66+ - 99999999.999999 , 99999999.999999 , 1000.0 ,
67+ optional = False ))
6968 self .addParameter (ParameterBoolean (self .DISSOLVEALL ,
7069 self .tr ('Dissolve all results' ), False ))
7170 self .addParameter (ParameterTableField (self .FIELD ,
@@ -82,7 +81,6 @@ def getConsoleCommands(self):
8281 inLayer = self .getParameterValue (self .INPUT_LAYER )
8382 geometry = self .getParameterValue (self .GEOMETRY )
8483 distance = self .getParameterValue (self .RADIUS )
85- leftright = self .getParameterValue (self .LEFTRIGHT )
8684 dissolveall = self .getParameterValue (self .DISSOLVEALL )
8785 field = self .getParameterValue (self .FIELD )
8886 multi = self .getParameterValue (self .MULTI )
@@ -100,15 +98,14 @@ def getConsoleCommands(self):
10098 arguments = []
10199 arguments .append (output )
102100 arguments .append (ogrLayer )
103- arguments .append (layername )
104101 arguments .append ('-dialect' )
105102 arguments .append ('sqlite' )
106103 arguments .append ('-sql' )
107104
108105 if dissolveall or field is not None :
109- sql = "SELECT ST_Union(ST_OffsetCurve({}, {}, {})) * FROM '{}'" .format (geometry , distance , leftright , layername )
106+ sql = "SELECT ST_Union(ST_OffsetCurve({}, {})) * FROM '{}'" .format (geometry , distance , layername )
110107 else :
111- sql = "SELECT ST_OffsetCurve({}, {}, {} ), * FROM '{}'" .format (geometry , distance , leftright , layername )
108+ sql = "SELECT ST_OffsetCurve({}, {}), * FROM '{}'" .format (geometry , distance , layername )
112109
113110 if field is not None :
114111 sql = '"{} GROUP BY {}"' .format (sql , field )
@@ -118,7 +115,7 @@ def getConsoleCommands(self):
118115 if field is not None and multi :
119116 arguments .append ('-explodecollections' )
120117
121- if len (options ) > 0 :
118+ if options is not None and len (options . strip () ) > 0 :
122119 arguments .append (options )
123120
124121 commands = []
0 commit comments