Skip to content

Commit db164df

Browse files
committedMay 25, 2012
Merge branch 'master' of github.com:qgis/Quantum-GIS
2 parents 88a319a + 40c34d4 commit db164df

22 files changed

+2505
-2416
lines changed
 

‎debian/rules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ install: build
144144
$(MAKE) -C debian/build install DESTDIR=$(CURDIR)/debian/tmp
145145

146146
# remove unwanted files
147-
rm debian/tmp/usr/share/qgis/doc/api/installdox
147+
! [ -f debian/tmp/usr/share/qgis/doc/api/installdox ] || rm debian/tmp/usr/share/qgis/doc/api/installdox
148148
! [ -f debian/tmp/usr/share/qgis/doc/api/jquery.js ] || rm debian/tmp/usr/share/qgis/doc/api/jquery.js
149149

150150
# Install menu pixmap

‎doc/TRANSLATORS

Lines changed: 47 additions & 47 deletions
Large diffs are not rendered by default.

‎i18n/qgis_de.ts

Lines changed: 1965 additions & 2009 deletions
Large diffs are not rendered by default.

‎python/gui/qgsmapcanvas.sip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class QgsMapCanvas : QGraphicsView
6262

6363
QgsMapCanvasMap* map();
6464

65-
QgsMapRenderer* mapRenderer();
65+
QgsMapRenderer* mapRenderer() /Transfer/;
6666

6767
//! Accessor for the canvas pixmap
6868
// @deprecated use canvasPaintDevice()

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -620,11 +620,11 @@ def polygon_centroids( self ):
620620
self.emit( SIGNAL( "runStatus( PyQt_PyObject )" ), nElement )
621621
inGeom = inFeat.geometry()
622622
atMap = inFeat.attributeMap()
623-
outGeom = QgsGeometry( inGeom.centroid() )
623+
outGeom = inGeom.centroid()
624624
if outGeom is None:
625625
return "math_error"
626626
outFeat.setAttributeMap( atMap )
627-
outFeat.setGeometry( outGeom )
627+
outFeat.setGeometry( QgsGeometry( outGeom ) )
628628
writer.addFeature( outFeat )
629629
del writer
630630
return True

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

