Groups nearby points into a single rendered marker symbol.
QgsPointDisplacementRenderer has been split into a new
pure virtual QgsPointDistanceRenderer base class which handles the
detection of clusters and grouping of points. The new cluster
renderer reuses this base class to avoid code duplication.
Additionally, some improvements have been made to the
displacement renderer, specifically:
- points are now assigned to the group which is "nearest" them,
rather then just assigning them first group within the search
distance. In some cases this was assigning features to a more
distant cluster, resulting in less predictable cluster patterns
- individual points are now correctly shown in their own
selection state
Lots of code cleanup + documentation too.
Sponsored by:
- Andreas Neumann
- Qtibia Engineering (Tudor Barascu)
- Karl-Magnus Jönsson
- Geonesia (Nicolas Ponzo)
- Plus numerous additional anonymous backers whose generous
contributions are also highly valued!
- Local server searches for a free port before binding
- Server tests now ignore attributes order
- Updated reference docs
- Renamed projects ("+" -> "_")
- Added a smoke test for auth manager and WMS/WFS providers
The build RScript is stored in the User folder, so the script is erased at each RAlgorithm execute.
Server side or for debugging this could be a problem.
So processing_script.r will be stored in temp folder.
QString::localeAwareCompare() is case insensitive for common locales,
but case sensitive for the C locale. So use an explicit case
insensitive comparison in that later case to avoid test failures.
Previously when using the multiline option for text edit widgets
the entire contents of the field would be discarded if the entered
value exceeded the maximum length for a string field.
Now the entered string is truncated to the maximum field length.
Concurrent read and write can lock a GeoPackage database given
the default journaling mode of SQLite (delete). Use WAL when
possible to avoid that.
Fixes#15351