Skip to content

Commit ebc4a74

Browse files
committed
[processing] Add test for dissolve using field values
(cherry-picked from ccfd4c3)
1 parent d9a1ce8 commit ebc4a74

File tree

4 files changed

+181
-0
lines changed

4 files changed

+181
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<GMLFeatureClassList>
2+
<GMLFeatureClass>
3+
<Name>dissolve_polys</Name>
4+
<ElementPath>dissolve_polys</ElementPath>
5+
<GeometryType>3</GeometryType>
6+
<SRSName>EPSG:4326</SRSName>
7+
<DatasetSpecificInfo>
8+
<FeatureCount>10</FeatureCount>
9+
<ExtentXMin>-1.00000</ExtentXMin>
10+
<ExtentXMax>9.16296</ExtentXMax>
11+
<ExtentYMin>-3.00000</ExtentYMin>
12+
<ExtentYMax>6.08868</ExtentYMax>
13+
</DatasetSpecificInfo>
14+
<PropertyDefn>
15+
<Name>name</Name>
16+
<ElementPath>name</ElementPath>
17+
<Type>String</Type>
18+
<Width>2</Width>
19+
</PropertyDefn>
20+
<PropertyDefn>
21+
<Name>intval</Name>
22+
<ElementPath>intval</ElementPath>
23+
<Type>Integer</Type>
24+
</PropertyDefn>
25+
<PropertyDefn>
26+
<Name>floatval</Name>
27+
<ElementPath>floatval</ElementPath>
28+
<Type>Real</Type>
29+
</PropertyDefn>
30+
</GMLFeatureClass>
31+
</GMLFeatureClassList>
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
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>-1</gml:X><gml:Y>-3</gml:Y></gml:coord>
10+
<gml:coord><gml:X>9.162955854126682</gml:X><gml:Y>6.088675623800385</gml:Y></gml:coord>
11+
</gml:Box>
12+
</gml:boundedBy>
13+
14+
<gml:featureMember>
15+
<ogr:dissolve_polys fid="polys.0">
16+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>-1,-1 -1,3 3,3 3,2 2,2 2,-1 -1,-1</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
17+
<ogr:name>aa</ogr:name>
18+
<ogr:intval>1</ogr:intval>
19+
<ogr:floatval>44.123455999999997</ogr:floatval>
20+
</ogr:dissolve_polys>
21+
</gml:featureMember>
22+
<gml:featureMember>
23+
<ogr:dissolve_polys fid="polys.1">
24+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>6.241458733205375,-0.054510556621882 7.241458733205375,-1.054510556621882 5.241458733205375,-1.054510556621882 6.241458733205375,-0.054510556621882</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
25+
<ogr:name>dd</ogr:name>
26+
<ogr:floatval>0.000000000000000</ogr:floatval>
27+
</ogr:dissolve_polys>
28+
</gml:featureMember>
29+
<gml:featureMember>
30+
<ogr:dissolve_polys fid="polys.2">
31+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>2,5 2,6 3,6 3,5 2,5</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
32+
<ogr:name>bb</ogr:name>
33+
<ogr:intval>1</ogr:intval>
34+
<ogr:floatval>0.123000000000000</ogr:floatval>
35+
</ogr:dissolve_polys>
36+
</gml:featureMember>
37+
<gml:featureMember>
38+
<ogr:dissolve_polys fid="polys.3">
39+
<ogr:intval>120</ogr:intval>
40+
<ogr:floatval>-100291.432130000001052</ogr:floatval>
41+
</ogr:dissolve_polys>
42+
</gml:featureMember>
43+
<gml:featureMember>
44+
<ogr:dissolve_polys fid="polys.4">
45+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>3,2 6,1 6,-3 2,-1 2,2 3,2</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
46+
<ogr:name>aa</ogr:name>
47+
<ogr:intval>1</ogr:intval>
48+
<ogr:floatval>3.330000000000000</ogr:floatval>
49+
</ogr:dissolve_polys>
50+
</gml:featureMember>
51+
<gml:featureMember>
52+
<ogr:dissolve_polys fid="polys.5">
53+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>2.443378119001919,4.423608445297505 2.443378119001919,5.423608445297505 3.443378119001919,5.423608445297505 3.443378119001919,4.423608445297505 2.443378119001919,4.423608445297505</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
54+
<ogr:name>bb</ogr:name>
55+
<ogr:intval>1</ogr:intval>
56+
<ogr:floatval>0.123000000000000</ogr:floatval>
57+
</ogr:dissolve_polys>
58+
</gml:featureMember>
59+
<gml:featureMember>
60+
<ogr:dissolve_polys fid="polys.6">
61+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>4.172552783109405,4.822648752399233 4.172552783109405,5.822648752399233 5.172552783109405,5.822648752399233 5.172552783109405,4.822648752399233 4.172552783109405,4.822648752399233</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
62+
<ogr:name>bb</ogr:name>
63+
<ogr:intval>1</ogr:intval>
64+
<ogr:floatval>0.123000000000000</ogr:floatval>
65+
</ogr:dissolve_polys>
66+
</gml:featureMember>
67+
<gml:featureMember>
68+
<ogr:dissolve_polys fid="polys.7">
69+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>8.162955854126682,2.738771593090211 8.162955854126682,3.738771593090211 9.162955854126682,3.738771593090211 9.162955854126682,2.738771593090211 8.162955854126682,2.738771593090211</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
70+
<ogr:name>cc</ogr:name>
71+
<ogr:floatval>0.123000000000000</ogr:floatval>
72+
</ogr:dissolve_polys>
73+
</gml:featureMember>
74+
<gml:featureMember>
75+
<ogr:dissolve_polys fid="polys.9">
76+
<ogr:name>dd</ogr:name>
77+
</ogr:dissolve_polys>
78+
</gml:featureMember>
79+
<gml:featureMember>
80+
<ogr:dissolve_polys fid="polys.8">
81+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>2.620729366602688,5.088675623800385 2.620729366602688,6.088675623800385 3.620729366602688,6.088675623800385 3.620729366602688,5.088675623800385 2.620729366602688,5.088675623800385</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
82+
<ogr:name>bb</ogr:name>
83+
<ogr:intval>2</ogr:intval>
84+
<ogr:floatval>0.123000000000000</ogr:floatval>
85+
</ogr:dissolve_polys>
86+
</gml:featureMember>
87+
</ogr:FeatureCollection>
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="http://ogr.maptools.org/ dissolve_field.xsd"
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>-1</gml:X><gml:Y>-3</gml:Y></gml:coord>
10+
<gml:coord><gml:X>9.162955854126682</gml:X><gml:Y>6.088675623800385</gml:Y></gml:coord>
11+
</gml:Box>
12+
</gml:boundedBy>
13+
14+
<gml:featureMember>
15+
<ogr:dissolve_field fid="polys.0">
16+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>3,2 6,1 6,-3 2,-1 -1,-1 -1,3 3,3 3,2</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
17+
<ogr:name>aa</ogr:name>
18+
<ogr:intval>1</ogr:intval>
19+
<ogr:floatval>44.123456</ogr:floatval>
20+
</ogr:dissolve_field>
21+
</gml:featureMember>
22+
<gml:featureMember>
23+
<ogr:dissolve_field fid="polys.7">
24+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>8.162955854126682,2.738771593090211 8.162955854126682,3.738771593090211 9.162955854126682,3.738771593090211 9.162955854126682,2.738771593090211 8.162955854126682,2.738771593090211</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
25+
<ogr:name>cc</ogr:name>
26+
<ogr:floatval>0.123</ogr:floatval>
27+
</ogr:dissolve_field>
28+
</gml:featureMember>
29+
<gml:featureMember>
30+
<ogr:dissolve_field fid="polys.1">
31+
<ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>6.241458733205375,-0.054510556621882 7.241458733205375,-1.054510556621882 5.241458733205375,-1.054510556621882 6.241458733205375,-0.054510556621882</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
32+
<ogr:name>dd</ogr:name>
33+
<ogr:floatval>0</ogr:floatval>
34+
</ogr:dissolve_field>
35+
</gml:featureMember>
36+
<gml:featureMember>
37+
<ogr:dissolve_field fid="polys.3">
38+
<ogr:intval>120</ogr:intval>
39+
<ogr:floatval>-100291.43213</ogr:floatval>
40+
</ogr:dissolve_field>
41+
</gml:featureMember>
42+
<gml:featureMember>
43+
<ogr:dissolve_field fid="polys.2">
44+
<ogr:geometryProperty><gml:MultiPolygon srsName="EPSG:4326"><gml:polygonMember><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>4.172552783109405,4.822648752399233 4.172552783109405,5.822648752399233 5.172552783109405,5.822648752399233 5.172552783109405,4.822648752399233 4.172552783109405,4.822648752399233</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></gml:polygonMember><gml:polygonMember><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>2.443378119001919,4.423608445297505 2.443378119001919,5.0 2,5 2,6 2.620729366602688,6.0 2.620729366602688,6.088675623800385 3.620729366602688,6.088675623800385 3.620729366602688,5.088675623800385 3.443378119001919,5.088675623800385 3.443378119001919,4.423608445297505 2.443378119001919,4.423608445297505</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></gml:polygonMember></gml:MultiPolygon></ogr:geometryProperty>
45+
<ogr:name>bb</ogr:name>
46+
<ogr:intval>1</ogr:intval>
47+
<ogr:floatval>0.123</ogr:floatval>
48+
</ogr:dissolve_field>
49+
</gml:featureMember>
50+
</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
@@ -205,6 +205,18 @@ tests:
205205
name: expected/eliminate_largest_area.gml
206206
type: vector
207207

208+
- algorithm: qgis:dissolve
209+
name: Dissolve using field
210+
params:
211+
DISSOLVE_ALL: false
212+
FIELD: name
213+
INPUT:
214+
name: dissolve_polys.gml
215+
type: vector
216+
results:
217+
OUTPUT:
218+
name: expected/dissolve_field.gml
219+
type: vector
208220

209221
- name: Dissolve with geometries reported as valid but as invalid with isGeosValid
210222
algorithm: qgis:dissolve
@@ -318,3 +330,4 @@ tests:
318330
name: expected/merge_lines.gml
319331
type: vector
320332

333+

0 commit comments

Comments
 (0)