qgis:advancedpythonfieldcalculator: >
  This algorithm adds a new attribute to a vector layer, with values resulting from applying an expression to each feature. The expression is defined as a Python function.

qgis:barplot: >
  This algorithm creates a bar plot from a category and a layer field.

qgis:basicstatisticsforfields: >
  This algorithm generates basic statistics from the analysis of a values in a field in the attribute table of a vector layer. Numeric, date, time and string fields are supported.

  The statistics returned will depend on the field type.

  Statistics are generated as an HTML file.

qgis:boxplot: >
  This algorithm creates a box plot from a category and a layer field.

qgis:checkvalidity: >
  This algorithm performs a validity check on the geometries of a vector layer.

  The geometries are classified in three groups (valid, invalid and error), and a vector layer is generated with the features in each of these categories.

  By default the algorithm uses the strict OGC definition of polygon validity, where a polygon is marked as invalid if a self-intersecting ring causes an interior hole. If the "Ignore ring self intersections" option is checked, then this rule will be ignored and a more lenient validity check will be performed.

  The GEOS method is faster and performs better on larger geometries, but is limited to only returning the first error encountered in a geometry. The QGIS method will be slower but reports all errors encountered in the geometry, not just the first.

qgis:climbalongline: >
  This algorithm calculates the total climb and descent along line geometries.

  Input layers must have Z values present. If Z values are not available, the "Drape" (set Z value from raster) algorithm may be used to add Z values from a DEM layer.

  The output layer is a copy of the input layer with additional fields that contain the total climb, total descent, the minimum elevation and the maximum elevation for each line geometry. If the input layer contains fields with the same names as these added fields, they will be renamed (field names will be altered to "name_2", "name_3", etc, finding the first non-duplicate name).

qgis:concavehull: >
  This algorithm computes the concave hull of the features in an input layer.

qgis:convertgeometrytype: >
  This algorithm generates a new layer based on an existing one, with a different type of geometry.

  Not all conversions are possible. For instance, a line layer can be converted to a point layer, but a point layer cannot be converted to a line layer.

  See the "Polygonize" or "Lines to polygons" algorithm for alternative options.

qgis:definecurrentprojection: >
  This algorithm sets an existing Shapefile's projection to the provided CRS. Contrary to the "Assign projection" algorithm, it will not output a new layer.

  The .prj and .qpj files associated with the Shapefile will be overwritten - or created if missing - to match the provided CRS.

qgis:distancematrix: >
  This algorithm creates a table containing a distance matrix, with distances between all the points in a points layer.

qgis:distancetonearesthublinetohub: >
  Given an origin and a destination layers, this algorithm computes the distance between origin features and their closest destination one. Distance calculations are based on the features center.

  The resulting layer contains lines linking each origin point with its nearest destination feature.

qgis:distancetonearesthubpoints: >
  Given an origin and a destination layers, this algorithm computes the distance between origin features and their closest destination one. Distance calculations are based on the features center.

  The resulting layer contains origin features center point with an additional field indicating the identifier of the nearest destination feature and the distance to it.

qgis:eliminateselectedpolygons: >
  This algorithm combines selected polygons of the input layer with certain adjacent polygons by erasing their common boundary. The adjacent polygon can be either the one with the largest or smallest area or the one sharing the largest common boundary with the polygon to be eliminated.
  Eliminate is normally used to get rid of sliver polygons, i.e. tiny polygons that are a result of polygon intersection processes where boundaries of the inputs are similar but not identical.

qgis:executesql: >
  Runs a simple or complex query with SQL syntax.

  Input data sources are identified with input1, input2, ..., inputN and a simple query will look like: SELECT * FROM input1

  The result of the query will be added as a new layer.

qgis:exportaddgeometrycolumns: >
  This algorithm computes geometric properties of the features in a vector layer. It generates a new vector layer with the same content as the input one, but with additional attributes in its attributes table, containing geometric measurements.

  Depending on the geometry type of the vector layer, the attributes added to the table will be different.

qgis:findprojection: >
  This algorithm allows creation of a shortlist of possible candidate coordinate reference systems for a layer with an unknown projection.

  The expected area which the layer should reside in must be specified via the target area parameter.

  The algorithm operates by testing the layer's extent in every known reference system and listing any in which the bounds would fall near the target area if the layer was in this projection.

