This sink allows for transformation of incoming features to match the
requirements of storing in an existing destination layer, e.g. by reprojecting
the features to the destination's CRS, by coercing geometries to the
format required by the destination sink, and by mapping field values from
the source to the destination.
This new renderer draws contour lines that are calculated on the fly
from the source raster band. It is possible to set interval of contour
lines and symbol used for drawing.
In addition there is support for "index contours" - contour lines
with higher interval, typically drawn with a wider line symbol.
If we generate contour lines on input raster block with the same size as our
output raster block, the generated lines would contain too much detail.
This detail can be reduced by the "downscale" factor - this will request
lower resolution of the source raster.
This style represents decimal numbers as vulgar fractions, e.g.
"3/4" instead of 0.75.
Options include using Unicode superscript and subscript characters
for nicer typography, e.g. ¹⁷/₂₃ (this is the default mode, disabling
this option uses the "17/23" format). An option also exists for
using dedicated unicode characters for specific fractions (where
a unicode character exists), e.g. ½ or ¾
Ultimately this allows for creation of scalebars with fractional
representations of distances, e.g. 0 ----- ½ ----- 1 km
(instead of 0 ------ 0.5 ------ 1km)
Fixes#21289
Sponsored by SLYR
Designed to match the appearance and behavior of the ArcMap equivalent,
this was a scalebar format which was previously impossible to replicate
in QGIS.
Also fixes#26589
Sponsored by SLYR
This registry provides a convenient place to add API relating
to generic connection fetching and handling methods
Currently contains a single method, which allows for retrieving
matching connections using a "provider://name" format (e.g.
"postgres://my connection")
This allows users to create comments attached to model components (inputs,
algorithms or outputs). Comments are shown linked to the associated component,
and can be freely moved around the model.
updates on tests and abstract temporal class
updates on qgsabstracttemporal sip and tests
update qgsabstracttemporal test
updated docs
moved qgsabstracttemporal class to qgstemporalrangeobject class as per review suggestions
edits per review on qgs map canvas
remove access of private members from qgstemporalrangeobject
updated render context test and fix travis tests
added new temporal property class
added tests for temporal property
added tests for temporal property
added temporal widget ui
temporal support in raster layers, from wms provider
temporal properties in raster layer properties
added abstract temporal class
updates on tests and abstract temporal class
updates on qgsabstracttemporal sip and tests
update qgsabstracttemporal test
updated docs
temporal support in raster layers, from wms provider
update qgsabstracttemporal test
updated docs
moved qgsabstracttemporal class to qgstemporalrangeobject class as per review suggestions
edits per review on qgs map canvas
updated render context test and fix travis tests
added new temporal property class
added new map layer temporal properties sub classes with tests
updates on map layers temporal properties classes
fix travis tests
add read and write xml tests
added abstract temporal class
updates on tests and abstract temporal class
updates on qgsabstracttemporal sip and tests
update qgsabstracttemporal test
updated docs
edits per review on qgs map canvas
temporal properties in raster layer properties
temporal support in raster layers, from wms provider
moved qgsabstracttemporal class to qgstemporalrangeobject class as per review suggestions
edits per review on qgs map canvas
remove access of private members from qgstemporalrangeobject
updated render context test and fix travis tests
added new temporal property class
added new map layer temporal properties sub classes with tests
updated layer times ui
added advanced options in layer time constrains ui
fix for refreshing wms layer after temporal properties update
update on wms-t temporal properties
added support for bi-temporal WMS-T
Allows for creation of tables with contents manually entered by users
(i.e. spreadsheet style), so that users can create completely custom
tables.
Supports control custom cell contents, foreground and background colors.
This class contains a variety of default setting values. These values are local, profile
specific settings which may have been configured or tweaked by the user (as opposed to
global, fixed default settings).
The values encapsulated here should be inherited when creating new objects such as new
QGIS projects.
Typically, the QgsSettings backend is used to store and retrieve these local settings.
The intention here is to provide stable, structured and easily discoverable
methods for setting and retrieve these settings, rather than forcing raw QSetting
handling.
This class (attached to a QgsProject object) provides a place to
store and retrieve settings related to project display behavior,
e.g. the numeric formats used for bearings and coordinates
QgsNumericFormat subclasses provide a means to format a numeric value
as a string, applying various formatting options. E.g. a default
string to value formatter (included here) includes settings for
controlling the number of decimal places, whether a thousands separator
should be shown, whether a leading + sign should be shown, whether
trailing zeros should be shown.
This PR also includes a formatter for bearings, allowing various
formats of numeric bearings to be applied (e.g. control over decimal
places, etc + control over whether direction E/W suffixes are shown,
or whether values should be limited to either the +/- 180 range or
0-360 degree range)
When formatting values, a QgsNumericFormatContext class is used
to provide context. Currently, this includes the thousands and
decimal separators to apply when formatting (which are taken by
default from the user's locale).
A registry of formatters is included to allow easy addition of
other formats in future (e.g. currencies, percentages, scientific
notation, etc...) and to allow plugin based formats.
The intention is to follow this up with gui configuration widgets
for the formats, and then expose them in various places through
the qgis ui (e.g. in the range editor widget for fields, in scalebar
numbers, as an option for formatting numeric labels, etc)
Fix dependency inconsistency to project from QgsRelationManager
by forcing 'QgsRelation::createFromXml' to rely on project passed
to 'QgsRelationManager' instead of using 'QgisProject::instance()'
of labels, min size for labels) to a new class QgsLabelThinningSettings
This new class is designed to contain settings related to how the label
engine removes candidate label positions and reduces the number of
displayed labels.
So that these files are all grouped together, making it easier to locate
all the components of the labeling engine and hopefully making things
easier to navigate
* [FEATURE] API for rendering frames for mesh vector dataset animation (particles)
Adds a renderer to generate frames that represent particle traces in a vector field of a mesh layer. The renderer cannot be chosen in the current GUI, however crayfish plugin can use API to generate avi/gif files with nice animations representing the movement of (random) particles in the mesh layer vector field.
* [FEATURE] Selective masking
Advanced rendering feature that allows the definition of 'masks' areas around labels or with a new typ of symbol layer. These masks will "un-draw" symbol layers of other layers underneath.
It modifies the rendering process by adding an optional second pass.
attached to QgsProject
And deprecate old getters/setters
The goal here is to create a place for project view related settings (e.g.
map scales, default extent, possibly future things like a fixed project
maximum area of interest, etc). Currently these are all handled in an
ad-hoc way, e.g. sometimes in project custom keys, sometimes inside
xml saved and restored by map canvases. But both these approaches break
important use case for plugins, e.g. creating a project from scratch
which will zoom to a desired extent on load. That's totally impossible
in the current API, unless you resort to extremely fragile manual
xml crafting...