25.1.1. Cartography

25.1.1.1. Align points to features

Calculates the rotation required to align point features with their nearest feature from another reference layer. A new field is added to the output layer which is filled with the angle (in degrees, clockwise) to the nearest reference feature.

Optionally, the output layer’s symbology can be set to automatically use the calculated rotation field to rotate marker symbols. If desired, a maximum distance to use when aligning points can be set, to avoid aligning isolated points to distant features.

Hint

This algorithm is designed for use cases like aligning building point symbols to follow the nearest road direction.

checkbox Allows features in-place modification

25.1.1.1.1. Parameters

Label

Name

Type

Description

Input layer

INPUT

[vector: point]

Point features to calculate the rotation for

Reference layer

REFERENCE_LAYER

[vector: any]

Layer to find the closest feature from for rotation calculation

Maximum distance to consider

Optional

MAX_DISTANCE

[number]

Default: Not set

If no reference feature is found within this distance, no rotation is assigned to the point feature.

Angle field name

FIELD_NAME

[string]

Default: ‘rotation’

Field in which to store the rotation value.

Automatically apply symbology

APPLY_SYMBOLOGY

[boolean]

Default: True

Rotates the symbol marker of the features using the angle field value

Aligned layer

OUTPUT

[vector: point]

Default: [Save to temporary file]

Specify the rotated output vector layer. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • Save to File…

  • Save to Geopackage…

  • Save to Database Table…

The file encoding can also be changed here.

25.1.1.1.2. Outputs

Label

Name

Type

Description

Aligned layer

OUTPUT

[vector: point]

The point layer appended with a rotation field. If loaded to QGIS, it is applied by default the input layer symbology, with a data-defined rotation of its marker symbol.

25.1.1.1.3. Python code

Algorithm ID: native:angletonearest

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.

25.1.1.2. Combine style databases

Combines multiple QGIS style databases into a single style database. If items of the same type with the same name exist in different source databases these will be renamed to have unique names in the output combined database.

25.1.1.2.1. Parameters

Label

Name

Type

Description

Input databases

INPUT

[file] [list]

Files containing QGIS style items

Objects to combine

OBJECTS

[enumeration] [list]

Types of style items in the input databases you would like to put in the new database. These can be:

Output style database

OUTPUT

[file]

Default: [Save to temporary file]

Output .XML file combining the selected style items. One of:

  • Save to a Temporary File

  • Save to File…

25.1.1.2.2. Outputs

Label

Name

Type

Description

Color ramp count

COLORRAMPS

[number]

Label settings count

LABELSETTINGS

[number]

Output style database

OUTPUT

[file]

Output .XML file combining the selected style items

Symbol count

SYMBOLS

[number]

Text format count

TEXTFORMATS

[number]

25.1.1.2.3. Python code

Algorithm ID: native:combinestyles

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.

25.1.1.3. Create categorized renderer from styles

Sets a vector layer’s renderer to a categorized renderer using matching symbols from a style database. If no style file is specified, symbols from the user’s current symbol library are used instead.

A specified expression or field is used to create categories for the renderer. Each category is individually matched to the symbols which exist within the specified QGIS XML style database. Whenever a matching symbol name is found, the category’s symbol will be set to this matched symbol.

If desired, outputs can also be tables containing lists of the categories which could not be matched to symbols, and symbols which were not matched to categories.

25.1.1.3.1. Parameters

Label

Name

Type

Description

Input layer

INPUT

[vector: any]

Vector layer to apply a categorized style to

Categorize using expression

FIELD

[expression]

Field or expression to categorize the features

Style database (leave blank to use saved symbols)

STYLE

[file]

File (.XML) containing the symbols to apply to the input layer categories. The file can be obtained from the Style Manager Share symbols tool. If no file is specified, QGIS local symbols library is used.

Use case-sensitive match to symbol names

CASE_SENSITIVE

[boolean]

Default: False

If True (checked), applies a case sensitive comparison between the categories and symbols names

Ignore non-alphanumeric characters while matching

TOLERANT

[boolean]

Default: False

If True (checked), non-alphanumeric characters in the categories and symbols names will be ignored, allowing greater tolerance during the match.

Non-matching categories

