11. General Tools
11.1. Context help
Whenever you need help on a specific topic, you can access the corresponding page in the current User Manual via the Help button available in most dialogs — please note that third-party plugins can point to dedicated web pages.
11.2. Panels
By default, QGIS provides many panels to work with. Some of these panels are described below while others may be found in different parts of the document. A complete list of default panels provided by QGIS is available via the Panels.
menu and mentioned at11.2.1. Layers Panel
The Layers panel (also called the map legend
) lists all
the layers in the project and helps you manage their visibility and shape the map.
You can show or hide the panel by pressing Ctrl+1.
At the top of the Layers panel, a toolbar allows you to:
Open the layer styling dock (F7): toggle the Layer Styling panel on and off.
Add new group: see Interact with groups and layers
Manage Map Themes: control visibility of layers and arrange them in different map themes.
filter layers in the legend tree:
Filter Legend by Map Content: only the layers that are set visible and whose features intersect the current map canvas have their style rendered in the layers panel. Otherwise, a generic NULL symbol is applied to the layer. Based on the layer symbology, this is a convenient way to identify which kind of features from which layers cover your area of interest.
Show Private Layers: a convenient shortcut to display and interact with private layers in the Layers panel without modifying the project settings.
Filter Legend by Expression: apply an expression to remove styles from the selected layer tree that have no feature satisfying the condition. This can be used to highlight features that are within a given area/feature of another layer. From the drop-down list, you can edit and clear the expression currently applied.
Expand All or
Collapse All layers and groups in the layers panel.

Fig. 11.1 Layer Toolbar in Layers Panel
Note
Tools to manage the layers panel are also available for map and legend items in print layouts
11.2.1.1. Configuring map themes
The Manage Map Themes drop-down button provides access to
convenient shortcuts to manipulate visibility of the layers in the Layers
panel:
Toggle Selected Layers: changes the visibility of the first selected layer in the panel, and applies that state to the other selected layers. Also accesible through Space shortcut.
Toggle Selected Layers Independently: changes the visibility status of each selected layer
Beyond the simple control of layer visibility,
the Manage Map Themes menu allows you to configure
Map Themes in the legend and switch from one map theme to another.
A map theme is a snapshot of the current map legend that records:
the layers set as visible in the Layers panel
and for each visible layer:
the reference to the style applied to the layer
the visible classes of the style, ie the layer checked node items in the Layers panel. This applies to symbologies other than the single symbol rendering
the collapsed/expanded state of the layer node(s) and the group(s) it’s placed inside
To create a map theme:
Check a layer you want to show
Configure the layer properties (symbology, diagram, labels…) as usual
Expand the Add… to store the settings as a new style embedded in the project
menu at the bottom and click onNote
A map theme does not remember the current details of the properties: only a reference to the style name is saved, so whenever you apply modifications to the layer while this style is enabled (eg change the symbology rendering), the map theme is updated with new information.
Repeat the previous steps as necessary for the other layers
If applicable, expand or collapse groups or visible layer nodes in the Layers panel
Click on the
Manage Map Themes button on top of the panel, and Add Theme…
Enter the map theme’s name and click OK
The new theme is listed in the lower part of the drop-down menu.
You can create as many map themes as you need: whenever the current combination in the map legend (visible layers, their active style, the map legend nodes) does not match any existing map theme contents as defined above, click on Add Theme… to create a new map theme, or use to update a map theme. You can rename the active map theme with Rename Current Theme… or use the Remove Current Theme button to delete it.
Map themes are helpful to switch quickly between different preconfigured combinations: select a map theme in the list to restore its combination. All configured themes are also accessible in the print layout, allowing you to create different map items based on specific themes and independent of the current main canvas rendering (see Map item layers).
11.2.1.3. Interact with groups and layers
Layers in the legend window can be organized into groups. There are different ways to do this:
Press the
icon to add a new group. Type in a name for the group and press Enter. Now click on an existing layer and drag it onto the group.
Select more than one layer, then press the
icon. The selected layers are automatically inserted into the new group.
Select some layers, right-click in the legend window and choose Group Selected. The selected layers will automatically be placed in a new group.
To move a layer out of a group, drag it out, or right-click on it and choose Move Out of Group: the layer is moved from the group and placed above it. Groups can also be nested inside other groups. If a layer is placed in a nested group, Move Out of Group will move the layer out of all nested groups.
To move a group or layer to the top of the layer panel, either drag it to the top, or choose Move to Top. If you use this option on a layer nested in a group, the layer is moved to the top in its current group. The Move to Bottom option follows the same logic to move layers and groups down.
The checkbox for a group will show or hide the checked layers in the group with one click. With Ctrl pressed, the checkbox will also turn on or off all the layers in the group and its sub-groups.
Ctrl-click on a checked / unchecked layer will uncheck / check the layer and all its parents.
Enabling the Mutually Exclusive Group option means you can make a group have only one layer visible at the same time. Whenever a layer within the group is set visible the others will be toggled not visible.
It is possible to select more than one layer or group at the same time by holding down the Ctrl key while clicking additional layers. You can then move all selected layers to a new group at the same time.
You may also delete more than one layer or group at once by selecting several items with the Ctrl key and then pressing Ctrl+D: all selected layers or groups will be removed from the layers list.
More information on layers and groups using indicator icon
In some circumstances, formatting or icons next to the layer or group in the Layers panel change to give more information about the layer/group. These elements are:
to indicate that the layer is in edit mode and you can modify the data
to indicate that the layer being edited has some unsaved changes
to indicate a filter applied to the layer. Hover over the icon to see the filter expression and double-click to update the query
to identify layers that are required in the project, hence non removable
to identify an embedded group or layer and the path to their original project file
to identify a layer whose data source was not available at the project file opening (see Handling broken file paths). Click the icon to update the source path or select Repair Data Source… entry from the layer contextual menu.
to remind you that the layer is a temporary scratch layer and its content will be discarded when you close this project. To avoid data loss and make the layer permanent, click the icon to store the layer in any of the GDAL vector formats supported by QGIS.
to identify a layer used in offline editing mode.
for layers with coordinates stored in a coordinate reference system which is inherently low accuracy (requires the corresponding setting to be enabled)
to identify a layer that has notes associated
A grayed name, when the map canvas current scale is outside the layer’s visibility scale range (as set in its Zoom to Visible Scale option to zoom the map to the layer’s nearest visibility scale bound.
properties). Select the contextual menu
Control layers rendering through grouping
Groups are a means of structuring layers within a tree in the project but they can also impact how their component layers are rendered, namely as a single flattened object during map renders.
The option for such a rendering is available within the Layer Styling panel whenever a group is selected.
Under the Symbology tab, check
Render Layers as a Group
to enable a set of options to control the appearance of the child layers as a whole, instead of individual layers:
Opacity: Features from child layers which are obscured by other child layers remain obscured, and the opacity applies to the “whole of group” only.
Fig. 11.2 Setting opacity on layers vs on a group
The image on the left shows two layers being rendered at 50% opacity (underlying features are visible, but semi-masked by the 50% red feature on top). The second image shows the result of setting the opacity on the group (parts of the blue underlying child layer is completely obscured by the red layer on top and then the result is rendered at 50% opacity).
Blend modes: Just like opacity, setting a blend mode (like multiply, overlay, …) for an entire group results first in flattening features of child layers, with upper ones obscuring lower. The rendering is then obtained by blending the flat group and the layers sitting below the group.
When the child layers have blend modes assigned, it is applied before flattening but the scope is restricted to only affecting other child layers from that group, and not other layers sitting below the whole group.
Some more blending modes options are available for child layers in groups, in their Symbology tab which perform “clipping” style operations on other child layers during the render. You can e.g. clip the render of one layer’s content by the content in a second “mask” layer.
Layer effects: applies effects only to the flattened render of the child layers; So e.g. a drop shadow effect applied to the group would not be visible for obscured child layers.
When a group is set to Render layers as a group, then only the group will be shown in the Layer Order panel list. Group children will not be visible in this order list, as their ordering is determined by the placement of the group layer.
11.2.1.4. Editing vector layer style
From the Layers panel, you have shortcuts to change the layer rendering quickly and easily. Right-click on a vector layer and select
in the list in order to:see the styles currently applied to the layer. If you defined many styles for the layer, you can switch from one to another and your layer rendering will automatically be updated on the map canvas.
copy part or all of the current style, and when applicable, paste a copied style from another layer
Tip
Quickly share a layer style
From the context menu, copy the style of a layer and paste it to a group or a selection of layers: the style is applied to all the layers that are of the same type (vector/raster) as the original layer and, for vector layers, have the same geometry type (point, line or polygon).
rename the current style, add a new style (which is actually a copy of the current one) or delete the current style (when multiple styles are available).
Note
The previous options are also available for raster or mesh layers.
update the symbol color using a Color Wheel. For convenience, the recently used colors are also available at the bottom of the color wheel.
Edit Symbol…: open the Symbol Selector dialog and change feature symbol (symbol, size, color…).
When using a classification symbology type (based on categorized, graduated or
rule-based), the aforementioned symbol-level
options are available from the class entry context menu. Also provided are the
Toggle Items,
Show All
Items and
Hide All Items entries to switch the
visibility of all the classes of features. These avoid (un)checking items
one by one.
Tip
Double-clicking a class leaf entry also opens the Symbol Selector dialog.
11.2.2. Layer Styling Panel
The Layer Styling panel (also enabled with Ctrl+3) is a shortcut to some of the functionalities of the Layer Properties dialog. It provides a quick and easy way to define the rendering and the behavior of a layer, and to visualize its effects without having to open the layer properties dialog.
In addition to avoiding the blocking (or “modal”) layer properties dialog, the layer styling panel also avoids cluttering the screen with dialogs, and contains most style functions (color selector, effects properties, rule edit, label substitution…): e.g., clicking color buttons inside the layer style panel causes the color selector dialog to be opened inside the layer style panel itself rather than as a separate dialog.
From a drop-down list of current layers in the layer panel, select an item and:
Depending on the active item, set:
Symbology for groups (see Control layers rendering through grouping)
Symbology,
Transparency, and
Histogram properties for raster layer. These options are the same as in the Raster Properties Dialog.
Symbology,
Labels,
Mask and
3D View properties for vector layer. These options are the same as in the The Vector Properties Dialog and can be extended by custom properties introduced by third-party plugins.
Symbology and
3D View properties for mesh layer. These options are the same as in the Mesh Dataset Properties.
Symbology,
3D View and
Elevation properties for point cloud layer. These options are the same as in the Point Clouds Properties.
Manage the associated style(s) in the
Style Manager (more details at Managing Custom Styles).
See the
History of changes you applied to the layer style in the current project: you can therefore cancel or restore to any state by selecting it in the list and clicking Apply.
Another powerful feature of this panel is the Live update checkbox.
Tick it to render your changes immediately on the map canvas:
you no longer need to click the Apply button.

