Skip to content

Commit cd0fefb

Browse files
p0ciskm-kuhn
authored andcommittedOct 19, 2016
[processing] Update voronoi classes for Python3; update expected data for multipoint Delaunay traingulation test
1 parent 3af2303 commit cd0fefb

File tree

4 files changed

+84
-57
lines changed

4 files changed

+84
-57
lines changed
 

‎python/plugins/processing/algs/qgis/Delaunay.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ def processAlgorithm(self, progress):
8282
total = 100.0 / len(features)
8383
for current, inFeat in enumerate(features):
8484
geom = QgsGeometry(inFeat.geometry())
85+
if geom.isEmpty():
86+
continue
8587
if geom.isMultipart():
8688
points = geom.asMultiPoint()
8789
else:

‎python/plugins/processing/algs/qgis/voronoi.py

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -391,17 +391,18 @@ def dump(self):
391391
# fix_print_with_import
392392
print("Site #%d (%g, %g)" % (self.sitenum, self.x, self.y))
393393

394-
def __cmp__(self, other):
394+
def __eq__(self, other):
395+
return (self.x==other.x) and (self.y==other.y)
396+
397+
def __lt__(self, other):
395398
if self.y < other.y:
396-
return -1
399+
return True
397400
elif self.y > other.y:
398-
return 1
401+
return False
399402
elif self.x < other.x:
400-
return -1
403+
return True
401404
elif self.x > other.x:
402-
return 1
403-
else:
404-
return 0
405+
return False
405406

406407
def distance(self, other):
407408
dx = self.x - other.x
@@ -505,17 +506,18 @@ def dump(self):
505506
# fix_print_with_import
506507
print("ystar: ", self.ystar)
507508

508-
def __cmp__(self, other):
509-
if self.ystar > other.ystar:
510-
return 1
511-
elif self.ystar < other.ystar:
512-
return -1
513-
elif self.vertex.x > other.vertex.x:
514-
return 1
509+
def __eq__(self, other):
510+
return (self.vertex.x==other.vertex.x) and (self.ystar==other.ystar)
511+
512+
def __lt__(self, other):
513+
if self.ystar < other.ystar:
514+
return True
515+
elif self.ystar > other.ystar:
516+
return False
515517
elif self.vertex.x < other.vertex.x:
516-
return -1
517-
else:
518-
return 0
518+
return True
519+
elif self.vertex.x > other.vertex.x:
520+
return False
519521

520522
def leftreg(self, default):
521523
if not self.edge:
@@ -791,7 +793,7 @@ def __init__(this, lst):
791793
def __iter__(this):
792794
return this
793795

794-
def next(this):
796+
def __next__(this):
795797
try:
796798
return next(this.generator)
797799
except StopIteration:
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<GMLFeatureClassList>
2+
<GMLFeatureClass>
3+
<Name>mp</Name>
4+
<ElementPath>mp</ElementPath>
5+
<!--POLYGON-->
6+
<GeometryType>3</GeometryType>
7+
<SRSName>EPSG:4326</SRSName>
8+
<DatasetSpecificInfo>
9+
<FeatureCount>9</FeatureCount>
10+
<ExtentXMin>0.00000</ExtentXMin>
11+
<ExtentXMax>8.00000</ExtentXMax>
12+
<ExtentYMin>-5.00000</ExtentYMin>
13+
<ExtentYMax>3.00000</ExtentYMax>
14+
</DatasetSpecificInfo>
15+
<PropertyDefn>
16+
<Name>POINTA</Name>
17+
<ElementPath>POINTA</ElementPath>
18+
<Type>Real</Type>
19+
</PropertyDefn>
20+
<PropertyDefn>
21+
<Name>POINTB</Name>
22+
<ElementPath>POINTB</ElementPath>
23+
<Type>Real</Type>
24+
</PropertyDefn>
25+
<PropertyDefn>
26+
<Name>POINTC</Name>
27+
<ElementPath>POINTC</ElementPath>
28+
<Type>Real</Type>
29+
</PropertyDefn>
30+
</GMLFeatureClass>
31+
</GMLFeatureClassList>

‎python/plugins/processing/tests/testdata/expected/multipoint_delaunay.gml