Optional

NON_MATCHING_CATEGORIES

[table]

Default: [Skip output]

Output table for categories which do not match any symbol in the database. One of:

  • Skip Output

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • Save to File…

  • Save to Geopackage…

  • Save to Database Table…

The file encoding can also be changed here.

Non-matching symbol names

Optional

NON_MATCHING_SYMBOLS

[table]

Default: [Skip output]

Output table for symbols from the provided style database which do not match any category. One of:

  • Skip Output

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • Save to File…

  • Save to Geopackage…

  • Save to Database Table…

The file encoding can also be changed here.

25.1.1.3.2. Outputs

Label

Name

Type

Description

Non-matching categories

NON_MATCHING_CATEGORIES

[table]

Lists categories which could not be matched to any symbol in the provided style database

Non-matching symbol names

NON_MATCHING_SYMBOLS

[table]

Lists symbols from the provided style database which could not match any category

Categorized layer

OUTPUT

[same as input]

The input vector layer with the categorized style applied. No new layer is output.

25.1.1.3.3. Python code

Algorithm ID: native:categorizeusingstyle

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.

25.1.1.4. Create style database from project

Extracts all style objects (symbols, color ramps, text formats and label settings) from a QGIS project.

The extracted symbols are saved to a QGIS style database (XML format), which can be managed and imported via the Style Manager dialog.

25.1.1.4.1. Parameters

Label

Name

Type

Description

Input project (leave blank to use current)

Optional

INPUT

[file]

A QGIS project file to extract the style items from

Objects to extract

OBJECTS

[enumeration] [list]

Types of style items in the input project you would like to put in the new database. These can be:

Output style database

OUTPUT

[file]

Default: [Save to temporary file]

Specify the output .XML file for the selected style items. One of:

  • Save to a Temporary File

  • Save to File…

25.1.1.4.2. Outputs

Label

Name

Type

Description

Color ramp count

COLORRAMPS

[number]

Number of color ramps

Label settings count

LABELSETTINGS

[number]

Number of label settings

Output style database

OUTPUT

[file]

Output .XML file for the selected style items

Symbol count

SYMBOLS

[number]

Number of symbols

Text format count

TEXTFORMATS

[number]

Number of text formats

25.1.1.4.3. Python code

Algorithm ID: native:stylefromproject

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.

25.1.1.5. Export atlas layout as image

Exports the atlas of a print layout as image files (e.g. PNG or JPEG images).

If a coverage layer is set, the selected layout’s atlas settings exposed in this algorithm will be overwritten. In this case, an empty filter or sort by expression will turn those settings off.

25.1.1.5.1. Parameters

25.1.1.5.1.1. Basic parameters

Label

Name

Type

Description

Atlas layout

LAYOUT

[layout]

Layout to export

Coverage layer

Optional

COVERAGE_LAYER

[vector: any]

Layer to use to generate the atlas

Filter expression

FILTER_EXPRESSION

[expression]

Expression to use to filter out atlas features

Sort expression

Optional

SORTBY_EXPRESSION

[expression]

Expression to use to sort the atlas features

Reverse sort order

Optional

SORTBY_REVERSE

[boolean]

Determines if sorting should be inverted. Used when a sort expression is provided.

Output filename expression

FILENAME_EXPRESSION

[expression]

Default: ‘output_’||@atlas_featurenumber

Expression for use to generate filenames

Output folder

FOLDER

[folder]

Destination folder where the images will be generated

25.1.1.5.1.2. Advanced parameters

Label

Name

Type

Description

Map layers to assign to unlocked map item(s)

Optional

LAYERS

[enumeration] [layer]

Layers to display in the map item(s) whose contents are not locked

Image format

EXTENSION

[list]

Default: png

File format of the generated output(s). The list of available formats varies depending on OS and installed drivers.

DPI

Optional

DPI

Default: Not set

[number]

DPI of the output file(s). If not set, the value in the print layout settings will be used.

Generate world file

GEOREFERENCE

[boolean]

Default: True

Determines if a world file should be generated

Export RDF metadata

INCLUDE_METADATA

[boolean]

Default: True

Determines if RDF metadata (title, author, …) should be generated

Enable antialiasing