Fig. 11.3 Defining a layer’s symbology from the layer styling panel
11.2.3. Layer Order Panel
By default, layers shown on the QGIS map canvas are drawn following their order in the Layers panel: the higher a layer is in the panel, the higher (hence, more visible) it’ll be in the map view.
You can define a drawing order for the layers independent of the order in the
layers panel with the Layer Order panel enabled
in menu or with Ctrl+9.
Check Control rendering order underneath
the list of layers and reorganize the layers in the panel as you want. This
order becomes the one applied to the map canvas.
For example, in Fig. 11.4, you can see that the
airports
features are displayed over the alaska
polygon despite those layers’
respective placement in the Layers panel.
Unchecking Control rendering order will
revert to default behavior.

Fig. 11.4 Define a layer order independent of the legend
11.2.4. Overview Panel
The Overview panel (Ctrl+8) displays a map with a full extent view of some of the layers. The Overview map is filled with layers using the Show in Overview option from the menu or in the layer contextual menu. Within the view, a red rectangle shows the current map canvas extent, helping you quickly to determine which area of the whole map you are currently viewing. If you click-and-drag the red rectangle in the overview frame, the main map view extent will update accordingly.
Note that labels are not rendered to the map overview even if the layers used in the map overview have been set up for labeling.
11.2.5. Log Messages Panel
When loading or processing some operations, you can track and follow messages
that appear in different tabs using the Log Messages Panel.
It can be activated using the most right icon in the bottom status bar.
11.2.6. Undo/Redo Panel
For each layer being edited, the Undo/Redo (Ctrl+5) panel shows the list of actions carried out, allowing you quickly to undo a set of actions by selecting the action listed above. More details at Undo and Redo edits.
11.2.7. Statistical Summary Panel
The Statistics panel (Ctrl+6) provides summarized information on any vector layer. This panel allows you to select:
the vector layer to compute the statistics on: it can be selected from the top drop-down menu, or synced with the active layer in the Layers panel using the Follow selected layer checkbox at the bottom of the statistics drop-down list
the field or
expression to use: for each layer, the last entry is remembered and automatically computed upon layer reselection.
the statistics to return using the drop-down button at the bottom-right of the dialog. Depending on the field’s (or expression’s values) type, available statistics are:
Statistics |
String |
Integer |
Float |
Date |
---|---|---|---|---|
Count |
||||
Count Distinct Value |
||||
Count Missing value |
||||
Sum |
||||
Mean |
||||
Standard Deviation |
||||
Standard Deviation on Sample |
||||
Minimal value |
||||
Maximal value |
||||
Range |
||||
Minority |
||||
Majority |
||||
Variety |
||||
First Quartile |
||||
Third Quartile |
||||
Inter Quartile Range |
||||
Minimum Length |
||||
Maximum Length |
||||
Mean Length |
The statistical summary can be:
copied to the clipboard and pasted as a table in another application
recalculated using the
button when the underlying data source changes (eg, new or removed features/fields, attribute modification)

Fig. 11.5 Show statistics on a field
11.2.8. Debugging/Development Tools Panel
The Debugging/Development Tools panel (F12) provides a unified place for handling and debugging actions within QGIS. Available tools are organized under following tabs:
Note
Plugin authors can extend the panel with custom tabs
for debugging and developping their own plugins.
This is done using registerDevToolWidgetFactory
method.
11.2.8.1. Network Logger
The Network Logger tab helps you record
and display network requests, along with a whole load of useful details
like request and reply status, header, errors, SSL configuration errors,
timeouts, cache status, etc.
From its top toolbar, you can:
Save Log…: will first show a big warning that the log is sensitive and should be treated as confidential and then allow you to save the log.
Press the
Settings drop-down menu to select whether to Show Successful Requests, Show Timeouts and Show Replies Served from Cache.
Disable cache: will disable the cache so that every request has to be performed.
Filter requests based on URL string subsets or request status
By right clicking on a request you can:
Open URL which will open the URL in your default browser.
Copy URL
Copy As cURL to use it in the terminal.
Copy as JSON: copies the tree values as a json string to the clipboard, for easy pasting in bug reports or for remote assistance.

Fig. 11.6 Network Logger output for GET Request
11.2.8.2. Query Logger
The Query Logger is the place to log the SQL commands
sent by the data provider and the connections API to the backend database,
together with their execution time as measured by QGIS (i.e. in the client
that sent the commands).
This can be useful when investigating performances of a particular layer
during debugging or development of a QGIS algorithm or plugin.
From its top toolbar, you can:
Save Log…: will first show a big warning that the log is sensitive and should be treated as confidential and then allow you to save the log.
Filter queries based on the query string subsets or details such as provider type, start time, initiator, …
Right-click on a reported query, and you can:
Copy SQL command called by QGIS on the database
Copy as JSON: copies the tree values as a json string to the clipboard, for easy pasting in bug reports or for remote assistance.

Fig. 11.7 Query Logger output
11.2.8.3. Profiler
The Profiler tab allows to get load times for every
single operation involved in actions requested by the user. Depending on
the context, these operations can be settings reading, menu, map canvas or 3D
views creation, resolving map layers reference, bookmark or layout loading, …
This helps identify causes of slow load times.
Default supported actions can be selected from the Categories drop-down menu:
QGIS Startup
Project Load

Fig. 11.8 Profiler for QGIS Startup
11.3. Embedding layers from external projects
Sometimes, you’d like to keep some layers in different projects, but with the same style. You can either create a default style for these layers or embed them from another project to save time and effort.
Embed layers and groups from an existing project has some advantages over styling:
All types of layers (vector or raster, local or online…) can be added
Fetching groups and layers, you can keep the same tree structure of the “background” layers in your different projects
While the embedded layers are editable, you can’t change their properties such as symbology, labels, forms, default values and actions, ensuring consistency across projects
Modify the items in the original project and changes are propagated to all the other projects
If you want to embed content from other project files into your project, select
:Click the … button to look for a project: you can see the content of the project (see Fig. 11.9)
Hold down Ctrl ( or
Cmd) and click on the layers and groups you wish to retrieve
Click OK
The selected layers and groups are embedded in the Layers
panel and displayed on the map canvas. An
icon is added next to their name for recognition and hovering over displays
a tooltip with the original project file path.

