Skip to content

Commit 87f2fe5

Browse files
committedJan 31, 2017
Add unit test for processing polygonize algorithm
1 parent 14bd79f commit 87f2fe5

File tree

6 files changed

+146
-0
lines changed

6 files changed

+146
-0
lines changed
 

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ class Polygonize(GeoAlgorithm):
5151
def defineCharacteristics(self):
5252
self.name, self.i18n_name = self.trAlgorithm('Polygonize')
5353
self.group, self.i18n_group = self.trAlgorithm('Vector geometry tools')
54+
self.tags = self.tr('create,lines,polygons,convert')
5455
self.addParameter(ParameterVector(self.INPUT,
5556
self.tr('Input layer'), [dataobjects.TYPE_VECTOR_LINE]))
5657
self.addParameter(ParameterBoolean(self.FIELDS,
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<GMLFeatureClassList>
2+
<GMLFeatureClass>
3+
<Name>polygonize_lines</Name>
4+
<ElementPath>polygonize_lines</ElementPath>
5+
<!--LINESTRING-->
6+
<GeometryType>2</GeometryType>
7+
<SRSName>EPSG:4326</SRSName>
8+
<DatasetSpecificInfo>
9+
<FeatureCount>6</FeatureCount>
10+
<ExtentXMin>-0.80000</ExtentXMin>
11+
<ExtentXMax>0.80000</ExtentXMax>
12+
<ExtentYMin>-0.40000</ExtentYMin>
13+
<ExtentYMax>0.80000</ExtentYMax>
14+
</DatasetSpecificInfo>
15+
<PropertyDefn>
16+
<Name>id</Name>
17+
<ElementPath>id</ElementPath>
18+
<Type>Integer</Type>
19+
</PropertyDefn>
20+
</GMLFeatureClass>
21+
</GMLFeatureClassList>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<ogr:FeatureCollection
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation=""
5+
xmlns:ogr="http://ogr.maptools.org/"
6+
xmlns:gml="http://www.opengis.net/gml">
7+
<gml:boundedBy>
8+
<gml:Box>
9+
<gml:coord><gml:X>-0.8</gml:X><gml:Y>-0.4</gml:Y></gml:coord>
10+
<gml:coord><gml:X>0.8</gml:X><gml:Y>0.8</gml:Y></gml:coord>
11+
</gml:Box>
12+
</gml:boundedBy>
13+
14+
<gml:featureMember>
15+
<ogr:polygonize_lines fid="polygonize_lines.0">
16+
<ogr:geometryProperty><gml:LineString srsName="EPSG:4326"><gml:coordinates>-0.6,-0.4 -0.6,0.6 0.6,0.6</gml:coordinates></gml:LineString></ogr:geometryProperty>
17+
<ogr:id>1</ogr:id>
18+
</ogr:polygonize_lines>
19+
</gml:featureMember>
20+
<gml:featureMember>
21+
<ogr:polygonize_lines fid="polygonize_lines.1">
22+
<ogr:geometryProperty><gml:LineString srsName="EPSG:4326"><gml:coordinates>-0.0,0.8 0,0</gml:coordinates></gml:LineString></ogr:geometryProperty>
23+
<ogr:id>3</ogr:id>
24+
</ogr:polygonize_lines>
25+
</gml:featureMember>
26+
<gml:featureMember>
27+
<ogr:polygonize_lines fid="polygonize_lines.2">
28+
<ogr:geometryProperty><gml:LineString srsName="EPSG:4326"><gml:coordinates>0.2,0.4 -0.8,0.4</gml:coordinates></gml:LineString></ogr:geometryProperty>
29+
<ogr:id>2</ogr:id>
30+
</ogr:polygonize_lines>
31+
</gml:featureMember>
32+
<gml:featureMember>
33+
<ogr:polygonize_lines fid="polygonize_lines.3">
34+
<ogr:geometryProperty><gml:LineString srsName="EPSG:4326"><gml:coordinates>-0.8,0.2 0.6,0.2 -0.8,-0.4</gml:coordinates></gml:LineString></ogr:geometryProperty>
35+
<ogr:id>5</ogr:id>
36+
</ogr:polygonize_lines>
37+
</gml:featureMember>
38+
<gml:featureMember>
39+
<ogr:polygonize_lines fid="polygonize_lines.4">
40+
<ogr:geometryProperty><gml:LineString srsName="EPSG:4326"><gml:coordinates>0.8,0.6 0.8,0.0</gml:coordinates></gml:LineString></ogr:geometryProperty>
41+
<ogr:id>4</ogr:id>
42+
</ogr:polygonize_lines>
43+
</gml:featureMember>
44+
<gml:featureMember>
45+
<ogr:polygonize_lines fid="polygonize_lines.5">
46+
<ogr:geometryProperty><gml:LineString srsName="EPSG:4326"><gml:coordinates>0.8,0.6 0.8,0.0</gml:coordinates></gml:LineString></ogr:geometryProperty>
47+
<ogr:id>6</ogr:id>
48+
</ogr:polygonize_lines>
49+
</gml:featureMember>
50+
</ogr:FeatureCollection>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<GMLFeatureClassList>
2+
<GMLFeatureClass>
3+
<Name>polygonize</Name>
4+
<ElementPath>polygonize</ElementPath>
5+
<!--POLYGON-->
6+
<GeometryType>3</GeometryType>
7+
<SRSName>EPSG:4326</SRSName>
8+
<DatasetSpecificInfo>
9+
<FeatureCount>3</FeatureCount>
10+
<ExtentXMin>-0.60000</ExtentXMin>
11+
<ExtentXMax>0.60000</ExtentXMax>
12+
<ExtentYMin>-0.31429</ExtentYMin>
13+
<ExtentYMax>0.60000</ExtentYMax>
14+
</DatasetSpecificInfo>
15+
<PropertyDefn>
16+
<Name>area</Name>
17+
<ElementPath>area</ElementPath>
18+
<Type>Real</Type>
19+
</PropertyDefn>
20+
<PropertyDefn>
21+
<Name>perimeter</Name>
22+
<ElementPath>perimeter</ElementPath>
23+
<Type>Real</Type>
24+
</PropertyDefn>
25+
</GMLFeatureClass>
26+
</GMLFeatureClassList>
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<ogr:FeatureCollection
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation=""
5+
xmlns:ogr="http://ogr.maptools.org/"
6+
xmlns:gml="http://www.opengis.net/gml">
7+
<gml:boundedBy>
8+
<gml:Box>
9+
<gml:coord><gml:X>-0.6</gml:X><gml:Y>-0.3142857142857143</gml:Y></gml:coord>
10+
<gml:coord><gml:X>0.6</gml:X><gml:Y>0.6</gml:Y></gml:coord>
11+
</gml:Box>
12+
</gml:boundedBy>
13+
14+
<gml:featureMember>
15+
<ogr:polygonize fid="polygonize.0">
16+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>-0.6,0.2 0.0,0.2 0.6,0.2 -0.6,-0.314285714285714 -0.6,0.2</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
17+
<ogr:area>0.31</ogr:area>
18+
<ogr:perimeter>3.02</ogr:perimeter>
19+
</ogr:polygonize>
20+
</gml:featureMember>
21+
<gml:featureMember>
22+
<ogr:polygonize fid="polygonize.1">
23+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>0.0,0.2 -0.6,0.2 -0.6,0.4 0.0,0.4 0.0,0.2</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
24+
<ogr:area>0.12</ogr:area>
25+
<ogr:perimeter>1.60</ogr:perimeter>
26+
</ogr:polygonize>
27+
</gml:featureMember>
28+
<gml:featureMember>
29+
<ogr:polygonize fid="polygonize.2">
30+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>-0.6,0.4 -0.6,0.6 0.0,0.6 0.0,0.4 -0.6,0.4</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
31+
<ogr:area>0.12</ogr:area>
32+
<ogr:perimeter>1.60</ogr:perimeter>
33+
</ogr:polygonize>
34+
</gml:featureMember>
35+
</ogr:FeatureCollection>

‎python/plugins/processing/tests/testdata/qgis_algorithm_tests.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2299,3 +2299,16 @@ tests:
22992299
OUTPUT_LAYER:
23002300
name: expected/zonal_statistics.gml
23012301
type: vector
2302+
2303+
- algorithm: qgis:polygonize
2304+
name: Polygonize
2305+
params:
2306+
FIELDS: false
2307+
GEOMETRY: true
2308+
INPUT:
2309+
name: custom/polygonize_lines.gml
2310+
type: vector
2311+
results:
2312+
OUTPUT:
2313+
name: expected/polygonize.gml
2314+
type: vector

0 commit comments

Comments
 (0)
Please sign in to comment.