ANTIALIAS

[boolean]

Default: True

Determines if antialiasing should be enabled

25.1.1.5.2. Outputs

Label

Name

Type

Description

Image file

OUTPUT

[file]

Image files generated by the atlas layout

25.1.1.5.3. Python code

Algorithm ID: native:atlaslayouttoimage

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.

25.1.1.6. Export atlas layout as PDF

Exports the atlas of a print layout as a PDF file(s).

If a coverage layer is set, the selected layout’s atlas settings exposed in this algorithm will be overwritten. In this case, an empty filter or sort by expression will turn those settings off.

25.1.1.6.1. Parameters

25.1.1.6.1.1. Basic parameters

Label

Name

Type

Description

Atlas layout

LAYOUT

[layout]

Layout to export

Coverage layer

Optional

COVERAGE_LAYER

[vector: any]

Layer to use to generate the atlas

Filter expression

FILTER_EXPRESSION

[expression]

Expression to use to filter out atlas features

Sort expression

Optional

SORTBY_EXPRESSION

[expression]

Expression to use to sort the atlas features

Reverse sort order

Optional

SORTBY_REVERSE

[boolean]

Determines if sorting should be inverted. Used when a sort expression is provided.

25.1.1.6.1.2. Advanced parameters

Label

Name

Type

Description

Map layers to assign to unlocked map item(s)

Optional

LAYERS

[enumeration] [layer]

Layers to display in the map item(s) whose contents are not locked

DPI

Optional

DPI

Default: Not set

[number]

DPI of the output file(s). If not set, the value in the print layout settings will be used.

Always export as vectors

FORCE_VECTOR

[boolean]

Default: False

Determines if vectorial data should be left as vectors

Append georeference information

GEOREFERENCE

[boolean]

Default: True

Determines if a world file should be generated

Export RDF metadata

INCLUDE_METADATA

[boolean]

Default: True

Determines if RDF metadata (title, author, …) should be generated

Disable tiled raster layer exports

DISABLE_TILED

[boolean]

Default: False

Determines if raster should be tiled

Simplify geometries to reduce output file size

SIMPLIFY

[boolean]

Default: True

Determines if geometries should be simplified to reduce output file size

Text export

TEXT_FORMAT

[list]

Default: 0

Determines if text should be exported as path or text objects. Possible options are:

  • 0 - Always export text as paths (recommended)

  • 1 - Always export texts as text objects

PDF file

OUTPUT

[file]

Default: [Save to temporary file]

Name (including path) of the output file. One of:

  • Save to a Temporary File

  • Save to File…

25.1.1.6.2. Outputs

Label

Name

Type

Description

PDF file

OUTPUT

[file]

PDF file corresponding to the exported atlas layout

25.1.1.6.3. Python code

Algorithm ID: native:atlaslayouttopdf

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.

25.1.1.7. Export print layout as image

Exports a print layout as an image file (e.g. PNG or JPEG images)

25.1.1.7.1. Parameters

25.1.1.7.1.1. Basic parameters

Label

Name

Type

Description

Print layout

LAYOUT

[layout]

Layout to export

Image file

OUTPUT

[file]

Default: [Save to temporary file]

Name (including path) of the output file. One of:

  • Save to a Temporary File

  • Save to File…

25.1.1.7.1.2. Advanced parameters

Label

Name

Type

Description

Map layers to assign to unlocked map item(s)

Optional

LAYERS

[enumeration] [layer]

Layers to display in the map item(s) whose contents are not locked

DPI

Optional

DPI

Default: Not set

[number]

DPI of the output file(s). If not set, the value in the print layout settings will be used.

Generate world file

GEOREFERENCE

[boolean]

Default: True

Determines if a world file should be generated

Export RDF metadata

INCLUDE_METADATA

[boolean]

Default: True

Determines if RDF metadata (title, author, …) should be generated

Enable antialiasing

ANTIALIAS

[boolean]

Default: True

Determines if antialiasing should be enabled

25.1.1.7.2. Outputs

Label

Name

Type

Description

Image file

OUTPUT

[file]

Image file corresponding to the exported print layout

25.1.1.7.3. Python code

Algorithm ID: native:printlayouttoimage

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.