Fig. 11.9 Select layers and groups to embed
Like any other layer, an embedded layer can be removed from the project by
right-clicking on the layer and clicking Remove.
Tip
Change rendering of an embedded layer
It’s not possible to change the rendering of an embedded layer, unless you make the changes in the original project file. However, right-clicking on a layer and selecting Duplicate creates a layer which is fully-featured and not dependent on the original project. You can then safely remove the linked layer.
11.4. Working with the map canvas
11.4.1. Controlling map rendering
By default, QGIS renders all visible layers whenever the map canvas is refreshed. The events that trigger a refresh of the map canvas include:
changing the visibility of a layer
modifying symbology of a visible layer
adding a layer
panning or zooming
resizing the QGIS window
QGIS allows you to control the rendering process in a number of ways.
at the global level
per layer, using e.g. the scale dependent rendering
or with dedicated tools in the GUI.
To stop the map drawing, press the Esc key. This will halt the refresh of the map canvas and leave the map partially drawn. It may however take a bit of time after pressing Esc for the map drawing to halt.
To suspend rendering, click the Render checkbox in the
bottom-right corner of the status bar. When
Render
is unchecked, QGIS does not redraw the canvas in response to any of
the usual triggers mentioned earlier. Examples of when you
might want to suspend rendering include:
adding many layers and symbolizing them prior to drawing
adding one or more large layers and setting scale dependency before drawing
adding one or more large layers and zooming to a specific view before drawing
any combination of the above
Checking the Render checkbox enables rendering and
causes an immediate refresh of the map canvas.
11.4.2. Spatial Bookmarks
Spatial Bookmarks allow you to “bookmark” a geographic location and return to it later. By default, bookmarks are saved in the user’s profile (as User Bookmarks), meaning that they are available from any project the user opens. They can also be saved for a single project (named Project Bookmarks) and stored within the project file, which can be helpful if the project is to be shared with other users.
11.4.2.1. Creating a Bookmark
To create a bookmark:
Zoom and pan to the area of interest.
Select the menu option
, press Ctrl+B or right-click the
Spatial Bookmarks entry in the Browser panel and select New Spatial Bookmark. The Bookmark Editor dialog opens.
Fig. 11.10 The Bookmark Editor Dialog
Enter a descriptive name for the bookmark
Enter or select a group name in which to store related bookmarks
Select the extent of the area you wish to save, using the extent selector widget
Indicate the CRS to use for the extent
Select whether the bookmark will be Saved in User Bookmarks or Project Bookmarks (by default, this drop-down list is set to User Bookmarks)
Press Save to add the bookmark to the list
Note that you can have multiple bookmarks with the same name.
11.4.2.2. Working with Bookmarks
To use and manage bookmarks, you can either use the Spatial Bookmarks panel or Browser.
Select or press Ctrl+7
to open the Spatial Bookmarks Manager panel.
Select
or Ctrl+Shift+B to show
the
Spatial Bookmarks entry in the
Browser panel.
You can perform the following tasks:
Task |
Spatial Bookmark Manager |
Browser |
---|---|---|
Zoom to a Bookmark |
Double-click on it, or select the bookmark and press the
|
Double-click on it, drag and drop it to the map canvas, or right-click the bookmark and select Zoom to Bookmark. |
Delete a bookmark |
Select the bookmark and click the |
Right-click the bookmark and select Delete Spatial Bookmark. Confirm your choice. |
Export bookmarks to XML |
Click the |
Select one or more folders (user or project) or subfolders (groups),
then right-click and select |
Import bookmarks from XML |
Click the |
Right-click the Spatial Bookmarks entry or one of its folders (user or
project) or subfolders (groups) to determine where to import the
bookmarks, then select |
Edit bookmark |
You can change a bookmark by changing the values in the table. You can edit the name, the group, the extent and if it is stored in the project or not. |
Right-click the desired bookmark and select Edit Spatial Bookmark…. The Bookmark Editor will open, allowing you to redefine every aspect of the bookmark as if you were creating it for the first time. You can also drag and drop the bookmark between folders (user and project) and subfolders (groups). |
You can also zoom to bookmarks by typing the bookmark name in the locator.
11.4.3. Decorations
Decorations include Grid, Title Label, Copyright Label, Image, North Arrow, Scale Bar and Layout Extents. They are used to ‘decorate’ the map by adding cartographic elements.
11.4.3.1. Grid
Grid allows you to add a coordinate grid and coordinate
annotations to the map canvas.
Select menu option
to open the dialog.Fig. 11.11 The Grid Dialog
Tick
Enable grid and set grid definitions according to the layers loaded in the map canvas:
The Grid type: it can be Line or Marker
The associated Line symbol or marker symbol used to represent the grid marks
The Interval X and Interval Y between the grid marks, in map units
An Offset X and Offset Y distance of the grid marks from the bottom left corner of the map canvas, in map units
The interval and offset parameters can be set based on the:
Canvas Extents: generates a grid with an interval that is approximatively 1/5 of the canvas width
Active Raster Layer resolution
Tick
Draw annotations to display the coordinates of the grid marks and set:
The Annotation direction, ie how the labels would be placed relative to their grid line. It can be:
Horizontal or Vertical for all the labels
Horizontal and Vertical, ie each label is parallel to the grid mark it refers to
Boundary direction, ie each label follows the canvas boundary, and is perpendicular to the grid mark it refers to
The Annotation font (text formatting, buffer, shadow…) using the font selector widget
The Distance to map frame, margin between annotations and map canvas limits. Convenient when exporting the map canvas eg to an image format or PDF, and avoid annotations to be on the “paper” limits.
The Coordinate precision
Click Apply to verify that it looks as expected or OK if you’re satisfied.
11.4.3.2. Title Label
Title Label allows you to decorate your map with a Title.
To add a Title Label decoration:
Select menu option
to open the dialog.Fig. 11.12 The Title Decoration Dialog
Enter the title text you want to place on the map. You can make it dynamic using the Insert or Edit an Expression… button.
Choose the Font for the label using the font selector widget with full access to QGIS text formatting options. Quickly set the font color and opacity by clicking the black arrow to the right of the font combo box.
Select the color to apply to the title’s Background bar color.
Choose the Placement of the label in the canvas: options are Top left, Top Center (default), Top Right, Bottom left, Bottom Center and Bottom Right.
Refine the placement of the item by setting a horizontal and/or vertical Margin from Edge. These values can be in Millimeters or Pixels or set as a Percentage of the width or height of the map canvas.
Click Apply to verify that it looks as expected or OK if you’re satisfied.
11.4.3.3. Copyright Label
Copyright Label can be used to decorate your
map with a Copyright label.
To add this decoration:
Select menu option
to open the dialog.Fig. 11.13 The Copyright Decoration Dialog
Enter the copyright text you want to place on the map. You can make it dynamic using the Insert or Edit an Expression… button.
Choose the Font for the label using the font selector widget with full access to QGIS text formatting options. Quickly set the font color and opacity by clicking the black arrow to the right of the font combo box.
Choose the Placement of the label in the canvas: options are Top left, Top Center, Top Right, Bottom left, Bottom Center, and Bottom Right (default for Copyright decoration)
Refine the placement of the item by setting a horizontal and/or vertical Margin from Edge. These values can be in Millimeters or Pixels or set as a Percentage of the width or height of the map canvas.
Click Apply to verify that it looks as expected or OK if you’re satisfied.
11.4.3.4. Image Decoration
Image allows you to add an image (logo, legend, ..) on the map canvas.
To add an image:
Select menu option
to open the dialog.Fig. 11.14 The Image Decoration Dialog
Select a bitmap (e.g. png or jpg) or SVG image using the … Browse button
If you have chosen a parameter enabled SVG then you can also set a Fill or Stroke (outline) color. For bitmap images, the color settings are disabled.
Set a Size of the image in mm. The width of selected image is used to resize it to given Size.
Choose where you want to place the image on the map canvas with the Placement combo box. The default position is Top Left.
Set the Horizontal and Vertical Margin from (Canvas) Edge. These values can be set in Millimeters, Pixels or as a Percentage of the width or height of the map canvas.
Click Apply to verify that it looks as expected and OK if you’re satisfied.
11.4.3.5. North Arrow
North Arrow allows you to add a north arrow on the map canvas.
To add a north arrow:
Select menu option
to open the dialog.Fig. 11.15 The North Arrow Dialog
Optionally change the color and size, or choose a custom SVG
Optionally change the angle or choose Automatic to let QGIS determine the direction
Optionally choose the placement from the Placement combo box
Optionally refine the placement of the arrow by setting a horizontal and/or vertical Margin from (Canvas) Edge. These values can be in Millimeters or Pixels or set as a Percentage of the width or height of the map canvas.
Click Apply to verify that it looks as expected and OK if you’re satisfied.
11.4.3.6. Scale Bar
Scale Bar adds a simple scale bar to the map canvas.
You can control the style and placement, as well as the labelling of the bar.
QGIS only supports displaying the scale in the same units as your map frame. So, if the units of your project’s CRS are meters, you can’t create a scale bar in feet. Likewise, if you are using decimal degrees, you can’t create a scale bar to display distance in meters.
To add a scale bar:
Select menu option
to open the dialogFig. 11.16 The Scale Bar Dialog
Select the Color of bar
by choosing a fill color (default: black) and an outline color (default: white). The scale bar fill and outline can be made opaque by clicking on the down arrow to the right of the color input.
Select the font for the scale bar from the Font of bar
combo box
Optionally check
Automatically snap to round number on resize to display easy-to-read values
You can refine the placement of the item by setting a horizontal and/or vertical Margin from (Canvas) Edge. These values can be in Millimeters or Pixels or set as a Percentage of the width or height of the map canvas.
Click Apply to verify that it looks as expected or OK if you’re satisfied.
11.4.3.7. Layout Extents
Layout Extents adds the extents of map item(s) in print
layout(s) to the canvas. When enabled, the extents of all map items within all print layouts are
shown using a lightly dotted border labeled with the name of the print layout and map item.
You can control the style and labeling of the displayed layout extents.
This decoration is useful when you are tweaking the positioning of map elements such as labels,
and need to know the actual visible region of print layouts.

