@@ -508,44 +508,48 @@ def lines_to_polygons( self ):
508
508
return True
509
509
510
510
def export_geometry_info ( self ):
511
+ ellips = None
512
+ crs = None
513
+ coordTransform = None
514
+
515
+ # calculate with:
516
+ # 0 - layer CRS
517
+ # 1 - project CRS
518
+ # 2 - ellipsoidal
519
+ if self .myCalcType == 2 :
520
+ settings = QSettings ()
521
+ ellips = settings .value ( "/qgis/measure/ellipsoid" , "WGS84" ).toString ()
522
+ crs = self .vlayer .crs ().srsid ()
523
+ elif self .myCalcType == 1 :
524
+ mapCRS = self .parent .iface .mapCanvas ().mapRenderer ().destinationCrs ()
525
+ layCRS = self .vlayer .crs ()
526
+ coordTransform = QgsCoordinateTransform ( layCRS , mapCRS )
527
+
528
+ inFeat = QgsFeature ()
529
+ outFeat = QgsFeature ()
530
+ inGeom = QgsGeometry ()
531
+ nElement = 0
532
+
533
+ vprovider = self .vlayer .dataProvider ()
534
+
535
+ self .emit ( SIGNAL ( "runStatus( PyQt_PyObject )" ), 0 )
536
+ self .emit ( SIGNAL ( "runRange( PyQt_PyObject )" ), ( 0 , vprovider .featureCount () ) )
537
+
511
538
if self .writeShape :
512
- vprovider = self .vlayer .dataProvider ()
513
539
allAttrs = vprovider .attributeIndexes ()
514
540
vprovider .select ( allAttrs )
515
541
( fields , index1 , index2 ) = self .checkGeometryFields ( self .vlayer )
516
542
writer = QgsVectorFileWriter ( self .myName , self .myEncoding , fields ,
517
543
vprovider .geometryType (), vprovider .crs () )
518
- inFeat = QgsFeature ()
519
- outFeat = QgsFeature ()
520
- inGeom = QgsGeometry ()
521
- nFeat = vprovider .featureCount ()
522
- nElement = 0
523
-
524
- # calculate with:
525
- # 0 - layer CRS
526
- # 1 - project CRS
527
- # 2 - ellipsoidal
528
- ellips = None
529
- crs = None
530
- coordTransform = None
531
- if self .myCalcType == 2 :
532
- settings = QSettings ()
533
- ellips = settings .value ( "/qgis/measure/ellipsoid" , "WGS84" ).toString ()
534
- crs = self .parent .iface .mapCanvas ().mapRenderer ().destinationCrs ().srsid ()
535
- elif self .myCalcType == 1 :
536
- mapCRS = self .parent .iface .mapCanvas ().mapRenderer ().destinationCrs ()
537
- layCRS = self .vlayer .crs ()
538
- coordTransform = QgsCoordinateTransform ( layCRS , mapCRS )
539
-
540
- self .emit ( SIGNAL ( "runStatus( PyQt_PyObject )" ), 0 )
541
- self .emit ( SIGNAL ( "runRange( PyQt_PyObject )" ), ( 0 , nFeat ) )
544
+
542
545
while vprovider .nextFeature (inFeat ):
543
546
self .emit ( SIGNAL ( "runStatus( PyQt_PyObject )" ), nElement )
544
547
nElement += 1
545
548
inGeom = inFeat .geometry ()
546
549
547
550
if self .myCalcType == 1 :
548
551
inGeom .transform ( coordTransform )
552
+
549
553
( attr1 , attr2 ) = self .simpleMeasure ( inGeom , self .myCalcType , ellips , crs )
550
554
551
555
outFeat .setGeometry ( inGeom )
@@ -558,34 +562,9 @@ def export_geometry_info( self ):
558
562
return True
559
563
else : # update existing file
560
564
newFields = []
561
- vprovider = self .vlayer .dataProvider ()
562
565
geomType = self .vlayer .geometryType ()
563
566
( index1 , index2 ) = self .findOrCreateFields ()
564
567
565
- inFeat = QgsFeature ()
566
- inGeom = QgsGeometry ()
567
- nFeat = vprovider .featureCount ()
568
- nElement = 0
569
-
570
- # calculate with:
571
- # 0 - layer CRS
572
- # 1 - project CRS
573
- # 2 - ellipsoidal
574
- ellips = None
575
- crs = None
576
- coordTransform = None
577
- if self .myCalcType == 2 :
578
- settings = QSettings ()
579
- ellips = settings .value ( "/qgis/measure/ellipsoid" , "WGS84" ).toString ()
580
- crs = self .parent .iface .mapCanvas ().mapRenderer ().destinationCrs ().srsid ()
581
- elif self .myCalcType == 1 :
582
- mapCRS = self .parent .iface .mapCanvas ().mapRenderer ().destinationCrs ()
583
- layCRS = self .vlayer .crs ()
584
- coordTransform = QgsCoordinateTransform ( layCRS , mapCRS )
585
-
586
- self .emit ( SIGNAL ( "runStatus( PyQt_PyObject )" ), 0 )
587
- self .emit ( SIGNAL ( "runRange( PyQt_PyObject )" ), ( 0 , nFeat ) )
588
-
589
568
while vprovider .nextFeature (inFeat ):
590
569
self .emit ( SIGNAL ( "runStatus( PyQt_PyObject )" ), nElement )
591
570
nElement += 1
0 commit comments