25.1.1.8. Export print layout as pdf

Exports a print layout as a PDF file.

25.1.1.8.1. Parameters

25.1.1.8.1.1. Basic parameters

Label

Name

Type

Description

Print Layout

LAYOUT

[layout]

Layout to export

PDF file

OUTPUT

[file]

Default: [Save to temporary file]

Name (including path) of the output file. One of:

  • Save to a Temporary File

  • Save to File…

25.1.1.8.1.2. Advanced parameters

Label

Name

Type

Description

Map layers to assign to unlocked map item(s)

Optional

LAYERS

[enumeration] [layer]

Layers to display in the map item(s) whose contents are not locked

DPI

Optional

DPI

Default: Not set

[number]

DPI of the output file(s). If not set, the value in the print layout settings will be used.

Always export as vectors

FORCE_VECTOR

[boolean]

Default: False

Determines if vectorial data should be left as vectors

Append georeference information

GEOREFERENCE

[boolean]

Default: True

Determines if a world file should be generated

Export RDF metadata

INCLUDE_METADATA

[boolean]

Default: True

Determines if RDF metadata (title, author, …) should be generated

Disable tiled raster layer exports

DISABLE_TILED

[boolean]

Default: False

Determines if raster should be tiled

Simplify geometries to reduce output file size

SIMPLIFY

[boolean]

Default: True

Determines if geometries should be simplified to reduce output file size

Text export

TEXT_FORMAT

[list]

Default: 0

Determines if text should be exported as path or text objects. Possible options are:

  • 0 - Always export text as paths (recommended)

  • 1 - Always export texts as text objects

Export layers as separate PDF files

SEPARATE_LAYERS

[boolean]

Default: False

If True, then a separate PDF file will be created per layer per map item in the layout. Additionally, separate PDF files may be created for other complex layout items, resulting in a set of PDF files which contain logical atomic components of the layout.

25.1.1.8.2. Outputs

Label

Name

Type

Description

PDF file

OUTPUT

[file]

PDF file(s) corresponding to the exported print layout

25.1.1.8.3. Python code

Algorithm ID: native:printlayouttopdf

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.

25.1.1.10. Set layer style

Applies a provided style to a layer. The style must be defined in a QML file.

No new output are created: the style is immediately assigned to the layer.

25.1.1.10.1. Parameters

Label

Name

Type

Description

Input Layer

INPUT

[layer]

Input layer you want to apply the style to

Style file

STYLE

[file]

Path to the .qml file of the style

25.1.1.10.2. Outputs

Label

Name

Type

Description

OUTPUT

[same as input]

The input layer with the new style assigned. No new layer is created.

25.1.1.10.3. Python code

Algorithm ID: native:setlayerstyle

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.

25.1.1.11. Topological coloring

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.

The algorithm allows choice of method to use when assigning colors.

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

The following example shows the algorithm with four different colors chosen; as you can see each color class has the same amount of features.

../../../../_images/topological_color.png

Fig. 25.1 Topological colors example

25.1.1.11.1. Parameters

Label

Name

Type

Description

Input layer

INPUT

[vector: polygon]

The input polygon layer

Minimum number of colors

MIN_COLORS

[number]

Default: 4

The minimum number of colors to assign. Minimum 1, maximum 1000.

Minimum distance between features

MIN_DISTANCE

[number]

Default: 0.0

Prevent nearby (but non-touching) features from being assigned equal colors. Minimum 0.0.

Balance color assignment

BALANCE

[enumeration]

Default: 0

Options are:

  • 0 — By feature count

    Attempts to assign colors so that the count of features assigned to each individual color index is balanced.

  • 1 — By assigned area

    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.

  • 2 — By distance between colors

    Assigns 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.

Colored

OUTPUT

[vector: polygon]

Default: [Create temporary layer]

Specify the output layer. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • Save to File…

  • Save to Geopackage…

  • Save to Database Table…

The file encoding can also be changed here.

25.1.1.11.2. Outputs

Label

Name

Type

Description

Colored

OUTPUT

[vector: polygon]

Polygon vector layer with an added color_id column

25.1.1.11.3. Python code

Algorithm ID: qgis:topologicalcoloring

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.