6309 Commits

Author SHA1 Message Date
David Signer
ea912a170c since information 2019-12-20 09:39:50 +01:00
Peter Petrik
d211de2204
Other average methods 3d mesh (#33426)
[FEATURE] [MESH] add new 3d stacked mesh averaging methods (top, bottom, sigma, depth, height, elevation)

see https://fvwiki.tuflow.com/index.php?title=Depth_Averaging_Results for description of the methods. method can be selected for 3d stacked mesh dataset in the new widget added for QGIS 3.12 in the mesh layer styling dialog
2019-12-20 07:48:39 +01:00
Nyall Dawson
80be192d8f Fix doxygen warning 2019-12-20 12:13:06 +10:00
Nyall Dawson
b7a440938c Layout fixes 2019-12-20 12:13:06 +10:00
Nyall Dawson
fdf211a8a3 Add a method for retrieving a user friendly descriptive string for
a CRS

And use this wherever we show CRS values to users
2019-12-20 12:13:06 +10:00
Nyall Dawson
e152685d97 Cleanup handling of recent CRS list, add tests 2019-12-20 12:13:06 +10:00
Nyall Dawson
cbc1ee56cc Deprecate most methods which construct CRSes from internal CRS ids
These should NOT be used, and auth:code or WKT definitions used instead.

Unfortunately some use of these methods are very heavily entangled around
other code, so we can't deprecate all of them until 4.0
2019-12-20 12:13:06 +10:00
Nyall Dawson
c76813c434 Deprecate methods for constructing CRS from Postgis srids
Constructing CRS using Postgis srids is highly discouraged,
and instead CRSes should always be constructed using auth:id
codes or WKT strings.

QGIS 4.0: The logic should be isolated into the postgres
provider alone, and not exposed to stable API
2019-12-20 12:13:06 +10:00
Nyall Dawson
b37dd0984e Rip off a band aid, and deprecate all "proj4" calls from the API
Alias these across to new "proj" methods, which don't include the
version number.
2019-12-20 12:13:06 +10:00
David Signer
1f1a3fe6b7 pass field formatter context as a reference instead of a pointer to implify his not optionality 2019-12-19 21:08:02 +01:00
signedav
7f9aa3d2bb
Merge branch 'master' into relating_values 2019-12-19 14:12:38 +00:00
David Signer
e8b82c15b8 use of context to pass project and avoid QgsProject::instance() 2019-12-19 15:07:52 +01:00
Alessandro Pasotti
90ac90b4a9 Weak relations and auto-restore when loading a style 2019-12-19 10:33:24 +01:00
David Signer
9e5657c8fe use of QVariantList instead of QList<QVariant> 2019-12-19 10:15:33 +01:00
Alessandro Pasotti
ecff2e6e04
Merge pull request #33462 from elpaso/stored-expressions-no-groups
[feature] User expressions followup
2019-12-18 20:59:27 +01:00
Alessandro Pasotti
a8c0e4cbf6 User expressions followup
- renamed the group to "User"
- added help text for the group
- added QgsSettings Expressions namespace
- reworded tooltips for store/remove actions
2019-12-18 14:24:02 +01:00
Peter Petrik
e1068e61cb
Merge pull request #33388 from PeterPetrik/mesh3d_averaging_methods 2019-12-18 09:57:22 +01:00
Peter Petrik
a6bc4e3cdf fix doc 2019-12-18 07:51:07 +01:00
Nyall Dawson
8bfca7f2c8 Expose control over whether custom projections are stored using proj or WKT strings 2019-12-18 12:44:43 +10:00
Vincent Cloarec
c252a3ad4c [mesh] Fixes time reference for mesh layer #32186 #33399 #31933 (#33410)
[FEATURE] [mesh] Load reference time from MDAL when available

Also adds combo box to let the user set the provider time unit. This is particularly useful when MDAL incorrectly recognised the time units in the raw dat format (for example format does nof follow spec and it is not possible to determine if time interval is in hours or days)

fix #32186 
fix #33399
fix #31933
2019-12-17 14:56:49 +01:00
David Signer
0755647c38 avoiding double call of dataChanged 2019-12-17 14:08:57 +01:00
signedav
4cbd9a1ee3
Merge pull request #33197 from signedav/searchtags_functions
Search tags on expression functions
2019-12-17 09:28:26 +00:00
David Signer
5e6e75662f available values in value relations 2019-12-16 18:28:18 +01:00
David Signer
54f4efbd86 available values of value map 2019-12-16 18:28:18 +01:00
David Signer
a02cdbc39a CanProvideAvailableValues as a flag on fieldformatter 2019-12-16 18:28:18 +01:00
David Signer
6baaae5340 get availableValues over the fieldFormatter 2019-12-16 18:28:18 +01:00
Matthias Kuhn
b42a31ec2f
Merge pull request #32472 from troopa81/feature_selectionwidget_in_featureselectiondialog
Selection widget in feature selection dialog
2019-12-16 11:32:25 +01:00
Julien Cabieces
a8f46ac655 update sip 2019-12-16 09:55:30 +01:00
Alessandro Pasotti
7464290ae3
Merge pull request #33379 from elpaso/widget-dependencies-move-to-formatter
Move layerDependencies to formatter
2019-12-14 09:00:08 +01:00
Nyall Dawson
a1ac77877f Add a method to determine if the coordinate operation string returned
by QgsCoordinateTransformContext.calculateCoordinateOperation corresponds
to the reverse of what's actually required.

Gross API, but it's the best we can do until proj has a method to
invert a coordinate operation so that we can return the proper
inverse operation proj string from calculateCoordinateOperation
(without resorting to fragile proj string parsing/mangling)
2019-12-14 05:33:59 +10:00
Nyall Dawson
ef19797997 Add method to retrieve the details of the coordinate operation which is
actually being used by a QgsCoordinateTransform object
2019-12-14 05:33:59 +10:00
Nyall Dawson
82a84ffd0d Don't try to normalize proj coordinate operations constructed directly
from the proj string via the transform context

This isn't possible -- only proj coordinate operations constructed
from a src/dest CRS pair can be normalized, not those constructed
from a proj string.

It was redundant in any case, since we always normalize the available
operations before giving users a choice of them.

So just add some big bold warnings to the dox in case anyone is
manually manipulating and adding custom operations, that these
also MUST be pre-normalized

Refs #33121, conversation in https://github.com/OSGeo/PROJ/issues/1794
2019-12-14 05:33:59 +10:00
Peter Petrik
2564b021d8 introduce way for plugins to retreive 3d stacked data values [API] 2019-12-13 16:30:14 +01:00
Alessandro Pasotti
a977343944 Test for relationreference field formatter deps 2019-12-13 13:36:06 +01:00
David Signer
b89f1e0dfb improve docs 2019-12-13 12:03:57 +01:00
Alessandro Pasotti
4ad62aa6ff Move layerDependencies to formatter
... from the widget
2019-12-13 11:54:25 +01:00
David Signer
d788d0ffe2 sip deprecated of forceReload and some doc improvements 2019-12-13 10:50:25 +01:00
Even Rouault
2c652040cd
Fix compilation error in qgsdxfexport.cpp
I'm not sure which of QT 5.9.0 or gcc 5.5.0 is not happy, but with both
of them, I get:
```
/opt/qt59/include/QtCore/qflags.h: In instantiation of ‘QFlags<T>& QFlags<T>::setFlag(Enum, bool) [with Enum = QgsDxfExport::DxfPolylineFlag]’:
/home/even/qgis/QGIS/src/core/dxf/qgsdxfexport.cpp:1102:68:   required from here
/opt/qt59/include/QtCore/qflags.h:153:46: error: no match for ‘operator~’ (operand type is ‘QgsDxfExport::DxfPolylineFlag’)
         return on ? (*this |= f) : (*this &= ~f);
```
2019-12-13 10:33:14 +01:00
David Signer
625d601e86 Deprecate forceReload() and merge it together with reloadData()
`reloadData()` implementations are set to private on `reloadProviderData()`

All calls of `forceReload()` or `reloadData()` target `QgsDataProvider::reloadData()` what calls the implemented `reloadProviderData()` of the provider and `dataChanged()` signal is called allways. That this signal is called changes the behavior of the `dataReload()` calls of all providers.
2019-12-12 15:59:07 +01:00
Peter Petrik
6febf38e10 [mesh] support active flag capability of MDAL. mesh layers for datasets that does not support active flags should not take less memory and load faster 2019-12-12 08:37:55 +01:00
Nyall Dawson
187b8f3325 When saving a user crs, if a WKT representation of the CRS is available,
then store and save that

Proj string representations of CRSes are lossy, so we should always prefer
WKT when it's available
2019-12-12 14:44:50 +10:00
Nyall Dawson
898205e7d8 Fix dox 2019-12-12 07:44:11 +10:00
Nyall Dawson
b1bbc8511b [labeling] Move settings related to removing labels (e.g. max no
of labels, min size for labels) to a new class QgsLabelThinningSettings

This new class is designed to contain settings related to how the label
engine removes candidate label positions and reduces the number of
displayed labels.
2019-12-12 07:44:11 +10:00
Nyall Dawson
a8adb2d6c2 Code shuffle: move all labeling related code into src/core/labeling
So that these files are all grouped together, making it easier to locate
all the components of the labeling engine and hopefully making things
easier to navigate
2019-12-11 14:05:44 +10:00
Denis Rouzaud
c5766dc83b
Merge pull request #33262 from 3nids/log_impr
Classification methods: save/read parameters, improve negative value handling in log method
2019-12-10 23:20:58 +01:00
Nyall Dawson
f9a3d0589a Remove last use of pal::RTree 2019-12-10 18:28:11 +10:00
Matthias Kuhn
fc5c95c28b
Merge pull request #33279 from m-kuhn/sandboxed_expression_mode
Fail expression evaluation if missing field is referenced
2019-12-08 14:42:52 +01:00
Matthias Kuhn
332550ed55 Typo 2019-12-07 13:11:25 +01:00
Nyall Dawson
7c59700f2b Responsibility for managing obstacle geometry is in QgsLabelObstacleSettings 2019-12-07 19:09:51 +10:00
Nyall Dawson
7f38c41497 Avoid duplicate code for evaluating label obstacle data defined values 2019-12-07 19:09:51 +10:00