This feature allows for expressions to be embedded directly inside
legend item text (e.g. group, subgroup and item text). The expressions
are evaluated at render time, with full knowledge of the legend's
expression context (so can utilise variables from the layout/layout item/
etc)
There's no UI for this yet (that will come in 3.8), but expressions are
entered using the standard [% 1 + 2 %] format.
E.g. a legend item text of
My layer (rendered at 1:[% @map_scale %])
will show in the output as
My layer (renderer at 1:1000)
- Set a better background color (yellow feels like a negative warning)
- Set text color to black to play nice with themes
- Make the hyperlink clickable, we want people to update!
Adds new variables for use in data defined expressions for layout legend items, including
- @legend_title
- @legend_column_count
- @legend_split_layers
- @legend_wrap_string
- @legend_filter_by_map
- @legend_filter_out_atlas
Additionally, if the legend is linked to a map, then expressions used in that legend will also have access to the linked variables, including @map_scale, @map_extent, etc.
* Add missing headings and ToC anchors
Adds missing headings (and table of contents anchors) for 'Renamed Enum Values' and 'Renamed Methods' tables.
* Removed table captions
Which are redundant due to the headings that the tables sit under
Next to the "simple" vector layer 3D renderer that uses a single symbol
for all features, this new renderer allows definition of hierarchy
of rules with 3D symbols to define how a layer is rendered in 3D view,
similar to how 2D rule-based rendering or labeling works.
This commit does not add any GUI support yet.
In QGIS Server 3.4, the WMTS API has been added in which the tile matrices are calculated except fro EPSG:3857 and EPSG:4326.
This commit adds the capability to select the tile matrices to use with the project and to configure the top-left corner and the last level of the tile matrix. In the case of EPSG:3857 and EPSG:4326, the user can only choose the last level of the tile matrices.
Funded by Ifremer.
has been linked to a project color
Instead of only showing linked color status in the accompanying
data defined button, we now also show it inside the color button
itself. So now the button color is a live reflection of the
project color it is linked to.
Additionally, when the color is linked, the button only allows
users the choice of "unlinking" the color from the linked
project color. The usual color button options allowing users
to directly change the color are not present. (As linked
colors must be edited in the project colors section from
the project properties dialog)
Currently implementation of 3D symbols runs a feature iteration loop
inside each implementation, making it difficult to use elsewhere
(e.g. if source features are not coming from a vector layer, or just
for its subset). The new classes give better structure to the code.
QgsFeature3DHandler is somehow similar to the 2D renderer classes
where the object first has the ability to say what fields may be needed,
then there's a method that will process a given QgsFeature (this is
supposed to be called in a loop) and finally a method to finish the job
and create a 3D entity. Thanks to this separation of responsibilities
it should be easier to later move the heavy work to a worker thread.
Qgs3DRenderContext is similar to QgsRenderContext used in 2D rendering.
The purpose is to collect arbitrary objects useful during preparation
of 3D entities. Currently just keeping Qgs3DMapSettings and expression
context.
Updated implementation of 3D polygon symbols to use the new infrastructure.
A nice side effect is that instead of two feature iteration loops
(one for selected, the other for non-selected) there is just one.
In OGC FilterEncoding standard, the PropertyIsLike element has an escapeChar attribute in place of escape attribute.
In the QgsOgcUtils class, the attribute escape or escapeChar is added to PropertyIsLike element, but it only checks escape attribute when it decodes it.
The commit fixed it and adds test.
This allows optional creation of geodesic lines, which represent the
shortest distance between the points based on the ellipsoid.
When geodesic mode is used, it is possible to split the created lines
at the antimeridian (±180 degrees longitude), which can improve
rendering of the lines. Additionally, the distance between vertices
can be specified. A smaller distance results in a denser, more accurate
line.
When a view loaded from Data Source Managers's PostgreSQL tab you can
select the key columns of the view (by default the first column is used,
which can be wrong). This commit stores that selection in the settings,
so that it doesn't have to be reselected on subsequent loads. This
stored selection is also used when adding the loading from the browser.