Skip to content

Commit 8c42295

Browse files
author
volayaf
committed
updated remaining ftools algorithms to new architecture
git-svn-id: http://sextante.googlecode.com/svn/trunk/soft/bindings/qgis-plugin@348 881b9c09-3ef8-f3c2-ec3d-21d735c97f4d
1 parent 0a29cc0 commit 8c42295

24 files changed

+52
-125
lines changed

src/sextante/ftools/Buffer.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
from sextante.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException
55
from sextante.core.SextanteLog import SextanteLog
66

7-
def buffering(progress, output, distance, field, useSelection, useField, layer, dissolve, segments ):
8-
settings = QSettings()
9-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
7+
def buffering(progress, writer, distance, field, useSelection, useField, layer, dissolve, segments ):
108
GEOS_EXCEPT = True
119
FEATURE_EXCEPT = True
1210
vproviderA = layer.dataProvider()
@@ -15,10 +13,6 @@ def buffering(progress, output, distance, field, useSelection, useField, layer,
1513
fields = vproviderA.fields()
1614
if useField:
1715
field = vproviderA.fieldNameIndex(field)
18-
writer = QgsVectorFileWriter(output, systemEncoding, fields, QGis.WKBPolygon, vproviderA.crs() )
19-
# check if writer was created properly, if not, return with error
20-
if writer.hasError():
21-
raise GeoAlgorithmExecutionException("Could not create output file");
2216
outFeat = QgsFeature()
2317
inFeat = QgsFeature()
2418
inGeom = QgsGeometry()
@@ -64,9 +58,9 @@ def buffering(progress, output, distance, field, useSelection, useField, layer,
6458
for inFeat in selectionA:
6559
atMap = inFeat.attributeMap()
6660
if useField:
67-
value = atMap[ self.myParam ].toDouble()[ 0 ]
61+
value = atMap[ field ].toDouble()[ 0 ]
6862
else:
69-
value = self.myParam
63+
value = distance
7064
inGeom = QgsGeometry( inFeat.geometry() )
7165
try:
7266
outGeom = inGeom.buffer( float( value ), segments )

src/sextante/ftools/Centroids.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,9 @@ def defineCharacteristics(self):
2828
def processAlgorithm(self, progress):
2929
layer = QGisLayers.getObjectFromUri(self.getParameterValue(Centroids.INPUT_LAYER))
3030

31-
outFileName = self.getOutputValue(Centroids.OUTPUT_LAYER)
32-
3331
provider = layer.dataProvider()
3432

35-
settings = QSettings()
36-
encoding = settings.value( "/UI/encoding", "System" ).toString()
37-
38-
writer = QgsVectorFileWriter(outFileName, encoding, provider.fields(),
33+
writer = self.getOutputFromName(Centroids.OUTPUT_LAYER).getVectorWriter(provider.fields(),
3934
QGis.WKBPoint, provider.crs())
4035

4136
allAttrs = provider.attributeIndexes()

src/sextante/ftools/Delaunay.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ def getIcon(self):
1919
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/delaunay.png")
2020

2121
def processAlgorithm(self, progress):
22-
settings = QSettings()
23-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
24-
output = self.getOutputValue(Delaunay.OUTPUT)
2522
vlayer = QGisLayers.getObjectFromUri(self.getParameterValue(Delaunay.INPUT))
2623
vprovider = vlayer.dataProvider()
2724
allAttrs = vprovider.attributeIndexes()
@@ -30,7 +27,7 @@ def processAlgorithm(self, progress):
3027
0 : QgsField( "POINTA", QVariant.Double ),
3128
1 : QgsField( "POINTB", QVariant.Double ),
3229
2 : QgsField( "POINTC", QVariant.Double ) }
33-
writer = QgsVectorFileWriter( output, systemEncoding, fields, QGis.WKBPolygon, vprovider.crs() )
30+
writer = self.getOutputFromName(Delaunay.OUTPUT).getVectorWriter(fields, QGis.WKBPolygon, vprovider.crs() )
3431
inFeat = QgsFeature()
3532
c = voronoi.Context()
3633
pts = []

src/sextante/ftools/Difference.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ def getIcon(self):
2424
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/difference.png")
2525

2626
def processAlgorithm(self, progress):
27-
settings = QSettings()
28-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
29-
output = self.getOutputValue(Difference.OUTPUT)
3027
useSelection = self.getParameterValue(Difference.USE_SELECTED)
3128
useSelection2 = self.getParameterValue(Difference.USE_SELECTED2)
3229
vlayerA = QGisLayers.getObjectFromUri(self.getParameterValue(Difference.INPUT))
@@ -48,7 +45,7 @@ def processAlgorithm(self, progress):
4845
else:
4946
if not crsA != crsB:
5047
SextanteLog.addToLog(SextanteLog.LOG_WARNING, "Difference. Non-matching CRSs. Results might be unexpected")
51-
writer = QgsVectorFileWriter(output, systemEncoding, fields, vproviderA.geometryType(), vproviderA.crs() )
48+
writer = self.getOutputFromName(Difference.OUTPUT).getVectorWriter(fields, vproviderA.geometryType(), vproviderA.crs() )
5249
inFeatA = QgsFeature()
5350
inFeatB = QgsFeature()
5451
outFeat = QgsFeature()

src/sextante/ftools/Dissolve.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ def getIcon(self):
2424
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/dissolve.png")
2525

2626
def processAlgorithm(self, progress):
27-
settings = QSettings()
28-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
29-
output = self.getOutputValue(Dissolve.OUTPUT)
3027
useSelection = self.getParameterValue(Dissolve.USE_SELECTED)
3128
useField = not self.getParameterValue(Dissolve.USE_SELECTED)
3229
fieldname = self.getParameterValue(Dissolve.FIELD)
@@ -37,7 +34,7 @@ def processAlgorithm(self, progress):
3734
vproviderA = vlayerA.dataProvider()
3835
allAttrsA = vproviderA.attributeIndexes()
3936
fields = vproviderA.fields()
40-
writer = QgsVectorFileWriter( output, systemEncoding, fields, vproviderA.geometryType(), vproviderA.crs() )
37+
writer = self.getOutputFromName(Dissolve.OUTPUT).getVectorWriter(fields, vproviderA.geometryType(), vproviderA.crs() )
4138
if writer.hasError():
4239
raise GeoAlgorithmExecutionException("Could not create output file");
4340
inFeat = QgsFeature()

src/sextante/ftools/ExportGeometryInfo.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,12 @@ def getIcon(self):
1717
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/export_geometry.png")
1818

1919
def processAlgorithm(self, progress):
20-
settings = QSettings()
21-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
22-
output = self.getOutputValue(ExportGeometryInfo.OUTPUT)
2320
vlayer = QGisLayers.getObjectFromUri(self.getParameterValue(ExportGeometryInfo.INPUT))
2421
vprovider = vlayer.dataProvider()
2522
allAttrs = vprovider.attributeIndexes()
2623
vprovider.select( allAttrs )
2724
( fields, index1, index2 ) = self.checkGeometryFields(vlayer)
28-
writer = QgsVectorFileWriter( output, systemEncoding,fields, vprovider.geometryType(), vprovider.crs() )
25+
writer = self.getOutputFromName(ExportGeometryInfo.OUTPUT).getVectorWriter(fields, vprovider.geometryType(), vprovider.crs() )
2926
inFeat = QgsFeature()
3027
outFeat = QgsFeature()
3128
inGeom = QgsGeometry()

src/sextante/ftools/ExtentFromLayer.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@ def getIcon(self):
1717
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/layer_extent.png")
1818

1919
def processAlgorithm(self, progress):
20-
settings = QSettings()
21-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
22-
output = self.getOutputValue(ExtentFromLayer.OUTPUT)
2320
vlayer = QGisLayers.getObjectFromUri(self.getParameterValue(ExtentFromLayer.INPUT))
2421
fields = {
2522
0 : QgsField( "MINX", QVariant.Double ),
@@ -33,7 +30,7 @@ def processAlgorithm(self, progress):
3330
8 : QgsField( "HEIGHT", QVariant.Double ),
3431
9 : QgsField( "WIDTH", QVariant.Double ) }
3532

36-
writer = QgsVectorFileWriter(output, systemEncoding, fields, QGis.WKBPolygon, vlayer.crs() )
33+
writer = self.getOutputFromName(ExtentFromLayer.OUTPUT).getVectorWriter(fields, QGis.WKBPolygon, vlayer.crs() )
3734
rect = vlayer.extent()
3835
minx = rect.xMinimum()
3936
miny = rect.yMinimum()

src/sextante/ftools/ExtractNodes.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,12 @@ def getIcon(self):
1818
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/extract_nodes.png")
1919

2020
def processAlgorithm(self, progress):
21-
settings = QSettings()
22-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
23-
output = self.getOutputValue(ExtractNodes.OUTPUT)
2421
vlayer = QGisLayers.getObjectFromUri(self.getParameterValue(ExtractNodes.INPUT))
2522
vprovider = vlayer.dataProvider()
2623
allAttrs = vprovider.attributeIndexes()
2724
vprovider.select( allAttrs )
2825
fields = vprovider.fields()
29-
writer = QgsVectorFileWriter( output, systemEncoding, fields, QGis.WKBPoint, vprovider.crs() )
26+
writer = self.getOutputFromName(ExtractNodes.OUTPUT).getVectorWriter(fields, QGis.WKBPoint, vprovider.crs() )
3027
inFeat = QgsFeature()
3128
outFeat = QgsFeature()
3229
inGeom = QgsGeometry()

src/sextante/ftools/FixedDistanceBuffer.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,17 @@ def getIcon(self):
2525
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/buffer.png")
2626

2727
def processAlgorithm(self, progress):
28-
output = self.getOutputValue(FixedDistanceBuffer.OUTPUT)
28+
vlayer = QGisLayers.getObjectFromUri(self.getParameterValue(FixedDistanceBuffer.INPUT))
29+
vprovider = vlayer.dataProvider()
30+
allAttrs = vprovider.attributeIndexes()
31+
vprovider.select(allAttrs)
32+
writer = self.getOutputFromName(FixedDistanceBuffer.OUTPUT).getVectorWriter(vprovider.fields(), QGis.WKBPolygon, vprovider.crs() )
2933
useSelection = self.getParameterValue(FixedDistanceBuffer.USE_SELECTED)
3034
distance = self.getParameterValue(FixedDistanceBuffer.DISTANCE)
3135
dissolve = self.getParameterValue(FixedDistanceBuffer.DISSOLVE)
3236
segments = int(self.getParameterValue(FixedDistanceBuffer.SEGMENTS))
3337
layer = QGisLayers.getObjectFromUri(self.getParameterValue(FixedDistanceBuffer.INPUT))
34-
buff.buffering(progress, output, distance, None, useSelection, False, layer, dissolve, segments)
38+
buff.buffering(progress, writer, distance, None, useSelection, False, layer, dissolve, segments)
3539

3640
def defineCharacteristics(self):
3741
self.name = "Fixed distance buffer"

src/sextante/ftools/Intersection.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ def getIcon(self):
2424
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/intersect.png")
2525

2626
def processAlgorithm(self, progress):
27-
settings = QSettings()
28-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
29-
output = self.getOutputValue(Intersection.OUTPUT)
3027
useSelection = self.getParameterValue(Intersection.USE_SELECTED)
3128
useSelection2 = self.getParameterValue(Intersection.USE_SELECTED2)
3229
vlayerA = QGisLayers.getObjectFromUri(self.getParameterValue(Intersection.INPUT))
@@ -51,7 +48,7 @@ def processAlgorithm(self, progress):
5148
longNames = ftools_utils.checkFieldNameLength( fields )
5249
if not longNames.isEmpty():
5350
raise GeoAlgorithmExecutionException("Following field names are longer than 10 characters:\n" + longNames.join('\n') )
54-
writer = QgsVectorFileWriter( output, systemEncoding, fields, vproviderA.geometryType(), vproviderA.crs() )
51+
writer = self.getOutputFromName(Intersection.OUTPUT).getVectorWriter(fields, vproviderA.geometryType(), vproviderA.crs() )
5552
inFeatA = QgsFeature()
5653
inFeatB = QgsFeature()
5754
outFeat = QgsFeature()

src/sextante/ftools/LayerFromExtent.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ def getIcon(self):
1818
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/layer_extent.png")
1919

2020
def processAlgorithm(self, progress):
21-
settings = QSettings()
22-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
23-
output = self.getOutputValue(LayerFromExtent.OUTPUT)
2421
vlayer = QGisLayers.getObjectFromUri(self.getParameterValue(LayerFromExtent.INPUT))
2522
fields = {
2623
0 : QgsField( "MINX", QVariant.Double ),
@@ -34,7 +31,7 @@ def processAlgorithm(self, progress):
3431
8 : QgsField( "HEIGHT", QVariant.Double ),
3532
9 : QgsField( "WIDTH", QVariant.Double ) }
3633

37-
writer = QgsVectorFileWriter( output, systemEncoding, fields, QGis.WKBPolygon, self.vlayer.crs() )
34+
writer = self.getOutputFromName(LayerFromExtent.OUTPUT).getVectorWriter(fields, QGis.WKBPolygon, self.vlayer.crs() )
3835
rect = vlayer.extent()
3936
minx = rect.xMinimum()
4037
miny = rect.yMinimum()

src/sextante/ftools/LinesIntersection.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@ def getIcon(self):
2323
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/intersections.png")
2424

2525
def processAlgorithm(self, progress):
26-
settings = QSettings()
27-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
28-
output = self.getOutputValue(LinesIntersection.OUTPUT)
2926
layer1 = QGisLayers.getObjectFromUri(self.getParameterValue(LinesIntersection.INPUT1))
3027
layer2 = QGisLayers.getObjectFromUri(self.getParameterValue(LinesIntersection.INPUT2))
3128
field1 = self.getParameterValue(LinesIntersection.FIELD1)
@@ -46,11 +43,7 @@ def processAlgorithm(self, progress):
4643
field2.setName(unicode(field2.name()) + "_2")
4744
fieldList = {0:field1, 1:field2}
4845
sRs = provider1.crs()
49-
check = QFile(output)
50-
if check.exists():
51-
if not QgsVectorFileWriter.deleteShapeFile(output):
52-
raise GeoAlgorithmExecutionException("Could not delete existing output file")
53-
writer = QgsVectorFileWriter(output, systemEncoding, fieldList, QGis.WKBPoint, sRs)
46+
writer = self.getOutputFromName(LinesIntersection.OUTPUT).getVectorWriter(fieldList, QGis.WKBPoint, sRs)
5447
#writer = QgsVectorFileWriter(outPath, "UTF-8", fieldList, QGis.WKBPoint, sRs)
5548
inFeat = QgsFeature()
5649
inFeatB = QgsFeature()

src/sextante/ftools/LinesToPolygons.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,12 @@ def getIcon(self):
1717
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/to_lines.png")
1818

1919
def processAlgorithm(self, progress):
20-
settings = QSettings()
21-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
22-
output = self.getOutputValue(LinesToPolygons.OUTPUT)
2320
vlayer = QGisLayers.getObjectFromUri(self.getParameterValue(LinesToPolygons.INPUT))
2421
vprovider = vlayer.dataProvider()
2522
allAttrs = vprovider.attributeIndexes()
2623
vprovider.select( allAttrs )
2724
fields = vprovider.fields()
28-
writer = QgsVectorFileWriter( output, systemEncoding, fields, QGis.WKBPolygon, vprovider.crs() )
25+
writer = self.getOutputFromName(LinesToPolygons.OUTPUT).getVectorWriter(fields, QGis.WKBPolygon, vprovider.crs() )
2926
inFeat = QgsFeature()
3027
outFeat = QgsFeature()
3128
inGeom = QgsGeometry()

src/sextante/ftools/MeanCoords.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@ def getIcon(self):
2222
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/mean.png")
2323

2424
def processAlgorithm(self, progress):
25-
settings = QSettings()
26-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
27-
output = self.getOutputValue(MeanCoords.OUTPUT)
2825
vlayer = QGisLayers.getObjectFromUri(self.getParameterValue(MeanCoords.POINTS))
2926
weightField = self.getParameterValue(MeanCoords.WEIGHT)
3027
uniqueField = self.getParameterValue(MeanCoords.UID)
@@ -42,7 +39,7 @@ def processAlgorithm(self, progress):
4239
uniqueValues = [QVariant(1)]
4340
single = True
4441
fieldList = { 0 : QgsField("MEAN_X", QVariant.Double), 1 : QgsField("MEAN_Y", QVariant.Double), 2 : QgsField("UID", QVariant.String) }
45-
writer = QgsVectorFileWriter(output, systemEncoding, fieldList, QGis.WKBPoint, sRs)
42+
writer = self.getOutputFromName(MeanCoords.OUTPUT).getVectorWriter(fieldList, QGis.WKBPoint, sRs)
4643
outfeat = QgsFeature()
4744
points = []
4845
weights = []

src/sextante/ftools/MultipartToSingleparts.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,13 @@ def getIcon(self):
1818
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/multi_to_single.png")
1919

2020
def processAlgorithm(self, progress):
21-
settings = QSettings()
22-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
2321
vlayer = QGisLayers.getObjectFromUri(self.getParameterValue(self.INPUT))
24-
output = self.getOutputValue(self.OUTPUT)
2522
vprovider = vlayer.dataProvider()
2623
allAttrs = vprovider.attributeIndexes()
2724
vprovider.select( allAttrs )
2825
fields = vprovider.fields()
2926
geomType = self.multiToSingleGeom(vprovider.geometryType())
30-
writer = QgsVectorFileWriter( output, systemEncoding,
31-
fields, geomType, vprovider.crs() )
27+
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, geomType, vprovider.crs() )
3228
inFeat = QgsFeature()
3329
outFeat = QgsFeature()
3430
inGeom = QgsGeometry()

src/sextante/ftools/PointsInPolygon.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@ def getIcon(self):
2323
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/sum_points.png")
2424

2525
def processAlgorithm(self, progress):
26-
settings = QSettings()
27-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
28-
output = self.getOutputValue(PointsInPolygon.OUTPUT)
2926
inField = self.getParameterValue(PointsInPolygon.FIELD)
3027
polyLayer = QGisLayers.getObjectFromUri(self.getParameterValue(PointsInPolygon.POLYGONS))
3128
pointLayer = QGisLayers.getObjectFromUri(self.getParameterValue(PointsInPolygon.POINTS))
@@ -45,11 +42,7 @@ def processAlgorithm(self, progress):
4542
field = QgsField(unicode(inField), QVariant.Double, "real", 24, 15, "point count field")
4643
fieldList[index] = field
4744
sRs = polyProvider.crs()
48-
check = QFile(output)
49-
if check.exists():
50-
if not QgsVectorFileWriter.deleteShapeFile(output):
51-
raise GeoAlgorithmExecutionException("could not delete file: " + output)
52-
writer = QgsVectorFileWriter(output, systemEncoding, fieldList, polyProvider.geometryType(), sRs)
45+
writer = self.getOutputFromName(PointsInPolygon.OUTPUT).getVectorWriter(fieldList, polyProvider.geometryType(), sRs)
5346
inFeat = QgsFeature()
5447
inFeatB = QgsFeature()
5548
outFeat = QgsFeature()

src/sextante/ftools/PolygonsToLines.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,28 +18,22 @@ def getIcon(self):
1818
return QtGui.QIcon(os.path.dirname(__file__) + "/icons/to_lines.png")
1919

2020
def processAlgorithm(self, progress):
21-
settings = QSettings()
22-
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
23-
output = self.getOutputValue(PolygonsToLines.OUTPUT)
2421
vlayer = QGisLayers.getObjectFromUri(self.getParameterValue(PolygonsToLines.INPUT))
2522
vprovider = vlayer.dataProvider()
2623
allAttrs = vprovider.attributeIndexes()
2724
vprovider.select( allAttrs )
2825
fields = vprovider.fields()
29-
writer = QgsVectorFileWriter( output, systemEncoding,fields, QGis.WKBLineString, vprovider.crs() )
26+
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QGis.WKBLineString, vprovider.crs() )
3027
inFeat = QgsFeature()
3128
outFeat = QgsFeature()
3229
inGeom = QgsGeometry()
3330
outGeom = QgsGeometry()
3431
nFeat = vprovider.featureCount()
3532
nElement = 0
36-
#self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), 0)
37-
#self.emit( SIGNAL( "runRange(PyQt_PyObject)" ), ( 0, nFeat ) )
3833
while vprovider.nextFeature(inFeat):
3934
multi = False
4035
nElement += 1
4136
progress.setPercentage(int(nElement/nFeat * 100))
42-
#self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), nElement )
4337
inGeom = inFeat.geometry()
4438
if inGeom.isMultipart():
4539
multi = True

0 commit comments

Comments
 (0)