qgis:generatepointspixelcentroidsalongline: >
  This algorithm generates a point vector layer from an input raster and line layer.
  The points correspond to the pixel centroids that intersect the line layer.

qgis:heatmapkerneldensityestimation: >
  Creates a density (heatmap) raster of an input point vector layer using kernel density estimation. Heatmaps allow easy identification of hotspots and clustering of points.

  The density is calculated based on the number of points in a location, with larger numbers of clustered points resulting in larger values.

qgis:hypsometriccurves: >
  This algorithm computes hypsometric curves  for an input Digital Elevation Model. Curves are produced as table files in an output folder specified by the user.

qgis:idwinterpolation: >
  Generates an Inverse Distance Weighted (IDW) interpolation of a point vector layer.

  Sample points are weighted during interpolation such that the influence of one point relative to another declines with distance from the unknown point you want to create.

qgis:importintospatialite: >
  This algorithm imports a vector layer into a SpatiaLite database, creating a new table.

qgis:knearestconcavehull: >
  This algorithm generates a concave hull polygon from a set of points. If the input layer is a line or polygon layer, it will use the nodes.

  The number of neighbours to consider determines the concaveness of the output polygon. A lower number will result in a concave hull that follows the points very closely, while a higher number will have a smoother shape. The minimum number of neighbour points to consider is 3. A value equal to or greater than the number of points will result in a convex hull.

  If a field is selected, the algorithm will group the features in the input layer using unique values in that field and generate individual polygons in the output layer for each group.

qgis:linestopolygons: >
  This algorithm generates a polygon layer using as polygon rings the lines from an input line layer.

  The attribute table of the output layer is the same as the one from of the input line layer.

qgis:listuniquevalues: >
  This algorithm generates a report with information about the unique values found in a given attribute (or attributes) of a vector layer.

qgis:meanandstandarddeviationplot: >
  This algorithm creates a box plot with mean and standard deviation values.

qgis:minimumboundinggeometry: >
  This algorithm creates geometries which enclose the features from an input layer.

  Numerous enclosing geometry types are supported, including bounding boxes (envelopes), oriented rectangles, circles and convex hulls.

  Optionally, the features can be grouped by a field. If set, this causes the output layer to contain one feature per grouped value with a minimal geometry covering just the features with matching values.

qgis:pointsdisplacement: >
  Offsets nearby point features by moving nearby points by a preset amount to minimize overlapping features.

qgis:polarplot: >
  This algorithm generates a polar plot based on the value of an input vector layer.

  Two fields must be entered as parameters: one that define the category (to group features) and another one with the variable to plot (this has to be a numeric one)

qgis:polygonstolines: >
  This algorithm takes a polygon layer and creates a line layer, with lines representing the rings of the polygons in the input layer.

qgis:postgisexecuteandloadsql: >
  This algorithm performs a SQL database query on a PostGIS database connected to QGIS and loads the query results as a new layer.

qgis:randomextractwithinsubsets: >
  This algorithm takes a vector layer and generates a new one that contains only a subset of the features in the input layer.

  The subset is defined randomly, using a percentage or count value to define the total number of features in the subset.

  The percentage/count value is not applied to the whole layer, but instead to each category. Categories are defined according to a given attribute, which is also specified as an input parameter for the algorithm.

qgis:randompointsalongline: >
  This algorithm creates a point layer with a given "Number of points" placed on the lines of the "Input layer".

  The location of each point is determined by randomly selecting a feature, then a segment of the line geometry of that feature, and finally a random position on that segment. A minimum distance between the points can be specified (Euclidean distance).

qgis:randompointsinlayerbounds: >
  This algorithm creates a new point layer with a given number of random points, all of them within the extent of a given layer. A distance factor can be specified, to avoid points being too close to each other.

qgis:randompointsinsidepolygons: >
  This algorithm creates a new point layer with random points inside the polygons of a given layer.

  The number of points in each polygon can be defined as a fixed count or as a density value. The count/density value could also be taken from an attribute or an expression specified using the "Data defined override" functionality, so it can be different for each polygon in the input layer.

  A minimum distance can be specified, to avoid points being too close to each other.

qgis:randomselection: >
  This algorithm takes a vector layer and selects a subset of its features. No new layer is generated by this algorithm.

  The subset is defined randomly, using a percentage or count value to define the total number of features in the subset.