Lines changed: 31 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -14,81 +14,73 @@
1414
<gml:featureMember>
1515
<ogr:multipoint_delauney fid="multipoint_delauney.0">
1616
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>7,-1 8,-1 0,-5 7,-1</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
17-
<ogr:POINTA>8.000000000000000</ogr:POINTA>
18-
<ogr:POINTB>7.000000000000000</ogr:POINTB>
19-
<ogr:POINTC>6.000000000000000</ogr:POINTC>
17+
<ogr:POINTA>7.000000000000000</ogr:POINTA>
18+
<ogr:POINTB>6.000000000000000</ogr:POINTB>
19+
<ogr:POINTC>5.000000000000000</ogr:POINTC>
2020
</ogr:multipoint_delauney>
2121
</gml:featureMember>
2222
<gml:featureMember>
2323
<ogr:multipoint_delauney fid="multipoint_delauney.1">
2424
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>0,-5 4,1 7,-1 0,-5</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
25-
<ogr:POINTA>6.000000000000000</ogr:POINTA>
26-
<ogr:POINTB>5.000000000000000</ogr:POINTB>
27-
<ogr:POINTC>8.000000000000000</ogr:POINTC>
25+
<ogr:POINTA>5.000000000000000</ogr:POINTA>
26+
<ogr:POINTB>4.000000000000000</ogr:POINTB>
27+
<ogr:POINTC>7.000000000000000</ogr:POINTC>
2828
</ogr:multipoint_delauney>
2929
</gml:featureMember>
3030
<gml:featureMember>
3131
<ogr:multipoint_delauney fid="multipoint_delauney.2">
3232
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>0,-1 4,1 0,-5 0,-1</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
33-
<ogr:POINTA>9.000000000000000</ogr:POINTA>
34-
<ogr:POINTB>5.000000000000000</ogr:POINTB>
35-
<ogr:POINTC>6.000000000000000</ogr:POINTC>
33+
<ogr:POINTA>8.000000000000000</ogr:POINTA>
34+
<ogr:POINTB>4.000000000000000</ogr:POINTB>
35+
<ogr:POINTC>5.000000000000000</ogr:POINTC>
3636
</ogr:multipoint_delauney>
3737
</gml:featureMember>
3838
<gml:featureMember>
3939
<ogr:multipoint_delauney fid="multipoint_delauney.3">
40-
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>1,1 0,-1 0,0 1,1</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
41-
<ogr:POINTA>1.000000000000000</ogr:POINTA>
42-
<ogr:POINTB>9.000000000000000</ogr:POINTB>
43-
<ogr:POINTC>0.000000000000000</ogr:POINTC>
40+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>1,1 4,1 0,-1 1,1</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
41+
<ogr:POINTA>0.000000000000000</ogr:POINTA>
42+
<ogr:POINTB>4.000000000000000</ogr:POINTB>
43+
<ogr:POINTC>8.000000000000000</ogr:POINTC>
4444
</ogr:multipoint_delauney>
4545
</gml:featureMember>
4646
<gml:featureMember>
4747
<ogr:multipoint_delauney fid="multipoint_delauney.4">
48-
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>1,1 4,1 0,-1 1,1</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
48+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>2,2 4,1 1,1 2,2</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
4949
<ogr:POINTA>1.000000000000000</ogr:POINTA>
50-
<ogr:POINTB>5.000000000000000</ogr:POINTB>
51-
<ogr:POINTC>9.000000000000000</ogr:POINTC>
50+
<ogr:POINTB>4.000000000000000</ogr:POINTB>
51+
<ogr:POINTC>0.000000000000000</ogr:POINTC>
5252
</ogr:multipoint_delauney>
5353
</gml:featureMember>
5454
<gml:featureMember>
5555
<ogr:multipoint_delauney fid="multipoint_delauney.5">
56-
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>2,2 4,1 1,1 2,2</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
57-
<ogr:POINTA>2.000000000000000</ogr:POINTA>
58-
<ogr:POINTB>5.000000000000000</ogr:POINTB>
59-
<ogr:POINTC>1.000000000000000</ogr:POINTC>
60-
</ogr:multipoint_delauney>
61-
</gml:featureMember>
62-
<gml:featureMember>
63-
<ogr:multipoint_delauney fid="multipoint_delauney.6">
6456
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>5,2 7,-1 4,1 5,2</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
65-
<ogr:POINTA>4.000000000000000</ogr:POINTA>
66-
<ogr:POINTB>8.000000000000000</ogr:POINTB>
67-
<ogr:POINTC>5.000000000000000</ogr:POINTC>
57+
<ogr:POINTA>3.000000000000000</ogr:POINTA>
58+
<ogr:POINTB>7.000000000000000</ogr:POINTB>
59+
<ogr:POINTC>4.000000000000000</ogr:POINTC>
6860
</ogr:multipoint_delauney>
6961
</gml:featureMember>
7062
<gml:featureMember>
71-
<ogr:multipoint_delauney fid="multipoint_delauney.7">
63+
<ogr:multipoint_delauney fid="multipoint_delauney.6">
7264
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>3,3 4,1 2,2 3,3</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
73-
<ogr:POINTA>3.000000000000000</ogr:POINTA>
74-
<ogr:POINTB>5.000000000000000</ogr:POINTB>
75-
<ogr:POINTC>2.000000000000000</ogr:POINTC>
65+
<ogr:POINTA>2.000000000000000</ogr:POINTA>
66+
<ogr:POINTB>4.000000000000000</ogr:POINTB>
67+
<ogr:POINTC>1.000000000000000</ogr:POINTC>
7668
</ogr:multipoint_delauney>
7769
</gml:featureMember>
7870
<gml:featureMember>
79-
<ogr:multipoint_delauney fid="multipoint_delauney.8">
71+
<ogr:multipoint_delauney fid="multipoint_delauney.7">
8072
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>3,3 5,2 4,1 3,3</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
81-
<ogr:POINTA>3.000000000000000</ogr:POINTA>
82-
<ogr:POINTB>4.000000000000000</ogr:POINTB>
83-
<ogr:POINTC>5.000000000000000</ogr:POINTC>
73+
<ogr:POINTA>2.000000000000000</ogr:POINTA>
74+
<ogr:POINTB>3.000000000000000</ogr:POINTB>
75+
<ogr:POINTC>4.000000000000000</ogr:POINTC>
8476
</ogr:multipoint_delauney>
8577
</gml:featureMember>
8678
<gml:featureMember>
87-
<ogr:multipoint_delauney fid="multipoint_delauney.9">
79+
<ogr:multipoint_delauney fid="multipoint_delauney.8">
8880
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>5,2 8,-1 7,-1 5,2</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
89-
<ogr:POINTA>4.000000000000000</ogr:POINTA>
90-
<ogr:POINTB>7.000000000000000</ogr:POINTB>
91-
<ogr:POINTC>8.000000000000000</ogr:POINTC>
81+
<ogr:POINTA>3.000000000000000</ogr:POINTA>
82+
<ogr:POINTB>6.000000000000000</ogr:POINTB>
83+
<ogr:POINTC>7.000000000000000</ogr:POINTC>
9284
</ogr:multipoint_delauney>
9385
</gml:featureMember>
9486
</ogr:FeatureCollection>

0 commit comments

Comments
 (0)
Please sign in to comment.