1# See ../README.md for a description of the file format
2
3tests:
4
5  - algorithm: qgis:tininterpolation
6    name: TIN interpolation using attribute
7    params:
8      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
9      INTERPOLATION_DATA:
10        name: pointsz.gml::~::0::~::1::~::0
11        type: interpolation
12      METHOD: 0
13      PIXEL_SIZE: 0.1
14    results:
15      OUTPUT:
16        hash:
17          - bfb3616a73065c0cb41eb1c5c1e9e8812fe1c63019a6177adb1dfe3e
18          - 19bbd79d15b0ba7dbde05665d559e9806fdb1cd579df9222f9cc4d92
19          - 3dfa1e041f33a72abf72d2d706c03e11fa5274f152dec1db1661b8e0
20        type: rasterhash
21
22  - algorithm: qgis:tininterpolation
23    name: TIN interpolation using Z value
24    params:
25      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
26      INTERPOLATION_DATA:
27        name: pointsz.gml::~::1::~::-1::~::0
28        type: interpolation
29      METHOD: 0
30      PIXEL_SIZE: 0.1
31    results:
32      OUTPUT:
33        hash:
34          - bfb3616a73065c0cb41eb1c5c1e9e8812fe1c63019a6177adb1dfe3e
35          - 19bbd79d15b0ba7dbde05665d559e9806fdb1cd579df9222f9cc4d92
36          - 3dfa1e041f33a72abf72d2d706c03e11fa5274f152dec1db1661b8e0
37        type: rasterhash
38
39  - algorithm: qgis:tininterpolation
40    name: TIN interpolation with breaklines
41    params:
42      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
43      INTERPOLATION_DATA:
44        name: pointsz.gml::~::1::~::-1::~::0::|::breaklines.gml::~::0::~::1::~::2
45        type: interpolation
46      METHOD: 0
47      PIXEL_SIZE: 0.1
48    results:
49      OUTPUT:
50        hash:
51          - b8e49813c507b73cb39a5ad904b2d302ccb25c591a2e577b6405f982
52          - 19bbd79d15b0ba7dbde05665d559e9806fdb1cd579df9222f9cc4d92
53          - 3dfa1e041f33a72abf72d2d706c03e11fa5274f152dec1db1661b8e0
54        type: rasterhash
55
56  - algorithm: qgis:tininterpolation
57    name: TIN interpolation using attribute (old parameters)
58    params:
59      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
60      INTERPOLATION_DATA:
61        name: pointsz.gml::~::0::~::1::~::0
62        type: interpolation
63      METHOD: 0
64      COLUMNS: 80
65      ROWS: 80
66    results:
67      OUTPUT:
68        hash:
69          - bfb3616a73065c0cb41eb1c5c1e9e8812fe1c63019a6177adb1dfe3e
70          - 19bbd79d15b0ba7dbde05665d559e9806fdb1cd579df9222f9cc4d92
71          - 3dfa1e041f33a72abf72d2d706c03e11fa5274f152dec1db1661b8e0
72        type: rasterhash
73
74  - algorithm: qgis:tininterpolation
75    name: TIN interpolation using Z value (old parameters)
76    params:
77      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
78      INTERPOLATION_DATA:
79        name: pointsz.gml::~::1::~::-1::~::0
80        type: interpolation
81      METHOD: 0
82      COLUMNS: 80
83      ROWS: 80
84    results:
85      OUTPUT:
86        hash:
87          - bfb3616a73065c0cb41eb1c5c1e9e8812fe1c63019a6177adb1dfe3e
88          - 19bbd79d15b0ba7dbde05665d559e9806fdb1cd579df9222f9cc4d92
89          - 3dfa1e041f33a72abf72d2d706c03e11fa5274f152dec1db1661b8e0
90        type: rasterhash
91
92  - algorithm: qgis:tininterpolation
93    name: TIN interpolation with breaklines (old parameters)
94    params:
95      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
96      INTERPOLATION_DATA:
97        name: pointsz.gml::~::1::~::-1::~::0::|::breaklines.gml::~::0::~::1::~::2
98        type: interpolation
99      METHOD: 0
100      COLUMNS: 80
101      ROWS: 80
102    results:
103      OUTPUT:
104        hash:
105          - b8e49813c507b73cb39a5ad904b2d302ccb25c591a2e577b6405f982
106          - 19bbd79d15b0ba7dbde05665d559e9806fdb1cd579df9222f9cc4d92
107          - 3dfa1e041f33a72abf72d2d706c03e11fa5274f152dec1db1661b8e0
108        type: rasterhash
109
110  - algorithm: qgis:idwinterpolation
111    name: IDW interpolation using attribute
112    params:
113      DISTANCE_COEFFICIENT: 2.0
114      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
115      INTERPOLATION_DATA:
116        name: pointsz.gml::~::0::~::1::~::0
117        type: interpolation
118      PIXEL_SIZE: 0.1
119    results:
120      OUTPUT:
121        hash:
122          - 55dfd0e0e5ea300d2314785ab6aa1f4d941a4506e63d0d9e2b84e959
123          - b5fc06549f1b0ce3261f9fb8868bb6d082edcbfe409c89a82e2b7e7a
124        type: rasterhash
125
126  - algorithm: qgis:idwinterpolation
127    name: IDW interpolation using Z value
128    params:
129      DISTANCE_COEFFICIENT: 2.0
130      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
131      INTERPOLATION_DATA:
132        name: pointsz.gml::~::1::~::-1::~::0
133        type: interpolation
134      PIXEL_SIZE: 0.1
135    results:
136      OUTPUT:
137        hash:
138          - 55dfd0e0e5ea300d2314785ab6aa1f4d941a4506e63d0d9e2b84e959
139          - b5fc06549f1b0ce3261f9fb8868bb6d082edcbfe409c89a82e2b7e7a
140        type: rasterhash
141
142  - algorithm: qgis:idwinterpolation
143    name: IDW interpolation with breaklines
144    params:
145      DISTANCE_COEFFICIENT: 2.0
146      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
147      INTERPOLATION_DATA:
148        name: pointsz.gml::~::1::~::-1::~::0::|::breaklines.gml::~::0::~::1::~::2
149        type: interpolation
150      PIXEL_SIZE: 0.1
151    results:
152      OUTPUT:
153        hash:
154          - d53cd7327d53bd4b8fb2de8b206e5aa0a1366963f2b63f58c2b7926e
155          - b5fc06549f1b0ce3261f9fb8868bb6d082edcbfe409c89a82e2b7e7a
156        type: rasterhash
157
158  - algorithm: qgis:idwinterpolation
159    name: IDW interpolation using attribute (old parameters)
160    params:
161      DISTANCE_COEFFICIENT: 2.0
162      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
163      INTERPOLATION_DATA:
164        name: pointsz.gml::~::0::~::1::~::0
165        type: interpolation
166      COLUMNS: 80
167      ROWS: 80
168    results:
169      OUTPUT:
170        hash:
171          - 55dfd0e0e5ea300d2314785ab6aa1f4d941a4506e63d0d9e2b84e959
172          - b5fc06549f1b0ce3261f9fb8868bb6d082edcbfe409c89a82e2b7e7a
173        type: rasterhash
174
175  - algorithm: qgis:idwinterpolation
176    name: IDW interpolation using Z value (old parameters)
177    params:
178      DISTANCE_COEFFICIENT: 2.0
179      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
180      INTERPOLATION_DATA:
181        name: pointsz.gml::~::1::~::-1::~::0
182        type: interpolation
183      COLUMNS: 80
184      ROWS: 80
185    results:
186      OUTPUT:
187        hash:
188          - 55dfd0e0e5ea300d2314785ab6aa1f4d941a4506e63d0d9e2b84e959
189          - b5fc06549f1b0ce3261f9fb8868bb6d082edcbfe409c89a82e2b7e7a
190        type: rasterhash
191
192  - algorithm: qgis:idwinterpolation
193    name: IDW interpolation with breaklines (old parameters)
194    params:
195      DISTANCE_COEFFICIENT: 2.0
196      EXTENT: 0.000000000,8.000000000,-5.000000000,3.000000000 [EPSG:4326]
197      INTERPOLATION_DATA:
198        name: pointsz.gml::~::1::~::-1::~::0::|::breaklines.gml::~::0::~::1::~::2
199        type: interpolation
200      COLUMNS: 80
201      ROWS: 80
202    results:
203      OUTPUT:
204        hash:
205          - d53cd7327d53bd4b8fb2de8b206e5aa0a1366963f2b63f58c2b7926e
206          - b5fc06549f1b0ce3261f9fb8868bb6d082edcbfe409c89a82e2b7e7a
207        type: rasterhash
208
209  - algorithm: native:removenullgeometries
210    name: Remove null geometries (do not remove empty)
211    params:
212      INPUT:
213        name: polys.gml
214        type: vector
215    results:
216      OUTPUT:
217        name: expected/remove_null_polys.gml
218        type: vector
219
220  - algorithm: native:removenullgeometries
221    name: Remove null geometries (remove empty)
222    params:
223      INPUT:
224        name: polys.gml
225        type: vector
226      REMOVE_EMPTY: true
227    results:
228      OUTPUT:
229        name: expected/remove_null_polys.gml
230        type: vector
231
232  - algorithm: native:removenullgeometries
233    name: Remove null geometries (do not remove empty, but there is empty data)
234    params:
235      INPUT:
236        name: custom/multi_polys_with_empty_geoms.gpkg|layername=multi_polys_with_empty_geoms
237        type: vector
238    results:
239      OUTPUT:
240        name: ogr:dbname='expected/multi_polys_non_null_one_empty.gpkg' table="output" (geom) sql=
241        uri: expected/multi_polys_non_null_one_empty.gpkg|layername=multi_polys_non_null_one_empty
242        type: vector
243
244  - algorithm: native:removenullgeometries
245    name: Remove null geometries (remove empty, and there is empty data)
246    params:
247      INPUT:
248        name: custom/multi_polys_with_empty_geoms.gpkg|layername=multi_polys_with_empty_geoms
249        type: vector
250      REMOVE_EMPTY: true
251    results:
252      OUTPUT:
253        name: expected/multi_polys_non_null_non_empty.gml
254        type: vector
255
256  - algorithm: native:removenullgeometries
257    name: Remove null geometries, 2 outputs (do not remove empty, but there is empty data)
258    params:
259      INPUT:
260        name: custom/multi_polys_with_empty_geoms.gpkg|layername=multi_polys_with_empty_geoms
261        type: vector
262    results:
263      OUTPUT:
264        name: ogr:dbname='expected/results_remove_null_geometries.gpkg' table="output" (geom) sql=
265        uri: expected/results_remove_null_geometries.gpkg|layername=do_not_remove_empty_non_null
266        type: vector
267      NULL_OUTPUT:
268        name: ogr:dbname='expected/results_remove_null_geometries.gpkg' table="output" (geom) sql=
269        uri: expected/results_remove_null_geometries.gpkg|layername=do_not_remove_empty_null
270        type: vector
271
272  - algorithm: native:removenullgeometries
273    name: Remove null geometries, 2 outputs (remove empty, and there is empty data)
274    params:
275      INPUT:
276        name: custom/multi_polys_with_empty_geoms.gpkg|layername=multi_polys_with_empty_geoms
277        type: vector
278      REMOVE_EMPTY: true
279    results:
280      OUTPUT:
281        name: ogr:dbname='expected/results_remove_null_geometries.gpkg' table="output" (geom) sql=
282        uri: expected/results_remove_null_geometries.gpkg|layername=remove_empty_non_null
283        type: vector
284      NULL_OUTPUT:
285        name: ogr:dbname='expected/results_remove_null_geometries.gpkg' table="output" (geom) sql=
286        uri: expected/results_remove_null_geometries.gpkg|layername=remove_empty_null
287        type: vector
288
289  - algorithm: native:extractbyexpression
290    name: Extract by Expression
291    params:
292      EXPRESSION: left( "Name",1)='A'
293      INPUT:
294        name: polys.gml
295        type: vector
296    results:
297      OUTPUT:
298        name: expected/extract_expression.gml
299        type: vector
300
301  - algorithm: native:extendlines
302    name: Extend lines
303    params:
304      END_DISTANCE: 0.2
305      INPUT:
306        name: lines.gml
307        type: vector
308      START_DISTANCE: 0.1
309    results:
310      OUTPUT:
311        name: expected/extend_lines.gml
312        type: vector
313        compare:
314          geometry:
315            precision: 7
316  - algorithm: native:extendlines
317    name: Extend multilines
318    params:
319      END_DISTANCE: 0.4
320      INPUT:
321        name: multilines.gml
322        type: vector
323      START_DISTANCE: 0.2
324    results:
325      OUTPUT:
326        name: expected/extend_multilines.gml
327        type: vector
328
329  - algorithm: native:extractspecificvertices
330    name: Extract specific vertices lines
331    params:
332      INPUT:
333        name: lines.gml
334        type: vector
335      VERTICES: 0,-1,2,-2
336    results:
337      OUTPUT:
338        name: expected/extract_specific_nodes_lines.gml
339        type: vector
340        compare:
341          fields:
342            fid: skip
343
344  - algorithm: native:extractspecificvertices
345    name: Extract specific vertices polygons
346    params:
347      INPUT:
348        name: polys.gml
349        type: vector
350      VERTICES: 0,-1,5,-5
351    results:
352      OUTPUT:
353        name: expected/extract_specific_nodes_polys.gml
354        type: vector
355        compare:
356          fields:
357            fid: skip
358
359  - algorithm: native:fuzzifyrasterlinearmembership
360    name: Test (native:fuzzifyrasterlinearmembership)
361    params:
362      BAND: 1
363      FUZZYHIGHBOUND: 100.0
364      FUZZYLOWBOUND: 200.0
365      INPUT:
366        name: dem.tif
367        type: raster
368    results:
369      OUTPUT:
370        hash: ed9591139fed080e0b5b789052b881c8fddb25c106ff14e89cbb06c5
371        type: rasterhash
372
373  - algorithm: native:fuzzifyrasterlinearmembership
374    name: Test (native:fuzzifyrasterlinearmembership)
375    params:
376      BAND: 1
377      FUZZYHIGHBOUND: 200.0
378      FUZZYLOWBOUND: 100.0
379      INPUT:
380        name: dem.tif
381        type: raster
382    results:
383      OUTPUT:
384        hash: 980df1d095601a885a7518038cdb327d83366db6f33a3fe307eab149
385        type: rasterhash
386
387  - algorithm: native:fuzzifyrasterpowermembership
388    name: Test (native:fuzzifyrasterpowermembership)
389    params:
390      BAND: 1
391      FUZZYEXPONENT: 2.0
392      FUZZYHIGHBOUND: 100.0
393      FUZZYLOWBOUND: 200.0
394      INPUT:
395        name: dem.tif
396        type: raster
397    results:
398      OUTPUT:
399        hash: d18f956cb94d09a449a62299408e442973f4391415a9005d4d6850dc
400        type: rasterhash
401
402  - algorithm: native:fuzzifyrasterpowermembership
403    name: Test (native:fuzzifyrasterpowermembership)
404    params:
405      BAND: 1
406      FUZZYEXPONENT: 2.0
407      FUZZYHIGHBOUND: 200.0
408      FUZZYLOWBOUND: 100.0
409      INPUT:
410        name: dem.tif
411        type: raster
412    results:
413      OUTPUT:
414        hash: 782bcc1851b9e73b8c962d4850e356c3dab11999ee41dce9dd2aea5f
415        type: rasterhash
416
417  - algorithm: native:fuzzifyrasterlargemembership
418    name: Test (native:fuzzifyrasterlargemembership)
419    params:
420      BAND: 1
421      FUZZYMIDPOINT: 100.0
422      FUZZYSPREAD: 5.0
423      INPUT:
424        name: dem.tif
425        type: raster
426    results:
427      OUTPUT:
428        hash: d4479a5077235cffe4586f40a7c867139a50347f8312fd443c130ccb
429        type: rasterhash
430
431  - algorithm: native:fuzzifyrastersmallmembership
432    name: Test (native:fuzzifyrastersmallmembership)
433    params:
434      BAND: 1
435      FUZZYMIDPOINT: 100.0
436      FUZZYSPREAD: 5.0
437      INPUT:
438        name: dem.tif
439        type: raster
440    results:
441      OUTPUT:
442        hash: 31569e93dbdd82c85cbf72c4ceb521015bd143e2106968a413a4ec6c
443        type: rasterhash
444
445  - algorithm: native:fuzzifyrastergaussianmembership
446    name: Test (native:fuzzifyrastergaussianmembership)
447    params:
448      BAND: 1
449      FUZZYMIDPOINT: 100.0
450      FUZZYSPREAD: 0.01
451      INPUT:
452        name: dem.tif
453        type: raster
454    results:
455      OUTPUT:
456        hash: e51532915836f3e77695fb8d650a2d1e0984a5be8e8bbf4df677d160
457        type: rasterhash
458
459  - algorithm: native:fuzzifyrasternearmembership
460    name: Test (native:fuzzifyrasternearmembership)
461    params:
462      BAND: 1
463      FUZZYMIDPOINT: 100.0
464      FUZZYSPREAD: 0.01
465      INPUT:
466        name: dem.tif
467        type: raster
468    results:
469      OUTPUT:
470        hash: 71aecb383a686d78ea0e677901a8a93f822b9897d7a9e23ba4ebf24d
471        type: rasterhash
472
473  - algorithm: native:geometrybyexpression
474    name: Geometry by expression (point)
475    params:
476      EXPRESSION: 'translate( $geometry,1,1)'
477      INPUT:
478        name: points.gml
479        type: vector
480      OUTPUT_GEOMETRY: '0'
481      WITH_M: false
482      WITH_Z: false
483    results:
484      OUTPUT:
485        name: expected/geometry_by_expression_point.gml
486        type: vector
487
488  - algorithm: native:geometrybyexpression
489    name: Geometry by expression (polygon)
490    params:
491      EXPRESSION: ' translate( centroid($geometry),1,1)'
492      INPUT:
493        name: polys.gml
494        type: vector
495      OUTPUT_GEOMETRY: '2'
496      WITH_M: false
497      WITH_Z: false
498    results:
499      OUTPUT:
500        name: expected/geometry_by_expression_poly.gml
501        type: vector
502        compare:
503          geometry:
504            precision: 7
505
506  - algorithm: native:geometrybyexpression
507    name: Geometry by expression (line)
508    params:
509      EXPRESSION: ' translate( $geometry,1,1)'
510      INPUT:
511        name: lines.gml
512        type: vector
513      OUTPUT_GEOMETRY: '1'
514      WITH_M: false
515      WITH_Z: false
516    results:
517      OUTPUT:
518        name: expected/geometry_by_expression_line.gml
519        type: vector
520
521  - algorithm: native:snapgeometries
522    name: Snap lines to lines
523    params:
524      BEHAVIOR: '0'
525      INPUT:
526        name: snap_lines.gml
527        type: vector
528      REFERENCE_LAYER:
529        name: lines.gml
530        type: vector
531      TOLERANCE: 1.0
532    results:
533      OUTPUT:
534        name: expected/snap_lines_to_lines.gml
535        type: vector
536
537  - algorithm: native:snapgeometries
538    name: Snap polygons to polygons
539    params:
540      BEHAVIOR: '0'
541      INPUT:
542        name: snap_polys.gml
543        type: vector
544      REFERENCE_LAYER:
545        name: polys.gml
546        type: vector
547      TOLERANCE: 1.0
548    results:
549      OUTPUT:
550        name: expected/snap_polys_to_polys.gml
551        type: vector
552
553  - algorithm: native:snapgeometries
554    name: Snap points to points
555    params:
556      BEHAVIOR: '0'
557      INPUT:
558        name: snap_points.gml
559        type: vector
560      REFERENCE_LAYER:
561        name: points.gml
562        type: vector
563      TOLERANCE: 1.0
564    results:
565      OUTPUT:
566        name: expected/snap_points_to_points.gml
567        type: vector
568
569  - algorithm: native:snapgeometries
570    name: Snap points to lines (prefer nodes)
571    params:
572      BEHAVIOR: '0'
573      INPUT:
574        name: snap_points.gml
575        type: vector
576      REFERENCE_LAYER:
577        name: lines.gml
578        type: vector
579      TOLERANCE: 1.0
580    results:
581      OUTPUT:
582        name: expected/snap_point_to_lines_prefer_nodes.gml
583        type: vector
584
585  - algorithm: native:snapgeometries
586    name: Snap points to lines (prefer closest)
587    params:
588      BEHAVIOR: '1'
589      INPUT:
590        name: snap_points.gml
591        type: vector
592      REFERENCE_LAYER:
593        name: lines.gml
594        type: vector
595      TOLERANCE: 1.0
596    results:
597      OUTPUT:
598        name: expected/snap_point_to_lines_prefer_closest.gml
599        type: vector
600
601  - algorithm: native:snapgeometries
602    name: Snap internal
603    params:
604      BEHAVIOR: '0'
605      INPUT:
606        name: custom/snap_internal.gml
607        type: vector
608      REFERENCE_LAYER:
609        name: custom/snap_internal.gml
610        type: vector
611      TOLERANCE: 1.0
612    results:
613      OUTPUT:
614        name: expected/snap_internal.gml
615        type: vector
616
617  - algorithm: native:snapgeometries
618    name: Test Snap Geometries (to each other)
619    params:
620      BEHAVIOR: '7'
621      INPUT:
622        name: custom/snap_geometries.geojson
623        type: vector
624      REFERENCE_LAYER:
625        name: custom/snap_geometries.geojson
626        type: vector
627      TOLERANCE: 0.5
628    results:
629      OUTPUT:
630        name: expected/snap_geometries.gml
631        type: vector
632
633  - algorithm: native:poleofinaccessibility
634    name: Pole of inaccessibility (polygons)
635    params:
636      INPUT:
637        name: polys.gml
638        type: vector
639      TOLERANCE: 1.0e-05
640    results:
641      OUTPUT:
642        name: expected/pole_inaccessibility_polys.gml
643        type: vector
644        compare:
645          geometry:
646            precision: 7
647
648  - algorithm: native:extractbyattribute
649    name: Extract by attribute (is null)
650    params:
651      FIELD: intval
652      INPUT:
653        name: polys.gml
654        type: vector
655      OPERATOR: '8'
656    results:
657      OUTPUT:
658        name: expected/extract_by_attribute_null.gml
659        type: vector
660
661  - algorithm: native:extractbyattribute
662    name: Extract by attribute (is not null)
663    params:
664      FIELD: intval
665      INPUT:
666        name: polys.gml
667        type: vector
668      OPERATOR: '9'
669    results:
670      OUTPUT:
671        name: expected/extract_by_attribute_not_null.gml
672        type: vector
673
674  - algorithm: native:extractbyattribute
675    name: Extract by attribute (bad field)
676    params:
677      FIELD: notafield
678      INPUT:
679        name: polys.gml
680        type: vector
681      OPERATOR: '9'
682    results:
683      OUTPUT:
684        name: expected/failure.gml
685        type: vector
686    expectedException: true
687
688  - algorithm: native:extractbyattribute
689    name: Extract by attribute (starts with)
690    params:
691      FIELD: name
692      INPUT:
693        name: polys.gml
694        type: vector
695      OPERATOR: '6'
696      VALUE: A
697    results:
698      OUTPUT:
699        name: expected/extract_by_attribute_startswith.gml
700        type: vector
701
702  - algorithm: native:extractbyattribute
703    name: Extract by attribute (contains)
704    params:
705      FIELD: name
706      INPUT:
707        name: polys.gml
708        type: vector
709      OPERATOR: '7'
710      VALUE: aaa
711    results:
712      OUTPUT:
713        name: expected/extract_by_attribute_contains.gml
714        type: vector
715
716  - algorithm: native:extractbyattribute
717    name: Extract by attribute (does not contain)
718    params:
719      FIELD: name
720      INPUT:
721        name: polys.gml
722        type: vector
723      OPERATOR: '10'
724      VALUE: a
725    results:
726      OUTPUT:
727        name: expected/extract_by_attribute_does_not_contain.gml
728        type: vector
729
730  - algorithm: native:extractbyattribute
731    name: Extract by attribute (greater)
732    params:
733      FIELD: floatval
734      INPUT:
735        name: polys.gml
736        type: vector
737      OPERATOR: '2'
738      VALUE: '1'
739    results:
740      OUTPUT:
741        name: expected/extract_by_attribute_greater.gml
742        type: vector
743
744  - algorithm: qgis:deletecolumn
745    name: Delete columns (multiple)
746    params:
747      COLUMN: floatval;name;xxxxxx
748      INPUT:
749        name: polys.gml
750        type: vector
751    results:
752      OUTPUT:
753        name: expected/delete_columns.gml
754        type: vector
755
756  - algorithm: qgis:deletecolumn
757    name: Delete columns (single)
758    params:
759      COLUMN: intval
760      INPUT:
761        name: polys.gml
762        type: vector
763    results:
764      OUTPUT:
765        name: expected/delete_column.gml
766        type: vector
767
768  - algorithm: native:createpointslayerfromtable
769    name: Create points from table
770    params:
771      INPUT:
772        name: create_points.gml
773        type: table
774      MFIELD: mcoord
775      TARGET_CRS: EPSG:4326
776      XFIELD: xcoord
777      YFIELD: ycoord
778      ZFIELD: zcoord
779    results:
780      OUTPUT:
781        name: expected/create_points.gml
782        type: vector
783
784  - algorithm: native:splitwithlines
785    name: Split poly with lines
786    params:
787      INPUT:
788        name: polys.gml
789        type: vector
790      LINES:
791        name: lines.gml
792        type: vector
793    results:
794      OUTPUT:
795        name: expected/split_polys_with_lines.shp
796        type: vector
797        compare:
798          geometry:
799            precision: 7
800          fields:
801            fid: skip
802
803  - algorithm: native:splitwithlines
804    name: Split lines with same lines
805    params:
806      INPUT:
807        name: lines.gml
808        type: vector
809      LINES:
810        name: lines.gml
811        type: vector
812    results:
813      OUTPUT:
814        name: expected/split_lines_with_same2.shp
815        type: vector
816        compare:
817          geometry:
818            precision: 7
819          fields:
820            fid: skip
821
822  # Split lines with lines considers two cases
823  # case 1: two different layers
824  - algorithm: native:splitwithlines
825    name: Split lines with lines
826    params:
827      INPUT:
828        name: lines.gml
829        type: vector
830      LINES:
831        name: custom/lines2.gml
832        type: vector
833    results:
834      OUTPUT:
835        name: expected/split_lines_with_lines.shp
836        type: vector
837        compare:
838          geometry:
839            precision: 7
840          fields:
841            fid: skip
842
843  # case 2 split line layer with iself
844  - algorithm: native:splitwithlines
845    name: Split lines with same lines (2)
846    params:
847      INPUT:
848        name: custom/lines2.gml
849        type: vector
850      LINES:
851        name: custom/lines2.gml
852        type: vector
853    results:
854      OUTPUT:
855        name: expected/split_lines_with_lines_same.shp
856        type: vector
857        compare:
858          geometry:
859            precision: 7
860          fields:
861            fid: skip
862
863  - algorithm: native:dropgeometries
864    name: Drop geometries
865    params:
866      INPUT:
867        name: polys.gml
868        type: vector
869    results:
870      OUTPUT:
871        name: expected/dropped_geometry.csv
872        type: vector
873
874  - algorithm: native:creategrid
875    name: Create grid (lines)
876    params:
877      CRS: EPSG:4326
878      EXTENT: -1,11.2,-4,6.5
879      HSPACING: 5.0
880      TYPE: '1'
881      VSPACING: 3.0
882    results:
883      OUTPUT:
884        name: expected/grid_lines.gml
885        type: vector
886        compare:
887          geometry:
888            precision: 7
889          fields:
890            left:
891              precision: 7
892            right:
893              precision: 7
894            top:
895              precision: 7
896            bottom:
897              precision: 7
898
899  - algorithm: native:creategrid
900    name: Create grid (rectangles)
901    params:
902      CRS: EPSG:4326
903      EXTENT: -1,11.2,-4,6.5
904      HSPACING: 5.0
905      TYPE: '2'
906      VSPACING: 3.0
907    results:
908      OUTPUT:
909        name: expected/grid_rectangles.gml
910        type: vector
911        compare:
912          geometry:
913            precision: 7
914          fields:
915            left:
916              precision: 7
917            right:
918              precision: 7
919            top:
920              precision: 7
921            bottom:
922              precision: 7
923
924  - algorithm: native:creategrid
925    name: Create grid (diamond)
926    params:
927      CRS: EPSG:4326
928      EXTENT: -1,11.2,-4,6.5
929      HSPACING: 5.0
930      TYPE: '3'
931      VSPACING: 3.0
932    results:
933      OUTPUT:
934        name: expected/grid_diamond.gml
935        type: vector
936        compare:
937          geometry:
938            precision: 7
939          fields:
940            left:
941              precision: 7
942            right:
943              precision: 7
944            top:
945              precision: 7
946            bottom:
947              precision: 7
948
949  - algorithm: native:creategrid
950    name: Create grid (hexagon)
951    params:
952      CRS: EPSG:4326
953      EXTENT: -1,11.2,-4,6.5
954      HSPACING: 5.0
955      TYPE: '4'
956      VSPACING: 5.0
957    results:
958      OUTPUT:
959        name: expected/grid_hexagon.gml
960        type: vector
961        compare:
962          geometry:
963            precision: 7
964          fields:
965            left:
966              precision: 7
967            right:
968              precision: 7
969            top:
970              precision: 7
971            bottom:
972              precision: 7
973
974  - algorithm: native:creategrid
975    name: Create grid (lines with overlay)
976    params:
977      CRS: EPSG:4326
978      EXTENT: -1,11.2,-4,6.5
979      HOVERLAY: 2.0
980      HSPACING: 5.0
981      TYPE: '1'
982      VOVERLAY: 1.0
983      VSPACING: 3.0
984    results:
985      OUTPUT:
986        name: expected/grid_lines_overlay.gml
987        type: vector
988        compare:
989          fields:
990            left:
991              precision: 7
992            right:
993              precision: 7
994            top:
995              precision: 7
996            bottom:
997              precision: 7
998
999  - algorithm: native:creategrid
1000    name: Create grid (rectangle with overlay)
1001    params:
1002      CRS: EPSG:4326
1003      EXTENT: -1,11.2,-4,6.5
1004      HOVERLAY: 2.0
1005      HSPACING: 5.0
1006      TYPE: '2'
1007      VOVERLAY: 1.0
1008      VSPACING: 3.0
1009    results:
1010      OUTPUT:
1011        name: expected/grid_rectangle_overlay.gml
1012        type: vector
1013        compare:
1014          geometry:
1015            precision: 7
1016          fields:
1017            left:
1018              precision: 7
1019            right:
1020              precision: 7
1021            top:
1022              precision: 7
1023            bottom:
1024              precision: 7
1025
1026  - algorithm: native:creategrid
1027    name: Create grid (diamond with overlay)
1028    params:
1029      CRS: EPSG:4326
1030      EXTENT: -1,11.2,-4,6.5
1031      HOVERLAY: 2.0
1032      HSPACING: 5.0
1033      TYPE: '3'
1034      VOVERLAY: 1.0
1035      VSPACING: 3.0
1036    results:
1037      OUTPUT:
1038        name: expected/grid_diamond_overlay.gml
1039        type: vector
1040        compare:
1041          geometry:
1042            precision: 7
1043          fields:
1044            left:
1045              precision: 7
1046            right:
1047              precision: 7
1048            top:
1049              precision: 7
1050            bottom:
1051              precision: 7
1052
1053  - algorithm: native:creategrid
1054    name: Create grid (hexagon with overlay)
1055    params:
1056      CRS: EPSG:4326
1057      EXTENT: -1,11.2,-4,6.5
1058      HOVERLAY: 2.0
1059      HSPACING: 5.0
1060      TYPE: '4'
1061      VOVERLAY: 1.0
1062      VSPACING: 5.0
1063    results:
1064      OUTPUT:
1065        name: expected/grid_hexagon_overlay.gml
1066        type: vector
1067        compare:
1068          geometry:
1069            precision: 7
1070          fields:
1071            left:
1072              precision: 7
1073            right:
1074              precision: 7
1075            top:
1076              precision: 7
1077            bottom:
1078              precision: 7
1079
1080  - algorithm: native:deleteholes
1081    name: Delete holes (no min)
1082    params:
1083      INPUT:
1084        name: custom/remove_holes.gml
1085        type: vector
1086      MIN_AREA: 0.0
1087    results:
1088      OUTPUT:
1089        name: expected/removed_holes.gml
1090        type: vector
1091
1092  - algorithm: native:deleteholes
1093    name: Delete holes (with min)
1094    params:
1095      INPUT:
1096        name: custom/remove_holes.gml
1097        type: vector
1098      MIN_AREA: 5.0
1099    results:
1100      OUTPUT:
1101        name: expected/removed_holes_min_area.gml
1102        type: vector
1103
1104  - algorithm: qgis:basicstatisticsforfields
1105    name: Basic stats datetime
1106    params:
1107      FIELD_NAME: date_time
1108      INPUT_LAYER:
1109        name: custom/datetimes.tab
1110        type: table
1111    results:
1112      OUTPUT_HTML_FILE:
1113        name: expected/basic_statistics_datetime.html
1114        type: regex
1115        rules:
1116          - 'Analyzed field: date_time'
1117          - 'Count: 4'
1118          - 'Unique values: 4'
1119          - 'Minimum value: 2014-11-30T14:30:02'
1120          - 'Maximum value: 2016-11-30T14:29:22'
1121          - 'NULL \(missing\) values: 1'
1122
1123  - algorithm: qgis:basicstatisticsforfields
1124    name: Basic stats date
1125    params:
1126      FIELD_NAME: date
1127      INPUT_LAYER:
1128        name: custom/datetimes.tab
1129        type: table
1130    results:
1131      OUTPUT_HTML_FILE:
1132        name: expected/basic_statistics_date.html
1133        type: regex
1134        rules:
1135          - 'Analyzed field: date'
1136          - 'Count: 4'
1137          - 'Unique values: 4'
1138          - 'Minimum value: 2014-11-30T00:00:00'
1139          - 'Maximum value: 2016-11-30T00:00:00'
1140          - 'NULL \(missing\) values: 1'
1141
1142  - algorithm: qgis:basicstatisticsforfields
1143    name: Basic stats time
1144    params:
1145      FIELD_NAME: time
1146      INPUT_LAYER:
1147        name: custom/datetimes.tab
1148        type: table
1149    results:
1150      OUTPUT_HTML_FILE:
1151        name: expected/basic_statistics_time.html
1152        type: regex
1153        rules:
1154          - 'Analyzed field: time'
1155          - 'Count: 4'
1156          - 'Unique values: 4'
1157          - 'Minimum value: 03:29:40'
1158          - 'Maximum value: 15:29:22'
1159          - 'NULL \(missing\) values: 1'
1160
1161  - algorithm: qgis:rastercalculator
1162    name: Raster Calculator with cellsize
1163    params:
1164      LAYERS:
1165        params:
1166          - name: dem.tif
1167            type: raster
1168        type: multi
1169      CELLSIZE: 0.001
1170      EXPRESSION: dem@1
1171    results:
1172      OUTPUT:
1173        hash: 525577c05dd999239d9c6f95fd5e70d96355da3a0ea71bfcf021e729
1174        type: rasterhash
1175
1176  - algorithm: qgis:rastercalculator
1177    name: Raster Calculator
1178    params:
1179      LAYERS:
1180        params:
1181          - name: dem.tif
1182            type: raster
1183        type: multi
1184      CELLSIZE: 0.0
1185      EXPRESSION: dem@1 * 2
1186    results:
1187      OUTPUT:
1188        hash: 98daf025230ec9d031f7502c6a80a3b04dd060808d6b7bcb4328e87c
1189        type: rasterhash
1190
1191  - algorithm: native:orientedminimumboundingbox
1192    name: Oriented minimum bounding box polys
1193    params:
1194      INPUT:
1195        name: custom/oriented_bbox.gml
1196        type: vector
1197    results:
1198      OUTPUT:
1199        name: expected/oriented_bounds.gml
1200        type: vector
1201        compare:
1202          geometry:
1203            precision: 7
1204
1205  - algorithm: native:orthogonalize
1206    name: Orthogonalize polys
1207    params:
1208      INPUT:
1209        name: custom/polys_to_orth.gml
1210        type: vector
1211    results:
1212      OUTPUT:
1213        name: expected/orthagonal_polys.gml # SPELLOK
1214        type: vector
1215        compare:
1216          geometry:
1217            precision: 7
1218
1219  - algorithm: native:orthogonalize
1220    name: Orthogonalize lines
1221    params:
1222      INPUT:
1223        name: custom/lines_to_orth.gml
1224        type: vector
1225    results:
1226      OUTPUT:
1227        name: expected/orthagonal_lines.gml # SPELLOK
1228        type: vector
1229        compare:
1230          geometry:
1231            precision: 7
1232
1233  - algorithm: qgis:refactorfields
1234    name: refactor fields
1235    params:
1236      INPUT:
1237        name: multipolys.gml
1238        type: vector
1239      FIELDS_MAPPING:
1240        - expression: '@row_number'
1241          name: 'row_number'
1242          type: 2
1243          length: 0
1244          precision: 0
1245        - expression: >
1246            "fid" || ' - ' || "Bname"
1247          name: 'Bname'
1248          type: 10
1249          length: 30
1250          precision: 0
1251        - expression: '"Bintval" + 1'
1252          name: 'Bintval'
1253          type: 2
1254          length: 0
1255          precision: 0
1256        - expression: '"Bfloatval" * 2'
1257          name: 'Bfloatval'
1258          type: 6
1259          length: 0
1260          precision: 0
1261    results:
1262      OUTPUT:
1263        name: expected/refactorfields.gml
1264        type: vector
1265
1266  - algorithm: qgis:refactorfields
1267    name: Refactor fields, empty expression
1268    params:
1269      FIELDS_MAPPING:
1270        - expression: '"fid"'
1271          length: 0
1272          name: fid
1273          precision: 0
1274          type: 10
1275        - expression: '"id"'
1276          length: 0
1277          name: id
1278          precision: 0
1279          type: 2
1280        - expression: '"id2"'
1281          length: 0
1282          name: id2
1283          precision: 0
1284          type: 2
1285        - expression: ''
1286          length: 0
1287          name: no_exp
1288          precision: 0
1289          type: 10
1290      INPUT:
1291        name: points.gml
1292        type: vector
1293    results:
1294      OUTPUT:
1295        name: expected/refactor_fields_null.gml
1296        type: vector
1297
1298  - algorithm: native:reprojectlayer
1299    name: reproject vector layer
1300    params:
1301      INPUT:
1302        name: points.gml
1303        type: vector
1304      TARGET_CRS: EPSG:3857
1305    results:
1306      OUTPUT:
1307        name: expected/reprojected.gml
1308        type: vector
1309        compare:
1310          geometry:
1311            precision: 7
1312
1313  - algorithm: qgis:variabledistancebuffer
1314    name: variable buffer on points
1315    params:
1316      DISSOLVE: false
1317      FIELD: buffer
1318      INPUT:
1319        name: custom/variable_buffer.gml
1320        type: vector
1321      SEGMENTS: 5
1322    results:
1323      OUTPUT:
1324        name: expected/variable_buffer_points.gml
1325        type: vector
1326        compare:
1327          geometry:
1328            precision: 5
1329
1330  - algorithm: qgis:variabledistancebuffer
1331    name: variable buffer on points with dissolve option
1332    params:
1333      DISSOLVE: true
1334      FIELD: buffer
1335      INPUT:
1336        name: custom/variable_buffer.gml
1337        type: vector
1338      SEGMENTS: 5
1339    results:
1340      OUTPUT:
1341        name: expected/variable_buffer_points_dissolved.gml
1342        type: vector
1343        compare:
1344          geometry:
1345            precision: 5
1346          fields:
1347            id: skip
1348            id2: skip
1349            fid: skip
1350
1351
1352  - algorithm: native:adduniquevalueindexfield
1353    name: add unique field based on another field
1354    params:
1355      FIELD: id2
1356      INPUT:
1357        name: points.gml
1358        type: vector
1359    results:
1360      OUTPUT:
1361        name: expected/add_unique_field.gml
1362        type: vector
1363
1364  - algorithm: native:adduniquevalueindexfield
1365    name: Add unique field summary
1366    params:
1367      FIELD: id2
1368      FIELD_NAME: classes
1369      INPUT:
1370        name: points.gml
1371        type: vector
1372    results:
1373      SUMMARY_OUTPUT:
1374        name: expected/add_unique_field_summary.gml
1375        type: vector
1376        compare:
1377          fields:
1378            fid: skip
1379        pk:
1380          - id2
1381
1382  - algorithm: qgis:linestopolygons
1383    name: convert lines to polygon
1384    params:
1385      INPUT:
1386        name: lines.gml
1387        type: vector
1388    results:
1389      OUTPUT:
1390        name: expected/lines_to_polygon.gml
1391        type: vector
1392
1393  - algorithm: native:snappointstogrid
1394    name: Gridify polys
1395    params:
1396      INPUT:
1397        name: polys.gml
1398        type: vector
1399      HSPACING: 2
1400      VSPACING: 2
1401    results:
1402      OUTPUT:
1403        name: expected/gridify_polys.gml
1404        type: vector
1405
1406  - algorithm: native:snappointstogrid
1407    name: Gridify lines
1408    params:
1409      INPUT:
1410        name: lines.gml
1411        type: vector
1412      HSPACING: 2
1413      VSPACING: 2
1414    results:
1415      OUTPUT:
1416        name: expected/gridify_lines.gml
1417        type: vector
1418
1419  - algorithm: qgis:distancetonearesthubpoints
1420    name: Hub distance points
1421    params:
1422      INPUT:
1423        name: points.gml
1424        type: vector
1425      HUBS:
1426        name: custom/hub_points.gml
1427        type: vector
1428      FIELD: name
1429      UNIT: 0
1430    results:
1431      OUTPUT:
1432        name: expected/hub_distance_points.gml
1433        type: vector
1434
1435  - algorithm: qgis:distancetonearesthublinetohub
1436    name: Hub distance lines
1437    params:
1438      INPUT:
1439        name: points.gml
1440        type: vector
1441      HUBS:
1442        name: custom/hub_points.gml
1443        type: vector
1444      FIELD: name
1445      UNIT: 0
1446    results:
1447      OUTPUT:
1448        name: expected/hub_distance_lines.gml
1449        type: vector
1450
1451  - algorithm: native:hublines
1452    name: Hub lines
1453    params:
1454      HUBS:
1455        name: points.gml
1456        type: vector
1457      SPOKES:
1458        name: custom/spoke_points.gml
1459        type: vector
1460      HUB_FIELD: id
1461      SPOKE_FIELD: id
1462    results:
1463      OUTPUT:
1464        name: expected/hub_lines.gml
1465        type: vector
1466
1467  - algorithm: native:hublines
1468    name: Hub lines (with polygons)
1469    params:
1470      HUBS:
1471        name: dissolve_polys.gml
1472        type: vector
1473      HUB_FIELD: intval
1474      SPOKES:
1475        name: points.gml
1476        type: vector
1477      SPOKE_FIELD: id
1478    results:
1479      OUTPUT:
1480        name: expected/hub_lines_to_poly.gml
1481        type: vector
1482        compare:
1483          fields:
1484            fid: skip
1485            fid_2: skip
1486
1487  - algorithm: native:hublines
1488    name: Hub lines ( with z )
1489    params:
1490      HUBS:
1491        name: multipoints.gml
1492        type: vector
1493      HUB_FIELD: d
1494      SPOKES:
1495        name: pointsz.gml
1496        type: vector
1497      SPOKE_FIELD: elev
1498    results:
1499      OUTPUT:
1500        name: expected/hub_lines_multi_to_z.gml
1501        type: vector
1502        compare:
1503          fields:
1504            fid: skip
1505            fid_2: skip
1506
1507  - algorithm: native:hublines
1508    name: Hub lines subset of fields
1509    params:
1510      HUBS:
1511        name: points.gml
1512        type: vector
1513      HUB_FIELD: id
1514      HUB_FIELDS:
1515        - id
1516        - id2
1517      SPOKES:
1518        name: custom/spoke_points.gml
1519        type: vector
1520      SPOKE_FIELD: id
1521      SPOKE_FIELDS:
1522        - name
1523    results:
1524      OUTPUT:
1525        name: expected/hub_lines_field_subset.gml
1526        type: vector
1527
1528  - algorithm: native:hublines
1529    name: Hub lines geodesic
1530    ellipsoid: GRS80
1531    project_crs: EPSG:4326
1532    params:
1533      ANTIMERIDIAN_SPLIT: false
1534      GEODESIC: true
1535      GEODESIC_DISTANCE: 1000.0
1536      HUBS:
1537        name: custom/geodesic_hub.shp
1538        type: vector
1539      HUB_FIELD: id
1540      SPOKES:
1541        name: custom/geodesic_spoke.shp
1542        type: vector
1543      SPOKE_FIELD: id
1544    results:
1545      OUTPUT:
1546        name: expected/geodesic_hub_no_split.shp
1547        type: vector
1548        compare:
1549          geometry:
1550            precision: 6
1551
1552  - algorithm: native:hublines
1553    name: Hub lines, geodesic, split
1554    ellipsoid: GRS80
1555    project_crs: EPSG:4326
1556    params:
1557      ANTIMERIDIAN_SPLIT: true
1558      GEODESIC: true
1559      GEODESIC_DISTANCE: 1000.0
1560      HUBS:
1561        name: custom/geodesic_hub.shp
1562        type: vector
1563      HUB_FIELD: id
1564      SPOKES:
1565        name: custom/geodesic_spoke.shp
1566        type: vector
1567      SPOKE_FIELD: id
1568    results:
1569      OUTPUT:
1570        name: expected/geodesic_hub_split.shp
1571        type: vector
1572        compare:
1573          geometry:
1574            precision: 6
1575
1576  - algorithm: qgis:pointstopath
1577    name: Points to path (non grouped)
1578    params:
1579      INPUT:
1580        name: points.gml
1581        type: vector
1582      ORDER_FIELD: id
1583    results:
1584      OUTPUT:
1585        name: expected/points_to_path.gml
1586        type: vector
1587
1588  - algorithm: qgis:pointstopath
1589    name: Points to path (grouped)
1590    params:
1591      INPUT:
1592        name: points.gml
1593        type: vector
1594      ORDER_FIELD: id
1595      GROUP_FIELD: id2
1596    results:
1597      OUTPUT:
1598        name:
1599          - expected/points_to_path_grouped.gml
1600          - expected/points_to_path_grouped2.gml
1601        type: vector
1602
1603  - algorithm: qgis:pointstopath
1604    name: Points to path (close path)
1605    params:
1606      ORDER_FIELD: id
1607      CLOSE_PATH: true
1608      INPUT:
1609        name: points.gml
1610        type: vector
1611    results:
1612      OUTPUT:
1613        name: expected/points_to_path_close_path.gml
1614        type: vector
1615
1616  - algorithm: native:joinattributestable
1617    name: join the attribute table by common field (one-to-one)
1618    params:
1619      INPUT:
1620        name: points.gml
1621        type: vector
1622      INPUT_2:
1623        name: table.dbf
1624        type: table
1625      FIELD: id
1626      FIELD_2: ID
1627    results:
1628      OUTPUT:
1629        name: expected/join_attribute_table.gml
1630        type: vector
1631
1632  - algorithm: native:joinattributestable
1633    name: Join with prefix
1634    params:
1635      DISCARD_NONMATCHING: false
1636      FIELD: id
1637      FIELD_2: ID
1638      INPUT:
1639        name: points.gml
1640        type: vector
1641      INPUT_2:
1642        name: table.dbf
1643        type: vector
1644      METHOD: 1
1645      PREFIX: j_
1646    results:
1647      OUTPUT:
1648        name: expected/join_attributes_with_prefix.gml
1649        type: vector
1650
1651  - algorithm: native:joinattributestable
1652    name: join the attribute table by common field, discard non matching (one-to-one)
1653    params:
1654      METHOD: 1
1655      INPUT:
1656        name: points.gml
1657        type: vector
1658      INPUT_2:
1659        name: table2.dbf
1660        type: table
1661      FIELD: id
1662      FIELD_2: ID
1663      DISCARD_NONMATCHING: true
1664    results:
1665      OUTPUT:
1666        name: expected/join_attribute_table_discard_nonmatching.gml
1667        type: vector
1668
1669  - algorithm: native:joinattributestable
1670    name: join the attribute table by common field (one-to-many)
1671    params:
1672      METHOD: 0
1673      INPUT:
1674        name: points.gml
1675        type: vector
1676      INPUT_2:
1677        name: table.dbf
1678        type: table
1679      FIELD: id
1680      FIELD_2: ID
1681    results:
1682      OUTPUT:
1683        name: expected/join_attribute_table_all_match.gml
1684        type: vector
1685
1686  - algorithm: native:joinattributestable
1687    name: Join attributes table with subset of fields
1688    params:
1689      FIELD: id
1690      FIELDS_TO_COPY:
1691        - NUM_A
1692      FIELD_2: ID
1693      INPUT:
1694        name: points.gml
1695        type: vector
1696      INPUT_2:
1697        name: table.dbf
1698        type: vector
1699    results:
1700      OUTPUT:
1701        name: expected/join_attribute_table_subset.gml
1702        type: vector
1703
1704  - algorithm: native:joinattributestable
1705    name: Join attributes table, saving unjoinable features
1706    params:
1707      DISCARD_NONMATCHING: false
1708      FIELD: id
1709      FIELD_2: ID
1710      INPUT:
1711        name: points.gml
1712        type: vector
1713      INPUT_2:
1714        name: table2.dbf
1715        type: vector
1716      METHOD: 1
1717      PREFIX: ''
1718    results:
1719      NON_MATCHING:
1720        name: expected/join_attribute_table_unjoinable.gml
1721        type: vector
1722
1723  - algorithm: native:shortestpathpointtopoint
1724    name: Shortest path (point to point, shortest route)
1725    params:
1726      DEFAULT_DIRECTION: 2
1727      DEFAULT_SPEED: 5.0
1728      END_POINT: 1003712.4162500285,6222484.5571899945 [EPSG:32733]
1729      INPUT:
1730        name: roads.gml
1731        type: vector
1732      START_POINT: 1000997.5971978485,6220343.83965781 [EPSG:32733]
1733      STRATEGY: 0
1734      TOLERANCE: 0.0
1735      VALUE_BACKWARD: ''
1736      VALUE_BOTH: ''
1737      VALUE_FORWARD: ''
1738    results:
1739      OUTPUT:
1740        name: expected/shortest.gml
1741        type: vector
1742        compare:
1743          ignore_crs_check: true
1744          geometry:
1745            precision: 2
1746          fields:
1747            cost:
1748              precision: 2
1749            start: skip
1750            end: skip
1751
1752  - algorithm: native:shortestpathpointtopoint
1753    name: Shortest path (point to point, fastest route)
1754    params:
1755      DEFAULT_DIRECTION: 2
1756      DEFAULT_SPEED: 5.0
1757      END_POINT: 1003731.877318503,6222474.826655758 [EPSG:32733]
1758      INPUT:
1759        name: roads.gml
1760        type: vector
1761      SPEED_FIELD: SPEED
1762      START_POINT: 1000997.5971978485,6220324.378589335 [EPSG:32733]
1763      STRATEGY: 1
1764      TOLERANCE: 0.0
1765      VALUE_BACKWARD: ''
1766      VALUE_BOTH: ''
1767      VALUE_FORWARD: ''
1768    results:
1769      OUTPUT:
1770        name: expected/fastest.gml
1771        type: vector
1772        compare:
1773          ignore_crs_check: true
1774          geometry:
1775            precision: 2
1776          fields:
1777            cost:
1778              precision: 2
1779            start: skip
1780            end: skip
1781
1782  - algorithm: native:shortestpathlayertopoint
1783    name: Shortest path layer to point
1784    params:
1785      DEFAULT_DIRECTION: 2
1786      DEFAULT_SPEED: 5.0
1787      END_POINT: 1004160.8843928401,6223198.426763908 [EPSG:32733]
1788      INPUT:
1789        name: roads.gml
1790        type: vector
1791      START_POINTS:
1792        name: custom/route_points.gml
1793        type: vector
1794      STRATEGY: 0
1795      TOLERANCE: 0.0
1796      VALUE_BACKWARD: ''
1797      VALUE_BOTH: ''
1798      VALUE_FORWARD: ''
1799    results:
1800      OUTPUT:
1801        name: expected/shortest_path_layer_to_point.shp
1802        type: vector
1803        compare:
1804          geometry:
1805            precision: 2
1806          fields:
1807            cost:
1808              precision: 2
1809            start: skip
1810            end: skip
1811
1812  - algorithm: native:shortestpathpointtolayer
1813    name: Shortest path point to layer
1814    params:
1815      DEFAULT_DIRECTION: 2
1816      DEFAULT_SPEED: 5.0
1817      END_POINTS:
1818        name: custom/route_points.gml
1819        type: vector
1820      INPUT:
1821        name: roads.gml
1822        type: vector
1823      START_POINT: 1001285.5030045575,6219636.580449594 [EPSG:32733]
1824      STRATEGY: 0
1825      TOLERANCE: 0.0
1826      VALUE_BACKWARD: ''
1827      VALUE_BOTH: ''
1828      VALUE_FORWARD: ''
1829    results:
1830      OUTPUT:
1831        name: expected/shortest_path_point_to_layer.shp
1832        type: vector
1833        compare:
1834          geometry:
1835            precision: 2
1836          fields:
1837            cost:
1838              precision: 2
1839            start: skip
1840            end: skip
1841
1842  - algorithm: native:serviceareafrompoint
1843    name: Service area from point (shortest, nodes)
1844    params:
1845      DEFAULT_DIRECTION: 2
1846      DEFAULT_SPEED: 50.0
1847      INCLUDE_BOUNDS: false
1848      INPUT:
1849        name: roads.gml
1850        type: vector
1851      START_POINT: 1002465.0089601517,6221875.432489508 [EPSG:32733]
1852      STRATEGY: 0
1853      TOLERANCE: 0.0
1854      TRAVEL_COST: 700.0
1855      VALUE_BACKWARD: ''
1856      VALUE_BOTH: ''
1857      VALUE_FORWARD: ''
1858    results:
1859      OUTPUT:
1860        name: expected/service_area_from_point_nodes.gml
1861        type: vector
1862        compare:
1863          ignore_crs_check: true
1864          geometry:
1865            precision: 2
1866          fields:
1867            cost:
1868              precision: 2
1869            start: skip
1870            end: skip
1871
1872  - algorithm: native:serviceareafrompoint
1873    name: Service area from point (shortest, nodes, bounds)
1874    params:
1875      DEFAULT_DIRECTION: 2
1876      DEFAULT_SPEED: 50.0
1877      INCLUDE_BOUNDS: true
1878      INPUT:
1879        name: roads.gml
1880        type: vector
1881      START_POINT: 1002465.0089601517,6221875.432489508 [EPSG:32733]
1882      STRATEGY: 0
1883      TOLERANCE: 0.0
1884      TRAVEL_COST: 700.0
1885      VALUE_BACKWARD: ''
1886      VALUE_BOTH: ''
1887      VALUE_FORWARD: ''
1888    results:
1889      OUTPUT:
1890        name: expected/service_area_from_point_nodes_bounds.gml
1891        type: vector
1892
1893  - algorithm: native:serviceareafrompoint
1894    name: Service area from point (shortest, lines)
1895    params:
1896      DEFAULT_DIRECTION: 2
1897      DEFAULT_SPEED: 50.0
1898      INCLUDE_BOUNDS: false
1899      INPUT:
1900        name: roads.gml
1901        type: vector
1902      START_POINT: 1003654.8065293541,6222397.723338357 [EPSG:32733]
1903      STRATEGY: 0
1904      TOLERANCE: 0.0
1905      TRAVEL_COST: 400.0
1906      VALUE_BACKWARD: ''
1907      VALUE_BOTH: ''
1908      VALUE_FORWARD: ''
1909    results:
1910      OUTPUT_LINES:
1911        name: expected/service_area_from_point_lines.gml
1912        type: vector
1913        compare:
1914          ignore_crs_check: true
1915          geometry:
1916            precision: 2
1917          fields:
1918            cost:
1919              precision: 2
1920            start: skip
1921            end: skip
1922
1923  - algorithm: native:serviceareafrompoint
1924    name: Service area from point (fastest, old parameter)
1925    params:
1926      DEFAULT_DIRECTION: 2
1927      DEFAULT_SPEED: 50.0
1928      INCLUDE_BOUNDS: false
1929      INPUT:
1930        name: roads.gml|layername=roads
1931        type: vector
1932      START_POINT: 1002424.321122,6221845.996330 [EPSG:32733]
1933      STRATEGY: 1
1934      TOLERANCE: 0.0
1935      TRAVEL_COST: 36
1936      VALUE_BACKWARD: ''
1937      VALUE_BOTH: ''
1938      VALUE_FORWARD: ''
1939    results:
1940      OUTPUT:
1941        name: expected/service_area_fastest_nodes.gml
1942        type: vector
1943      OUTPUT_LINES:
1944        name: expected/service_area_fastests_lines.gml
1945        type: vector
1946
1947  - algorithm: native:serviceareafrompoint
1948    name: Service area from point (fastest, new parameter)
1949    params:
1950      DEFAULT_DIRECTION: 2
1951      DEFAULT_SPEED: 50.0
1952      INCLUDE_BOUNDS: false
1953      INPUT:
1954        name: roads.gml|layername=roads
1955        type: vector
1956      START_POINT: 1002424.321122,6221845.996330 [EPSG:32733]
1957      STRATEGY: 1
1958      TOLERANCE: 0.0
1959      TRAVEL_COST2: 0.01
1960      VALUE_BACKWARD: ''
1961      VALUE_BOTH: ''
1962      VALUE_FORWARD: ''
1963    results:
1964      OUTPUT:
1965        name: expected/service_area_fastest_nodes.gml
1966        type: vector
1967      OUTPUT_LINES:
1968        name: expected/service_area_fastests_lines.gml
1969        type: vector
1970
1971  - algorithm: native:serviceareafromlayer
1972    name: Service area from layer (shortest, nodes)
1973    params:
1974      DEFAULT_DIRECTION: 2
1975      DEFAULT_SPEED: 50.0
1976      INCLUDE_BOUNDS: false
1977      INPUT:
1978        name: roads.gml
1979        type: vector
1980      START_POINTS:
1981        name: custom/route_points.gml
1982        type: vector
1983      STRATEGY: 0
1984      TOLERANCE: 0.0
1985      TRAVEL_COST: 700.0
1986      VALUE_BACKWARD: ''
1987      VALUE_BOTH: ''
1988      VALUE_FORWARD: ''
1989    results:
1990      OUTPUT:
1991        name: expected/service_area_from_layer_nodes.gml
1992        type: vector
1993        compare:
1994          ignore_crs_check: true
1995          geometry:
1996            precision: 2
1997          fields:
1998            cost:
1999              precision: 2
2000            start: skip
2001            end: skip
2002        pk:
2003          - d
2004          - type
2005
2006  - algorithm: native:serviceareafromlayer
2007    name: Service area from layer (shortest, nodes, boundary)
2008    params:
2009      DEFAULT_DIRECTION: 2
2010      DEFAULT_SPEED: 50.0
2011      INCLUDE_BOUNDS: true
2012      INPUT:
2013        name: roads.gml
2014        type: vector
2015      START_POINTS:
2016        name: custom/route_points.gml
2017        type: vector
2018      STRATEGY: 0
2019      TOLERANCE: 0.0
2020      TRAVEL_COST: 700.0
2021      VALUE_BACKWARD: ''
2022      VALUE_BOTH: ''
2023      VALUE_FORWARD: ''
2024    results:
2025      OUTPUT:
2026        name: expected/service_area_from_layer_nodes_bounds.shp
2027        type: vector
2028        compare:
2029          ignore_crs_check: true
2030          geometry:
2031            precision: 2
2032
2033  - algorithm: native:serviceareafromlayer
2034    name: Service area from layer (shortest, lines)
2035    params:
2036      DEFAULT_DIRECTION: 2
2037      DEFAULT_SPEED: 50.0
2038      INCLUDE_BOUNDS: false
2039      INPUT:
2040        name: roads.gml
2041        type: vector
2042      START_POINTS:
2043        name: custom/route_points.gml
2044        type: vector
2045      STRATEGY: 0
2046      TOLERANCE: 0.0
2047      TRAVEL_COST: 700.0
2048      VALUE_BACKWARD: ''
2049      VALUE_BOTH: ''
2050      VALUE_FORWARD: ''
2051    results:
2052      OUTPUT_LINES:
2053        name: expected/service_area_from_layer_lines.gml
2054        type: vector
2055        compare:
2056          ignore_crs_check: true
2057          geometry:
2058            precision: 2
2059          fields:
2060            cost:
2061              precision: 2
2062            start: skip
2063            end: skip
2064        pk:
2065          - d
2066          - type
2067
2068  - algorithm: native:createattributeindex
2069    name: Create attribute index
2070    params:
2071      FIELD: id
2072      INPUT:
2073        name: custom/points.shp
2074        type: vector
2075        in_place: true
2076    results:
2077      INPUT:
2078        name: expected/create_attr_index_points.shp
2079        type: vector
2080        in_place_result: true
2081
2082  - algorithm: native:createspatialindex
2083    name: Create spatial index
2084    params:
2085      INPUT:
2086        name: custom/points.shp
2087        type: vector
2088        in_place: true
2089    results:
2090      INPUT:
2091        name: expected/create_attr_index_points.shp
2092        type: vector
2093        in_place_result: true
2094
2095  - algorithm: native:truncatetable
2096    name: Truncate table
2097    params:
2098      INPUT:
2099        name: custom/points.shp
2100        type: vector
2101        in_place: true
2102    results:
2103      INPUT:
2104        name: expected/truncated.shp
2105        type: vector
2106        in_place_result: true
2107
2108  - algorithm: qgis:distancematrix
2109    name: Distance matrix (only tests for run, does not check result as rows are in random order)
2110    params:
2111      INPUT_FIELD: fid
2112      INPUT:
2113        name: points.gml
2114        type: vector
2115      MATRIX_TYPE: '0'
2116      NEAREST_POINTS: 0
2117      TARGET_FIELD: fid
2118      TARGET:
2119        name: points.gml
2120        type: vector
2121    results:
2122      OUTPUT:
2123        name: expected/count_unique_points.gml
2124        type: vector
2125        compare: false
2126
2127  - algorithm: qgis:countpointsinpolygon
2128    name: standard count unique points in polygon
2129    params:
2130      CLASSFIELD: id2
2131      FIELD: NUMPOINTS
2132      POINTS:
2133        name: points.gml
2134        type: vector
2135      POLYGONS:
2136        name: polys.gml
2137        type: vector
2138    results:
2139      OUTPUT:
2140        name: expected/count_unique_points.gml
2141        type: vector
2142
2143  - algorithm: qgis:countpointsinpolygon
2144    name: standard count points in polygon weighted
2145    params:
2146      FIELD: NUMPOINTS
2147      POINTS:
2148        name: custom/points_weighted.gml
2149        type: vector
2150      POLYGONS:
2151        name: polys.gml
2152        type: vector
2153      WEIGHT: id
2154    results:
2155      OUTPUT:
2156        name: expected/count_points_weighted.gml
2157        type: vector
2158
2159  - algorithm: qgis:pointsalonglines
2160    name: standard points along lines
2161    params:
2162      DISTANCE: 1.0
2163      END_OFFSET: 0.0
2164      INPUT:
2165        name: lines.gml
2166        type: vector
2167      START_OFFSET: 0.0
2168    results:
2169      OUTPUT:
2170        name: expected/points_along_lines.gml
2171        type: vector
2172
2173  - algorithm: native:pointsalonglines
2174    name: Points along lines with start offset
2175    params:
2176      DISTANCE: 1.0
2177      END_OFFSET: 0.0
2178      INPUT:
2179        name: lines.gml|layername=lines
2180        type: vector
2181      START_OFFSET: 1.5
2182    results:
2183      OUTPUT:
2184        name: expected/points_along_lines_start_offset.gml
2185        type: vector
2186
2187  - algorithm: native:pointsalonglines
2188    name: Points along lines with end offset
2189    params:
2190      DISTANCE: 1.0
2191      END_OFFSET: 2.2
2192      INPUT:
2193        name: lines.gml|layername=lines
2194        type: vector
2195      START_OFFSET: 0.0
2196    results:
2197      OUTPUT:
2198        name: expected/points_along_lines_end_offset.gml
2199        type: vector
2200
2201  - algorithm: native:pointsalonglines
2202    name: Points along polygons
2203    params:
2204      DISTANCE: 1.0
2205      END_OFFSET: 0.0
2206      INPUT:
2207        name: polys.gml|layername=polys2
2208        type: vector
2209      START_OFFSET: 0.0
2210    results:
2211      OUTPUT:
2212        name: expected/points_along_polys.gml
2213        type: vector
2214
2215  - algorithm: native:pointsalonglines
2216    name: Points along lines with z
2217    params:
2218      DISTANCE: 1.0
2219      END_OFFSET: 0.0
2220      INPUT:
2221        name: lines_z.shp
2222        type: vector
2223      START_OFFSET: 0.0
2224    results:
2225      OUTPUT:
2226        name: expected/points_along_lines_z.shp
2227        type: vector
2228
2229  - algorithm: native:pointsalonglines
2230    name: Points along lines with m
2231    params:
2232      DISTANCE: 1.0
2233      END_OFFSET: 0.0
2234      INPUT:
2235        name: lines_m.shp
2236        type: vector
2237      START_OFFSET: 0.0
2238    results:
2239      OUTPUT:
2240        name: expected/points_along_lines_m.shp
2241        type: vector
2242
2243# See ../README.md for a description of the file format
2244