New versions of GDAL/OGR (since trunk@35289) convert list types (StringList,
IntegerList, Integer64List and RealList) to a JSON string when it stores a
Spatialite table. It sets the column type as JSONSTRINGLIST, JSONINTEGERLIST,
JSONINTEGER64LIST or JSONREALLIST.
Allows use of a color ramp consisting of a list of selected colors.
Currently there's no way in QGIS to classify a renderer using
some list of colors you've previously selected. So you can modify
the colors manually after classifying, but that's a pain
if you're regularly using the same color scheme.
Basically, it's like the color brewer color ramp options but
allowing users to pick their own preset list of colors to use*
(Because Cynthia Brewer isn't the only cartographic color expert!)
QgsSymbol::RenderHints QFlags value instead of a raw int
Also rename DataDefinedRotation to DynamicRotation since
it is no longer used for data defined rotation
This introduces live preview when rendering WMTS layers - as soon as individual tiles are loaded, they are shown in map canvas... no need to wait with a blank map until all tiles are fully downloaded. Additionally, if there are already locally cached tiles of other zoom levels, they may be used in the preview while the tiles with best matching zoom level are being downloaded. This greatly improves the user experience when working with WMTS layers.
Additionally, I have added native support for XYZ tile layers into WMS provider (based on existing implementation of WMTS tiling). This allows loading of various new raster tile sources (e.g. OpenStreetMap tiles) that were before available only with QuickMapServices or OpenLayers plugins. To use XYZ tile layers, open the browser dock in QGIS and look for "Tile Servers (XYZ)" root entry. Right-clicking will open a menu to add connections. For example for OpenStreetMap the URL would be http://c.tile.openstreetmap.org/{z}/{x}/{y}.png
The work on WMTS live preview has been funded by Land Information New Zealand.
The work on XYZ tile layers has been funded by Lutra Consulting.
These were unused (since they were moved to data defined properties
at the symbol layer level) and were not set anywhere in
core QGIS (ie, the only way to set them was by manually calling
this api)
Now the widgets factories can give a score on how good they could handle
a widget.
Additionaly, plugins can be added to choose a widget factory in function
of an external information. One of them uses a table in PostgresQL to
allow specification of the widget type and configuration.
I took the opportunity to remove a few deprecated method in relation to
this.
segments shorter than a certain threshold or sharp corners
with an angle exceeding a threshold
Expose the angle threshold to processing smooth algorithm
Also:
- optimise QgsGeometry::smooth for new geometry classes
- Fix smooth does not work with geometries containing Z/M
Moved all temporary projector members to a private class,
so even recursive block() calls will not affect each other
(there is no new performance penalty as block() call always
recomputes the temporary control point matrix anyway)