- style manager is always enabled (client code does not need to distinguish between enabled/disabled state)
- layers currently active style is stored only in QgsMapLayer - in style manager it has entry with no data (avoids duplication of data)
This also solves issues with visibility presets and styles when some presets do not have stored style
The old behavior was to render it at the currently visibleExtent based on the
map canvas. The job may however have been scheduled for a different extent and
therefore rendered at an improper location.
this integrates advanced digitizing tools aka CAD tools in QGIS application and basically a port of CADinput plugin
* new class QgsMapToolAdvancedDigitizing shall be subsclassed if adv. digit. tools could be used in a map tool
* QgsAdvancedDigitizingDockWidget handles the interaction with the user and also perform the constraints (filters events)
* QgsAdvancedDigitizingCanvasItem paints construction lines on the canvas
This is much faster way of initializing a spatial index. From python it is as simple as
>>> index = QgsSpatialIndex( layer.getFeatures() )
From a simple test with 50K points in a memory layer:
- bulk loading ~ 100 ms
- inserting features ~ 600 ms
The index tree should be in theory also better constructed and may result in faster lookups.
Allows for live, dynamic heatmaps for point layers. Options include
specifying heatmap radius in pixels, mm or map units, choice of
color ramp, and a slider for selecting a tradeoff between render
speed and quality.
Allows for filling polygons with a tiled raster image. Options
include (data defined) file name, opacity, image size (in pixels,
mm or map units), coordinate mode (feature or view) and rotation.
The multirenderchecker allows to have several images, each with its own set of
anomalies distributed in several subdirectories.
With the help of multiple reference images, it is possible to apply a color
tolerance to each of these
This change adds a new descending vertical direction mode for
map grid annotations. Previously only ascending text was
supported for vertical annotations.
Previously, for rotated maps or reprojected grids, the composer would
draw all coordinates for every map side. This resulted in a mix of
latitude/y and longitude/x coordinates showing on a side. This change
allows users to control whether they want all coordinates, latitude
only or longitude only for each map frame side. Similar options have
also been added for controlling how a map grid frame is divided.
In related news... the composer map dialog is now the ugliest,
most cluttered and un-user friendly dialog in all of QGIS. I'd
love suggestions/mockups from the UX team for ways this could
be improved.
This allows users to hide the bounding boxes for selected items
within a composition. It's a handy feature for allowing interaction
with items while previewing exactly how they will look when the
composition is exported, without large boxes blocking the view.
If negative margins are set for a label, the label contents will
begin outside the bounds of the label. This is desirable for
aligning label items with other items while allowing for optical
margin alignment for the label type.
Previously only a single margin setting would apply to both
horizontal and vertical margins. This change allows users to specify
different horizontal and vertical margins.