Lines changed: 73 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -326,16 +326,19 @@ def buffering( self, useField ):
326326
allAttrs = vproviderA.attributeIndexes()
327327
vproviderA.select( allAttrs )
328328
fields = vproviderA.fields()
329-
writer = QgsVectorFileWriter( self.myName, self.myEncoding,
330-
fields, QGis.WKBPolygon, vproviderA.crs() )
329+
330+
writer = QgsVectorFileWriter( self.myName, self.myEncoding, fields,
331+
QGis.WKBPolygon, vproviderA.crs() )
331332
# check if writer was created properly, if not, return with error
332333
if writer.hasError():
333334
return GEOS_EXCEPT, FEATURE_EXCEPT, True, writer.errorMessage()
335+
334336
outFeat = QgsFeature()
335337
inFeat = QgsFeature()
336338
inGeom = QgsGeometry()
337339
outGeom = QgsGeometry()
338340
nElement = 0
341+
339342
# there is selection in input layer
340343
if self.mySelectionA:
341344
nFeat = self.vlayerA.selectedFeatureCount()
@@ -434,7 +437,6 @@ def buffering( self, useField ):
434437
FEATURE_EXCEPT = False
435438
# without dissolve
436439
else:
437-
vproviderA.rewind()
438440
while vproviderA.nextFeature( inFeat ):
439441
atMap = inFeat.attributeMap()
440442
if useField:
@@ -466,10 +468,11 @@ def convex_hull(self, useField ):
466468
allAttrsA = vproviderA.attributeIndexes()
467469
vproviderA.select(allAttrsA)
468470
fields = vproviderA.fields()
469-
writer = QgsVectorFileWriter( self.myName, self.myEncoding,
470-
fields, QGis.WKBPolygon, vproviderA.crs() )
471+
writer = QgsVectorFileWriter( self.myName, self.myEncoding, fields,
472+
QGis.WKBPolygon, vproviderA.crs() )
471473
if writer.hasError():
472474
return GEOS_EXCEPT, FEATURE_EXCEPT, True, writer.errorMessage()
475+
473476
inFeat = QgsFeature()
474477
outFeat = QgsFeature()
475478
inGeom = QgsGeometry()
@@ -533,7 +536,6 @@ def convex_hull(self, useField ):
533536
GEOS_EXCEPT = False
534537
# there is no selection in input layer
535538
else:
536-
rect = self.vlayerA.extent()
537539
nFeat = vproviderA.featureCount()
538540
if useField:
539541
unique = ftools_utils.getUniqueValues( vproviderA, self.myParam )
@@ -544,8 +546,6 @@ def convex_hull(self, useField ):
544546
hull = []
545547
first = True
546548
outID = 0
547-
vproviderA.select( allAttrsA )#, rect )
548-
#vproviderA.rewind()
549549
while vproviderA.nextFeature( inFeat ):
550550
atMap = inFeat.attributeMap()
551551
idVar = atMap[ self.myParam ]
@@ -575,8 +575,6 @@ def convex_hull(self, useField ):
575575
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), 0 )
576576
self.emit( SIGNAL( "runRange(PyQt_PyObject)" ), ( 0, nFeat ) )
577577
hull = []
578-
#vproviderA.rewind()
579-
vproviderA.select(allAttrsA)
580578
while vproviderA.nextFeature( inFeat ):
581579
inGeom = QgsGeometry( inFeat.geometry() )
582580
points = ftools_utils.extractPoints( inGeom )
@@ -599,14 +597,20 @@ def dissolve( self, useField ):
599597
vproviderA = self.vlayerA.dataProvider()
600598
allAttrsA = vproviderA.attributeIndexes()
601599
fields = vproviderA.fields()
602-
writer = QgsVectorFileWriter( self.myName, self.myEncoding,
603-
fields, vproviderA.geometryType(), vproviderA.crs() )
600+
601+
writer = QgsVectorFileWriter( self.myName, self.myEncoding, fields,
602+
vproviderA.geometryType(), vproviderA.crs() )
604603
if writer.hasError():
605604
return GEOS_EXCEPT, FEATURE_EXCEPT, True, writer.errorMessage()
605+
606606
inFeat = QgsFeature()
607607
outFeat = QgsFeature()
608-
vproviderA.rewind()
609608
nElement = 0
609+
attrs = None
610+
611+
vproviderA.rewind()
612+
vproviderA.select( allAttrsA )
613+
610614
# there is selection in input layer
611615
if self.mySelectionA:
612616
nFeat = self.vlayerA.selectedFeatureCount()
@@ -642,8 +646,8 @@ def dissolve( self, useField ):
642646
for item in unique:
643647
first = True
644648
add = False
645-
vproviderA.select( allAttrsA )
646649
vproviderA.rewind()
650+
vproviderA.select( allAttrsA )
647651
for inFeat in selectionA:
648652
nElement += 1
649653
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), nElement )
@@ -703,13 +707,14 @@ def dissolve( self, useField ):
703707
for item in unique:
704708
first = True
705709
add = True
706-
vproviderA.select( allAttrsA )
707710
vproviderA.rewind()
711+
vproviderA.select( allAttrsA )
708712
while vproviderA.nextFeature( inFeat ):
709713
nElement += 1
710714
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), nElement )
711715
atMap = inFeat.attributeMap()
712716
tempItem = atMap[ self.myParam ]
717+
713718
if tempItem.toString().trimmed() == item.toString().trimmed():
714719
if first:
715720
QgsGeometry( inFeat.geometry() )
@@ -742,22 +747,29 @@ def difference( self ):
742747
allAttrsB = vproviderB.attributeIndexes()
743748
vproviderB.select( allAttrsB )
744749
fields = vproviderA.fields()
750+
745751
# check for crs compatibility
746752
crsA = vproviderA.crs()
747753
crsB = vproviderB.crs()
748754
if not crsA.isValid() or not crsB.isValid():
749755
crs_match = None
750756
else:
751757
crs_match = crsA == crsB
752-
writer = QgsVectorFileWriter( self.myName, self.myEncoding,
753-
fields, vproviderA.geometryType(), vproviderA.crs() )
758+
759+
writer = QgsVectorFileWriter( self.myName, self.myEncoding, fields,
760+
vproviderA.geometryType(), vproviderA.crs() )
754761
if writer.hasError():
755762
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, writer.errorMessage()
763+
756764
inFeatA = QgsFeature()
757765
inFeatB = QgsFeature()
758766
outFeat = QgsFeature()
759-
index = ftools_utils.createIndex( vproviderB )
760767
nElement = 0
768+
769+
index = ftools_utils.createIndex( vproviderB )
770+
vproviderB.rewind()
771+
vproviderB.select( allAttrsB )
772+
761773
# there is selection in input layer
762774
if self.mySelectionA:
763775
nFeat = self.vlayerA.selectedFeatureCount()
@@ -829,6 +841,7 @@ def difference( self ):
829841
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), 0 )
830842
self.emit( SIGNAL( "runRange(PyQt_PyObject)" ), ( 0, nFeat ) )
831843
vproviderA.rewind()
844+
vproviderA.select( allAttrsA )
832845
# we have selection in overlay layer
833846
if self.mySelectionB:
834847
selectionB = self.vlayerB.selectedFeaturesIds()
@@ -900,27 +913,35 @@ def intersect( self ):
900913
vproviderB = self.vlayerB.dataProvider()
901914
allAttrsB = vproviderB.attributeIndexes()
902915
vproviderB.select( allAttrsB )
916+
903917
# check for crs compatibility
904918
crsA = vproviderA.crs()
905919
crsB = vproviderB.crs()
906920
if not crsA.isValid() or not crsB.isValid():
907921
crs_match = None
908922
else:
909923
crs_match = crsA == crsB
924+
910925
fields = ftools_utils.combineVectorFields( self.vlayerA, self.vlayerB )
911926
longNames = ftools_utils.checkFieldNameLength( fields )
912927
if not longNames.isEmpty():
913928
message = QString( 'Following field names are longer than 10 characters:\n%1' ).arg( longNames.join( '\n' ) )
914929
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, message
915-
writer = QgsVectorFileWriter( self.myName, self.myEncoding,
916-
fields, vproviderA.geometryType(), vproviderA.crs() )
930+
931+
writer = QgsVectorFileWriter( self.myName, self.myEncoding, fields,
932+
vproviderA.geometryType(), vproviderA.crs() )
917933
if writer.hasError():
918934
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, writer.errorMessage()
935+
919936
inFeatA = QgsFeature()
920937
inFeatB = QgsFeature()
921938
outFeat = QgsFeature()
922-
index = ftools_utils.createIndex( vproviderB )
923939
nElement = 0
940+
941+
index = ftools_utils.createIndex( vproviderB )
942+
vproviderB.rewind()
943+
vproviderB.select( allAttrsB )
944+
924945
# there is selection in input layer
925946
if self.mySelectionA:
926947
nFeat = self.vlayerA.selectedFeatureCount()
@@ -993,6 +1014,7 @@ def intersect( self ):
9931014
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), 0)
9941015
self.emit( SIGNAL( "runRange(PyQt_PyObject)" ), ( 0, nFeat ) )
9951016
vproviderA.rewind()
1017+
vproviderA.select( allAttrsA )
9961018
# we have selection in overlay layer
9971019
if self.mySelectionB:
9981020
selectionB = self.vlayerB.selectedFeaturesIds()
@@ -1090,12 +1112,15 @@ def union( self ):
10901112
outFeat = QgsFeature()
10911113
indexA = ftools_utils.createIndex( vproviderB )
10921114
indexB = ftools_utils.createIndex( vproviderA )
1115+
vproviderA.rewind()
1116+
vproviderA.select( allAttrsA )
1117+
vproviderB.rewind()
1118+
vproviderB.select(allAttrsB)
10931119

