Bugfix of issue introduced in commit 9040ec1baf33e55a9ba5abcc4fa2ee18d54a4212
When doing the spatialite cache initialization with OGR, the attribute
names get 'laundered' in lower case, which makes their matching afterwards
fail. Fix this. And also handle the situation where an attribute would
be named 'geometry'
GDAL 2.0 changed (fixed) the bilinear downsampling algorithm, so
switch to the average algorithm so that test results are the same
for GDAL versions >= 2.0 and < 2.0.
Using this renderer no symbol will be drawn for features, but labeling,
diagrams and other non-symbol parts will still be shown.
Selections can still be made on the layer in the canvas and selected
features will be rendered with a default symbol. Features being edited
will also be shown.
This is intended as a handy shortcut for layers which you only want
to show labels or diagrams for, and avoids the need to render
symbols with totally transparent fill/border to achieve this.
(fix#12131)
- Modernize QgsVector, improve docs, add some methods missing from
Python bindings
- Add method to QgsPoint to project a point by a specified distance
and bearing
- Add distance methods to complement existing sqrDist squared distance
methods
- Rename QgsVector::normal to normalized (avoid confusion with normal
vectors)
- Add more QgsPoint operators
- Add some more QgsPoint and QgsVector tests
First part of https://github.com/qgis/QGIS-Enhancement-Proposals/issues/53
(QEP 35: WFS provider enhancements)
Improvements:
- Version autodetection
- On-disk caching of downloaded features
- Background download and progressive rendering
- WFS 1.1 and 2.0 support
- WFS 2.0 GetFeature paging
- Add provider tests
Fixes:
- #10106: Panning a non-cached WFS layer causes selection to change
- #9444: WFS client not requesting new features when not-cached
#14156: WFS non cached: infinite flashing
- #9450 : New WFS connection option - Max number of features returned
- #14122: Implement WFS 2.0 client provider (partial. no joins or stored queries)
Not in scope: WFS-T 1.1 and 2.0. But WFS-T 1.0 kept (and tested)
- Add a low-level QgsGmlStreamingParser class that doesn't do any
network activity, but builds features from GML data in a streaming way
- Add handling of GML3 for WFS 1.1 and 2.0.
- Add tests
- QgsSignalBlocker: RAII signal blocking class. Used for temporarily
blocking signals from a QObject for the lifetime of QgsSignalBlocker
object.
- easy shortcut "whileBlocking( QObject* )" function. Temporarily
blocks signals from a QObject while calling a single method from the
object.
Usage:
whileBlocking( checkBox )->setChecked( true );
whileBlocking( spinBox )->setValue( 50 );
No signals will be emitted when calling these methods.
based on Boojum's code from
http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
Now labels and HTML boxes can contain relative URLs. If we don't have
a base URL, the project file will be used as a base URL (closes#7236).
Remove the exception for the labels where the images where not
loaded (unless in in PDF or image mode). It was because of a crash. Qt didn't
like having the HTML loading to be done synchronously during painting.
Fix a leak when rendering labels.
This commit sets the framework for allowing expression functions to
use named parameters. Ie, instead of:
clamp(1,2,3)
you can use:
clamp( min:=1, value:=2, max:=3)
This also allows arguments to be switched, eg:
clamp( value:=2, max:=3, min:=1)
Additionally, it allows for a more structured definition of function
parameters to handle optional arguments and default values for
parameters. These are currently being done using a hacky infinite
argument list.
I've utilised the postgres ':=' syntax for specifying named arguments
to avoid potential collisions which may arise with the equality test
if we re-used just the '=' operator alone.
Sponsored by North Road