Fig. 11.17 Example of layout extents displayed in a QGIS project with two print layouts. The print layout named ‘Sights’ contains two map items, while the other print layout contains one map item.
To add layout extent(s):
Select
to open the dialogFig. 11.18 The Layout Extents Dialog
Optionally change the symbol and labeling of the extents.
Click Apply to verify that it looks as expected and OK if you’re satisfied.
Tip
Decorations Settings
When you save a QGIS project file, any changes you have made to Grid, North Arrow, Scale Bar, Copyright and Layout Extents will be saved in the project and restored the next time you load the project.
11.4.4. Annotation Tools
Annotations are another type of elements added onto the map canvas to provide additional information that can not be depicted by the rendered layers. Unlike labels that rely on attribute values stored in vector layers, annotations are independent details, stored within the project file itself.
Two families of annotations are available in QGIS:
Feature annotations: they are actual georeferenced features of text, marker, line or polygon type stored within a special layer type called “annotation layer”. They are tied to a particular geographic location, meaning that moving your map, changing the scale or changing projection won’t cause your annotations to jump around the map. Rather, they’ll be locked in place to the location you’ve drawn them.
Balloon annotations: these are individuals annotations of text, form or image type placed inside a bubble. They can be associated to any layer for their visibility, are drawn on top of the map canvas. The size is dependent from the map canvas scale, and its position can be anchored.
Tip
Layout the map with annotations
You can print or export annotations with your map to various formats using:
map canvas export tools available in the
menuprint layout, in which case you need to check Draw map canvas items in the corresponding map item properties
The Annotations Toolbar provides a set of tools to create and interact with both families of annotations.
Tool |
Usage |
Scope |
Create a new layer to store annotations |
Feature annotations |
|
Main Annotation Layer Properties |
Control settings of the Main Annotation Layer |
|
Select, move, resize and modify symbology properties of annotations |
||
Create an annotation as a polygon feature |
||
Create an annotation as a polyline feature |
||
Create an annotation as a point feature |
||
Create an annotation as a text label |
||
Select and create a text formatted annotation |
Balloon annotations |
|
Select and create annotation with an |
||
Select and create annotation showing an |
||
Select and create annotation showing attributes of a vector layer in a custom form file |
||
Adjust size and position of annotation element |
11.4.4.1. Feature Annotations
Feature annotations are stored in annotation layers. Unlike conventional layers, an annotation layer is available only in the current project and can contain features of different types (text, marker, line, polygon). The layer has no attributes and no symbology associated, but instead each feature can be symbolized on an item-by-item basis, through Layer Styling panel.
Two types of annotation layer are available in QGIS:
A common Annotation Layer: you can create one using the
New Annotation Layer tool. It is listed in the Layers panel, allowing you to control its features’ visibility, move it to show above or below particular layers in your map, like any common layer. Double-click the layer and you can access its properties.
The Main Annotation Layer: By default, this is where annotations are stored when no annotation layer is available in the project or is selected at creation time. This layer is always drawn on the very top of your map and you won’t see it listed in the Layers panel alongside the other layers in your project, meaning that its features are always visible. The Main Annotation Layer Properties entry on the Annotations toolbar helps you open its properties dialog.
Interaction
The Feature annotations have dedicated tools for creation depending on their type:
All the usual QGIS shortcuts for creating features apply when creating annotation items. A line or polygon annotation is drawn by left-clicking once for each vertex, with a final right mouse click to complete the shape. Snapping can be enabled while you draw, you can use the Advanced Digitizing Tools to precisely place vertices, and even switch the drawing tools to the streaming mode for completely free-form shapes.
Unlike common layers, an annotation layer does not need to be active before you
select its features. Simply grab the Modify Annotations tool and
you will be able to interact with any feature annotation:
Selection: simply left-click on the annotation
Moving: Left click on a selected annotation item to start moving it. A right-click or pressing Esc key cancels the move, while a second left click will confirm the move. The displacement can also be controlled pressing the cursor keys:
Shift+key for big movement
Alt+key for
1 px
movement
Geometry modification: for line or polygon annotations, left-click on a vertex of the geometry, move and click again. Double-click a segment to add a new vertex.
Delete: Pressing the Del or Backspace key while an annotation is selected will delete that annotation
Feature symbology
A selected annotation will display its Symbology properties in the Layer styling panel. You can:
modify the appearance using full capabilities of the symbol or the text format (including the text itself), depending on the type.
configure a Reference scale
set a Z index
modify some of the Layer rendering settings
Layer Properties
The properties dialog of an annotation layer provides the following tabs:
Information: a read-only dialog representing an interesting place to quickly grab summarized information and metadata on the current layer.
Source: defines general settings for the annotation layer. You can:
Set a Layer name that will be used to identify the layer in the project (in the Layers Panel, with expressions, …)
Display the layer’s Assigned Coordinate Reference System (CRS): you can change the layer’s CRS, selecting a recently used one in the drop-down list or clicking on
Select CRS button (see Coordinate Reference System Selector). Use this process only if the CRS applied to the layer is a wrong one or if none was applied.
Rendering:
You can set the Maximum (inclusive) and Minimum (exclusive) scale, defining a range of scale in which features will be visible. Out of this range, they are hidden. The
Set to current canvas scale button helps you use the current map canvas scale as boundary of the range visibility. See Visibility Scale Selector for more information.
Opacity: You can make the underlying layer in the map canvas visible with this tool. Use the slider to adapt the visibility of your vector layer to your needs. You can also make a precise definition of the percentage of visibility in the menu beside the slider.
Blending mode at the Layer level: You can achieve special rendering effects with these tools that you may previously only know from graphics programs. The pixels of your overlaying and underlying layers are mixed through the settings described in Blending Modes.
Apply paint effects on all the layer features with the Draw Effects button.
Some of these options are accessible from the feature annotation Symbology properties.
11.4.4.2. Balloon annotations
You can add balloon annotations through Annotations Toolbar:
menu or from theForm Annotation: useful to display attributes of a vector layer in a customized
ui
file (see Fig. 11.19). This is similar to the custom attribute forms, but displayed in an annotation item. Also see this video https://www.youtube.com/watch?v=0pDBuSbQ02o&feature=youtu.be&t=2m25s from Tim Sutton for more information.Move Annotation to adjust annotation element size or position (using click and drag)

