Always calculates the scale at the equator, regardless of the
actual visible map extent.
This method can be used to provide a consistent, static scale for
maps in geographic reference systems, regardless of the latitudes
actually visible in the map (permitting consistent appearance of
these maps when rendering relies on scale based visibility or
calculations). Otherwise a project in eg EPSG:4326 which uses
scale based visibility of layers and symbols will see layers
and features "randomly" disappear as the map is panned, even
though the user has not zoomed in or out of the map.
This method is only applicable when calculating scales with a
degree based reference system.
This adds some new customization associated with the introduction of
subsections indicator:
- it allows to display or hide them
- it allows to change the associated symbology
This adds support to display vertices lines over the profile graph to
display indicator at the location of the curve's vertices.
This is achieved with mainly 2 changes:
- `setSubsectionsSymbol()` allows to set the line symbol of the
vertical lines
- Call `renderSubsectionsIndicator` on the `QgsProfilePlotRenderer`
This adds support to display vertices lines over the profile graph to
display indicator at the location of the vertices of the trace.
This is mainly achieved by adding
`QgsElevationProfileCanvas::setSubsectionsSymbol()`. This method
allows to set the line symbol of the vertical lines. Then, It sets the
subsections symbol of the profile renderer of the plot item. It the
renderer does not exist yet, the subsections symbol is set when a new
profile renderer is created.
This adds support to display vertices lines over the profile graph to
display indicator at the location of the curve's vertices.
This is achieved with mainly 2 changes:
- `QgsProfilePlotRenderer::setSubsectionsSymbol()` allows to set the
line symbol of the vertical lines
- `renderSubsectionsIndicator` generates and renders the vertical
lines. It is called by `QgsProfilePlotRenderer::renderToImage()`.
This is a new navigation mode for QgsCameraController which is meant to work
just like the terrain-based navigation mode, but for 3D scenes with globe.
Initially, the new navigation mode can handle:
- zooming in/out with mouse wheel
- orbit around globe when dragging with left mouse button pressed
- left/right/up/down keys to orbit around globe
- shift + left/right keys to change heading angle
- shift + up/down keys to change pitch angle
- page up/page down keys to increase/decrease elevation
For camera pose, we use QgsCameraPose as for "flat" scenes, but the QCamera
is positioned/rotated slightly differently - the main change is that in case
of globe, we use ECEF coordinates of the camera pose's center point, convert
them to lat/lon coordinates in order to set up initial rotation of the camera
so that it is perpendicular to the tangent plane at the given ECEF coordinate.