mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -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
 |