Fig. 11.19 Examples of balloon annotations
To add a balloon annotation, select the corresponding tool and click on the map canvas. An empty balloon is added. Double-click on it and a dialog opens with various options. This dialog is almost the same for all the annotation types:
At the top, a file selector to fill with the path to an
html
,svg
orui
file depending on the type of annotation. For text annotation, you can enter your message in a text box and set its rendering with the normal font tools.Fixed map position: when unchecked, the balloon placement is based on a screen position (instead of the map), meaning that it’s always shown regardless the map canvas extent.
Linked layer: associates the annotation with a map layer, making it visible only when that layer is visible.
Map marker: using QGIS symbols, sets the symbol to display at the balloon anchor position (shown only when Fixed map position is checked).
Frame style: sets the frame background color, transparency, stroke color or width of the balloon using QGIS symbols.
Contents margins: sets interior margins of the annotation frame.

Fig. 11.20 A ballon annotation text dialog
Annotations can be selected when an annotation tool is enabled. They can then be
moved by map position (by dragging the map marker) or by moving only the balloon.
The Move Annotation tool also allows you to move the
balloon on the map canvas.
To delete an annotation, select it and either press the Del or Backspace button, or double-click it and press the Delete button in the properties dialog.
Note
If you press Ctrl+T while a balloon Annotation tool (move annotation, text annotation, form annotation) is active, the visibility states of the items are inverted.
11.4.5. Measuring
11.4.5.1. General information
QGIS provides four means of measuring geometries:
derived measurements in the Identifying Features tool
the vector analysis tool:
Measuring works within projected coordinate systems (e.g., UTM) and unprojected data. The first three measuring tools behave equally to global project settings:
Unlike most other GIS, the default measurement metric is ellipsoidal, using the ellipsoid defined in
. This is true both when geographic and projected coordinate systems are defined for the project.If you want to calculate the projected/planimetric area or distance using cartesian maths, the measurement ellipsoid has to be set to “None/Planimetric” (
). However, with a geographic (ie unprojected) CRS defined for the data and project, area and distance measurement will be ellipsoidal.
However, neither the identify tool nor the field calculator will transform your data to the project CRS before measuring. If you want to achieve this, you have to use the vector analysis tool:
. Here, measurement is planimetric, unless you choose the ellipsoidal measurement.11.4.5.2. Measure length, areas, bearings and angles interactively
Click the icon in the Attribute toolbar to begin measurements.
The down arrow near the icon switches between
length,
area,
bearing or
angle.
The default unit used in the dialog is the one set in menu.
For the Measure Line and the Measure Area the
measurements can be done in Cartesian or
Ellipsoidal measure.
Note
Configuring the measure tool
While measuring length or area, clicking the Configuration button at the bottom of the widget opens the menu, where you can select the rubberband color, the precision of the measurements and the unit behavior. You can also choose your preferred measurement or angle units, but keep in mind that those values are overridden in the current project by the selection made in the menu, and by the selection made in the measurement widget.
All measuring modules use the snapping settings from the digitizing module (see section Setting the snapping tolerance and search radius). So, if you want to measure exactly along a line feature, or around a polygon feature, first set its layer snapping tolerance. Now, when using the measuring tools, each mouse click (within the tolerance setting) will snap to that layer.
The Measure Line measures distances between given points.
The tool then allows you to click points on the map. Each segment length,
as well as the total, shows up in the measure window.
To stop measuring, click the right mouse button. Now it is possible
to copy all your line measurements at once to the clipboard using the
Copy All button.
Note that you can use the drop-down list near the total to change the measurement units interactively while working with the measure tool (‘Meters’, ‘Kilometers’, ‘Feet’, ‘Yards’, ‘Miles’, ‘Nautical miles’, ‘Centimeters’, ‘Millimeters’, ‘Degrees’, ‘Map units’). This unit is retained for the widget until a new project is created or another project is opened.
The Info section in the dialog explains how calculations are made according to the CRS settings available.

Fig. 11.21 Measure Distance
Measure Area: Areas can also be measured. In the
measure window, the accumulated area size appears. Right-click to stop drawing.
The Info section is also available as well as the ability to switch between
different area units (‘Square meters’, ‘Square kilometers’, ‘Square feet’, ‘Square yards’,
‘Square miles’, ‘Hectares’, ‘Acres’, ‘Square centimeters’,
‘Square millimeters’, ‘Square nautical miles’, ‘Square degrees’, ‘Map units’).

Fig. 11.22 Measure Area
Measure Bearing: You can also measure bearings. The
cursor becomes cross-shaped. Click to draw the first point of the bearing,
then move the cursor to draw the second point. The measurement
is displayed in a pop-up dialog.

Fig. 11.23 Measure Bearing
Measure Angle: You can also measure angles. The
cursor becomes cross-shaped. Click to draw the first segment of the angle you
wish to measure, then move the cursor to draw the desired angle. The measurement
is displayed in a pop-up dialog.

Fig. 11.24 Measure Angle
11.5. Interacting with features
11.5.1. Selecting features
QGIS provides several tools to select features on the map canvas. Selection tools are available in the Selection Toolbar.
menu or in theNote
Selection tools work with the currently active layer.
11.5.1.1. Selecting manually on the map canvas
To select one or more features with the mouse, you can use one of the following tools:
Note
Other than Select Features by Polygon, these
manual selection tools allow you to select feature(s) on the map canvas with a
single click.
Note
Use the Select Features by Polygon tool
to use an existing polygon feature (from any layer) to select overlapping features
in the active layer.
Right-click in the polygon and choose it from the context menu that shows a
list of all the polygons that contain the clicked point.
All the overlapping features from the active layer are selected.
Tip
Use the
tool to redo your latest selection. Very useful when you have painstakingly made a selection, and then click somewhere else accidentally and clear your selection.While using the Select Feature(s) tool,
holding Shift or Ctrl toggles whether a feature is selected
(ie either adds to the current selection or remove from it).
For the other tools, different behaviors can be performed by holding down:
Shift: add features to the current selection
Ctrl: substract features from the current selection
Ctrl+Shift: intersect with current selection, ie only keep overlapping features from the current selection
Alt: select features that are totally within the selection shape. Combined with Shift or Ctrl keys, you can add or substract features to/from the current selection.
11.5.1.2. Automatic selection
The other selection tools, most of them available from the Attribute table, perform a selection based on a feature’s attribute or its selection state (note that attribute table and map canvas show the same information, so if you select one feature in the attribute table, it will be selected on the map canvas too):
Select By Expression… select features using expression dialog
Deselect Features from All Layers or press Ctrl+Alt+A to deselect all selected features in all layers
Deselect Features from the Current Active Layer or press Ctrl+Shift+A
Select All Features or press Ctrl+A to select all features in the current layer
Invert Feature Selection to invert the selection in the current layer
Select by Location to select the features based on their spatial relationship with other features (in the same or another layer - see Select by location)
Select within distance to select features wherever they are within the specified maximum distance from referenced features - see Select within distance)
For example, if you want to find regions that are boroughs from
regions.shp
of the QGIS sample data, you can:
Expand the Fields and Values group
Double-click the field that you want to query (“TYPE_2”)
Click All Unique in the panel that shows up on the right
From the list, double-click ‘Borough’. In the Expression editor field, write the following query:
"TYPE_2" = 'Borough'
Click Select Features
From the expression builder dialog, you can also use Expressions for more information and examples.
to make a selection that you have used before. The dialog remembers the last 20 expressions used. SeeTip
Save your selection into a new file
Users can save selected features into a New Temporary Scratch Layer or a New Vector Layer using
and in the desired format.11.5.1.3. Select Features By Value
This selection tool opens the layer’s feature form allowing the user to choose which value to look for for each field, whether the search should be case-sensitive, and the operation that should be used. The tool has also autocompletes, automatically filling the search box with existing values.

