Skip to content

Commit f8834f2

Browse files
committedApr 11, 2013
fix Merge shapefiles tool in fTools (fix #7570)
1 parent 6ebedbc commit f8834f2

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed
 

‎python/plugins/fTools/tools/doMergeShapes.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -260,10 +260,10 @@ def run( self ):
260260
for mergedField in mergedFields:
261261
if mergedField.name() == layerField.name() and mergedField.type() == layerField.type():
262262
fieldFound = True
263-
break
263+
break
264264

265265
if not fieldFound:
266-
if not fieldMap.has_key(shapeIndex):
266+
if not fieldMap.has_key(shapeIndex):
267267
fieldMap[shapeIndex]={}
268268

269269
fieldMap[shapeIndex][fieldIndex] = len(mergedFields)
@@ -283,8 +283,12 @@ def run( self ):
283283
self.geom = newLayer.wkbType()
284284
vprovider = newLayer.dataProvider()
285285

286+
fields = QgsFields()
287+
for f in mergedFields:
288+
fields.append(f)
289+
286290
writer = QgsVectorFileWriter( self.outputFileName, self.outputEncoding,
287-
mergedFields, self.geom, self.crs )
291+
fields, self.geom, self.crs )
288292

289293
shapeIndex = 0
290294
for fileName in self.shapes:
@@ -306,10 +310,10 @@ def run( self ):
306310
mergedAttrs = [QVariant()] * len(mergedFields)
307311

308312
# fill available attributes with values
309-
fieldIndex = 0
313+
fieldIndex = 0
310314
for v in inFeat.attributes():
311-
if fieldMap.has_key(shapeIndex) and fieldMap[shapeIndex].has_key(layerIndex):
312-
mergedAttrs[ fieldMap[shapeIndex][layerIndex] ] = v
315+
if fieldMap.has_key(shapeIndex) and fieldMap[shapeIndex].has_key(fieldIndex):
316+
mergedAttrs[ fieldMap[shapeIndex][fieldIndex] ] = v
313317
fieldIndex += 1
314318

315319
inGeom = QgsGeometry( inFeat.geometry() )

0 commit comments

Comments
 (0)
Please sign in to comment.