@@ -84,69 +84,49 @@ def defineCharacteristics(self):
84
84
85
85
def getConsoleCommands (self ):
86
86
inLayer = self .getParameterValue (self .INPUT_LAYER )
87
- ogrLayer = ogrConnectionString (inLayer )[1 :- 1 ]
88
- layername = "'" + ogrLayerName (inLayer ) + "'"
89
87
operation = self .getParameterValue (self .OPERATION )
90
- geometry = unicode ( self .getParameterValue (self .GEOMETRY ) )
91
- distance = unicode ( self .getParameterValue (self .RADIUS ) )
92
- leftright = self .LEFTRIGHTLIST [ self . getParameterValue (self .LEFTRIGHT )]
88
+ geometry = self .getParameterValue (self .GEOMETRY )
89
+ distance = self .getParameterValue (self .RADIUS )
90
+ leftright = self .getParameterValue (self .LEFTRIGHT )
93
91
dissolveall = self .getParameterValue (self .DISSOLVEALL )
94
- field = unicode ( self .getParameterValue (self .FIELD ) )
92
+ field = self .getParameterValue (self .FIELD )
95
93
multi = self .getParameterValue (self .MULTI )
94
+ options = self .getParameterValue (self .OPTIONS )
95
+
96
+ ogrLayer = ogrConnectionString (inLayer )[1 :- 1 ]
97
+ layername = "'" + ogrLayerName (inLayer ) + "'"
96
98
97
99
output = self .getOutputFromName (self .OUTPUT_LAYER )
98
100
outFile = output .value
99
-
100
101
output = ogrConnectionString (outFile )
101
- options = unicode (self .getParameterValue (self .OPTIONS ))
102
+
103
+ layername = ogrLayerName (inLayer )
102
104
103
105
arguments = []
104
106
arguments .append (output )
105
107
arguments .append (ogrLayer )
106
- arguments .append (ogrLayerName (inLayer ))
107
- if dissolveall or field != 'None' :
108
+ arguments .append (layername )
109
+ arguments .append ('-dialect' )
110
+ arguments .append ('sqlite' )
111
+ arguments .append ('-sql' )
112
+
113
+ if dissolveall or field is not None :
108
114
if operation == 0 :
109
- arguments . append ( '-dialect sqlite - sql "SELECT ST_Union(ST_SingleSidedBuffer(' )
115
+ sql = "SELECT ST_Union(ST_SingleSidedBuffer({}, {}, {})), * FROM '{}'" . format ( geometry , distance , leftright , layername )
110
116
else :
111
- arguments . append ( '-dialect sqlite - sql "SELECT ST_Union(ST_OffsetCurve(' )
117
+ sql = "SELECT ST_Union(ST_OffsetCurve({}, {}, {})) * FROM '{}'" . format ( geometry , distance , leftright , layername )
112
118
else :
113
119
if operation == 0 :
114
- arguments .append ('-dialect sqlite -sql "SELECT ST_SingleSidedBuffer(' )
115
- else :
116
- arguments .append ('-dialect sqlite -sql "SELECT ST_OffsetCurve(' )
117
- arguments .append (geometry )
118
- arguments .append (',' )
119
- arguments .append (distance )
120
- if dissolveall or field != 'None' :
121
- if leftright == 'Left' :
122
- if operation == 0 :
123
- arguments .append (',0)),*' )
124
- else :
125
- arguments .append (')),*' )
126
- else :
127
- if operation == 0 :
128
- arguments .append (',1)),*' )
129
- else :
130
- arguments .append (')),*' )
131
- else :
132
- if leftright == 'Left' :
133
- if operation == 0 :
134
- arguments .append (',0),*' )
135
- else :
136
- arguments .append ('),*' )
120
+ sql = "SELECT ST_SingleSidedBuffer({},{},{}), * FROM '{}'" .format (geometry , distance , leftright , layername )
137
121
else :
138
- if operation == 0 :
139
- arguments .append (',1),*' )
140
- else :
141
- arguments .append ('),*' )
142
- arguments .append ('FROM' )
143
- arguments .append (layername )
144
- if field != 'None' :
145
- arguments .append ('GROUP' )
146
- arguments .append ('BY' )
147
- arguments .append (field )
148
- arguments .append ('"' )
149
- if field != 'None' and multi :
122
+ sql = "SELECT ST_OffsetCurve({}, {}, {}), * FROM '{}'" .format (geometry , distance , leftright , layername )
123
+
124
+ if field is not None :
125
+ sql = '"{} GROUP BY {}"' .format (sql , field )
126
+
127
+ arguments .append (sql )
128
+
129
+ if field is not None and multi :
150
130
arguments .append ('-explodecollections' )
151
131
152
132
if len (options ) > 0 :
@@ -162,4 +142,4 @@ def getConsoleCommands(self):
162
142
return commands
163
143
164
144
def commandName (self ):
165
- return " ogr2ogr"
145
+ return ' ogr2ogr'
0 commit comments