Fig. 11.25 Filter/Select features using form dialog
Alongside each field, there is a drop-down list with options to control the search behaviour:
Field search option |
String |
Numeric |
Date |
---|---|---|---|
Exclude Field from the search |
|||
Equal to (=) |
|||
Not equal to (≠) |
|||
Greater than (>) |
|||
Less than (<) |
|||
Greater than or equal to (≥) |
|||
Less than or equal to (≤) |
|||
Between (inclusive) |
|||
Not between (inclusive) |
|||
Contains |
|||
Does not contain |
|||
Is missing (null) |
|||
Is not missing (not null) |
|||
Starts with |
|||
Ends with |
For string comparisons, it is also possible to use the
Case sensitive option.
After setting all search options, click Select features to select the matching features. The drop-down options are:
Select features
Add to current selection
Remove from current selection
Filter current selection
You can also clear all search options using the Reset form button.
Once the conditions are set, you can also either:
Zoom to features on the map canvas without the need of a preselection
Flash features, highlighting the matching features. This is a handy way to identify a feature without selection or using the Identify tool. Note that the flash does not alter the map canvas extent and would be visible only if the feature is within the bounds of the current map canvas.
11.5.2. Identifying Features
The Identify tool allows you to interact with the map canvas and get information on features in a pop-up window. To identify features, use:
11.5.2.1. Using the Identify Features tool
QGIS offers several ways to identify features with the
Identify Features tool:
left click identifies features according to the selection mode and the selection mask set in the Identify Results panel
right click with Identify Feature(s) as selection mode set in the Identify Results panel fetches all snapped features from all visible layers. This opens a context menu, allowing the user to choose more precisely the features to identify or the action to execute on them.
right click with Identify Features by Polygon as selection mode in the Identify Results panel identifies the features that overlap with the chosen existing polygon, according to the selection mask set in the Identify Results panel
Tip
Filter the layers to query with the Identify Features tool
Under Layer Capabilities in , uncheck the Identifiable column next to a
layer to avoid it
being queried when using the Identify Features tool in a mode
other than Current Layer. This is a handy way to return features from
only layers that are of interest for you.
If you click on feature(s), the Identify Results dialog will list information about the feature(s) clicked. The default view is a tree view in which the first item is the name of the layer and its children are its identified feature(s). Each feature is described by the name of a field along with its value. This field is the one set in . All the other information about the feature follows.
11.5.2.2. Feature information
The Identify Results dialog can be customized to display custom fields, but by default it will display the following information:
The feature display name;
Actions: Actions can be added to the identify feature windows. The action is run by clicking on the action label. By default, only one action is added, namely
View feature form
for editing. You can define more actions in the layer’s properties dialog (see Actions Properties).Derived: This information is calculated or derived from other information. It includes:
general information about the feature’s geometry:
depending on the geometry type, the cartesian measurements of length, perimeter or area in the layer’s CRS units. For 3D line vectors the cartesian line length is available.
depending on the geometry type and if an ellipsoid is set in the project properties dialog for Measurements, the ellipsoidal values of length, perimeter or area using the specified units
the count of geometry parts in the feature and the number of the part clicked
the count of vertices in the feature
coordinate information, using the project properties Coordinates display settings:
X
andY
coordinate values of the point clickedthe number of the closest vertex to the point clicked
X
andY
coordinate values of the closest vertex (andZ
/M
if applicable)if you click on a curved segment, the radius of that section is also displayed.
Data attributes: This is the list of attribute fields and values for the feature that has been clicked.
information about the related child feature if you defined a relation:
the name of the relation
the entry in reference field, e.g. the name of the related child feature
Actions: lists actions defined in the layer’s properties dialog (see Actions Properties) and the default action is
View feature form
.Data attributes: This is the list of attributes fields and values of the related child feature.
Note
Links in the feature’s attributes are clickable from the Identify Results panel and will open in your default web browser.

Fig. 11.26 Identify Results dialog
11.5.2.3. The Identify Results dialog
At the top of the window, you have a handful of tools:
Expand New Results by Default to define whether the next identified feature’s information should be collapsed or expanded
selection mode to use to fetch features to identify:
At the bottom of the window are the Mode and View combo boxes. Mode defines from which layers features should be identified:
Current layer: only features from the selected layers are identified. If a group is selected, features from its visible layers are identified. If there is no selection then only the current layer is identified.
Top down, stop at first: only features from the upper visible layer.
Top down: all features from the visible layers. The results are shown in the panel.
Layer selection: opens a context menu where the user selects the layer to identify features from, similar to a right-click. Only the chosen features will be shown in the result panel.
The View can be set as Tree, Table or Graph. ‘Table’ and ‘Graph’ views can only be set for raster layers.
The identify tool allows you to
Auto open form for single feature results, found under
Identify Settings.
If checked, each time a single feature is identified, a form opens
showing its attributes. This is a handy way to quickly edit a feature’s attributes.
Other functions can be found in the context menu of the identified item. For example, from the context menu you can:
View the feature form
Zoom to feature
Copy feature: Copy all feature geometry and attributes
Toggle feature selection: Add identified feature to selection
Copy attribute value: Copy only the value of the attribute that you click on
Copy feature attributes: Copy the attributes of the feature
Select features by attribute value: Select all features in the layer that match the selected attribute
Clear result: Remove results in the window
Clear highlights: Remove features highlighted on the map
Highlight all
Highlight layer
Activate layer: Choose a layer to be activated
Layer properties: Open layer properties window
Expand all
Collapse all
11.7. Documenting your data
In addition to displaying and symbolizing the data in the layers, QGIS allows you to fill:
metadata: information to help people find and understand the dataset, how they can access and use it… these are properties of the datasource and can live out of the QGIS project.
notes: instructions and comments regarding the layer in the current project
11.7.1. Metadata
In the layer properties dialog, the Metadata tab
provides you with options to create and edit a metadata report on your layer.
Information to fill concern:
the data Identification: basic attribution of the dataset (parent, identifier, title, abstract, language…);
the Categories the data belongs to. Alongside the ISO categories, you can add custom ones;
the Keywords to retrieve the data and associated concepts following a standard based vocabulary;
the Access to the dataset (licenses, rights, fees, and constraints);
the Extent of the dataset, either spatial one (CRS, map extent, altitudes) or temporal;
the Contact of the owner(s) of the dataset;
the Links to ancillary resources and related information;
the History of the dataset.
A summary of the filled information is provided in the Validation tab and helps you identify potential issues related to the form. You can then either fix them or ignore them.
Metadata are saved in the project file by default, the Metadata drop-down
offers options for loading/saving metadata from .qmd
file
and for loading/saving metadata in the “Default” location.

Fig. 11.29 Metadata load/save options
The “Default” location used by Save as Default and Restore Default changes depending on the underlying data source and on its configuration:
For PostgreSQL data sources if the configuration option Allow saving/loading QGIS layer metadata in the database is checked the metadata are stored inside a dedicated table in the database.
For GeoPackage data sources Save as Default always saves the metadata in the internal metadata tables of the GeoPackage.
When metadata are saved into the internal tables of PostgreSQL or GeoPackage they become available for search and filtering in the browser and in the layer metadata search panel.
For all other file based data sources Save as Default saves the metadata in a
.qmd
file alongside the file.In all other cases Save as Default saves the metadata in a local
.sqlite
database.
11.7.2. Layer notes
Layer notes allow you to document the layer within the current project. They can be place to store important messages for users of the project like to do lists, instructions, warnings, …
From the layer’s contextual menu in Layers panel, select Add layer notes… and fill the open dialog with necessary texts.

Fig. 11.30 Adding notes to a layer
The Add layer notes dialog provides a html-based multiline text box with a complete set of tools for:
text manipulation: cut, copy, paste, undo, redo
characters formatting, applied to all or parts of the contents: font size and color, bold, italic, underline, strikethrough, background color, URL highlighting
paragraph structuring: bullet and numbered lists, indentation, predefined headings
file insertion, even with drag-and-drop
editing with HTML coding
From the … drop-down at the far right of the toolbar, you can:
Remove all formatting
Remove character formatting
Clear all content
In the Layers panel, a layer with a note is assigned
the icon which, upon hover, displays the note.
Click the icon to edit the note. You can as well right-click the layer and
Edit layer note… or Remove layer note.
Note
Notes are part of the layer style and
can be saved in the .qml
or .qlr
file. They can also be
transferred from one layer to another while copy-pasting the layer style.
11.8. Storing values in Variables
In QGIS, you can use variables to store useful recurrent values (e.g. the
project’s title, or the user’s full name) that can be used in expressions.
Variables can be defined at the application’s global level, project level,
layer level, processing modeler level, layout level, and layout item’s level.
Just like CSS cascading rules, variables can be overwritten - e.g., a project level
variable will overwrite any application global level variables set with
the same name. You can use these variables to build text strings or other
custom expressions using the @
character before the variable name. For
example in print layout creating a label with this content:
This map was made using QGIS [% @qgis_version %]. The project file for this
map is: [% @project_path %]
Will render the label like this:
This map was made using QGIS 3.4.4-Madeira. The project file for this map is:
/gis/qgis-user-conference-2019.qgs
Besides the preset read-only variables, you can define your own custom variables for any of the levels mentioned above. You can manage:
global variables from the
menuproject variables from the Project Properties dialog (see Project Properties)
vector layer variables from the Layer Properties dialog (see The Vector Properties Dialog);
modeler variables from the Graphical Modeler dialog (see The graphical modeler);
layout variables from the Layout panel in the Print layout (see The Layout Panel);
and layout item variables from the Item Properties panel in the Print layout (see Layout Items Common Options).
To differentiate from editable variables, read-only variable names and values are displayed in italic. On the other hand, higher level variables overwritten by lower level ones are strike through.

