QGIS/python/plugins/processing/tests/testdata/qgis_algorithm_tests.yaml
2018-04-20 08:38:15 +10:00

5247 lines
117 KiB
YAML

# See ../README.md for a description of the file format
tests:
- name: Centroid # Human readable identifier
algorithm: native:centroids # Algorithm name
params: # A list of parameters
INPUT:
type: vector # Param is a vector layer
name: polys.gml # file name
results: # A map of results (only one here)
OUTPUT:
type: vector # Expected result is a vector layer
name: expected/polys_centroid.gml # The relative filepath from the processing testdata directory
compare:
geometry:
precision: 7
- name: Aggregate all
algorithm: qgis:aggregate
params:
INPUT:
name: dissolve_polys.gml
type: vector
GROUP_BY: 'NULL'
AGGREGATES:
[{
input: 'fid',
aggregate: 'concatenate',
delimiter: ',',
name: 'fids',
type: 10,
length: 255,
precision: 0
}, {
input: 'name',
aggregate: 'concatenate',
delimiter: ',',
name: 'name',
type: 10,
length: 255,
precision: 0
}, {
input: 'intval',
aggregate: 'sum',
delimiter: '',
name: 'intval',
type: 2,
length: 0,
precision: 0
}, {
aggregate: 'mean',
input: 'floatval',
type: 6,
delimiter: '',
name: 'floatval',
length: 0,
precision: 0
}]
results:
OUTPUT:
name: expected/aggregate_all.gml
type: vector
- name: Aggregate using field
algorithm: qgis:aggregate
params:
INPUT:
name: dissolve_polys.gml
type: vector
GROUP_BY: '"name"'
AGGREGATES:
[{
input: 'fid',
aggregate: 'concatenate',
delimiter: ',',
name: 'fids',
type: 10,
length: 50,
precision: 0
}, {
input: 'name',
aggregate: 'first_value',
delimiter: ',',
name: 'name',
type: 10,
length: 2,
precision: 0
}, {
input: 'intval',
aggregate: 'sum',
delimiter: '',
name: 'intval',
type: 2,
length: 0,
precision: 0
}, {
input: 'floatval',
aggregate: 'mean',
delimiter: '',
name: 'floatval',
type: 6,
length: 0,
precision: 0
}]
results:
OUTPUT:
name: expected/aggregate_field.gml
type: vector
- algorithm: qgis:aggregate
name: Aggregate using two fields
params:
INPUT:
name: dissolve_polys.gml
type: vector
GROUP_BY: array("intval", "name")
AGGREGATES:
[{
input: 'fid',
aggregate: 'concatenate',
delimiter: ',',
name: 'fids',
type: 10,
length: 80,
precision: 0
}, {
input: 'name',
aggregate: 'first_value',
delimiter: ',',
name: 'name',
type: 10,
length: 2,
precision: 0
}, {
input: 'intval',
aggregate: 'first_value',
delimiter: '',
name: 'intval',
type: 2,
length: 0,
precision: 0
}, {
input: 'floatval',
aggregate: 'mean',
delimiter: '',
name: 'floatval',
type: 6,
length: 0,
precision: 0
}]
results:
OUTPUT:
name: expected/aggregate_two_fields.gml
type: vector
- name: Aggregate points
algorithm: qgis:aggregate
params:
INPUT:
name: points.gml
type: vector
GROUP_BY: '"id2"'
AGGREGATES:
[{
input: 'fid',
aggregate: 'concatenate',
delimiter: ',',
name: 'fids',
type: 10,
length: 50,
precision: 0
}, {
input: 'to_string("id")',
aggregate: 'concatenate',
delimiter: ',',
name: 'ids',
type: 10,
length: 50,
precision: 0
}, {
input: 'id2',
aggregate: 'first_value',
delimiter: '',
name: 'id2',
type: 6,
length: 0,
precision: 0
}]
results:
OUTPUT:
name: expected/aggregate_points.gml
type: vector
- name: Aggregate lines
algorithm: qgis:aggregate
params:
INPUT:
name: lines.gml
type: vector
GROUP_BY: 'NULL'
AGGREGATES:
[{
input: 'fid',
aggregate: 'concatenate',
delimiter: ',',
name: 'fids',
type: 10,
length: 255,
precision: 0
}]
results:
OUTPUT:
name: expected/aggregate_lines.gml
type: vector
- name: Delete Holes
algorithm: native:deleteholes
params:
- name: polys.gml
type: vector
results:
OUTPUT:
name: expected/polys_deleteholes.gml
type: vector
- algorithm: native:clip
name: Clip lines by polygons
params:
INPUT:
name: custom/lines2.gml
type: vector
OVERLAY:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/clip_lines_by_polygon.gml
type: vector
- algorithm: native:clip
name: Clip lines by multipolygon
params:
INPUT:
name: lines.gml
type: vector
OVERLAY:
name: multipolys.gml
type: vector
results:
OUTPUT:
name: expected/clip_lines_by_multipolygon.gml
type: vector
- algorithm: native:clip
name: Clip polygons by multipolygons
params:
INPUT:
name: polys.gml
type: vector
OVERLAY:
name: multipolys.gml
type: vector
results:
OUTPUT:
name: expected/clip_polys_by_multipolygon.gml
type: vector
- algorithm: native:clip
name: Clip multipolygons by polygons
params:
INPUT:
name: multipolys.gml
type: vector
OVERLAY:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/clip_multipolygons_by_polygons.gml
type: vector
- algorithm: native:clip
name: Clip points by polygons
params:
INPUT:
name: points.gml
type: vector
OVERLAY:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/clip_points_by_polygons.gml
type: vector
- algorithm: native:clip
name: Clip points by multipolygons
params:
INPUT:
name: points.gml
type: vector
OVERLAY:
name: multipolys.gml
type: vector
results:
OUTPUT:
name: expected/clip_points_by_multipolygons.gml
type: vector
# # These datasets should produce a geometry collection and not a polygon only
# # dataset. If the algorithm is fixed, a new test should be introduced to
# # check this behavior.
# # This test should stay in place because for shapefiles there should always
# # be a polygon result created since it does not support geometry collections.
- algorithm: qgis:intersection
name: Intersects multipolygons with polygons
params:
INPUT:
name: multipolys.gml
type: vector
OVERLAY:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/intersection_collection_fallback.shp
type: vector
- name: Densify geometries
algorithm: qgis:densifygeometries
params:
INPUT:
name: multipolys.gml
type: vector
VERTICES: 4
results:
OUTPUT:
name: expected/multipolys_densify.gml
type: vector
- algorithm: qgis:densifygeometriesgivenaninterval
name: Densify polygons by interval
params:
INPUT:
name: polys.gml
type: vector
INTERVAL: 1.0
results:
OUTPUT:
name: expected/densify_by_interval_polys.gml
type: vector
- name: Polygons to Lines
algorithm: qgis:polygonstolines
params:
- name: multipolys.gml
type: vector
results:
OUTPUT:
name: expected/polys_to_lines.gml
type: vector
compare:
fields:
fid: skip
- algorithm: qgis:basicstatisticsforfields
name: Basic statistics for numeric fields
params:
- name: multipolys.gml
type: vector
- 'Bfloatval'
results:
OUTPUT_HTML_FILE:
name: basic_statistics_numeric_float.html
type: regex
rules:
- 'Analyzed field: Bfloatval'
- 'Count: 3'
- 'Unique values: 3'
- 'Minimum value: -0.123'
- 'Maximum value: 0.123'
- 'Range: 0.246'
- 'Sum: 0.0'
- 'Mean value: 0.0'
- 'Median value: 0.0'
- 'Standard deviation: 0.100429079454'
- 'Coefficient of Variation: 0'
- 'Minority \(rarest occurring value\): -0.123'
- 'Majority \(most frequently occurring value\): -0.123'
- 'First quartile: -0.0615'
- 'Third quartile: 0.0615'
- 'NULL \(missing\) values: 1'
- 'Interquartile Range \(IQR\): 0.123'
- algorithm: qgis:basicstatisticsforfields
name: Basic statistics for text fields
params:
- name: multipolys.gml
type: vector
- 'Bname'
results:
OUTPUT_HTML_FILE:
name: expected/basic_statistics_string.html
type: regex
rules:
- 'Analyzed field: Bname'
- 'Count: 4'
- 'Unique values: 2'
- 'Minimum value: Test'
- 'Maximum value: Test'
- 'Minimum length: 0'
- 'Maximum length: 4'
- 'Mean length: 3.0'
- 'NULL \(missing\) values: 1'
- algorithm: qgis:listuniquevalues
name: Unique values
params:
INPUT:
name: points.gml
type: vector
FIELDS: id2
results:
OUTPUT:
name: expected/unique_values.gml
type: vector
pk:
- id2
- algorithm: qgis:listuniquevalues
name: Unique values (multiple fields)
params:
FIELDS:
- name
- intval
INPUT:
name: dissolve_polys.gml
type: vector
results:
OUTPUT:
name: expected/unique_values_multiple.gml
type: vector
compare:
fields:
fid: skip
pk:
- name
- intval
- algorithm: native:addautoincrementalfield
name: Add autoincremental field
params:
INPUT:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/autoincrement_field.gml
type: vector
- algorithm: native:addautoincrementalfield
name: Add autoincremental field with start value
params:
FIELD_NAME: AUTO
INPUT:
name: points.gml
type: vector
START: 10
results:
OUTPUT:
name: expected/autoincrement_field_start.gml
type: vector
- algorithm: native:addautoincrementalfield
name: Add autoincremental field with name
params:
FIELD_NAME: my_field
INPUT:
name: points.gml
type: vector
START: 0
results:
OUTPUT:
name: expected/autoincrement_field_field_name.gml
type: vector
- algorithm: native:addautoincrementalfield
name: Add incremental field (grouped)
params:
FIELD_NAME: AUTO
GROUP_FIELDS:
- intval
- name
INPUT:
name: dissolve_polys.gml
type: vector
START: 6
results:
OUTPUT:
name: expected/autoincrement_grouped.gml
type: vector
- algorithm: native:addautoincrementalfield
name: Add incremental field (with sorting)
params:
FIELD_NAME: AUTO
INPUT:
name: points.gml
type: vector
SORT_ASCENDING: true
SORT_EXPRESSION: 99-id
SORT_NULLS_FIRST: false
START: 0
results:
OUTPUT:
name: expected/autoincrement_sort.gml
type: vector
- algorithm: native:dissolve
name: Dissolve using field
params:
FIELD: name
INPUT:
name: dissolve_polys.gml
type: vector
results:
OUTPUT:
name: expected/dissolve_field.gml
type: vector
- algorithm: native:dissolve
name: Dissolve using two fields
params:
FIELD: intval;name
INPUT:
name: dissolve_polys.gml
type: vector
results:
OUTPUT:
name: expected/dissolve_two_fields.gml
type: vector
- name: Dissolve with geometries reported as valid but as invalid with isGeosValid
algorithm: native:dissolve
params:
INPUT:
name: custom/innerRingTouchesOuterRing.gml
type: vector
results:
OUTPUT:
type: vector
name: expected/innerRingTouchesOuterRing_output.gml
compare:
geometry:
precision: 0
- name: Dissolve with NULL geometries
algorithm: native:dissolve
params:
INPUT:
name: custom/nullGeometryDissolve.gml
type: vector
results:
OUTPUT:
type: vector
name: expected/nullGeometryDissolve_output.gml
compare:
geometry:
precision: 7
- name: Dissolve with invalid geometries
algorithm: native:dissolve
skipInvalid: true
params:
INPUT:
name: custom/PolygonDissolveTest.gml
type: vector
results:
OUTPUT:
type: vector
name: expected/PolygonDissolveTest_output.gml
compare:
geometry:
precision: 7
- algorithm: native:buffer
name: Basic polygon buffer
params:
DISSOLVE: 'False'
DISTANCE: 0.5
INPUT:
name: polys.gml
type: vector
SEGMENTS: 5
results:
OUTPUT:
name: expected/buffer_polys.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:buffer
name: Polygon buffer with dissolve
params:
DISSOLVE: 'True'
DISTANCE: 0.5
INPUT:
name: polys.gml
type: vector
SEGMENTS: 5
results:
OUTPUT:
name: expected/buffer_polys_dissolve.gml
type: vector
compare:
geometry:
precision: 7
fields:
fid: skip
name: skip
intval: skip
floatval: skip
- algorithm: qgis:rectanglesovalsdiamondsfixed
name: Create fixed distance rectange buffers around points
params:
HEIGHT: 0.25
INPUT:
name: points.gml
type: vector
ROTATION: 45
SEGMENTS: 36
SHAPE: 0
WIDTH: 0.5
results:
OUTPUT:
name: expected/rectanglesovalsdiamondsfixed.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:mergelines
name: Merge lines algorithm
params:
INPUT:
name: multilines.gml
type: vector
results:
OUTPUT:
name: expected/merge_lines.gml
type: vector
- algorithm: native:mergevectorlayers
name: Merge points
params:
LAYERS:
params:
- name: custom/points.shp
type: vector
- name: custom/pointszm.shp
type: vector
type: multi
results:
OUTPUT:
name: expected/merged_points.gml
type: vector
compare:
fields:
fid: skip
path: skip
- algorithm: native:mergevectorlayers
name: Merge polygons
params:
LAYERS:
params:
- name: multipolys.gml
type: vector
- name: polys.gml
type: vector
type: multi
results:
OUTPUT:
name: expected/merged_polys.gml
type: vector
compare:
fields:
fid: skip
path: skip
- algorithm: native:mergevectorlayers
name: Merge polygons with CRS
params:
CRS: EPSG:3785
LAYERS:
params:
- name: multipolys.gml
type: vector
- name: polys.gml
type: vector
type: multi
results:
OUTPUT:
name: expected/merged_polys_crs.gml
type: vector
compare:
fields:
fid: skip
layer: skip
path: skip
geometry:
precision: 0
- algorithm: native:multiparttosingleparts
name: Multiparts to singleparts
params:
INPUT:
name: multilines.gml
type: vector
results:
OUTPUT:
name: expected/multi_to_single.gml
type: vector
- algorithm: native:boundingboxes
name: Bounding boxes for lines
params:
INPUT:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/lines_bounds.gml
type: vector
- algorithm: native:boundingboxes
name: Bounding boxes for multilines
params:
INPUT:
name: multilines.gml
type: vector
results:
OUTPUT:
name: expected/multiline_bounds.gml
type: vector
- algorithm: native:boundingboxes
name: Bounding boxes for multipolygons
params:
INPUT:
name: multipolys.gml
type: vector
results:
OUTPUT:
name: expected/multipoly_bounds.gml
type: vector
- algorithm: native:boundingboxes
name: Bounding boxes for points
params:
INPUT:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/point_bounds.gml
type: vector
- algorithm: native:boundingboxes
name: Bounding boxes for polygons
params:
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/poly_bounds.gml
type: vector
- algorithm: native:boundingboxes
name: Bounding boxes for multipoints
params:
INPUT:
name: multipoints.gml
type: vector
results:
OUTPUT:
name: expected/multipoint_bounds.gml
type: vector
- algorithm: native:boundary
name: Polygon boundary
params:
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/poly_boundary.gml
type: vector
- algorithm: native:boundary
name: Multipoly boundary
params:
INPUT:
name: multipolys.gml
type: vector
results:
OUTPUT:
name: expected/multipoly_boundary.gml
type: vector
- algorithm: native:boundary
name: Line boundary
params:
INPUT:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/lines_boundary.gml
type: vector
- algorithm: native:boundary
name: Multiline boundary
params:
INPUT:
name: multilines.gml
type: vector
results:
OUTPUT:
name: expected/multiline_boundary.gml
type: vector
- algorithm: qgis:setmvalue
name: Set M Value
params:
INPUT:
name: points.gml
type: vector
M_VALUE: 7
results:
OUTPUT:
name: expected/set_m_value.shp
type: vector
- algorithm: qgis:setzvalue
name: Set Z Value
params:
INPUT:
name: points.gml
type: vector
Z_VALUE: 6
results:
OUTPUT:
name: expected/set_z_value.shp
type: vector
- algorithm: native:dropmzvalues
name: Drop M Value
params:
INPUT:
name: custom/pointszm.shp
type: vector
DROP_Z_VALUES: False
DROP_M_VALUES: True
results:
OUTPUT:
name: expected/m_dropped.shp
type: vector
- algorithm: native:dropmzvalues
name: Drop Z Value
params:
INPUT:
name: custom/pointszm.shp
type: vector
DROP_Z_VALUES: True
DROP_M_VALUES: False
results:
OUTPUT:
name: expected/z_dropped.shp
type: vector
- algorithm: native:dropmzvalues
name: Drop ZM Value
params:
INPUT:
name: custom/pointszm.shp
type: vector
DROP_Z_VALUES: True
DROP_M_VALUES: True
results:
OUTPUT:
name: expected/zm_dropped.shp
type: vector
- algorithm: native:pointonsurface
name: Point on polygon surface
params:
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/point_on_poly.gml
type: vector
- algorithm: native:pointonsurface
name: Point on all parts of multi polygon surface
params:
INPUT:
name: multipolys.gml
type: vector
ALL_PARTS: true
results:
OUTPUT:
name: expected/point_on_multipoly.gml
type: vector
- algorithm: qgis:pointonsurface
name: Point on multipoint surface
params:
INPUT:
name: multipoints.gml
type: vector
results:
OUTPUT:
name: expected/point_on_multipoint.gml
type: vector
- algorithm: qgis:pointonsurface
name: Point on line surface
params:
INPUT:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/point_on_line.gml
type: vector
- algorithm: qgis:reverselinedirection
name: Reverse line direction
params:
INPUT:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/lines_reversed.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:offsetline
name: Offset line positive
params:
DISTANCE: 1.0
INPUT:
name: lines.gml
type: vector
JOIN_STYLE: '0'
MITER_LIMIT: 2
SEGMENTS: 8
results:
OUTPUT:
name: expected/line_offset_round_positive.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:offsetline
name: Offset line negative
params:
DISTANCE: -1.0
INPUT:
name: lines.gml
type: vector
JOIN_STYLE: '0'
MITER_LIMIT: 2
SEGMENTS: 8
results:
OUTPUT:
name: expected/line_offset_round_negative.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:offsetline
name: Offset line miter
params:
DISTANCE: 1.0
INPUT:
name: lines.gml
type: vector
JOIN_STYLE: '1'
MITER_LIMIT: 2
SEGMENTS: 4
results:
OUTPUT:
name: expected/line_offset_miter.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:offsetline
name: Offset line bevel
params:
DISTANCE: 1.0
INPUT:
name: lines.gml
type: vector
JOIN_STYLE: '2'
MITER_LIMIT: 2
SEGMENTS: 8
results:
OUTPUT:
name: expected/line_offset_bevel.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:offsetline
name: Offset multilines
params:
DISTANCE: 1.0
INPUT:
name: multilines.gml
type: vector
JOIN_STYLE: '0'
MITER_LIMIT: 2
SEGMENTS: 8
results:
OUTPUT:
name: expected/multiline_offset.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:buffer
name: Buffer polygons using bevel
params:
DISSOLVE: false
DISTANCE: 1.0
END_CAP_STYLE: '0'
INPUT:
name: polys.gml
type: vector
JOIN_STYLE: '2'
MITER_LIMIT: 2
SEGMENTS: 5
results:
OUTPUT:
name: expected/buffer_polys_bevel.gml
type: vector
- algorithm: native:buffer
name: Buffer polygons using miter
params:
DISSOLVE: false
DISTANCE: 1.0
END_CAP_STYLE: '0'
INPUT:
name: polys.gml
type: vector
JOIN_STYLE: '1'
MITER_LIMIT: 2
SEGMENTS: 5
results:
OUTPUT:
name: expected/buffer_polys_miter.gml
type: vector
- algorithm: native:buffer
name: Buffer lines
params:
DISSOLVE: false
DISTANCE: 1.0
END_CAP_STYLE: '0'
INPUT:
name: lines.gml
type: vector
JOIN_STYLE: '0'
MITER_LIMIT: 2
SEGMENTS: 5
results:
OUTPUT:
name: expected/buffer_lines.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:buffer
name: Buffer lines (flat)
params:
DISSOLVE: false
DISTANCE: 1.0
END_CAP_STYLE: '1'
INPUT:
name: lines.gml
type: vector
JOIN_STYLE: '0'
MITER_LIMIT: 2
SEGMENTS: 5
results:
OUTPUT:
name: expected/buffer_lines_flat.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:buffer
name: Buffer lines (square)
params:
DISSOLVE: false
DISTANCE: 1.0
END_CAP_STYLE: '2'
INPUT:
name: lines.gml
type: vector
JOIN_STYLE: '0'
MITER_LIMIT: 2
SEGMENTS: 5
results:
OUTPUT:
name: expected/buffer_lines_square.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:centroids
name: Centroid (lines)
params:
INPUT:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/centroid_lines.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:centroids
name: Centroid (multilines)
params:
INPUT:
name: multilines.gml
type: vector
results:
OUTPUT:
name: expected/centroid_multilines.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:centroids
name: Centroid (multipoints)
params:
INPUT:
name: multipoints.gml
type: vector
results:
OUTPUT:
name: expected/centroid_multipoint.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:centroids
name: Centroid (multipolygons)
params:
INPUT:
name: multipolys.gml
type: vector
results:
OUTPUT:
name: expected/centroid_multipolys.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:centroids
name: Centroid (multipolygons)
params:
INPUT:
name: multipolys.gml
type: vector
ALL_PARTS: true
results:
OUTPUT:
name: expected/centroid_multipoly_all_parts.gml
type: vector
- algorithm: native:centroids
name: Centroid (points)
params:
INPUT:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/centroid_points.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:centroids
name: Centroid (polygons)
params:
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/centroid_polys.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:translategeometry
name: Lines translated
params:
DELTA_X: 0.1
DELTA_Y: -0.2
INPUT:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/lines_translated.gml
type: vector
- algorithm: native:translategeometry
name: Translate Z/M
params:
DELTA_M: 4.0
DELTA_X: 0.0
DELTA_Y: 0.0
DELTA_Z: 3.0
INPUT:
name: custom/pointszm.shp
type: vector
results:
OUTPUT:
name: expected/translate_z_m.shp
type: vector
- algorithm: qgis:singlesidedbuffer
name: Single sided buffer lines (left, round)
params:
DISTANCE: 1.0
INPUT:
name: lines.gml
type: vector
JOIN_STYLE: '0'
MITER_LIMIT: 2
SEGMENTS: 8
SIDE: '0'
results:
OUTPUT:
name: expected/single_sided_buffer_line.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:singlesidedbuffer
name: Single sided buffer lines (Right, miter)
params:
DISTANCE: 1.0
INPUT:
name: lines.gml
type: vector
JOIN_STYLE: '1'
MITER_LIMIT: 2
SEGMENTS: 8
SIDE: '1'
results:
OUTPUT:
name: expected/single_sided_buffer_line_miter.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:singlesidedbuffer
name: Single sided buffer multiline (bevel)
params:
DISTANCE: 1.0
INPUT:
name: multilines.gml
type: vector
JOIN_STYLE: '2'
MITER_LIMIT: 2
SEGMENTS: 8
SIDE: '0'
results:
OUTPUT:
name: expected/single_sided_buffer_multiline_bevel.gml
type: vector
- algorithm: qgis:extractvertices
name: Extract vertices from multipolygons
params:
INPUT:
name: multipolys.gml
type: vector
results:
OUTPUT:
name: expected/extract_nodes_multipolys.gml
type: vector
compare:
fields:
distance:
precision: 7
angle:
precision: 7
- algorithm: qgis:extractvertices
name: Extract vertices from polygons
params:
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/extract_nodes_polys.gml
type: vector
compare:
fields:
distance:
precision: 7
angle:
precision: 7
- algorithm: qgis:extractvertices
name: Extract vertices from multilines
params:
INPUT:
name: multilines.gml
type: vector
results:
OUTPUT:
name: expected/extract_nodes_multilines.gml
type: vector
compare:
fields:
distance:
precision: 7
angle:
precision: 7
- algorithm: qgis:extractvertices
name: Extract vertices from lines
params:
INPUT:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/extract_nodes_lines.gml
type: vector
compare:
fields:
distance:
precision: 7
angle:
precision: 7
- algorithm: native:simplifygeometries
name: Simplify (lines)
params:
INPUT:
name: lines.gml
type: vector
TOLERANCE: 1.0
results:
OUTPUT:
name: expected/simplify_lines.gml
type: vector
- algorithm: native:simplifygeometries
name: Simplify (multilines)
params:
INPUT:
name: multilines.gml
type: vector
TOLERANCE: 1.0
results:
OUTPUT:
name: expected/simplify_multilines.gml
type: vector
- algorithm: native:simplifygeometries
name: Simplify (visval)
params:
INPUT:
name: simplify_lines.gml
type: vector
METHOD: '2'
TOLERANCE: 1.0
results:
OUTPUT:
name: expected/simplify_vis_lines.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:simplifygeometries
name: Simplify (grid)
params:
INPUT:
name: simplify_lines.gml
type: vector
METHOD: '1'
TOLERANCE: 5.0
results:
OUTPUT:
name: expected/simplify_grid_lines.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:smoothgeometry
name: Smooth (lines)
params:
INPUT:
name: lines.gml
type: vector
ITERATIONS: 1
MAX_ANGLE: 180.0
OFFSET: 0.25
results:
OUTPUT:
name: expected/smoothed_lines.gml
type: vector
- algorithm: native:smoothgeometry
name: Smooth (lines, with max angle)
params:
INPUT:
name: lines.gml
type: vector
ITERATIONS: 1
MAX_ANGLE: 60.0
OFFSET: 0.25
results:
OUTPUT:
name: expected/smoothed_lines_max_angle.gml
type: vector
- algorithm: qgis:exportaddgeometrycolumns
name: Add Geometry PointZ
params:
CALC_METHOD: '0'
INPUT:
name: pointsz.gml
type: vector
results:
OUTPUT:
name: expected/add_geometry_pointz.gml
type: vector
- algorithm: qgis:exportaddgeometrycolumns
name: Export line info
params:
CALC_METHOD: 0
INPUT:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/export_line_info.gml
type: vector
- algorithm: qgis:exportaddgeometrycolumns
name: Export multiline info
params:
CALC_METHOD: 0
INPUT:
name: multilines.gml
type: vector
results:
OUTPUT:
name: expected/export_multiline_info.gml
type: vector
- algorithm: qgis:texttofloat
name: Text to float
params:
FIELD: 'text_float'
INPUT:
name: custom/text_to_float.gml
type: vector
results:
OUTPUT:
name: expected/text_to_float.gml
type: vector
- algorithm: qgis:countpointsinpolygon
name: Count points in polygon
params:
FIELD: NUMPOINTS
POINTS:
name: points_in_polys.gml
type: vector
POLYGONS:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/points_in_polys.gml
type: vector
- algorithm: qgis:aspect
name: Aspect from QGIS analysis library
params:
INPUT:
name: dem.tif
type: raster
Z_FACTOR: 1.0
results:
OUTPUT:
hash:
- 762865ee485a6736d188402aa10e6fd38a812a9e45a7dd2d4885a63a
- f6a8e64647ae93a94f2a4945add8986526a7a07bc85849f3690d15b2
type: rasterhash
- algorithm: qgis:slope
name: Slope from QGIS analysis library
params:
INPUT:
name: dem.tif
type: raster
Z_FACTOR: 1.0
results:
OUTPUT:
hash:
- 151ea76a21b286c16567eb6b4b692925a84145b65561a0017effb1a1
- 177475642c57428b395bc0a1e7e86fc1cfd4d86ffc19f31ff8bc964d
type: rasterhash
- algorithm: qgis:ruggednessindex
name: Ruggedness index from QGIS analysis library
params:
INPUT:
name: dem.tif
type: raster
Z_FACTOR: 1.0
results:
OUTPUT:
hash: ff630246e8dc19c7217d81261c6b64f965c17fa04d3e41d7979c1f1e
type: rasterhash
- algorithm: qgis:hillshade
name: Hillshade from QGIS analysis library
params:
AZIMUTH: 300.0
INPUT:
name: dem.tif
type: raster
V_ANGLE: 40.0
Z_FACTOR: 1.0
results:
OUTPUT:
hash:
- 58365b3715b925d6286e7f082ebd9c2a20f09fa1c922176d3f238002
- 75cca4c1a870a1e21185a2d85b33b6d9958a69fc6ebb04e4d6ceb8a3
- c05cd8dbfb00200a3803dcdc74ad177588eb8379867c4046463f73f1
- 8f59f545b5df01f213b7a2233eb364d05b5801676d1f4285ad1225a1
type: rasterhash
- algorithm: qgis:relief
name: Relief (automatic colors generation)
params:
AUTO_COLORS: true
INPUT:
name: dem.tif
type: raster
Z_FACTOR: 1.0
results:
OUTPUT:
hash:
- 7fe0e0174185fd743e23760f33615adf10f771b4275f320db6f7f4f8
- 094a2d0dea250690084e0812bf1e8f8666043d17d6a71de278810bb9
type: rasterhash
- algorithm: qgis:relief
name: Relief (custom colors)
params:
AUTO_COLORS: false
COLORS: 85.000000, 104.436508, 7, 165, 144;104.436508, 104.436508, 12, 221, 162;104.436508,
104.436508, 33, 252, 183;104.436508, 104.436508, 247, 252, 152;104.436508, 104.436508,
252, 196, 8;104.436508, 190.333333, 252, 166, 15;190.333333, 226.698413, 175,
101, 15;226.698413, 226.698413, 255, 133, 92;226.698413, 243.000000, 204, 204,
204
INPUT:
name: dem.tif
type: raster
Z_FACTOR: 1.0
results:
OUTPUT:
hash:
- 7fe0e0174185fd743e23760f33615adf10f771b4275f320db6f7f4f8
- 094a2d0dea250690084e0812bf1e8f8666043d17d6a71de278810bb9
type: rasterhash
- algorithm: qgis:createconstantrasterlayer
name: Create constant raster
params:
EXTENT: 270736.0673250682,270899.8544675339,4458899.000550019,4459029.574521748
TARGET_CRS: EPSG:23030
PIXEL_SIZE: 10.0
NUMBER: 3.0
results:
OUTPUT:
hash: e453e9e36ce314d5197963ac27872a0cc3dfe43764ed586a334c66f0
type: rasterhash
- algorithm: native:lineintersections
name: Line intersections all fields
params:
INPUT:
name: custom/line_intersection1.gml
type: vector
INTERSECT:
name: custom/line_intersection2.gml
type: vector
results:
OUTPUT:
name: expected/line_intersection_all_fields.gml
type: vector
pk:
- name
- name_2
compare:
fields:
fid: skip
fid_2: skip
- algorithm: native:lineintersections
name: Line intersections some fields
params:
INPUT:
name: custom/line_intersection1.gml
type: vector
INPUT_FIELDS:
- name
INTERSECT:
name: custom/line_intersection2.gml
type: vector
INTERSECT_FIELDS:
- name
results:
OUTPUT:
name: expected/line_intersection_partial_fields.gml
type: vector
compare:
fields:
fid: skip
- algorithm: qgis:sumlinelengths
name: Sum line lengths
params:
COUNT_FIELD: line_count
LEN_FIELD: line_len
LINES:
name: lines.gml
type: vector
POLYGONS:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/sum_line_length.gml
type: vector
- algorithm: qgis:delaunaytriangulation
name: Delaunay triangulation (multipoint data)
params:
INPUT:
name: multipoints.gml
type: vector
results:
OUTPUT:
name: expected/multipoint_delaunay.gml
type: vector
- algorithm: qgis:idwinterpolation
name: IDW interpolation using attribute
params:
COLUMNS: 300
DISTANCE_COEFFICIENT: 2.0
EXTENT: 0, 8, -5, 3
INTERPOLATION_DATA:
name: pointsz.gml::~::0::~::1::~::0
type: interpolation
ROWS: 300
results:
OUTPUT:
hash:
- 56d2671d50444f8571affba3f9e585830b82af5e380394178f521065
- 2ae62aca803e6864ac75e47b4357292b0637d811cb510ed19471f422
type: rasterhash
- algorithm: qgis:idwinterpolation
name: IDW interpolation using Z value
params:
COLUMNS: 300
DISTANCE_COEFFICIENT: 2.0
EXTENT: 0, 8, -5, 3
INTERPOLATION_DATA:
name: pointsz.gml::~::1::~::-1::~::0
type: interpolation
ROWS: 300
results:
OUTPUT:
hash:
- 56d2671d50444f8571affba3f9e585830b82af5e380394178f521065
- 2ae62aca803e6864ac75e47b4357292b0637d811cb510ed19471f422
type: rasterhash
- algorithm: qgis:tininterpolation
name: TIN interpolation using attribute
params:
COLUMNS: 300
EXTENT: 0, 8, -5, 3
INTERPOLATION_DATA:
name: pointsz.gml::~::0::~::1::~::0
type: interpolation
METHOD: '0'
ROWS: 300
results:
OUTPUT:
hash:
- 87f40be6ec08f3fcbb5707762de71f6be35bb265c61f594335562a26
- a31f0faf918ebe0902e5c9c5c8cf606d30f52eb4094bf24e4f8ac67a
type: rasterhash
#TRIANGULATION_FILE:
# name: expected/triangulation.gml
# type: vector
- algorithm: qgis:tininterpolation
name: TIN interpolation using Z value
params:
COLUMNS: 300
EXTENT: 0, 8, -5, 3
INTERPOLATION_DATA:
name: pointsz.gml::~::1::~::-1::~::0
type: interpolation
METHOD: '1'
ROWS: 300
results:
OUTPUT:
hash:
- 5e14dd0b879884b8b8da56c082947dad681feb4e9f1137f5cda126f8
- b8389559d6a85e7a672d72254228473fae71af2d89e5a5dd73d1b0d7
type: rasterhash
#TRIANULATION_FILE:
# name: expected/triangulation.gml
# type: vector
- algorithm: native:removenullgeometries
name: Remove null geometries
params:
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/remove_null_polys.gml
type: vector
- algorithm: native:extractbyexpression
name: Extract by Expression
params:
EXPRESSION: left( "Name",1)='A'
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/extract_expression.gml
type: vector
- algorithm: qgis:extendlines
name: Extend lines
params:
END_DISTANCE: 0.2
INPUT:
name: lines.gml
type: vector
START_DISTANCE: 0.1
results:
OUTPUT:
name: expected/extend_lines.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:extendlines
name: Extend multilines
params:
END_DISTANCE: 0.4
INPUT:
name: multilines.gml
type: vector
START_DISTANCE: 0.2
results:
OUTPUT:
name: expected/extend_multilines.gml
type: vector
- algorithm: qgis:extractspecificvertices
name: Extract specific vertices lines
params:
INPUT:
name: lines.gml
type: vector
VERTICES: 0,-1,2,-2
results:
OUTPUT:
name: expected/extract_specific_nodes_lines.gml
type: vector
compare:
fields:
fid: skip
- algorithm: qgis:extractspecificvertices
name: Extract specific vertices polygons
params:
INPUT:
name: polys.gml
type: vector
VERTICES: 0,-1,5,-5
results:
OUTPUT:
name: expected/extract_specific_nodes_polys.gml
type: vector
compare:
fields:
fid: skip
- algorithm: qgis:geometrybyexpression
name: Geometry by expression (point)
params:
EXPRESSION: 'translate( $geometry,1,1)'
INPUT:
name: points.gml
type: vector
OUTPUT_GEOMETRY: '0'
WITH_M: false
WITH_Z: false
results:
OUTPUT:
name: expected/geometry_by_expression_point.gml
type: vector
- algorithm: qgis:geometrybyexpression
name: Geometry by expression (polygon)
params:
EXPRESSION: ' translate( centroid($geometry),1,1)'
INPUT:
name: polys.gml
type: vector
OUTPUT_GEOMETRY: '2'
WITH_M: false
WITH_Z: false
results:
OUTPUT:
name: expected/geometry_by_expression_poly.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:geometrybyexpression
name: Geometry by expression (line)
params:
EXPRESSION: ' translate( $geometry,1,1)'
INPUT:
name: lines.gml
type: vector
OUTPUT_GEOMETRY: '1'
WITH_M: false
WITH_Z: false
results:
OUTPUT:
name: expected/geometry_by_expression_line.gml
type: vector
- algorithm: qgis:snapgeometries
name: Snap lines to lines
params:
INPUT:
name: snap_lines.gml
type: vector
REFERENCE_LAYER:
name: lines.gml
type: vector
TOLERANCE: 1.0
results:
OUTPUT:
name: expected/snap_lines_to_lines.gml
type: vector
- algorithm: qgis:snapgeometries
name: Snap polygons to polygons
params:
INPUT:
name: snap_polys.gml
type: vector
REFERENCE_LAYER:
name: polys.gml
type: vector
TOLERANCE: 1.0
results:
OUTPUT:
name: expected/snap_polys_to_polys.gml
type: vector
- algorithm: qgis:snapgeometries
name: Snap points to points
params:
INPUT:
name: snap_points.gml
type: vector
REFERENCE_LAYER:
name: points.gml
type: vector
TOLERANCE: 1.0
results:
OUTPUT:
name: expected/snap_points_to_points.gml
type: vector
- algorithm: qgis:snapgeometries
name: Snap points to lines (prefer nodes)
params:
BEHAVIOR: '0'
INPUT:
name: snap_points.gml
type: vector
REFERENCE_LAYER:
name: lines.gml
type: vector
TOLERANCE: 1.0
results:
OUTPUT:
name: expected/snap_point_to_lines_prefer_nodes.gml
type: vector
- algorithm: qgis:snapgeometries
name: Snap points to lines (prefer closest)
params:
BEHAVIOR: '1'
INPUT:
name: snap_points.gml
type: vector
REFERENCE_LAYER:
name: lines.gml
type: vector
TOLERANCE: 1.0
results:
OUTPUT:
name: expected/snap_point_to_lines_prefer_closest.gml
type: vector
- algorithm: qgis:snapgeometries
name: Snap internal
params:
BEHAVIOR: '0'
INPUT:
name: custom/snap_internal.gml
type: vector
REFERENCE_LAYER:
name: custom/snap_internal.gml
type: vector
TOLERANCE: 1.0
results:
OUTPUT:
name: expected/snap_internal.gml
type: vector
- algorithm: qgis:poleofinaccessibility
name: Pole of inaccessibility (polygons)
params:
INPUT:
name: polys.gml
type: vector
TOLERANCE: 1.0e-05
results:
OUTPUT:
name: expected/pole_inaccessibility_polys.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:extractbyattribute
name: Extract by attribute (is null)
params:
FIELD: intval
INPUT:
name: polys.gml
type: vector
OPERATOR: '8'
results:
OUTPUT:
name: expected/extract_by_attribute_null.gml
type: vector
- algorithm: native:extractbyattribute
name: Extract by attribute (is not null)
params:
FIELD: intval
INPUT:
name: polys.gml
type: vector
OPERATOR: '9'
results:
OUTPUT:
name: expected/extract_by_attribute_not_null.gml
type: vector
- algorithm: native:extractbyattribute
name: Extract by attribute (starts with)
params:
FIELD: name
INPUT:
name: polys.gml
type: vector
OPERATOR: '6'
VALUE: A
results:
OUTPUT:
name: expected/extract_by_attribute_startswith.gml
type: vector
- algorithm: native:extractbyattribute
name: Extract by attribute (contains)
params:
FIELD: name
INPUT:
name: polys.gml
type: vector
OPERATOR: '7'
VALUE: aaa
results:
OUTPUT:
name: expected/extract_by_attribute_contains.gml
type: vector
- algorithm: native:extractbyattribute
name: Extract by attribute (does not contain)
params:
FIELD: name
INPUT:
name: polys.gml
type: vector
OPERATOR: '10'
VALUE: a
results:
OUTPUT:
name: expected/extract_by_attribute_does_not_contain.gml
type: vector
- algorithm: native:extractbyattribute
name: Extract by attribute (greater)
params:
FIELD: floatval
INPUT:
name: polys.gml
type: vector
OPERATOR: '2'
VALUE: '1'
results:
OUTPUT:
name: expected/extract_by_attribute_greater.gml
type: vector
- algorithm: qgis:createattributeindex
name: Create Attribute Index (only tests for python errors, does not check result)
params:
FIELD: fid
INPUT:
name: lines.gml
type: vector
results: {}
- algorithm: qgis:deletecolumn
name: Delete columns (multiple)
params:
COLUMN: floatval;name
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/delete_columns.gml
type: vector
- algorithm: qgis:deletecolumn
name: Delete columns (single)
params:
COLUMN: intval
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/delete_column.gml
type: vector
- algorithm: qgis:createpointslayerfromtable
name: Create points from table
params:
INPUT:
name: create_points.gml
type: table
MFIELD: mcoord
TARGET_CRS: EPSG:4326
XFIELD: xcoord
YFIELD: ycoord
ZFIELD: zcoord
results:
OUTPUT:
name: expected/create_points.gml
type: vector
- algorithm: native:splitwithlines
name: Split poly with lines
params:
INPUT:
name: polys.gml
type: vector
LINES:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/split_polys_with_lines.shp
type: vector
compare:
geometry:
precision: 7
fields:
fid: skip
- algorithm: native:splitwithlines
name: Split lines with same lines
params:
INPUT:
name: lines.gml
type: vector
LINES:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/split_lines_with_same2.shp
type: vector
compare:
geometry:
precision: 7
fields:
fid: skip
# Split lines with lines considers two cases
# case 1: two different layers
- algorithm: native:splitwithlines
name: Split lines with lines
params:
INPUT:
name: lines.gml
type: vector
LINES:
name: custom/lines2.gml
type: vector
results:
OUTPUT:
name: expected/split_lines_with_lines.shp
type: vector
compare:
geometry:
precision: 7
fields:
fid: skip
# case 2 split line layer with iself
- algorithm: native:splitwithlines
name: Split lines with same lines
params:
INPUT:
name: custom/lines2.gml
type: vector
LINES:
name: custom/lines2.gml
type: vector
results:
OUTPUT:
name: expected/split_lines_with_lines_same.shp
type: vector
compare:
geometry:
precision: 7
fields:
fid: skip
- algorithm: native:dropgeometries
name: Drop geometries
params:
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/dropped_geometry.csv
type: vector
- algorithm: qgis:creategrid
name: Create grid (lines)
params:
CRS: EPSG:4326
EXTENT: -1,11.2,-4,6.5
HSPACING: 5.0
TYPE: '1'
VSPACING: 3.0
results:
OUTPUT:
name: expected/grid_lines.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:creategrid
name: Create grid (rectangles)
params:
CRS: EPSG:4326
EXTENT: -1,11.2,-4,6.5
HSPACING: 5.0
TYPE: '2'
VSPACING: 3.0
results:
OUTPUT:
name: expected/grid_rectangles.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:creategrid
name: Create grid (diamond)
params:
CRS: EPSG:4326
EXTENT: -1,11.2,-4,6.5
HSPACING: 5.0
TYPE: '3'
VSPACING: 3.0
results:
OUTPUT:
name: expected/grid_diamond.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:creategrid
name: Create grid (hexagon)
params:
CRS: EPSG:4326
EXTENT: -1,11.2,-4,6.5
HSPACING: 5.0
TYPE: '4'
VSPACING: 5.0
results:
OUTPUT:
name: expected/grid_hexagon.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:creategrid
name: Create grid (lines with overlay)
params:
CRS: EPSG:4326
EXTENT: -1,11.2,-4,6.5
HOVERLAY: 2.0
HSPACING: 5.0
TYPE: '1'
VOVERLAY: 1.0
VSPACING: 3.0
results:
OUTPUT:
name: expected/grid_lines_overlay.gml
type: vector
- algorithm: qgis:creategrid
name: Create grid (rectangle with overlay)
params:
CRS: EPSG:4326
EXTENT: -1,11.2,-4,6.5
HOVERLAY: 2.0
HSPACING: 5.0
TYPE: '2'
VOVERLAY: 1.0
VSPACING: 3.0
results:
OUTPUT:
name: expected/grid_rectangle_overlay.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:creategrid
name: Create grid (diamond with overlay)
params:
CRS: EPSG:4326
EXTENT: -1,11.2,-4,6.5
HOVERLAY: 2.0
HSPACING: 5.0
TYPE: '3'
VOVERLAY: 1.0
VSPACING: 3.0
results:
OUTPUT:
name: expected/grid_diamond_overlay.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:creategrid
name: Create grid (hexagon with overlay)
params:
CRS: EPSG:4326
EXTENT: -1,11.2,-4,6.5
HOVERLAY: 2.0
HSPACING: 5.0
TYPE: '4'
VOVERLAY: 1.0
VSPACING: 5.0
results:
OUTPUT:
name: expected/grid_hexagon_overlay.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: native:deleteholes
name: Delete holes (no min)
params:
INPUT:
name: custom/remove_holes.gml
type: vector
MIN_AREA: 0.0
results:
OUTPUT:
name: expected/removed_holes.gml
type: vector
- algorithm: native:deleteholes
name: Delete holes (with min)
params:
INPUT:
name: custom/remove_holes.gml
type: vector
MIN_AREA: 5.0
results:
OUTPUT:
name: expected/removed_holes_min_area.gml
type: vector
- algorithm: qgis:basicstatisticsforfields
name: Basic stats datetime
params:
FIELD_NAME: date_time
INPUT_LAYER:
name: custom/datetimes.tab
type: table
results:
OUTPUT_HTML_FILE:
name: expected/basic_statistics_datetime.html
type: regex
rules:
- 'Analyzed field: date_time'
- 'Count: 4'
- 'Unique values: 3'
- 'Minimum value: 2014-11-30T14:30:02'
- 'Maximum value: 2016-11-30T14:29:22'
- 'NULL \(missing\) values: 1'
- algorithm: qgis:basicstatisticsforfields
name: Basic stats date
params:
FIELD_NAME: date
INPUT_LAYER:
name: custom/datetimes.tab
type: table
results:
OUTPUT_HTML_FILE:
name: expected/basic_statistics_date.html
type: regex
rules:
- 'Analyzed field: date'
- 'Count: 4'
- 'Unique values: 3'
- 'Minimum value: 2014-11-30T00:00:00'
- 'Maximum value: 2016-11-30T00:00:00'
- 'NULL \(missing\) values: 1'
- algorithm: qgis:basicstatisticsforfields
name: Basic stats time
params:
FIELD_NAME: time
INPUT_LAYER:
name: custom/datetimes.tab
type: table
results:
OUTPUT_HTML_FILE:
name: expected/basic_statistics_time.html
type: regex
rules:
- 'Analyzed field: time'
- 'Count: 4'
- 'Unique values: 3'
- 'Minimum value: 03:29:40'
- 'Maximum value: 15:29:22'
- 'NULL \(missing\) values: 1'
- algorithm: qgis:rastercalculator
name: Raster Calculator with cellsize
params:
LAYERS:
params:
- name: dem.tif
type: raster
type: multi
CELLSIZE: 0.001
EXPRESSION: dem@1
results:
OUTPUT:
hash: ef97a22ee16e0e28bbdc0341449777b1527e37febc3c4339b2c057c9
type: rasterhash
- algorithm: qgis:rastercalculator
name: Raster Calculator
params:
LAYERS:
params:
- name: dem.tif
type: raster
type: multi
CELLSIZE: 0.0
EXPRESSION: dem@1 * 2
results:
OUTPUT:
hash: fe6e018be13c5a3c17f3f4d0f0dc7686c628cb440b74c4642aa0c939
type: rasterhash
- algorithm: native:orientedminimumboundingbox
name: Oriented minimum bounding box polys
params:
INPUT:
name: custom/oriented_bbox.gml
type: vector
results:
OUTPUT:
name: expected/oriented_bounds.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:orthogonalize
name: Orthogonalize polys
params:
INPUT:
name: custom/polys_to_orth.gml
type: vector
results:
OUTPUT:
name: expected/orthagonal_polys.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:orthogonalize
name: Orthogonalize lines
params:
INPUT:
name: custom/lines_to_orth.gml
type: vector
results:
OUTPUT:
name: expected/orthagonal_lines.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:refactorfields
name: refactor fields
params:
INPUT:
name: multipolys.gml
type: vector
FIELDS_MAPPING:
- expression: '@row_number'
name: 'row_number'
type: 2
length: 0
precision: 0
- expression: >
"fid" || ' - ' || "Bname"
name: 'Bname'
type: 10
length: 30
precision: 0
- expression: '"Bintval" + 1'
name: 'Bintval'
type: 2
length: 0
precision: 0
- expression: '"Bfloatval" * 2'
name: 'Bfloatval'
type: 6
length: 0
precision: 0
results:
OUTPUT:
name: expected/refactorfields.gml
type: vector
- algorithm: qgis:refactorfields
name: Refactor fields, empty expression
params:
FIELDS_MAPPING:
- expression: '"fid"'
length: 0
name: fid
precision: 0
type: 10
- expression: '"id"'
length: 0
name: id
precision: 0
type: 2
- expression: '"id2"'
length: 0
name: id2
precision: 0
type: 2
- expression: ''
length: 0
name: no_exp
precision: 0
type: 10
INPUT:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/refactor_fields_null.gml
type: vector
- algorithm: native:reprojectlayer
name: reproject vector layer
params:
INPUT:
name: points.gml
type: vector
TARGET_CRS: EPSG:3857
results:
OUTPUT:
name: expected/reprojected.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:variabledistancebuffer
name: variable buffer on points
params:
DISSOLVE: false
FIELD: buffer
INPUT:
name: custom/variable_buffer.gml
type: vector
SEGMENTS: 5
results:
OUTPUT:
name: expected/variable_buffer_points.gml
type: vector
compare:
geometry:
precision: 5
- algorithm: qgis:variabledistancebuffer
name: variable buffer on points with dissolve option
params:
DISSOLVE: true
FIELD: buffer
INPUT:
name: custom/variable_buffer.gml
type: vector
SEGMENTS: 5
results:
OUTPUT:
name: expected/variable_buffer_points_dissolved.gml
type: vector
compare:
geometry:
precision: 5
fields:
id: skip
id2: skip
fid: skip
- algorithm: native:adduniquevalueindexfield
name: add unique field based on another field
params:
FIELD: id2
INPUT:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/add_unique_field.gml
type: vector
- algorithm: native:adduniquevalueindexfield
name: Add unique field summary
params:
FIELD: id2
FIELD_NAME: classes
INPUT:
name: points.gml
type: vector
results:
SUMMARY_OUTPUT:
name: expected/add_unique_field_summary.gml
type: vector
compare:
fields:
fid: skip
pk:
- id2
- algorithm: qgis:linestopolygons
name: convert lines to polygon
params:
INPUT:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/lines_to_polygon.gml
type: vector
- algorithm: native:snappointstogrid
name: Gridify polys
params:
INPUT:
name: polys.gml
type: vector
HSPACING: 2
VSPACING: 2
results:
OUTPUT:
name: expected/gridify_polys.gml
type: vector
- algorithm: native:snappointstogrid
name: Gridify lines
params:
INPUT:
name: lines.gml
type: vector
HSPACING: 2
VSPACING: 2
results:
OUTPUT:
name: expected/gridify_lines.gml
type: vector
- algorithm: qgis:distancetonearesthubpoints
name: Hub distance points
params:
INPUT:
name: points.gml
type: vector
HUBS:
name: custom/hub_points.gml
type: vector
FIELD: name
UNIT: 0
results:
OUTPUT:
name: expected/hub_distance_points.gml
type: vector
- algorithm: qgis:distancetonearesthublinetohub
name: Hub distance lines
params:
INPUT:
name: points.gml
type: vector
HUBS:
name: custom/hub_points.gml
type: vector
FIELD: name
UNIT: 0
results:
OUTPUT:
name: expected/hub_distance_lines.gml
type: vector
- algorithm: native:hublines
name: Hub lines
params:
HUBS:
name: points.gml
type: vector
SPOKES:
name: custom/spoke_points.gml
type: vector
HUB_FIELD: id
SPOKE_FIELD: id
results:
OUTPUT:
name: expected/hub_lines.gml
type: vector
- algorithm: native:hublines
name: Hub lines (with polygons)
params:
HUBS:
name: dissolve_polys.gml
type: vector
HUB_FIELD: intval
SPOKES:
name: points.gml
type: vector
SPOKE_FIELD: id
results:
OUTPUT:
name: expected/hub_lines_to_poly.gml
type: vector
compare:
fields:
fid: skip
fid_2: skip
- algorithm: native:hublines
name: Hub lines ( with z )
params:
HUBS:
name: multipoints.gml
type: vector
HUB_FIELD: d
SPOKES:
name: pointsz.gml
type: vector
SPOKE_FIELD: elev
results:
OUTPUT:
name: expected/hub_lines_multi_to_z.gml
type: vector
compare:
fields:
fid: skip
fid_2: skip
- algorithm: native:hublines
name: Hub lines subset of fields
params:
HUBS:
name: points.gml
type: vector
HUB_FIELD: id
HUB_FIELDS:
- id
- id2
SPOKES:
name: custom/spoke_points.gml
type: vector
SPOKE_FIELD: id
SPOKE_FIELDS:
- name
results:
OUTPUT:
name: expected/hub_lines_field_subset.gml
type: vector
- algorithm: qgis:pointstopath
name: Points to path (non grouped)
params:
INPUT:
name: points.gml
type: vector
ORDER_FIELD: id
results:
OUTPUT:
name: expected/points_to_path.gml
type: vector
- algorithm: qgis:pointstopath
name: Points to path (grouped)
params:
INPUT:
name: points.gml
type: vector
ORDER_FIELD: id
GROUP_FIELD: id2
results:
OUTPUT:
name:
- expected/points_to_path_grouped.gml
- expected/points_to_path_grouped2.gml
type: vector
- algorithm: native:joinattributestable
name: join the attribute table by common field (one-to-one)
params:
INPUT:
name: points.gml
type: vector
INPUT_2:
name: table.dbf
type: table
FIELD: id
FIELD_2: ID
results:
OUTPUT:
name: expected/join_attribute_table.gml
type: vector
- algorithm: native:joinattributestable
name: join the attribute table by common field, discard non matching (one-to-one)
params:
METHOD: 1
INPUT:
name: points.gml
type: vector
INPUT_2:
name: table2.dbf
type: table
FIELD: id
FIELD_2: ID
DISCARD_NONMATCHING: true
results:
OUTPUT:
name: expected/join_attribute_table_discard_nonmatching.gml
type: vector
- algorithm: native:joinattributestable
name: join the attribute table by common field (one-to-many)
params:
METHOD: 0
INPUT:
name: points.gml
type: vector
INPUT_2:
name: table.dbf
type: table
FIELD: id
FIELD_2: ID
results:
OUTPUT:
name: expected/join_attribute_table_all_match.gml
type: vector
- algorithm: native:joinattributestable
name: Join attributes table with subset of fields
params:
FIELD: id
FIELDS_TO_COPY:
- NUM_A
FIELD_2: ID
INPUT:
name: points.gml
type: vector
INPUT_2:
name: table.dbf
type: vector
results:
OUTPUT:
name: expected/join_attribute_table_subset.gml
type: vector
- algorithm: qgis:shortestpathpointtopoint
name: Shortest path (point to point, shortest route)
params:
DEFAULT_DIRECTION: 2
DEFAULT_SPEED: 5.0
END_POINT: 1003712.4162500285,6222484.5571899945 [EPSG:32733]
INPUT:
name: roads.gml
type: vector
START_POINT: 1000997.5971978485,6220343.83965781 [EPSG:32733]
STRATEGY: 0
TOLERANCE: 0.0
VALUE_BACKWARD: ''
VALUE_BOTH: ''
VALUE_FORWARD: ''
results:
OUTPUT:
name: expected/shortest.gml
type: vector
compare:
ignore_crs_check: true
geometry:
precision: 2
fields:
cost:
precision: 2
start: skip
end: skip
- algorithm: qgis:shortestpathpointtopoint
name: Shortest path (point to point, fastest route)
params:
DEFAULT_DIRECTION: 2
DEFAULT_SPEED: 5.0
END_POINT: 1003731.877318503,6222474.826655758 [EPSG:32733]
INPUT:
name: roads.gml
type: vector
SPEED_FIELD: SPEED
START_POINT: 1000997.5971978485,6220324.378589335 [EPSG:32733]
STRATEGY: 1
TOLERANCE: 0.0
VALUE_BACKWARD: ''
VALUE_BOTH: ''
VALUE_FORWARD: ''
results:
OUTPUT:
name: expected/fastest.gml
type: vector
compare:
ignore_crs_check: true
geometry:
precision: 2
fields:
cost:
precision: 2
start: skip
end: skip
- algorithm: qgis:shortestpathlayertopoint
name: Shortest path layer to point
params:
DEFAULT_DIRECTION: 2
DEFAULT_SPEED: 5.0
END_POINT: 1004160.8843928401,6223198.426763908 [EPSG:32733]
INPUT:
name: roads.gml
type: vector
START_POINTS:
name: custom/route_points.gml
type: vector
STRATEGY: 0
TOLERANCE: 0.0
VALUE_BACKWARD: ''
VALUE_BOTH: ''
VALUE_FORWARD: ''
results:
OUTPUT:
name: expected/shortest_path_layer_to_point.shp
type: vector
compare:
geometry:
precision: 2
fields:
cost:
precision: 2
start: skip
end: skip
- algorithm: qgis:shortestpathpointtolayer
name: Shortest path point to layer
params:
DEFAULT_DIRECTION: 2
DEFAULT_SPEED: 5.0
END_POINTS:
name: custom/route_points.gml
type: vector
INPUT:
name: roads.gml
type: vector
START_POINT: 1001285.5030045575,6219636.580449594 [EPSG:32733]
STRATEGY: 0
TOLERANCE: 0.0
VALUE_BACKWARD: ''
VALUE_BOTH: ''
VALUE_FORWARD: ''
results:
OUTPUT:
name: expected/shortest_path_point_to_layer.shp
type: vector
compare:
geometry:
precision: 2
fields:
cost:
precision: 2
start: skip
end: skip
- algorithm: qgis:serviceareafrompoint
name: Service area (from point, shortest)
params:
DEFAULT_DIRECTION: 2
DEFAULT_SPEED: 5.0
INPUT:
name: roads.gml
type: vector
START_POINT: 1002465.0089601517,6221875.432489508 [EPSG:32733]
STRATEGY: 0
TOLERANCE: 0.0
TRAVEL_COST: 700.0
VALUE_BACKWARD: ''
VALUE_BOTH: ''
VALUE_FORWARD: ''
results:
OUTPUT:
name: expected/service_area.gml
type: vector
compare:
ignore_crs_check: true
geometry:
precision: 2
fields:
cost:
precision: 2
start: skip
end: skip
- algorithm: qgis:serviceareafrompoint
name: Service area (from point, shortest, no bounds)
params:
DEFAULT_DIRECTION: 2
DEFAULT_SPEED: 5.0
INCLUDE_BOUNDS: false
INPUT:
name: roads.gml
type: vector
START_POINT: 1002465.0089601517,6221875.432489508
STRATEGY: 0
TOLERANCE: 0.0
TRAVEL_COST: 700.0
VALUE_BACKWARD: ''
VALUE_BOTH: ''
VALUE_FORWARD: ''
results:
OUTPUT:
name: expected/service_area_no_bounds.gml
type: vector
compare:
ignore_crs_check: true
geometry:
precision: 2
fields:
cost:
precision: 2
start: skip
end: skip
- algorithm: qgis:serviceareafrompoint
name: Service area from point, output lines
params:
DEFAULT_DIRECTION: 2
DEFAULT_SPEED: 5.0
INCLUDE_BOUNDS: false
INPUT:
name: roads.gml
type: vector
START_POINT: 1003654.8065293541,6222397.723338357 [EPSG:32733]
STRATEGY: 0
TOLERANCE: 0.0
TRAVEL_COST: 400.0
VALUE_BACKWARD: ''
VALUE_BOTH: ''
VALUE_FORWARD: ''
results:
OUTPUT_LINES:
name: expected/service_area_lines.gml
type: vector
compare:
ignore_crs_check: true
geometry:
precision: 2
fields:
cost:
precision: 2
start: skip
end: skip
- algorithm: qgis:serviceareafromlayer
name: Service area from layer
params:
DEFAULT_DIRECTION: 2
DEFAULT_SPEED: 5.0
INPUT:
name: roads.gml
type: vector
START_POINTS:
name: custom/route_points.gml
type: vector
STRATEGY: 0
TOLERANCE: 0.0
TRAVEL_COST: 700.0
VALUE_BACKWARD: ''
VALUE_BOTH: ''
VALUE_FORWARD: ''
results:
OUTPUT:
name: expected/service_area_from_layer.shp
type: vector
compare:
ignore_crs_check: true
geometry:
precision: 2
fields:
cost:
precision: 2
start: skip
end: skip
pk:
- d
- type
- algorithm: qgis:serviceareafromlayer
name: Service area from layer no bounds
params:
DEFAULT_DIRECTION: 2
DEFAULT_SPEED: 5.0
INCLUDE_BOUNDS: false
INPUT:
name: roads.gml
type: vector
START_POINTS:
name: custom/route_points.gml
type: vector
STRATEGY: 0
TOLERANCE: 0.0
TRAVEL_COST: 700.0
VALUE_BACKWARD: ''
VALUE_BOTH: ''
VALUE_FORWARD: ''
results:
OUTPUT:
name: expected/service_area_from_layer_no_bounds.shp
type: vector
compare:
ignore_crs_check: true
geometry:
precision: 2
fields:
cost:
precision: 2
start: skip
end: skip
pk:
- d
- type
- algorithm: qgis:serviceareafromlayer
name: Service area from layer (lines)
params:
DEFAULT_DIRECTION: 2
DEFAULT_SPEED: 5.0
INCLUDE_BOUNDS: false
INPUT:
name: roads.gml
type: vector
START_POINTS:
name: custom/route_points.gml
type: vector
STRATEGY: 0
TOLERANCE: 0.0
TRAVEL_COST: 500.0
VALUE_BACKWARD: ''
VALUE_BOTH: ''
VALUE_FORWARD: ''
results:
OUTPUT_LINES:
name: expected/service_area_from_layer_lines.shp
type: vector
compare:
ignore_crs_check: true
geometry:
precision: 2
fields:
cost:
precision: 2
start: skip
end: skip
pk:
- d
- type
- algorithm: qgis:createattributeindex
name: Create attribute index
params:
FIELD: id
INPUT:
name: custom/points.shp
type: vector
in_place: true
results:
INPUT:
name: expected/create_attr_index_points.shp
type: vector
in_place_result: true
- algorithm: qgis:createspatialindex
name: Create spatial index
params:
INPUT:
name: custom/points.shp
type: vector
in_place: true
results:
INPUT:
name: expected/create_attr_index_points.shp
type: vector
in_place_result: true
- algorithm: qgis:truncatetable
name: Truncate table
params:
INPUT:
name: custom/points.shp
type: vector
in_place: true
results:
INPUT:
name: expected/truncated.shp
type: vector
in_place_result: true
- algorithm: qgis:distancematrix
name: Distance matrix (only tests for run, does not check result as rows are in random order)
params:
INPUT_FIELD: fid
INPUT:
name: points.gml
type: vector
MATRIX_TYPE: '0'
NEAREST_POINTS: 0
TARGET_FIELD: fid
TARGET:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/count_unique_points.gml
type: vector
compare: false
- algorithm: qgis:countpointsinpolygon
name: standard count unique points in polygon
params:
CLASSFIELD: id2
FIELD: NUMPOINTS
POINTS:
name: points.gml
type: vector
POLYGONS:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/count_unique_points.gml
type: vector
- algorithm: qgis:countpointsinpolygon
name: standard count points in polygon weighted
params:
FIELD: NUMPOINTS
POINTS:
name: custom/points_weighted.gml
type: vector
POLYGONS:
name: polys.gml
type: vector
WEIGHT: id
results:
OUTPUT:
name: expected/count_points_weighted.gml
type: vector
- algorithm: qgis:pointsalonglines
name: standard points along lines
params:
DISTANCE: 1.0
END_OFFSET: 0.0
INPUT:
name: lines.gml
type: vector
START_OFFSET: 0.0
results:
OUTPUT:
name: expected/points_along_lines.gml
type: vector
- algorithm: native:meancoordinates
name: standard mean coordinates
params:
INPUT:
name: custom/points.shp
type: vector
results:
OUTPUT:
name: expected/mean_coordinates.gml
type: vector
- algorithm: native:meancoordinates
name: Mean coordinates, multiple grouped
params:
INPUT:
name: points.gml
type: vector
UID: id2
results:
OUTPUT:
name: expected/mean_coordinates_unique_grouped.gml
type: vector
pk: id2
compare:
fields:
fid: skip
- algorithm: native:meancoordinates
name: Mean coordinates, unique field
params:
INPUT:
name: points.gml
type: vector
UID: id
results:
OUTPUT:
name: expected/mean_coordinates_unique_grouped_2.gml
type: vector
pk: id
compare:
fields:
fid: skip
- algorithm: native:meancoordinates
name: Mean coordinates, weighted
params:
INPUT:
name: points.gml
type: vector
WEIGHT: id
results:
OUTPUT:
name: expected/unique_coordinates_weight.gml
type: vector
compare:
fields:
fid: skip
- algorithm: native:collect
name: single part to multipart
params:
FIELD: id
INPUT:
name: custom/single_part_poly.gml
type: vector
results:
OUTPUT:
name: expected/single_to_multi.gml
type: vector
- algorithm: qgis:statisticsbycategories
name: stats by category
params:
VALUES_FIELD_NAME: id
CATEGORIES_FIELD_NAME: id2
INPUT:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/stats_by_category.gml
type: vector
pk: id2
compare:
fields:
fid: skip
- algorithm: qgis:zonalstatistics
name: simple zonal statistics
params:
COLUMN_PREFIX: _
INPUT_RASTER:
name: dem.tif
type: raster
INPUT_VECTOR:
name: custom/zonal_stats.shp
type: vector
in_place: true
RASTER_BAND: 1
STATS:
- 0
- 1
- 2
results:
INPUT_VECTOR:
name: expected/zonal_stats.shp
type: vector
in_place_result: true
compare:
geometry:
precision: 5
- algorithm: native:fixgeometries
name: Fix geometries
params:
INPUT:
name: invalidgeometries.gml
type: vector
results:
OUTPUT:
name: expected/valid.gml
type: vector
- algorithm: qgis:polygonize
name: Polygonize
params:
KEEP_FIELDS: false
INPUT:
name: custom/polygonize_lines.gml
type: vector
results:
OUTPUT:
name: expected/polygonize.gml
type: vector
- algorithm: qgis:voronoipolygons
name: Standard voronoi
params:
BUFFER: 0.0
INPUT:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/voronoi.gml
type: vector
- algorithm: qgis:voronoipolygons
name: Vornoi with buffer region
params:
BUFFER: 10.0
INPUT:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/voronoi_buffer.gml
type: vector
- algorithm: native:explodelines
name: Explode lines
params:
INPUT:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/explode_lines.gml
type: vector
compare:
fields:
fid: skip
- algorithm: native:explodelines
name: Explode multilines
params:
INPUT:
name: multilines.gml
type: vector
results:
OUTPUT:
name: expected/explode_multilines.gml
type: vector
compare:
fields:
fid: skip
- algorithm: native:explodelines
name: Explode compound curves
params:
INPUT:
name: custom/circular_strings.gpkg|layername=circular_strings_with_line
type: vector
results:
OUTPUT:
name: expected/explode_compound_curve.shp
type: vector
- algorithm: qgis:findprojection
name: Find projection
params:
INPUT:
name: custom/find_projection.gml
type: vector
TARGET_AREA: 151.1198,151.1368,-33.9118,-33.9003
TARGET_AREA_CRS: EPSG:4326
results:
OUTPUT:
name: expected/projection_candidates.gml
type: vector
- algorithm: qgis:polygonfromlayerextent
name: Standard polygon from layer extent
params:
BY_FEATURE: false
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/polygon_from_extent.gml
type: vector
- algorithm: qgis:topologicalcoloring
name: Topological coloring
params:
BALANCE: 0
INPUT:
name: custom/adjacent_polys.gml
type: vector
MIN_COLORS: 4
results:
OUTPUT:
type: vector
name:
- expected/topocolor_polys.gml
- expected/topocolor_polys2.gml
- algorithm: qgis:topologicalcoloring
name: Topological coloring w/ min distance
params:
BALANCE: 0
INPUT:
name: custom/adjacent_polys.gml
type: vector
MIN_COLORS: 4
MIN_DISTANCE: 4.0
results:
OUTPUT:
name: expected/topocolor_polys_min_dist.gml
type: vector
- algorithm: qgis:regularpoints
name: Regular point with standard extent
params:
EXTENT: -0.9182432432432436,10.208108108108108,-3.1266891891891904,5.480067567567567
INSET: 0.0
IS_SPACING: false
RANDOMIZE: false
SPACING: 100
CRS: EPSG:4326
results:
OUTPUT:
name: expected/regular_points.gml
type: vector
compare:
geometry:
precision: 5
- algorithm: qgis:rectanglesovalsdiamondsvariable
name: Rectangular buffer shape
params:
HEIGHT: id
INPUT:
name: custom/points_weighted.gml
type: vector
SEGMENTS: 36
SHAPE: '0'
WIDTH: id
results:
OUTPUT:
name: expected/buffer_rect.gml
type: vector
- algorithm: qgis:rectanglesovalsdiamondsvariable
name: Diamond buffer shape
params:
HEIGHT: id
INPUT:
name: custom/points_weighted.gml
type: vector
SEGMENTS: 36
SHAPE: '1'
WIDTH: id
results:
OUTPUT:
name: expected/buffer_diamond.gml
type: vector
- algorithm: qgis:rectanglesovalsdiamondsvariable
name: Oval buffer shape
params:
HEIGHT: id
INPUT:
name: custom/points_weighted.gml
type: vector
SEGMENTS: 36
SHAPE: '2'
WIDTH: id
results:
OUTPUT:
name: expected/buffer_ovals.gml
type: vector
- algorithm: qgis:creategrid
name: Lines grid 0.1 degree spacing
params:
CRS: EPSG:4326
EXTENT: -0.10453905405405395,8.808021567567568,-2.5010055337837844,4.058021763513514
HOVERLAY: 0.0
HSPACING: 0.1
TYPE: '1'
VOVERLAY: 0.0
VSPACING: 0.1
results:
OUTPUT:
name: expected/create_grid_lines.gml
type: vector
- algorithm: qgis:convertgeometrytype
name: polygon to centroid
params:
INPUT:
name: polys.gml
type: vector
TYPE: '0'
results:
OUTPUT:
name: expected/convert_poly_centroid.gml
type: vector
- algorithm: qgis:convertgeometrytype
name: polygon to multilinestring
params:
INPUT:
name: polys.gml
type: vector
TYPE: '3'
results:
OUTPUT:
name: expected/convert_poly_multiline.gml
type: vector
- algorithm: qgis:convertgeometrytype
name: polygon to nodes
params:
INPUT:
name: polys.gml
type: vector
TYPE: '1'
results:
OUTPUT:
name: expected/convert_poly_nodes.gml
type: vector
- algorithm: native:extractbylocation
name: polygon intersecting points
params:
INPUT:
name: polys.gml
type: vector
INTERSECT:
name: custom/points.shp
type: vector
PREDICATE: 0
results:
OUTPUT:
name: expected/extract_by_location_intersection.gml
type: vector
compare:
fields:
fid: skip
- algorithm: native:extractbylocation
name: points within polygons
params:
INPUT:
name: custom/points.shp
type: vector
INTERSECT:
name: polys.gml
type: vector
PREDICATE: 6
results:
OUTPUT:
name: expected/extract_by_location_within.gml
type: vector
compare:
fields:
fid: skip
- algorithm: native:extractbylocation
name: Polygons containing points
params:
INPUT:
name: polys.gml
type: vector
INTERSECT:
name: custom/points.shp
type: vector
PREDICATE:
- 1
results:
OUTPUT:
name: expected/extract_by_location_contains.gml
type: vector
- algorithm: native:extractbylocation
name: Extract by location (disjoint)
params:
INPUT:
name: custom/points.shp
type: vector
INTERSECT:
name: polys.gml
type: vector
PREDICATE:
- 2
results:
OUTPUT:
name: expected/extract_by_location_disjoint.gml
type: vector
- algorithm: native:extractbylocation
name: Extract by location (touches)
params:
INPUT:
name: custom/points.shp
type: vector
INTERSECT:
name: polys.gml
type: vector
PREDICATE:
- 4
results:
OUTPUT:
name: expected/extract_by_location_touches.gml
type: vector
- algorithm: qgis:addfieldtoattributestable
name: add float field
params:
FIELD_LENGTH: 10
FIELD_NAME: field
FIELD_PRECISION: 2
FIELD_TYPE: '1'
INPUT:
name: custom/points.shp
type: vector
results:
OUTPUT:
name: expected/add_field.gml
type: vector
- algorithm: native:orderbyexpression
name: Order by expression
params:
ASCENDING: true
EXPRESSION: intval
INPUT:
name: polys.gml
type: vector
NULLS_FIRST: false
results:
OUTPUT:
name: expected/order_by_expression.gml
type: vector
compare:
fields:
__all__:
precision: 4
- algorithm: qgis:randompointsinextent
name: Random point in extent, don't check result
params:
TARGET_CRS: EPSG:4326
EXTENT: 3.9821361058601132,4.01984877126654,0.9948015122873343,1.0305293005671075
MIN_DISTANCE: 0.0
POINTS_NUMBER: 5
results:
OUTPUT:
compare: false
type: vector
name: randompointsinextent.gml
- algorithm: qgis:randomextract
name: Random extract by number
params:
INPUT:
name: custom/points_weighted.gml
type: vector
METHOD: 0
NUMBER: 4
results:
OUTPUT:
type: vector
name: points_weighted.gml
compare: false
- algorithm: qgis:randomextract
name: Random extract by percentage
params:
INPUT:
name: custom/points_weighted.gml
type: vector
METHOD: 1
NUMBER: 50
results:
OUTPUT:
type: vector
name: points_weighted.gml
compare: false
- algorithm: qgis:heatmapkerneldensityestimation
name: Heatmap (Kernel density estimation)
params:
DECAY: 0.0
INPUT:
name: points.gml
type: vector
KERNEL: '0'
OUTPUT_VALUE: '0'
PIXEL_SIZE: 0.1
RADIUS: 0.5
results:
OUTPUT:
hash: f09384c64f56286ec4146a7b9a679cea7c6711ec4c7d77eec054e364
type: rasterhash
- algorithm: qgis:rasterlayerstatistics
name: Raster layer statistics
params:
INPUT:
name: dem.tif
type: raster
BAND: 1
results:
OUTPUT_HTML_FILE:
name: raster_statistics.html
type: regex
rules:
- 'Minimum value: 85.0'
- 'Maximum value: 243.0'
- 'Range: 158.0'
- 'Sum: 19213301.982429504'
- 'Mean value: 147.17197994967066'
- 'Standard deviation: 43.9618116337985'
- 'Sum of the squares: 252304334.52061242'
- algorithm: qgis:rasterlayeruniquevaluesreport
name: Raster layer unique values report
params:
INPUT:
name: raster.tif
type: raster
BAND: 1
results:
OUTPUT_HTML_FILE:
name: raster_unique_values_count.html
type: regex
rules:
- 'Total pixel count: 224'
- 'NODATA pixel count: 104'
- '826</td><td>4</td><td>411.2757251916548'
- '837</td><td>6</td><td>616.9135877874822'
- '843</td><td>6</td><td>616.9135877874822'
- '845</td><td>4</td><td>411.2757251916548'
- '851</td><td>9</td><td>925.3703816812233'
- '853</td><td>6</td><td>616.9135877874822'
- '859</td><td>10</td><td>1028.189312979137'
- '861</td><td>4</td><td>411.2757251916548'
- '864</td><td>6</td><td>616.9135877874822'
- '866</td><td>9</td><td>925.3703816812233'
- '868</td><td>6</td><td>616.9135877874822'
- '872</td><td>4</td><td>411.2757251916548'
- '873</td><td>9</td><td>925.3703816812233'
- '878</td><td>6</td><td>616.9135877874822'
- '880</td><td>6</td><td>616.9135877874822'
- '881</td><td>6</td><td>616.9135877874822'
- '890</td><td>13</td><td>1336.646106872878'
- '899</td><td>6</td><td>616.9135877874822'
- algorithm: qgis:pointsdisplacement
name: Point displacement
params:
DISTANCE: 1.0
HORIZONTAL: false
INPUT:
name: custom/displace_points.gml
type: vector
PROXIMITY: 2.0
results:
OUTPUT:
name: expected/displaced_points.gml
type: vector
- algorithm: qgis:generatepointspixelcentroidsinsidepolygons
name: Pixel centroids inside polygon
params:
INPUT_RASTER:
name: dem.tif
type: raster
INPUT_VECTOR:
name: custom/pixel_polygons.gml
type: vector
results:
OUTPUT:
name: expected/pixel_centroids_polygon.gml
type: vector
- algorithm: qgis:generatepointspixelcentroidsalongline
name: Pixel centroids along line
params:
INPUT_RASTER:
name: dem.tif
type: raster
INPUT_VECTOR:
name: custom/pixel_lines.gml
type: vector
results:
OUTPUT:
name: expected/pixel_centroids_lines.gml
type: vector
- algorithm: qgis:fieldcalculator
name: Test field calculator points
params:
FIELD_LENGTH: 10
FIELD_NAME: test
FIELD_PRECISION: 3
FIELD_TYPE: 1
FORMULA: ' "id2" *2'
INPUT:
name: points.gml
type: vector
NEW_FIELD: true
results:
OUTPUT:
name: expected/field_calculator_points.gml
type: vector
- algorithm: qgis:advancedpythonfieldcalculator
name: Test advanced python calculator
params:
FIELD_LENGTH: 10
FIELD_NAME: new_field
FIELD_PRECISION: 3
FIELD_TYPE: 0
FORMULA: value = __attr[2]*2
GLOBAL: ''
INPUT:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/pycalculator_points.gml
type: vector
- algorithm: qgis:executesql
name: Test execute SQL
params:
INPUT_DATASOURCES:
params:
- name: points.gml
type: vector
type: multi
INPUT_GEOMETRY_FIELD: ''
INPUT_GEOMETRY_TYPE: 0
INPUT_QUERY: select * from input1 where id2=2
INPUT_UID_FIELD: ''
results:
OUTPUT:
name: expected/execute_sql.gml
type: vector
- algorithm: qgis:polygonfromlayerextent
name: Polygon from raster extent
params:
INPUT:
name: dem.tif
type: raster
results:
OUTPUT:
name: expected/raster_extent.gml
type: vector
- algorithm: native:minimumenclosingcircle
name: Minimal enclosing circle each features
params:
BY_FEATURE: true
INPUT:
name: custom/oriented_bbox.gml
type: vector
results:
OUTPUT:
name: expected/enclosing_circles_each.gml
type: vector
compare:
geometry:
precision: 7
- algorithm: qgis:minimumboundinggeometry
name: Minimum enclosing geom (hull, no field)
params:
INPUT:
name: dissolve_polys.gml
type: vector
TYPE: 3
results:
OUTPUT:
name: expected/mbg_hull_nofield.gml
type: vector
compare:
geometry:
precision: 7
fields:
fid: skip
id: skip
- algorithm: qgis:minimumboundinggeometry
name: Minimum enclosing geom (hull, field)
params:
FIELD: name
INPUT:
name: dissolve_polys.gml
type: vector
TYPE: 3
results:
OUTPUT:
name: expected/mbg_hull_field.gml
type: vector
pk: name
compare:
geometry:
precision: 7
fields:
fid: skip
id: skip
- algorithm: qgis:minimumboundinggeometry
name: Minimum enclosing geom (circle, field)
params:
FIELD: name
INPUT:
name: dissolve_polys.gml
type: vector
TYPE: 2
results:
OUTPUT:
name: expected/mbg_circle_field.gml
type: vector
pk: name
compare:
geometry:
precision: 7
fields:
fid: skip
id: skip
- algorithm: qgis:minimumboundinggeometry
name: Minimum enclosing geom (circle, no field)
params:
INPUT:
name: dissolve_polys.gml
type: vector
TYPE: 2
results:
OUTPUT:
name: expected/mbg_circle_nofield.gml
type: vector
compare:
geometry:
precision: 7
fields:
fid: skip
id: skip
- algorithm: qgis:minimumboundinggeometry
name: Minimum enclosing geom (oriented rect, no field)
params:
INPUT:
name: dissolve_polys.gml
type: vector
TYPE: 1
results:
OUTPUT:
name: expected/mbg_rect_nofield.gml
type: vector
compare:
geometry:
precision: 7
fields:
fid: skip
id: skip
- algorithm: qgis:minimumboundinggeometry
name: Minimum enclosing geom (oriented rect, field)
params:
FIELD: name
INPUT:
name: dissolve_polys.gml
type: vector
TYPE: 1
results:
OUTPUT:
name: expected/mbg_rect_field.gml
type: vector
pk: name
compare:
geometry:
precision: 7
fields:
fid: skip
id: skip
- algorithm: qgis:minimumboundinggeometry
name: Minimum enclosing geom (envelope, field)
params:
FIELD: name
INPUT:
name: dissolve_polys.gml
type: vector
TYPE: 0
results:
OUTPUT:
name: expected/mbg_env_field.gml
type: vector
pk: name
compare:
geometry:
precision: 7
fields:
fid: skip
id: skip
- algorithm: qgis:minimumboundinggeometry
name: Minimum enclosing geom (envelope, no field)
params:
INPUT:
name: dissolve_polys.gml
type: vector
TYPE: 0
results:
OUTPUT:
name: expected/mbg_env_nofield.gml
type: vector
compare:
geometry:
precision: 7
fields:
fid: skip
id: skip
- algorithm: native:convexhull
name: Convex hull by feature
params:
INPUT:
name: custom/oriented_bbox.gml
type: vector
results:
OUTPUT:
name: expected/convex_hull_by_feature.gml
type: vector
- algorithm: native:promotetomulti
name: Promote to multipart lines
params:
INPUT:
name: lines.gml
type: vector
results:
OUTPUT:
name: expected/promote_multipart_lines.gml
type: vector
- algorithm: native:promotetomulti
name: Promote to multipart lines points
params:
INPUT:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/promote_multipart_points.gml
type: vector
- algorithm: native:promotetomulti
name: Promote to multipart polygons
params:
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/promote_multipart_polys.gml
type: vector
- algorithm: native:promotetomulti
name: Promote to multipart (already multipart)
params:
INPUT:
name: multipolys.gml
type: vector
results:
OUTPUT:
name: expected/promote_multipart_already_multi.gml
type: vector
- algorithm: native:collect
name: Test (native:collect)
params:
INPUT:
name: dissolve_polys.gml
type: vector
results:
OUTPUT:
name: expected/collect_all.gml
type: vector
- algorithm: native:collect
name: Test (native:collect)
params:
FIELD:
- name
INPUT:
name: dissolve_polys.gml
type: vector
results:
OUTPUT:
name: expected/collect_one_field.gml
type: vector
- algorithm: native:collect
name: Test (native:collect)
params:
FIELD:
- intval
- name
INPUT:
name: dissolve_polys.gml
type: vector
results:
OUTPUT:
name: expected/collect_two_fields.gml
type: vector
- algorithm: qgis:statisticsbycategories
name: Stats by cat (float field)
params:
CATEGORIES_FIELD_NAME:
- name
INPUT:
name: dissolve_polys.gml
type: vector
VALUES_FIELD_NAME: floatval
results:
OUTPUT:
name: expected/stats_by_cat_float.gml
type: vector
pk: name
compare:
fields:
fid: skip
- algorithm: qgis:statisticsbycategories
name: Stats by cat (string field)
params:
CATEGORIES_FIELD_NAME:
- intval
INPUT:
name: dissolve_polys.gml
type: vector
VALUES_FIELD_NAME: name
results:
OUTPUT:
name: expected/stats_by_cat_string.gml
type: vector
pk: intval
compare:
fields:
fid: skip
- algorithm: qgis:statisticsbycategories
name: Stats by cat (two category fields)
params:
CATEGORIES_FIELD_NAME:
- intval
- name
INPUT:
name: dissolve_polys.gml
type: vector
VALUES_FIELD_NAME: floatval
results:
OUTPUT:
name: expected/stats_by_cat_two_fields.gml
type: vector
pk:
- intval
- name
compare:
fields:
fid: skip
- algorithm: qgis:statisticsbycategories
name: Stats by cat (no value field)
params:
CATEGORIES_FIELD_NAME:
- intval
- name
INPUT:
name: dissolve_polys.gml
type: vector
results:
OUTPUT:
name: expected/stats_by_cat_no_value.gml
type: vector
pk:
- intval
- name
compare:
fields:
fid: skip
- algorithm: qgis:statisticsbycategories
name: Stats by cat (date field)
params:
CATEGORIES_FIELD_NAME:
- date
INPUT:
name: custom/datetimes.tab
type: vector
VALUES_FIELD_NAME: date
results:
OUTPUT:
name: expected/stats_by_cat_date.gml
type: vector
pk: date
compare:
fields:
fid: skip
- algorithm: qgis:joinattributesbylocation
name: Join by location (intersects)
params:
DISCARD_NONMATCHING: false
INPUT:
name: polys.gml
type: vector
JOIN:
name: custom/points.shp
type: vector
METHOD: 0
PREDICATE:
- 0
results:
OUTPUT:
name: expected/join_by_location_intersect.gml
type: vector
pk:
- name
- id
- id2
compare:
fields:
fid: skip
fid_2: skip
- algorithm: qgis:joinattributesbylocation
name: Join by location (intersects), discard no match
params:
DISCARD_NONMATCHING: true
INPUT:
name: polys.gml
type: vector
JOIN:
name: custom/points.shp
type: vector
METHOD: 0
PREDICATE:
- 0
results:
OUTPUT:
name: expected/join_by_location_intersect_discardnomatch.gml
type: vector
pk:
- name
- id
- id2
compare:
fields:
fid: skip
fid_2: skip
- algorithm: qgis:joinattributesbylocation
name: Join by location (intersects), first match only
params:
DISCARD_NONMATCHING: false
INPUT:
name: polys.gml
type: vector
JOIN:
name: custom/points.shp
type: vector
METHOD: 1
PREDICATE:
- 0
results:
OUTPUT:
name: expected/join_by_location_intersect_first_only.gml
type: vector
pk:
- name
compare:
fields:
fid: skip
fid_2: skip
id: skip # cant check these - order of match is not predictable
id2: skip
- algorithm: qgis:joinattributesbylocation
name: Join by location (intersects), first match only, discard no match
params:
DISCARD_NONMATCHING: true
INPUT:
name: expected/join_by_location_intersect_first_only.gml
type: vector
JOIN:
name: custom/points.shp
type: vector
METHOD: 1
PREDICATE:
- 0
results:
OUTPUT:
name: expected/join_by_location_intersect_first_only_discardnomatch.gml
type: vector
pk:
- name
compare:
fields:
fid: skip
fid_2: skip
id: skip # cant check these - order of match is not predictable
id2: skip
- algorithm: qgis:joinattributesbylocation
name: Join by location (intersects), subset of fields
params:
DISCARD_NONMATCHING: false
INPUT:
name: polys.gml
type: vector
JOIN:
name: custom/points.shp
type: vector
JOIN_FIELDS:
- id
METHOD: 0
PREDICATE:
- 0
results:
OUTPUT:
name: expected/join_by_location_intersect_subset_fields.gml
type: vector
pk:
- name
- id
compare:
fields:
fid: skip
fid_2: skip
- algorithm: qgis:joinattributesbylocation
name: Join by location (touches)
params:
DISCARD_NONMATCHING: true
INPUT:
name: polys.gml
type: vector
JOIN:
name: custom/points.shp
type: vector
METHOD: 0
PREDICATE:
- 3
results:
OUTPUT:
name: expected/join_by_location_touches.gml
type: vector
pk:
- name
- id
- id2
compare:
fields:
fid: skip
fid_2: skip
- algorithm: qgis:joinbylocationsummary
name: Join by location (summary), intersects
params:
DISCARD_NONMATCHING: false
INPUT:
name: polys.gml
type: vector
JOIN:
name: custom/points.shp
type: vector
JOIN_FIELDS:
- id
- id2
PREDICATE:
- 0
SUMMARIES: []
results:
OUTPUT:
name: expected/join_by_location_summary_intersect.gml
type: vector
pk:
- name
compare:
fields:
fid: skip
- algorithm: qgis:joinbylocationsummary
name: Join by location (summary), intersects, discard no matching
params:
DISCARD_NONMATCHING: true
INPUT:
name: polys.gml
type: vector
JOIN:
name: custom/points.shp
type: vector
JOIN_FIELDS:
- id
- id2
PREDICATE:
- 0
SUMMARIES: []
results:
OUTPUT:
name: expected/join_by_location_summary_intersect_discardnomatch.gml
type: vector
pk:
- name
compare:
fields:
fid: skip
- algorithm: qgis:joinbylocationsummary
name: Join by location (summary), subset of stats
params:
DISCARD_NONMATCHING: false
INPUT:
name: polys.gml
type: vector
JOIN:
name: custom/points.shp
type: vector
JOIN_FIELDS:
- id
- id2
PREDICATE:
- 0
SUMMARIES:
- 0
- 2
- 5
results:
OUTPUT:
name: expected/join_by_location_summary_subset_stats.gml
type: vector
pk:
- name
compare:
fields:
fid: skip
- algorithm: qgis:joinbylocationsummary
name: Join by location (summary), touching
params:
DISCARD_NONMATCHING: false
INPUT:
name: polys.gml
type: vector
JOIN:
name: custom/points.shp
type: vector
JOIN_FIELDS:
- id
PREDICATE:
- 3
SUMMARIES: []
results:
OUTPUT:
name: expected/join_by_location_summary_touches.gml
type: vector
pk:
- name
compare:
fields:
fid: skip
- algorithm: qgis:joinbylocationsummary
name: Join by Location (summary), string field
params:
DISCARD_NONMATCHING: false
INPUT:
name: custom/points.shp
type: vector
JOIN:
name: polys.gml
type: vector
JOIN_FIELDS:
- name
PREDICATE:
- 0
SUMMARIES: []
results:
OUTPUT:
name: expected/join_by_location_summary_string.gml
type: vector
pk:
- id
- id2
compare:
fields:
fid: skip
- algorithm: qgis:joinbylocationsummary
name: Join by Location (summary), date
params:
DISCARD_NONMATCHING: false
INPUT:
name: polys.gml
type: vector
JOIN:
name: custom/points_with_date.shp
type: vector
JOIN_FIELDS:
- date
PREDICATE:
- 0
SUMMARIES: []
results:
OUTPUT:
name: expected/join_by_location_summary_date.gml
type: vector
pk:
- name
compare:
fields:
fid: skip
- algorithm: native:extractbyextent
name: Extract by extent
params:
CLIP: false
EXTENT: -1.1650000000000003,4.775,-2.444285714285715,3.4171428571428573
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/extract_by_extent.gml
type: vector
- algorithm: native:extractbyextent
name: Extract by extent (clipped)
params:
CLIP: true
EXTENT: -1.1650000000000003,4.775,-2.444285714285715,3.4171428571428573
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/extract_by_extent_clip.gml
type: vector
- algorithm: native:assignprojection
name: Assign projection
params:
CRS: EPSG:4283
INPUT:
name: custom/points.shp
type: vector
results:
OUTPUT:
name: expected/assign_projection.gml
type: vector
- algorithm: native:transect
name: Transect single left 90.0 1m
params:
ANGLE: 90.0
LENGTH: 1.0
INPUT:
name: custom/transect_single.gml
type: vector
SIDE: 0
results:
OUTPUT:
name: expected/transect_single_left_1.gml
type: vector
- algorithm: native:transect
name: Transect single right 90.0 0.5m
params:
ANGLE: 90.0
LENGTH: 0.5
INPUT:
name: custom/transect_single.gml
type: vector
SIDE: 1
results:
OUTPUT:
name: expected/transect_single_right_05.gml
type: vector
- algorithm: native:transect
name: Transect single both 90.0 5m
params:
ANGLE: 90.0
INPUT:
name: custom/transect_single.gml
type: vector
LENGTH: 5
SIDE: 2
results:
OUTPUT:
name: expected/transect_single_both_5.gml
type: vector
- algorithm: native:transect
name: Transect single both 30.0 2m
params:
ANGLE: 30.0
INPUT:
name: custom/transect_single.gml
type: vector
LENGTH: 2.0
SIDE: 2
results:
OUTPUT:
name: expected/transect_single_both_2_30.gml
type: vector
- algorithm: native:transect
name: Transect multi left 90.0 1m
params:
ANGLE: 90.0
LENGTH: 1.0
INPUT:
name: custom/transect_multi.gml
type: vector
SIDE: 0
results:
OUTPUT:
name: expected/transect_multi_left_1.gml
type: vector
- algorithm: native:transect
name: Transect multi right 90.0 0.5m
params:
ANGLE: 90.0
LENGTH: 0.5
INPUT:
name: custom/transect_multi.gml
type: vector
SIDE: 1
results:
OUTPUT:
name: expected/transect_multi_right_05.gml
type: vector
- algorithm: native:transect
name: Transect multi both 90.0 5m
params:
ANGLE: 90.0
INPUT:
name: custom/transect_multi.gml
type: vector
LENGTH: 5
SIDE: 2
results:
OUTPUT:
name: expected/transect_multi_both_5.gml
type: vector
- algorithm: native:transect
name: Transect multi both 30.0 2m
params:
ANGLE: 30.0
INPUT:
name: custom/transect_multi.gml
type: vector
LENGTH: 2.0
SIDE: 2
results:
OUTPUT:
name: expected/transect_multi_both_2_30.gml
type: vector
- algorithm: qgis:distancematrix
name: Linear (N*k x 3) distance matrix
params:
INPUT:
name: points.gml
type: vector
INPUT_FIELD: fid
MATRIX_TYPE: 0
NEAREST_POINTS: 0
TARGET:
name: points.gml
type: vector
TARGET_FIELD: fid
results:
OUTPUT:
pk:
- InputID
- TargetID
name: expected/linear_matrix.gml
type: vector
compare:
fields:
fid: skip
- algorithm: qgis:distancematrix
name: Linear (N*k x 3) distance matrix, nearest 3 points
params:
INPUT:
name: points.gml
type: vector
INPUT_FIELD: fid
MATRIX_TYPE: 0
NEAREST_POINTS: 3
TARGET:
name: points.gml
type: vector
TARGET_FIELD: fid
results:
OUTPUT:
pk:
- InputID
- TargetID
name: expected/linear_matrix_nearest3.gml
type: vector
compare:
fields:
fid: skip
- algorithm: qgis:distancematrix
name: Linear (N*k x 3) distance matrix, different layers
params:
INPUT:
name: points.gml
type: vector
INPUT_FIELD: fid
MATRIX_TYPE: 0
NEAREST_POINTS: 0
TARGET:
name: custom/spoke_points.gml
type: vector
TARGET_FIELD: fid
results:
OUTPUT:
pk:
- InputID
- TargetID
name: expected/linear_matrix_diff.gml
type: vector
compare:
fields:
fid: skip
- algorithm: qgis:distancematrix
name: Standard (N x T) distance matrix
params:
INPUT:
name: points.gml
type: vector
INPUT_FIELD: fid
MATRIX_TYPE: 1
NEAREST_POINTS: 0
TARGET:
name: points.gml
type: vector
TARGET_FIELD: fid
results:
OUTPUT:
name: expected/standard_matrix.gml
type: vector
compare:
fields:
__all__:
precision: 7
- algorithm: qgis:distancematrix
name: Summary distance matrix (mean, std. dev., min, max)
params:
INPUT:
name: points.gml
type: vector
INPUT_FIELD: fid
MATRIX_TYPE: 2
NEAREST_POINTS: 0
TARGET:
name: points.gml
type: vector
TARGET_FIELD: fid
results:
OUTPUT:
name: expected/summary_matrix.gml
type: vector
compare:
fields:
__all__:
precision: 7
- algorithm: qgis:distancematrix
name: Summary matrix different layers
params:
INPUT:
name: points.gml
type: vector
INPUT_FIELD: fid
MATRIX_TYPE: 2
NEAREST_POINTS: 0
TARGET:
name: custom/spoke_points.gml
type: vector
TARGET_FIELD: fid
results:
OUTPUT:
name: expected/summary_matrix_diff_layers.gml
type: vector
compare:
fields:
__all__:
precision: 7
- algorithm: qgis:union
name: Union simple
params:
INPUT:
name: custom/polygon_mask.gml
type: vector
OVERLAY:
name: custom/for_union.gml
type: vector
results:
OUTPUT:
name: expected/union.gml
type: vector
- algorithm: qgis:difference
name: Difference test
params:
INPUT:
name: custom/for_union.gml
type: vector
OVERLAY:
name: custom/polygon_mask.gml
type: vector
results:
OUTPUT:
name: expected/difference.gml
type: vector
- algorithm: native:projectpointcartesian
name: Project points cartesian
params:
BEARING: 90.0
DISTANCE: 1.0
INPUT:
name: points.gml
type: vector
results:
OUTPUT:
name: expected/projected_points.gml
type: vector
- algorithm: native:projectpointcartesian
name: Project multipoints cartesian
params:
BEARING: -90.0
DISTANCE: 0.5
INPUT:
name: multipoints.gml
type: vector
results:
OUTPUT:
name: expected/projected_multipoints.gml
type: vector
- algorithm: native:removeduplicatevertices
name: Remove duplicate vertices from lines
params:
INPUT:
name: custom/line_duplicate_nodes.gml
type: vector
TOLERANCE: 1.0e-06
USE_Z_VALUE: false
results:
OUTPUT:
name: expected/removed_duplicated_nodes_line.gml
type: vector
- algorithm: qgis:keepnbiggestparts
name: Keep N biggest parts
params:
PARTS: 1
POLYGONS:
name: multipolys.gml
type: vector
results:
OUTPUT:
name: expected/biggest_parts.gml
type: vector
- algorithm: native:multiringconstantbuffer
name: Multi-ring buffer with points
params:
DISTANCE: 0.05
INPUT:
name: points.gml
type: vector
RINGS: 3
results:
OUTPUT:
name: expected/multiring_buffer.gml
type: vector
- algorithm: native:segmentizebymaxangle
name: Segmentize by angle
params:
ANGLE: 20.0
INPUT:
name: custom/circular_strings.gpkg|layername=circular_strings
type: vector
results:
OUTPUT:
name: expected/segmentize_by_angle.gml
type: vector
- algorithm: native:segmentizebymaxdistance
name: Segmentize by distance
params:
DISTANCE: 0.2
INPUT:
name: custom/circular_strings.gpkg|layername=circular_strings
type: vector
results:
OUTPUT:
name: expected/segmentize_by_distance.gml
type: vector
- algorithm: native:rotatefeatures
name: Rotate around centroid
params:
ANGLE: 25.0
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/rotate_around_centroid.gml
type: vector
- algorithm: native:rotatefeatures
name: Rotate around point
params:
ANCHOR: 2.3,3 [EPSG:4326]
ANGLE: 25.0
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/rotate_around_point.gml
type: vector
- algorithm: native:importphotos
name: Import photos
params:
FOLDER:
name: custom/photos
type: file
RECURSIVE: false
results:
INVALID:
name: expected/import_photos_invalid.gml
type: vector
compare:
fields:
photo: skip
directory: skip
OUTPUT:
name: expected/import_photos.gml
type: vector
compare:
fields:
photo: skip
directory: skip
- algorithm: qgis:concavehull
name: Concave Hull - Points (0.3)
params:
ALPHA: 0.3
HOLES: true
INPUT:
name: points.gml
type: vector
NO_MULTIGEOMETRY: false
results:
OUTPUT:
name: expected/concave_hull_points_03.gml
type: vector
- algorithm: qgis:concavehull
name: Concave Hull - Points (0.7)
params:
ALPHA: 0.7
HOLES: true
INPUT:
name: points.gml
type: vector
NO_MULTIGEOMETRY: false
results:
OUTPUT:
name: expected/concave_hull_points_07.gml
type: vector
- algorithm: native:swapxy
name: Swap XY coordinates
params:
INPUT:
name: polys.gml
type: vector
results:
OUTPUT:
name: expected/swap_xy.gml
type: vector
- algorithm: model:filtertest
name: Test (model:filtertest)
params:
layer:
name: points.gml
type: vector
results:
native:filter_1:OUTPUT_small:
name: expected/filter_points_small.gml
type: vector
native:filter_1:OUTPUT_big:
name: expected/filter_points_big.gml
type: vector
- algorithm: native:intersection
name: Test Intersection (basic)
params:
INPUT:
name: custom/overlay1_a.geojson
type: vector
OVERLAY:
name: custom/overlay1_b.geojson
type: vector
results:
OUTPUT:
name: expected/intersection1.gml
type: vector
pk: [id_a, id_b]
compare:
fields:
fid: skip
- algorithm: native:intersection
name: Test Intersection (geom types)
params:
INPUT:
name: custom/overlay3_a.geojson
type: vector
OVERLAY:
name: custom/overlay3_b.geojson
type: vector
results:
OUTPUT:
name: expected/intersection3.gml
type: vector
pk: [id_a, id_b]
compare:
fields:
fid: skip
# See ../README.md for a description of the file format