@@ -50,6 +50,7 @@ class ImportIntoPostGIS(GeoAlgorithm):
50
50
GEOMETRY_COLUMN = 'GEOMETRY_COLUMN'
51
51
LOWERCASE_NAMES = 'LOWERCASE_NAMES'
52
52
DROP_STRING_LENGTH = 'DROP_STRING_LENGTH'
53
+ FORCE_SINGLEPART = 'FORCE_SINGLEPART'
53
54
PRIMARY_KEY = 'PRIMARY_KEY'
54
55
ENCODING = 'ENCODING'
55
56
@@ -81,6 +82,8 @@ def defineCharacteristics(self):
81
82
self .tr ('Convert field names to lowercase' ), True ))
82
83
self .addParameter (ParameterBoolean (self .DROP_STRING_LENGTH ,
83
84
self .tr ('Drop length constraints on character fields' ), False ))
85
+ self .addParameter (ParameterBoolean (self .FORCE_SINGLEPART ,
86
+ self .tr ('Create single-part geometries instead of multi-part' ), False ))
84
87
85
88
def processAlgorithm (self , progress ):
86
89
connection = self .DB_CONNECTIONS [self .getParameterValue (self .DATABASE )]
@@ -89,6 +92,7 @@ def processAlgorithm(self, progress):
89
92
createIndex = self .getParameterValue (self .CREATEINDEX )
90
93
convertLowerCase = self .getParameterValue (self .LOWERCASE_NAMES )
91
94
dropStringLength = self .getParameterValue (self .DROP_STRING_LENGTH )
95
+ forceSinglePart = self .getParameterValue (self .FORCE_SINGLEPART )
92
96
primaryKeyField = self .getParameterValue (self .PRIMARY_KEY )
93
97
encoding = self .getParameterValue (self .ENCODING )
94
98
settings = QSettings ()
@@ -131,6 +135,8 @@ def processAlgorithm(self, progress):
131
135
geomColumn = geomColumn .lower ()
132
136
if dropStringLength :
133
137
options ['dropStringConstraints' ] = True
138
+ if forceSinglePart :
139
+ options ['forceSinglePartGeometryType' ] = True
134
140
135
141
# Clear geometry column for non-geometry tables
136
142
if not layer .hasGeometryType ():
0 commit comments