Fig. 11.31 Variables editor at the project level
Note
You can read more about variables and find some examples in Nyall Dawson’s Exploring variables in QGIS 2.12, part 1, part 2 and part 3 blog posts.
11.9. Authentication
QGIS has the facility to store/retrieve authentication credentials in a secure manner. Users can securely save credentials into authentication configurations, which are stored in a portable database, can be applied to server or database connections, and are safely referenced by their ID tokens in project or settings files. For more information see Authentication System.
A master password needs to be set up when initializing the authentication system and its portable database.
11.10. Common widgets
In QGIS, there are some options you’ll often have to work with. For convenience, QGIS provides you with special widgets that are presented below.
11.10.1. Color Selector
11.10.1.1. The color dialog
The Select Color dialog will appear whenever you click
the icon to choose a color. The features of this dialog
depend on the state of the Use native color chooser dialogs
parameter checkbox in .
When checked, the color dialog used is the native one of the OS on which
QGIS is running. Otherwise, the QGIS custom color chooser is used.
The custom color chooser dialog has four different tabs which allow you to
select colors by Color ramp,
Color wheel,
Color swatches or
Color picker.
With the first two tabs, you can browse to all possible color combinations and
apply your choice to the item.

Fig. 11.32 Color selector ramp tab
In the Color swatches tab, you can choose from a
list of color palettes (see Colors settings for details).
All but the Recent colors palette can be modified with the
Add current color and
Remove selected color
buttons at the bottom of the frame.
The … button next to the palette combo box also offers several options to:
copy, paste, import or export colors
create, import or remove color palettes
add the custom palette to the color selector widget with the Show in Color Buttons item (see Fig. 11.34)

Fig. 11.33 Color selector swatches tab
Another option is to use the Color picker which allows
you to sample a color from under your mouse cursor at any part of the QGIS UI or even
from another application: press the space bar while the tab is active, move the
mouse over the desired color and click on it or press the space bar again. You
can also click the Sample Color button to activate the picker.
Whatever method you use, the selected color is always described through color
sliders for HSV
(Hue, Saturation, Value) and RGB
(Red, Green, Blue)
values. The color is also identifiable in HTML notation.
Modifying a color is as simple as clicking on the color wheel or ramp or on any of the color parameters sliders. You can adjust such parameters with the spinbox beside or by scrolling the mouse wheel over the corresponding slider. You can also type the color in HTML notation. Finally, there is an Opacity slider to set transparency level.
The dialog also provides a visual comparison between the
Old color (applied to object) and the Current one (being selected).
Using drag-and-drop or pressing the Add color to
swatch button, any of these colors can be saved in a slot for easy access.
Tip
Quick color modification
Drag-and-drop a color selector widget onto another one to apply its color.
11.10.1.2. The color drop-down shortcut
Click the drop-down arrow to the right of the color button
to display a widget for quick color selection. This shortcut provides access
to:
a color wheel to pick a color from
an alpha slider to change color opacity
the color palettes previously set to Show in Color Buttons
copy the current color and paste it into another widget
pick a color from anywhere on your computer display
choose a color from the color selector dialog
drag-and-drop the color from one widget to another for quick modification
Tip
Scroll the mouse wheel over a color selector widget to quickly modify the opacity of the associated color.
Note
When the color widget is set to a project color through the data-defined override properties, the above functions for changing the color are unavailable. You’d first need to Unlink color or Clear the definition.

Fig. 11.34 Quick color selector menu
11.10.1.3. The color ramp drop-down shortcut
Color ramps are a practical way to apply a set of colors to one or many features.
Their creation is described in the Setting a Color Ramp section. As for the colors,
pressing the color ramp button opens the corresponding color
ramp type dialog allowing you to change its properties.

Fig. 11.35 Customizing a colorbrewer ramp
The drop-down menu to the right of the button gives quick access to a wider set of color ramps and options:
Invert Color Ramp
Clear Current Ramp to unset any assigned color ramp to the widget (available only in some contexts)
Random Colors: available only in some contexts (e.g., when a color ramp is being used for a layer symbology), checking this entry creates and applies a color ramp with random colors. It also enables a Shuffle random colors entry to regenerate a new random color ramp if the current one is not satisfactory.
a preview of the
gradient
orcatalog: cpt-city
color ramps flagged as Favorites in the Style Manager dialogAll Color Ramps to access the compatible color ramps database
Create New Color Ramp… of any supported type that could be used in the current widget (note that this color ramp will not be available elsewhere unless you save it in the library)
Edit Color Ramp…, the same as clicking the whole color ramp button
Save Color Ramp…, to save the current color ramp with its customizations in the style library

Fig. 11.36 Quick color ramp selection widget
11.10.2. Symbol Widget
The Symbol selector widget is a convenient shortcut when you want to set symbol properties of a feature. Clicking the drop-down arrow shows the following symbol options, together with the features of the color drop-down widget:
Configure Symbol…: the same as pressing the symbol selector widget. It opens a dialog to set the symbol parameters.
Copy Symbol from the current item
Paste Symbol to the current item, speeding configuration
Clear Current Symbol to unset any assigned symbol to the widget (available only in some contexts)
Tip
Scroll the mouse wheel over a marker or line symbol widget to quickly modify the size of the associated symbol.
11.10.3. Remote or embedded file selector
Along with the file selector widget, the … button will sometimes show a drop-down arrow. This is usually available when using:
an SVG file in a symbol or a label
a raster image to customize symbols, labels, textures or decorations
Pressing the arrow will provide you with a menu to:
load the file from the file system: the file is identified through the file path and QGIS needs to resolve the path in order to display the corresponding image
load the file from a remote URL: as above, the image will only be loaded on successful retrieval of the remote resource
embed the file into the item: the file is embedded inside the current project, style database, or print layout template. The file is then always rendered as part of the item. This is a convenient way to create self-contained projects with custom symbols which can be easily shared amongst different users and installations of QGIS.
extract the embedded file from the widget and save it on disk.
11.10.4. Visibility Scale Selector
The visibility scale selector provides options to control the scales at which an element will be made visible in the map canvas. Out of the specified range of scales, the elements are not displayed. It can be applied e.g. to layers, labels or diagrams, from their Rendering properties tab.
Fill the Minimum (exclusive) box with the most zoomed out desired scale, typing the value or selecting it from the predefined scales
and/or fill the Maximum (inclusive) box with the most zoomed in desired scale
The
Set to current canvas scale button next to the scale boxes sets the current map canvas scale as boundary of the range visibility. Press the arrow next to the button to access scales from layouts’ maps and reuse them to fill the box.

Fig. 11.37 Visibility scale selector widget
11.10.5. Spatial Extent Selector
The Extent selector widget is a convenient shortcut when you want to select a spatial extent to assign to a layer or to limit the actions to run on. Depending on the context, it offers selection between:
Current Layer Extent: e.g. when exporting a layer
: uses extent of a layer loaded in the current project
Use current Map Canvas Extent
Draw on Canvas: a rectangle whose coordinates are then used
Calculate from Bookmark: uses extent of a saved bookmark
Calculate from Layout Map: uses extent of a layout map
Enter or edit the coordinates as
xmin, xmax, ymin, ymax

Fig. 11.38 Extent selector widget
11.10.6. Font Selector
The Font selector widget is a convenient shortcut when you want to set font properties for textual information (feature labels, decoration labels, map legend text, …). Clicking the drop-down arrow shows some or all of the following options:

