QGIS/python/plugins/processing/tests/testdata/qgis_algorithm_tests.yaml
2019-06-22 05:49:28 +10:00

1871 lines
42 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: Centroid with non-ascii input
algorithm: native:centroids
params:
INPUT:
type: vector
name: polys_non_ascii_ñññ.gml
results:
OUTPUT:
type: vector
name: expected/polys_centroid.gml
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_unique',
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: qgis:rectanglesovalsdiamondsvariable
name: Rectangles ovals diamonds variable
params:
HEIGHT: id
INPUT:
name: points.gml
type: vector
ROTATION: id2
SEGMENTS: 1
SHAPE: 0
WIDTH: id
results:
OUTPUT:
name: expected/rectanglesovalsdiamondsvariable.gml
type: vector
- 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:explodehstorefield
name: Test explode HStore field with all keys
params:
EXPECTED_FIELDS: ''
FIELD: hstore
INPUT:
name: custom/hstore.gml
type: vector
results:
OUTPUT:
name: expected/hstore_all_keys.gml
type: vector
- algorithm: native:explodehstorefield
name: Test explode HStore field with 2 fields
params:
EXPECTED_FIELDS: internet_access,cuisine,doesntexist
FIELD: hstore
INPUT:
name: custom/hstore.gml
type: vector
results:
OUTPUT:
name: expected/hstore_two_fields.gml
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: native: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: native:reverselinedirection
name: Reverse multiline direction
params:
INPUT:
name: multilines.gml
type: vector
results:
OUTPUT:
name: expected/reverse_multiline.gml
type: vector
- algorithm: native: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: native: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: native: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: native: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: native: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:exportaddgeometrycolumns
name: Export multipoint info
params:
CALC_METHOD: 0
INPUT:
name: multipoints.gml|layername=multipoints
type: vector
results:
OUTPUT:
name: expected/add_geometry_info_multipoint.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: 56172fe81f40efba9fadcaeccdbab247e99c8725990a94d9609769f6
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 all fields (custom prefix)
params:
INPUT:
name: custom/line_intersection1.gml
type: vector
INTERSECT:
name: custom/line_intersection2.gml
type: vector
INTERSECT_FIELDS_PREFIX: pre_
results:
OUTPUT:
name: expected/line_intersection_prefix.gml
type: vector
pk: [ name, pre_name ]
compare:
fields:
fid: skip
pre_fid: 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: native:lineintersections
name: Line intersections with geometry collection
params:
INPUT:
name: custom/line_intersection_collection1.gml
type: vector
INTERSECT:
name: custom/line_intersection_collection2.gml
type: vector
results:
OUTPUT:
name: expected/line_intersection_collection.gml
type: vector
- 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:polygonfromlayerextent
name: Polygon from layer extent rounded to 0
params:
BY_FEATURE: false
INPUT:
name: polys.gml
type: vector
ROUND_TO: 0.0
results:
OUTPUT:
name: expected/polygon_from_extent.gml
type: vector
- algorithm: qgis:polygonfromlayerextent
name: Polygon from layer extent rounded to 2
params:
BY_FEATURE: false
INPUT:
name: lines.gml
type: vector
ROUND_TO: 2.0
results:
OUTPUT:
name: expected/polygon_from_extent_rounded_2.gml
type: vector
- algorithm: native:pointtolayer
name: Test (native:pointtolayer)
params:
INPUT: 1000000.000000,1550000.000000 [EPSG:3857]
results:
OUTPUT:
name: expected/point_to_layer.gml
type: vector
- algorithm: qgis:climbalongline
name: Climb line layer with DTM
params:
INPUT:
name: custom/climb_line.shp
type: vector
results:
OUTPUT:
name: expected/climb_layer_result.shp
type: vector
# See ../README.md for a description of the file format