10941120
nFeat = vproviderA.featureCount() * vproviderB.featureCount()
10951121
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), 0)
10961122
self.emit( SIGNAL( "runRange(PyQt_PyObject)" ), ( 0, nFeat ) )
10971123

1098-
vproviderA.rewind()
10991124
count = 0
11001125
nElement = 0
11011126

@@ -1190,6 +1215,7 @@ def union( self ):
11901215

11911216
length = len( vproviderA.fields().values() )
11921217
vproviderB.rewind()
1218+
vproviderB.select(allAttrsB)
11931219

11941220
while vproviderB.nextFeature( inFeatA ):
11951221
add = False
@@ -1247,32 +1273,41 @@ def symetrical_difference( self ):
12471273
vproviderB = self.vlayerB.dataProvider()
12481274
allAttrsB = vproviderB.attributeIndexes()
12491275
vproviderB.select( allAttrsB )
1276+
12501277
# check for crs compatibility
12511278
crsA = vproviderA.crs()
12521279
crsB = vproviderB.crs()
12531280
if not crsA.isValid() or not crsB.isValid():
12541281
crs_match = None
12551282
else:
12561283
crs_match = crsA == crsB
1284+
12571285
fields = ftools_utils.combineVectorFields( self.vlayerA, self.vlayerB )
12581286
longNames = ftools_utils.checkFieldNameLength( fields )
12591287
if not longNames.isEmpty():
12601288
message = QString( 'Following field names are longer than 10 characters:\n%1' ).arg( longNames.join( '\n' ) )
12611289
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, message
1262-
writer = QgsVectorFileWriter( self.myName, self.myEncoding,
1263-
fields, vproviderA.geometryType(), vproviderA.crs() )
1290+
1291+
writer = QgsVectorFileWriter( self.myName, self.myEncoding, fields,
1292+
vproviderA.geometryType(), vproviderA.crs() )
12641293
if writer.hasError():
12651294
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, writer.errorMessage()
1295+
12661296
inFeatA = QgsFeature()
12671297
inFeatB = QgsFeature()
12681298
outFeat = QgsFeature()
1299+
12691300
indexA = ftools_utils.createIndex( vproviderB )
12701301
indexB = ftools_utils.createIndex( vproviderA )
1302+
vproviderA.rewind()
1303+
vproviderA.select( allAttrsA )
1304+
vproviderB.rewind()
1305+
vproviderB.select(allAttrsB)
1306+
12711307
nFeat = vproviderA.featureCount() * vproviderB.featureCount()
12721308
nElement = 0
12731309
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), 0)
12741310
self.emit( SIGNAL( "runRange(PyQt_PyObject)" ), ( 0, nFeat ) )
1275-
vproviderA.rewind()
12761311
while vproviderA.nextFeature( inFeatA ):
12771312
nElement += 1
12781313
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), nElement )
@@ -1299,8 +1334,11 @@ def symetrical_difference( self ):
12991334
except:
13001335
FEATURE_EXCEPT = False
13011336
continue
1337+
13021338
length = len( vproviderA.fields().values() )
13031339
vproviderB.rewind()
1340+
vproviderB.select(allAttrsB)
1341+
13041342
while vproviderB.nextFeature( inFeatA ):
13051343
nElement += 1
13061344
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), nElement )
@@ -1340,24 +1378,32 @@ def clip( self ):
13401378
vproviderB = self.vlayerB.dataProvider()
13411379
allAttrsB = vproviderB.attributeIndexes()
13421380
vproviderB.select( allAttrsB )
1381+
13431382
# check for crs compatibility
13441383
crsA = vproviderA.crs()
13451384
crsB = vproviderB.crs()
13461385
if not crsA.isValid() or not crsB.isValid():
13471386
crs_match = None
13481387
else:
13491388
crs_match = crsA == crsB
1389+
13501390
fields = vproviderA.fields()
1351-
writer = QgsVectorFileWriter( self.myName, self.myEncoding,
1352-
fields, vproviderA.geometryType(), vproviderA.crs() )
1391+
writer = QgsVectorFileWriter( self.myName, self.myEncoding, fields,
1392+
vproviderA.geometryType(), vproviderA.crs() )
13531393
if writer.hasError():
13541394
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, writer.errorMessage()
1395+
13551396
inFeatA = QgsFeature()
13561397
inFeatB = QgsFeature()
13571398
outFeat = QgsFeature()
1399+
13581400
index = ftools_utils.createIndex( vproviderB )
13591401
vproviderA.rewind()
1402+
vproviderA.select( allAttrsA )
1403+
vproviderB.rewind()
1404+
vproviderB.select( allAttrsB )
13601405
nElement = 0
1406+
13611407
# there is selection in input layer
13621408
if self.mySelectionA:
13631409
nFeat = self.vlayerA.selectedFeatureCount()

0 commit comments

Comments
 (0)
Please sign in to comment.