Fig. 11.39 Font selector drop-down menu
Clear Current Text Format to unset any assigned text format to the widget (available only in some contexts)
Font Size in the associated unit
menu with the active font checked (at the top)
Configure Format…: same as pressing the font selector widget. It opens a dialog to set text format parameters. Depending on the context, it can be the OS default Text format dialog or the QGIS custom dialog with advanced formatting options (opacity, orientation, buffer, background, shadow, …) as described in section Formatting the label text.
Copy Format of the text
Paste Format to the text, speeding configuration
the color widget for quick color setting
Tip
Scroll the mouse wheel over a font selector widget to quickly modify the font size of the associated text.
11.10.7. Unit Selector
Size properties of the items (labels, symbols, layout elements, …) in QGIS are not necessarily bound to either the project units or the units of a particular layer. For a large set of properties, the Unit selector drop-down menu allows you to tweak their values according to the rendering you want (based on screen resolution, paper size, or the terrain). Available units are:
Millimeters
Points
Pixels
Inches
Percentage: allows you to set some properties as a percent of another one. For example, this is useful for creation of text formats where the components (buffer size, shadow radius…) nicely scale as the text size is changed, instead of having constant buffer/shadow sizes. So you don’t need to adjust those sizes, when the text size changes.
Meters at Scale: This allows you to always set the size in meters, regardless of what the underlying map units are (e.g. they can be in inches, feet, geographic degrees, …). The size in meters is calculated based on the current project ellipsoid setting and a projection of the distances in meters at the center of the current map extent. For maps in a projected coordinate system this is calculated using projected units. For maps in a geographic (latitude/longitude) based system the size is approximated by calculating meter sizes using ellipsoidal calculations for the vertical scale of the map.
and Map Units: The size is scaled according to the map view scale. Because this can lead to too big or too small values, use the
button next to the entry to constrain the size to a range of values based on:
The Minimum scale and the Maximum scale: The value is scaled based on the map view scale until you reach any of these scale limits. Out of the range of scale, the value at the nearest scale limit is kept.
and/or The Minimum size and the Maximum size in
mm
: The value is scaled based on the map view scale until it reaches any of these limits; Then the limit size is kept.
Fig. 11.40 Adjust scaling range dialog
11.10.8. Number Formatting
Numeric formatters allow formatting of numeric values for display, using a variety of different formatting techniques (for instance scientific notation, currency values, percentage values, etc). One use of this is to set text in a layout scale bar or fixed table.

Fig. 11.41 Formatting numeric value
Different categories of formats are supported. For most of them, you can set part or all of the following numeric options:
But they can also have their custom settings. Provided categories are:
General, the default category: has no setting and displays values as set in the parent widget properties or using the global settings.
Number
The value can be Round to a self defined number of Decimal places or their Significant figures
customize the Thousands separator and Decimal separator
Bearing for a text representation of a direction/bearing using:
Format: possible ranges of values are
0 to 180°, with E/W suffix
,-180 to +180°
and0 to 360°
number of Decimal places
Currency for a text representation of a currency value.
Prefix
Suffix
number of Decimal places
Fraction for a vulgar fractional representation of a decimal value (e.g. 1/2 instead of 0.5)
Percentage - appends
%
to the values, with setting of:number of Decimal places
Scaling to indicate whether the actual values already represent percentages (then they will be kept as is) or fractions (then they are converted)
Scientific notation in the form
2.56e+03
. The number of Decimal places can be set.
A live preview of the settings is displayed under the Sample section.
11.10.9. Blending Modes
QGIS offers different options for special rendering effects with these tools that you may previously only know from graphics programs. Blending modes can be applied on layers and features, and also on print layout items:
Normal: This is the standard blend mode, which uses the alpha channel of the top pixel to blend with the pixel beneath it. The colors aren’t mixed.
Lighten: This selects the maximum of each component from the foreground and background pixels. Be aware that the results tend to be jagged and harsh.
Screen: Light pixels from the source are painted over the destination, while dark pixels are not. This mode is most useful for mixing the texture of one item with another item (such as using a hillshade to texture another layer).
Dodge: Brighten and saturate underlying pixels based on the lightness of the top pixel. Brighter top pixels cause the saturation and brightness of the underlying pixels to increase. This works best if the top pixels aren’t too bright. Otherwise the effect is too extreme.
Addition: Adds pixel values of one item to the other. In case of values above the maximum value (in the case of RGB), white is displayed. This mode is suitable for highlighting features.
Darken: Retains the lowest values of each component of the foreground and background pixels. Like lighten, the results tend to be jagged and harsh.
Multiply: Pixel values of the top item are multiplied with the corresponding values for the bottom item. The results are darker.
Burn: Darker colors in the top item cause the underlying items to darken. Burn can be used to tweak and colorize underlying layers.
Overlay: Combines multiply and screen blending modes. Light parts become lighter and dark parts become darker.
Soft light: Very similar to overlay, but instead of using multiply/screen it uses color burn/dodge. This is supposed to emulate shining a soft light onto an image.
Hard light: Hard light is also very similar to the overlay mode. It’s supposed to emulate projecting a very intense light onto an image.
Difference: Subtracts the top pixel from the bottom pixel, or the other way around, in order always to get a positive value. Blending with black produces no change, as the difference with all colors is zero.
Subtract: Subtracts pixel values of one item from the other. In the case of negative values, black is displayed.

Fig. 11.42 Examples of blend modes applied to a green feature over an orange
From top to bottom, left to right: Normal – Lighten, Screen, Dodge, Addition – Difference, Subtract – Darken, Multiply, Burn – Overlay, Soft light, Hard light
When a layer is part of a group that renders layers as a group, additional blending modes are available for the rendering. They provide methods to clip the render of one layer’s content by the content in a second “mask” layer.
Masked By Below: The output is the top pixel, where the opacity is reduced by that of the bottom pixel.
Mask Below: The output is the bottom pixel, where the opacity is reduced by that of the top pixel.
Inverse Masked By Below: The output is the top pixel, where the opacity is reduced by the inverse of the bottom pixel.
Inverse Mask Below: The output is the bottom pixel, where the opacity is reduced by the inverse of the top pixel.
Paint Inside Below: The top pixel is blended on top of the bottom pixel, with the opacity of the top pixel reduced by the opacity of the bottom pixel.
Paint Below Inside: The bottom pixel is blended on top of the top pixel, with the opacity of the bottom pixel reduced by the opacity of the top pixel.

Fig. 11.43 Examples of blend clipping mode applied to top green layer in a group
A: Mask Below B: Masked By Below C: Paint Below Inside D: Inverse Mask Below E: Inverse Masked By Below F: Paint Inside Below
11.10.10. Data defined override setup
Next to many options in the vector layer properties dialog or settings in the print
layout, you will find a Data defined override icon.
Using expressions based on layer attributes or item
settings, prebuilt or custom functions and variables,
this tool allows you to set dynamic values for parameters. When enabled,
the value returned by this widget is applied to the parameter regardless of its normal
value (checkbox, textbox, slider…).
11.10.10.1. The data defined override widget
Clicking the Data defined override icon shows the following entries:
Description… that indicates if the option is enabled, which input is expected, the valid input type and the current definition. Hovering over the widget also pops up this information.
Store data in the project: a button allowing the property to be stored using to the Auxiliary Storage Properties mechanism.
Field type: an entry to select from the layer’s fields that match the valid input type.
Color: when the widget is linked to a color property, this menu gives access to the colors defined as part of the current project’s colors scheme.
Variable: a menu to access the available user-defined variables
Edit… button to create or edit the expression to apply, using the Expression String Builder dialog. To help you correctly fill in the expression, a reminder of the expected output’s format is provided in the dialog.
Paste and Copy buttons.
Clear button to remove the setup.
For numeric and color properties, Assistant… to rescale how the feature data is applied to the property (more details below)
Tip
Use right-click to (de)activate the data override
When the data-defined override option is set up correctly the
icon is yellow or
. If it is broken,
the icon is red
or
.
You can enable or disable a configured Data-defined
override button by simply clicking the widget with the right mouse button.
11.10.10.2. Using the data-defined assistant interface
When the Data-defined override button is associated with a
size, a rotation, an opacity or a color property, it has an Assistant…
option that helps you change how the data is applied to the parameter for each
feature. The assistant allows you to:
Define the Input data, ie:
Source: the attribute to represent, using a field or an
expression
the range of values to represent: you can manually enter the values or use the
Fetch value range from layer button to fill these fields automatically with the minimum and maximum values returned by the Source expression applied to your data
Apply transform curve: by default, output values (see below for setting) are applied to input features following a linear scale. You can override this logic: enable the transform option, click on the graphic to add break point(s) and drag the point(s) to apply a custom distribution.
Define the Output values: the options vary according to the parameter to define. You can globally set:
for a color setting, the color ramp to apply to values and the single color to use for NULL values
for the others, the minimum and maximum values to apply to the selected property as well as the size/angle/opacity value for ignored or NULL source features
for size properties, the Scale method of representation which can be Flannery, Exponential, Surface, Radius or Linear
the Exponent to use for data scaling when the Scale method is of exponential type or when tweaking the opacity
When compatible with the property, a live-update preview is displayed in the right-hand side of the dialog to help you control the value scaling.

Fig. 11.44 Scaling feature size based on passengers field’s value
The values presented in the varying size assistant above will set the size ‘Data-defined override’ with:
coalesce(scale_exp("passengers", 9, 2000, 1, 10, 0.57), 0)