mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-04 00:30:59 -05:00
309 lines
7.8 KiB
YAML
309 lines
7.8 KiB
YAML
# See ../README.md for a description of the file format
|
|
|
|
tests:
|
|
- name: Centroid # Human readable identifier
|
|
algorithm: qgis:polygoncentroids # Algorithm name
|
|
params: # A list of parameters (only 1 here)
|
|
- type: vector # Param is a vector layer
|
|
name: polys.gml # file name
|
|
results: # A map of results (only one here)
|
|
OUTPUT_LAYER:
|
|
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: Delete Holes
|
|
algorithm: qgis:deleteholes
|
|
params:
|
|
- name: polys.gml
|
|
type: vector
|
|
results:
|
|
OUTPUT:
|
|
name: expected/polys_deleteholes.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.
|
|
- name: Intersection (Collection Fallback)
|
|
algorithm: qgis:intersection
|
|
params:
|
|
INPUT:
|
|
name: multipolys.gml
|
|
type: vector
|
|
INPUT2:
|
|
name: polys.gml
|
|
type: vector
|
|
results:
|
|
OUTPUT:
|
|
name: expected/intersection_collection_fallback.shp
|
|
type: vector
|
|
|
|
- name: Densify geometries
|
|
algorithm: qgis:densifygeometries
|
|
params:
|
|
- name: multipolys.gml
|
|
type: vector
|
|
- '4'
|
|
results:
|
|
OUTPUT:
|
|
name: expected/multipolys_densify.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
|
|
|
|
- algorithm: qgis:basicstatisticsfornumericfields
|
|
name: Test (qgis:basicstatisticsfornumericfields)
|
|
params:
|
|
- name: multipolys.gml
|
|
type: vector
|
|
- 'Bfloatval'
|
|
results:
|
|
OUTPUT_HTML_FILE:
|
|
name: basic_statistics_numeric_float.html
|
|
type: regex
|
|
rules:
|
|
- 'Analyzed layer: multipolys.gml'
|
|
- '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:basicstatisticsfortextfields
|
|
name: Test (qgis:basicstatisticsfortextfields)
|
|
params:
|
|
- name: multipolys.gml
|
|
type: vector
|
|
- 'Bname'
|
|
results:
|
|
OUTPUT_HTML_FILE:
|
|
name: expected/basic_statistics_string.html
|
|
type: file
|
|
|
|
# Split lines with lines considers two cases
|
|
# case 1: two different layers
|
|
- algorithm: qgis:splitlineswithlines
|
|
name: Split lines with lines
|
|
params:
|
|
INPUT_A:
|
|
name: lines.gml
|
|
type: vector
|
|
INPUT_B:
|
|
name: custom/lines2.gml
|
|
type: vector
|
|
results:
|
|
OUTPUT:
|
|
name: expected/lines_split_with_lines.gml
|
|
type: vector
|
|
compare:
|
|
geometry:
|
|
precision: 7
|
|
|
|
# case 2 split line layer with iself
|
|
- algorithm: qgis:splitlineswithlines
|
|
name: Split lines with same lines
|
|
params:
|
|
INPUT_A:
|
|
name: custom/lines2.gml
|
|
type: vector
|
|
INPUT_B:
|
|
name: custom/lines2.gml
|
|
type: vector
|
|
results:
|
|
OUTPUT:
|
|
name: expected/lines_split_with_same_lines.gml
|
|
type: vector
|
|
compare:
|
|
geometry:
|
|
precision: 7
|
|
|
|
- algorithm: qgis:addautoincrementalfield
|
|
name: Add autoincremental field
|
|
params:
|
|
INPUT:
|
|
name: points.gml
|
|
type: vector
|
|
results:
|
|
OUTPUT:
|
|
name: expected/autoincrement_field.gml
|
|
type: vector
|
|
|
|
# Eliminate sliver polygons
|
|
# case 1: merge with largest area
|
|
- algorithm: qgis:eliminatesliverpolygons
|
|
name: Eliminate sliver polygons largest area
|
|
params:
|
|
ATTRIBUTE: 'fid'
|
|
COMPARISON: '0'
|
|
COMPARISONVALUE: 'polys.5'
|
|
INPUT:
|
|
name: polys.gml
|
|
type: vector
|
|
KEEPSELECTION: 'False'
|
|
MODE: '0'
|
|
results:
|
|
OUTPUT:
|
|
name: expected/eliminate_largest_area.gml
|
|
type: vector
|
|
|
|
# case 2: merge with smallest area
|
|
- algorithm: qgis:eliminatesliverpolygons
|
|
name: Eliminate sliver polygons smallest area
|
|
params:
|
|
ATTRIBUTE: 'fid'
|
|
COMPARISON: '0'
|
|
COMPARISONVALUE: 'polys.5'
|
|
INPUT:
|
|
name: polys.gml
|
|
type: vector
|
|
KEEPSELECTION: 'False'
|
|
MODE: '1'
|
|
results:
|
|
OUTPUT:
|
|
name: expected/eliminate_smallest_area.gml
|
|
type: vector
|
|
|
|
# case 3: merge with longest common boundary
|
|
- algorithm: qgis:eliminatesliverpolygons
|
|
name: Eliminate sliver polygons largest area
|
|
params:
|
|
ATTRIBUTE: 'fid'
|
|
COMPARISON: '0'
|
|
COMPARISONVALUE: 'polys.5'
|
|
INPUT:
|
|
name: polys.gml
|
|
type: vector
|
|
KEEPSELECTION: 'False'
|
|
MODE: '2'
|
|
results:
|
|
OUTPUT:
|
|
name: expected/eliminate_largest_area.gml
|
|
type: vector
|
|
|
|
|
|
- name: Dissolve with geometries reported as valid but as invalid with isGeosValid
|
|
algorithm: qgis:dissolve
|
|
params:
|
|
DISSOLVE_ALL: 'True'
|
|
FIELD: None
|
|
INPUT:
|
|
name: custom/innerRingTouchesOuterRing.gml
|
|
type: vector
|
|
results:
|
|
OUTPUT:
|
|
type: vector
|
|
name: expected/innerRingTouchesOuterRing_output.gml
|
|
compare:
|
|
geometry:
|
|
precision: 5
|
|
|
|
- name: Dissolve with NULL geometries
|
|
algorithm: qgis:dissolve
|
|
params:
|
|
DISSOLVE_ALL: 'True'
|
|
FIELD: None
|
|
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: qgis:dissolve
|
|
params:
|
|
DISSOLVE_ALL: 'True'
|
|
FIELD: None
|
|
INPUT:
|
|
name: custom/PolygonDissolveTest.gml
|
|
type: vector
|
|
results:
|
|
OUTPUT:
|
|
type: vector
|
|
name: expected/PolygonDissolveTest_output.gml
|
|
compare:
|
|
geometry:
|
|
precision: 7
|
|
|
|
- algorithm: qgis:fixeddistancebuffer
|
|
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: qgis:fixeddistancebuffer
|
|
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
|
|
|
|
- algorithm: qgis:rectanglesovalsdiamondsfixed
|
|
name: Create fixed distance rectange buffers around points
|
|
params:
|
|
HEIGHT: 0.25
|
|
INPUT_LAYER:
|
|
name: points.gml
|
|
type: vector
|
|
ROTATION: 45
|
|
SEGMENTS: 36
|
|
SHAPE: 0
|
|
WIDTH: 0.5
|
|
results:
|
|
OUTPUT_LAYER:
|
|
name: expected/rectanglesovalsdiamondsfixed.gml
|
|
type: vector
|
|
compare:
|
|
geometry:
|
|
precision: 7
|