Usually a geometry generator expression must return a geometry
in the associated layer's CRS. But this doesn't work in situations
where a geometry generator symbol is NOT associated with a layer,
e.g. when used in a layout item.
So add a new option to allow users to specify which unit the expression
will return geometries in, with choices of map units (the default,
previous behavior), millimeters, pixels, inches and points.
When millimeters, points, inches or pixels is selected then
the @map_geometry variable will be available for the expression,
and contain the feature's geometry in the specified units (relative
to the map frame). (The $geometry variable remains available and
still in layer CRS, in case an expression needs to calculate the
original area, perimeter, etc in real-world units while returning
results in a different unit!)
A step toward fixing #39159
[mesh] UX fixes:
* move mesh elements click->move->click instead press-> drag->release
* allow to select by drawing a polygon and select an existing polygon in the same map tool like for vector layer)
The Mapbox Vector Tile specification provides these definition for projection and bounds.
A Vector Tile represents data based on a square extent within a projection. A Vector Tile SHOULD NOT contain information about its bounds and projection. The file format assumes that the decoder knows the bounds and projection of a Vector Tile before decoding it.
Web Mercator is the projection of reference, and the Google tile scheme is the tile extent convention of reference. Together, they provide a 1-to-1 relationship between a specific geographical area, at a specific level of detail, and a path such as https://example.com/17/65535/43602.mvt.
Vector Tiles MAY be used to represent data with any projection and tile extent scheme.
It is possible to encode and write vector tiles in different CRS than EPSG:3857.
The implementation used the CRS bounds to defined the tile 0 top left coordinates and the scale denominator for 0 zoom level.
edit operation on an annotation item
This is used for the item to return a representative geometry
of what the item would look like if the operation were to be
applied. It's used to generate a rubber band showing a preview
of the modification during interactive editing operations on
an annotation item.
edit operations on annotation layers, with initial implementation
as QgsAnnotationItemEditOperationMoveNode
This class encapsulates edit operations which apply to annotation
layers/items
This registry is attached to QgsGui and handles registration of
functions which create widgets for modifying QgsAnnotationItems
Modeled heavily off the print layout API