Skip to content

Commit 0523e89

Browse files
committedJul 23, 2013
Partial fix #7708
1 parent 4b6bc3d commit 0523e89

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed
 

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

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1092,7 +1092,7 @@ def union( self ):
10921092
indexA = ftools_utils.createIndex( vproviderB )
10931093
indexB = ftools_utils.createIndex( vproviderA )
10941094

1095-
nFeat = vproviderA.featureCount() * vproviderB.featureCount()
1095+
nFeat = vproviderA.featureCount() + vproviderB.featureCount()
10961096
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), 0)
10971097
self.emit( SIGNAL( "runRange(PyQt_PyObject)" ), ( 0, nFeat ) )
10981098

@@ -1198,12 +1198,11 @@ def union( self ):
11981198
length = len( vproviderA.fields() )
11991199

12001200
fitB = vproviderB.getFeatures()
1201-
while fitB.nextFeature( inFeatA ):
1201+
while fitB.nextFeature( inFeatB ):
12021202
add = False
1203-
geom = QgsGeometry( inFeatA.geometry() )
1203+
geom = QgsGeometry( inFeatB.geometry() )
12041204
diff_geom = QgsGeometry( geom )
1205-
atMap = inFeatA.attributes()
1206-
atMap = dict( zip( range( length, length + len( atMap ) ), atMap ) )
1205+
atMap = inFeatB.attributes()
12071206
intersects = indexB.intersects( geom.boundingBox() )
12081207

12091208
if len(intersects) < 1:
@@ -1215,8 +1214,8 @@ def union( self ):
12151214
FEATURE_EXCEPT = False
12161215
else:
12171216
for id in intersects:
1218-
vproviderB.getFeatures( QgsFeatureRequest().setFilterFid( int( id ) ) ).nextFeature( inFeatB )
1219-
tmpGeom = QgsGeometry( inFeatB.geometry() )
1217+
vproviderA.getFeatures( QgsFeatureRequest().setFilterFid( int( id ) ) ).nextFeature( inFeatA )
1218+
tmpGeom = QgsGeometry( inFeatA.geometry() )
12201219

12211220
try:
12221221
if diff_geom.intersects( tmpGeom ):

0 commit comments

Comments
 (0)
Please sign in to comment.