Skip to content

Commit 56e605b

Browse files
stev-0nyalldawson
authored andcommittedAug 8, 2018
[feature] Add parameter for field selection to Postgis OGR importer
1 parent 53cbe26 commit 56e605b

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed
 

‎python/plugins/processing/algs/gdal/OgrToPostGis.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ class OgrToPostGis(GdalAlgorithm):
6565
SEGMENTIZE = 'SEGMENTIZE'
6666
SPAT = 'SPAT'
6767
CLIP = 'CLIP'
68+
FIELDS = 'FIELDS'
6869
WHERE = 'WHERE'
6970
GT = 'GT'
7071
OVERWRITE = 'OVERWRITE'
@@ -127,6 +128,10 @@ def initAlgorithm(self, config=None):
127128
self.addParameter(QgsProcessingParameterBoolean(self.CLIP,
128129
self.tr('Clip the input layer using the above (rectangle) extent'),
129130
defaultValue=False))
131+
self.addParameter(QgsProcessingParameterField(self.FIELDS,
132+
self.tr('Fields to include (leave empty to use all fields)'),
133+
parentLayerParameterName=self.INPUT,
134+
allowMultiple=True, optional=True))
130135
self.addParameter(QgsProcessingParameterString(self.WHERE,
131136
self.tr('Select features using a SQL "WHERE" statement (Ex: column=\'value\')'),
132137
defaultValue='', optional=True))
@@ -210,6 +215,8 @@ def getConsoleCommands(self, parameters, context, feedback, executing=True):
210215
segmentize = self.parameterAsString(parameters, self.SEGMENTIZE, context)
211216
spat = self.parameterAsExtent(parameters, self.SPAT, context)
212217
clip = self.parameterAsBool(parameters, self.CLIP, context)
218+
include_fields = self.parameterAsFields(parameters, self.FIELDS, context)
219+
fields_string = '-select "' + ','.join(include_fields) + '"'
213220
where = self.parameterAsString(parameters, self.WHERE, context)
214221
wherestring = '-where "' + where + '"'
215222
gt = self.parameterAsString(parameters, self.GT, context)
@@ -244,6 +251,8 @@ def getConsoleCommands(self, parameters, context, feedback, executing=True):
244251
arguments.append(launderstring)
245252
if append:
246253
arguments.append('-append')
254+
if include_fields:
255+
arguments.append(fields_string)
247256
if addfields:
248257
arguments.append('-addfields')
249258
if overwrite:

0 commit comments

Comments
 (0)
Please sign in to comment.