qgis:randomselectionwithinsubsets: >
  This algorithm takes a vector layer and selects a subset of its features. No new layer is generated by this algorithm.

  The subset is defined randomly, using a percentage or count value to define the total number of features in the subset.

  The percentage/count value is not applied to the whole layer, but instead to each category. Categories are defined according to a given attribute, which is also specified as an input parameter for the algorithm.

qgis:rastercalculator: >
  This algorithm allows performing algebraic operations using raster layers.

  The resulting layer will have its values computed according to an expression. The expression can contain numerical values, operators and references to any of the layers in the current project. The following functions are also supported:

  - sin(), cos(), tan(), atan2(), ln(), log10()

  The extent, cell size, and output CRS can be defined by the user. If the extent is not specified, the minimum extent that covers selected reference layer(s) will be used. If the cell size is not specified, the minimum cell size of selected reference layer(s) will be used. If the output CRS is not specified, the CRS of the first reference layer will be used.

  The cell size is assumed to be the same in both X and Y axes.

  Layers are referred by their name as displayed in the layer list and the number of the band to use (based on 1), using the pattern 'layer_name@band number'. For instance, the first band from a layer named DEM will be referred as DEM@1.

  When using the calculator in the batch interface or from the console, the files to use have to be specified. The corresponding layers are referred using the base name of the file (without the full path). For instance, if using a layer at path/to/my/rasterfile.tif, the first band of that layer will be referred as rasterfile.tif@1.

qgis:rasterlayerhistogram: >
  This algorithm generates a histogram with the values of a raster layer.

  The raster layer must have a single band.

qgis:regularpoints: >
  This algorithm creates a point layer with a given number of regular points, all of them within a given extent.

qgis:relief: >
  This algorithm creates a shaded relief layer from digital elevation data.

qgis:scatter3dplot: >
  This algorithm creates a 3D scatter plot for a vector layer.

qgis:selectbyattribute: >
  This algorithm creates a selection in a vector layer. The criteria for selected features is defined based on the values of an attribute from the input layer.

qgis:selectbyexpression: >
  This algorithm creates a selection in a vector layer. The criteria for selecting features is based on a QGIS expression.

  For help with QGIS expression functions, see the inbuilt help for specific functions which is available in the expression builder.

qgis:setstyleforrasterlayer: >
  This algorithm sets the style of a raster layer. The style must be defined in a QML file.

qgis:setstyleforvectorlayer: >
  This algorithm sets the style of a vector layer. The style must be defined in a QML file.

qgis:statisticsbycategories: >
  This algorithm calculates statistics of fields depending on a parent class.

qgis:texttofloat: >
  This algorithm modifies the type of a given attribute in a vector layer, converting a text attribute containing numeric strings into a numeric attribute.

qgis:tininterpolation: >
  Generates a Triangulated Irregular Network (TIN) interpolation of a point vector layer.

  With the TIN method you can create a surface formed by triangles of nearest neighbor points.
  To do this, circumcircles around selected sample points are created and their intersections are connected to a network of non overlapping and as compact as possible triangles.
  The resulting surfaces are not smooth.

  The algorithm creates both the raster layer of the interpolated values and the vector line layer with the triangulation boundaries.

qgis:topologicalcoloring: >
  This algorithm assigns a color index to polygon features in such a way that no adjacent polygons share the same color index, whilst minimizing the number of colors required.

  An optional minimum distance between features assigned the same color can be set to prevent nearby (but non-touching) features from being assigned equal colors.

  The algorithm allows choice of method to use when assigning colors. The default method attempts to assign colors so that the count of features assigned to each individual color index is balanced.

  The 'by assigned area' mode instead assigns colors so that the total area of features assigned to each color is balanced. This mode can be useful to help avoid large features resulting in one of the colors appearing more dominant on a colored map.

  The 'by distance between colors' mode will assign colors in order to maximize the distance between features of the same color. This mode helps to create a more uniform distribution of colors across a map.

  A minimum number of colors can be specified if desired. The color index is saved to a new attribute named color_id.

qgis:variabledistancebuffer: >
  This algorithm computes a buffer area for all the features in an input layer. The size of the buffer for a given feature is defined by an attribute, so it allows different features to have different buffer sizes.

qgis:vectorlayerhistogram: >
  This algorithm generates a histogram with the values of the attribute of a vector layer.

  The attribute to use for computing the histogram must be a numeric attribute.

qgis:vectorlayerscatterplot: >
  This algorithm creates a simple X - Y scatter plot for a vector layer.
