@@ -75,43 +75,40 @@ def defineCharacteristics(self):
75
75
76
76
def getConsoleCommands (self ):
77
77
inLayer = self .getParameterValue (self .INPUT_LAYER )
78
- ogrLayer = ogrConnectionString (inLayer )[1 :- 1 ]
79
- layername = "'" + ogrLayerName (inLayer ) + "'"
80
- geometry = unicode (self .getParameterValue (self .GEOMETRY ))
81
- distance = unicode (self .getParameterValue (self .DISTANCE ))
78
+ geometry = self .getParameterValue (self .GEOMETRY )
79
+ distance = self .getParameterValue (self .DISTANCE )
82
80
dissolveall = self .getParameterValue (self .DISSOLVEALL )
83
- field = unicode ( self .getParameterValue (self .FIELD ) )
81
+ field = self .getParameterValue (self .FIELD )
84
82
multi = self .getParameterValue (self .MULTI )
83
+ options = self .getParameterValue (self .OPTIONS )
84
+
85
+ ogrLayer = ogrConnectionString (inLayer )[1 :- 1 ]
86
+ layername = ogrLayerName (inLayer )
85
87
86
88
output = self .getOutputFromName (self .OUTPUT_LAYER )
87
89
outFile = output .value
88
90
89
91
output = ogrConnectionString (outFile )
90
- options = unicode (self .getParameterValue (self .OPTIONS ))
91
92
92
93
arguments = []
93
94
arguments .append (output )
94
95
arguments .append (ogrLayer )
95
96
arguments .append (ogrLayerName (inLayer ))
96
- if dissolveall or field != 'None' :
97
- arguments .append ('-dialect sqlite -sql "SELECT ST_Union(ST_Buffer(' )
98
- else :
99
- arguments .append ('-dialect sqlite -sql "SELECT ST_Buffer(' )
100
- arguments .append (geometry )
101
- arguments .append (',' )
102
- arguments .append (distance )
103
- if dissolveall or field != 'None' :
104
- arguments .append (')),*' )
97
+ arguments .append ('-dialect' )
98
+ arguments .append ('sqlite' )
99
+ arguments .append ('-sql' )
100
+
101
+ if dissolveall or field is not None :
102
+ sql = "SELECT ST_Union(ST_Buffer({}, {})), * FROM '{}'" .format (geometry , distance , layername )
105
103
else :
106
- arguments .append ('),*' )
107
- arguments .append ('FROM' )
108
- arguments .append (layername )
109
- if field != 'None' :
110
- arguments .append ('GROUP' )
111
- arguments .append ('BY' )
112
- arguments .append (field )
113
- arguments .append ('"' )
114
- if field != 'None' and multi :
104
+ sql = "SELECT ST_Buffer({}, {}), * FROM '{}'" .format (geometry , distance , layername )
105
+
106
+ if field is not None :
107
+ sql = '{} GROUP BY {}' .format (sql , field )
108
+
109
+ arguments .append (sql )
110
+
111
+ if field is not None and multi :
115
112
arguments .append ('-explodecollections' )
116
113
117
114
if len (options ) > 0 :
0 commit comments