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