A group layer is a map layer which consists of a set of
child layers, where all component layers are rendered as a single
flattened object during map renders.
This commit sets up the base framework for QgsGroupLayer only
(i.e. no rendering changes).
edit operations on annotation layers, with initial implementation
as QgsAnnotationItemEditOperationMoveNode
This class encapsulates edit operations which apply to annotation
layers/items
For now all nodes just directly represent vertices in the item,
but the intention here is that they can represent any form of handle
which can be used to manipulate an item (e.g. a bezier curve point,
some "smart shape" handle for resizing or rotating an item, etc)
renderer operations
This follow a similar pattern as how labeling results could be collected
after a map render job, but generalises the API so that it can be
used for storing details of rendered items of any type.
It's currently used for storing details of rendered annotation items,
so that map tools can retrieve details of annotation items visible
in the canvas in an optimised way.
These utilities are used in a LOT of places in QGIS, but the
qgslayeritem.h include is a very heavy dependency. It makes sense
to have these utilities in a nice lightweight generic class.
- Add enums to qgis.h instead of qgscoreenums, so that they belong to
a Qgis namespace
- Split up the various symbol headers into multiple files so that we
can fine-tune their inclusion and forward declare more readily, speeding
up recompilation
- Move QgsSymbol enums to qgis
of the associated proj operation for a CRS
Allows callers to determine the projection used for CRS objects and
their details.
Also add QgsCoordinateReferenceSystemRegistry::projOperations() for
retrieving a complete list of all available PROJ operations
Calculate various cartographic properties, such as scale factors,
angular distortion and meridian convergence for the CRS at a
given geodetic point (in geographic coordinates).
Depending on the underlying projection values will be calculated
either numerically (default) or analytically. The function also
calculates the partial derivatives of the given coordinate.
Internally uses the proj library proj_factors API to calculate the factors.
Fixes#41952
Many MapInfo line symbols don't translate well into OGR styles, so
in order to improve the quality of the conversion this commit introduces
a new QgsMapInfoSymbolConverter class which contains utility functions
for converting MapInfo symbols by ID to their QGIS equivalent.
Implemented for line symbols only for now.
to QGIS layer metadata
Translate as much as possible of the original ESRI metadata across
to the QGIS metadata, so that it's immediately available for
use by users after loading a .gdb file.