function
If set to true and no explicit rotation center point is specified (ie
rotation happens around the geometry's center), then the rotation
is applied around the center of each part individually instead of the
geometry as a whole.
This is designed mostly to aid cases when rotate is used as a cartographic
tool as part of a geometry generator symbol layer.
Sponsored by North Road, thanks to SLYR
Applies a dash pattern to a geometry, returning a MultiLineStringi
geometry which is the input geometry stroked along each line/ring
with the specified pattern.
Rules can be set to control how the dash pattern is adjusted
at line endings. If a start rule or end rule is set, the adjustment
option defines whether both dash and gaps, or only dash or gap
sizes are adjusted to apply the rules.
An optional pattern offset can specify how far along the pattern
the result should start at.
(The offset is applied AFTER any start/end rules are applied.)
Sponsored by North Road, thanks to SLYR
This returns a new multilinestring geometry which represents the
input geometry with the dash pattern applied to the lines or rings
of the input geometry.
Options are available to set rules for the start/end of the pattern,
e.g. ending on a full dash or gap, or half dash or gap.
Sponsored by North Road, thanks to SLYR
QgsRendererRasterPropertiesWidget's syncToLayer takes care of not
overwriting existing QgsRasterRenderers with a default renderer
modified test_qgsrendererrasterpropertieswidget.py to check if an
existing band-number > 1 is used to update the render widget
fixes qgis#34602
This adds a new "Lineburst" symbol layer type, which renders
a gradient along the WIDTH of a line (as opposed to the interpolated
line renderer, which renders a gradient along the LENGTH of
a line). It's like the shapeburst fill symbol type, but for lines!
Sponsored by North Road, thanks to SLYR
type for the generator symbol, try to coerce the result geometry
to the correct type
E.g. if the generator is set to a line symbol type but the expression
gives a polygon result, then take the rings of the polygon as the
geometry and render using the line symbol
At worst this is better then rendering absolutely nothing (which can
be very confusing!!), and at best is desirable behaviour anyway.
This new symbol layer type renders a raster image following
a line feature's shape.
Options are present for:
- picture path (including data defined path)
- line width
- opacity
- line join/cap styles
Sponsored by North Road, thanks to SLYR
deleted FIDs when changes are commited by QgsVectorLayer::commitChanges
implemented related test
(testCommitChangesReportsDeletedFeatureIDs(self)) in
test_qgsvectorlayer.py
Fixes#45228
pattern fill
This allows users to control how lines in the fill should be
clipped to the polygon shape. Options are:
- Clip During Render Only: existing behaviour, lines are created
covering the whole bounding box of the feature and then clipped
while drawing. Line extremities (beginning and end) will not be
visible
- Clip Lines Before Render: lines are clipped to the exact
shape of the polygon prior to rendering. Line extremities (including
cap styles, start/end marker line objects, etc) will be visible,
and may sometimes extend outside of the polygon (depending
on the line symbol settings)
- No Clipping: no clipping at all is done - line will cover the
whole bounding box of the feature
Sponsored by North Road, thanks to SLYR
When exporting to a vector format (e.g. PDF) or when a line subsymbol
has dynamic (data defined properties), automatically switch to
a line-by-line based approach for rendering the fill instead of the
previous raster tiled pattern based approach.
While it's slower to render (not noticable for desktop users, but
likely enough to affect server deployments), this has many benefits:
1. Smaller PDF/SVG output file sizes, since the fills aren't rasterized
2. PDF/SVG files which are easier to modify in external apps for
post production, as each individual line in the pattern can be
modified.
3. Better quality PDF/SVG outputs, since the fill isn't DPI
dependant and looks awesome regardless of how close in you zoom
4. No visible artefacts at certain angles/distances/line symbol
styles
And even more excitingly, it opens the door for a range of
new symbol styles, eg.
- line patterns where the individual lines change color/width/dash/...
- line patterns with marker line symbols on center point/etc
- geometry generator effects per line, e.g. wavy line patterns, hand
drawn line styles, etc
Sponsored by North Road, thanks to SLYR
Fixes#16100
needs to set expression context variables for each individual rendered
point
We shouldn't consider data defined properties for the fill itself,
only for the subsymbol