19629 Commits

Author SHA1 Message Date
nicogodet
9d44ebee30
Update neighborhood size name 2021-06-14 09:08:10 +02:00
Nyall Dawson
cbe2678e34 [processing] Fix broken execution of models via browser/drag and drop
Fixes #43698
Fixes #42181
2021-06-14 15:02:54 +10:00
Nyall Dawson
8113aac88e Use a monospaced font in console command history list 2021-06-14 13:04:59 +10:00
Harrissou Sant-anna
636d5cc43d Use better reference to distance methods whether it's 3D or not 2021-06-14 05:09:18 +10:00
Sandro Mani
64a7234e33 Add QgsLayoutItemPage::pageLayout 2021-06-14 04:57:54 +10:00
nirvn
256dc35a09 Make a couple of QgsJsonUtils accessible via QML environment 2021-06-10 23:12:23 -07:00
Nyall Dawson
3cf9083743 Don't assume that owslib >= 0.20 is available
Fixes #38074
2021-06-11 06:17:10 +10:00
Nyall Dawson
e70cf8da27 Fix zonal statistics does not correctly handle coordinate transforms
Fixes #26858
2021-06-11 06:16:53 +10:00
Sandro Mani
6aa0cbed91
Add QgsProject::dirtySet signal (#43595) 2021-06-10 10:50:47 +00:00
Nyall Dawson
bb0dfb6ba3 Doxygen says no 2021-06-10 11:03:43 +10:00
Nyall Dawson
7b19333442 Fix list formatting 2021-06-10 11:03:43 +10:00
Nyall Dawson
49e48f9383 Better approach to avoid duplicate docs 2021-06-10 11:03:43 +10:00
Nyall Dawson
4ff3f447dc Don't try to insert links in raises blocks in PyQGIS docs
These aren't formatted correctly if we do
2021-06-10 11:03:43 +10:00
Nyall Dawson
8359281012 Fix formatting of exception blocks in PyQGIS docs 2021-06-10 11:03:43 +10:00
Nyall Dawson
544708f4aa [temporal] Fix filter generation for vector temporal layers
When features have a temporal "range", we should never treat
that range as inclusive of the end (or we end up with features
appearing in multiple date ranges)

Completes fixes begun by @rduivenvoorde in https://github.com/qgis/QGIS/pull/40989

Fixes #38468
2021-06-10 09:56:25 +10:00
Juergen E. Fischer
f8e2adb84c install and package pyis (fixes #41264) 2021-06-10 00:43:05 +02:00
Nyall Dawson
76c7d11ba9 More dox fixes 2021-06-10 05:57:26 +10:00
Nyall Dawson
e262f1456c Fix layout checks 2021-06-10 05:57:26 +10:00
Nyall Dawson
0a4b9a62cf [optimization][expressions] Simplify "CASE WHEN..." expressions
during preparation wherever possible

In many situations we are able to optimize a case when expression
and replace it with a simpler expression node during the preparation
stage. Specifically, if the WHEN conditions are known to be
static values (such as those coming from certain expression context
variables) then we can often replace the whole condition node
with the THEN node of the first static true condition.

E.g.

    CASE
        WHEN @variable=1 THEN "first_field"
        WHEN @variable=2 THEN "second_field"
        ELSE "third_field"
    END

If @variable is static and '1', then the whole expression node will ALWAYS
be identical to "first_field". Similiarly if @variable='2', then the
whole expression will ALWAYS be "second_field".

If we're able to apply this optimization, then we use the simplified
effective node which represents the whole node during evaluation
time and save a bunch of unnecessary work.

TODO: If we use the effective node during expression compilation
for providers we would be able to handoff more expressions involving
QGIS-side variables and other components to the backend, resulting
in increased use of backend provider indices, etc....
2021-06-10 05:57:26 +10:00
Nyall Dawson
1bcb09abe6 __repr__ for some QgsExpressionNode subclasses 2021-06-10 05:57:26 +10:00
Nyall Dawson
ccb4146206 [api] Add signal to QgsLayoutDesignerInterface which is emitted
whenever a map item's preview image has been refreshed inside
the designer
2021-06-09 20:45:20 +10:00
Nyall Dawson
309a2a6bad Add a signal when an item is added to a layout 2021-06-09 20:45:20 +10:00
Nyall Dawson
6bd24e5d17 [api] Add QgsLayoutDesignerInterface.layoutExported signal
Emitted whenever the layout is exported from the designer
2021-06-09 20:45:20 +10:00
Nyall Dawson
e62714484f [api] Add method for plugins to retrieve results of last layout export
operation from a layout designer window
2021-06-09 20:45:20 +10:00
Nyall Dawson
2a5728720f [api] Add method for retrieving label results from QgsLayoutExporter
Allows plugins and scripts to collect statistics about the labeling
results from all map items included in a layout export
2021-06-09 20:45:20 +10:00
Nyall Dawson
643e4689a1 [api] Add method to retrieve labeling results for layout maps 2021-06-09 20:45:20 +10:00
Nyall Dawson
c95fed55f1 [api] Add labeling flag to collect unplaced labels without rendering them 2021-06-09 20:45:20 +10:00
Nyall Dawson
8e2fb49718 Add method to retrieve all labels from QgsLabelingResults, instead of just labels within a rect 2021-06-09 20:45:20 +10:00
Nyall Dawson
8bfb959e29 Add a __repr__ for QgsLabelPosition 2021-06-09 20:45:20 +10:00
Nyall Dawson
84669887b6 Partially revert https://github.com/qgis/QGIS/pull/42365, and make
the new panel sizing behavior opt-in
2021-06-09 18:28:23 +10:00
Alessandro Pasotti
3a4d437a51
Merge pull request #43391 from elpaso/bugfix-gh34178-server-getprint-maptheme
Server WMS getPrint: fix HIGHLIGHT with follow map themes
2021-06-09 09:51:06 +02:00
Loïc Bartoletti
ba409e0832 readd qgsgeometry method 2021-06-09 10:45:40 +10:00
Loïc Bartoletti
da7c614f1a sipify 2021-06-09 10:45:40 +10:00
Loïc Bartoletti
65392c2329 fix sip; add method using QgsGeometry, add tests, revert missing convertTo/add 2021-06-09 10:45:40 +10:00
Loïc Bartoletti
7c0f3a1f6c sipify 2021-06-09 10:45:40 +10:00
Loïc Bartoletti
da7c8fa04e sipify 2021-06-09 10:45:40 +10:00
Nyall Dawson
5bac4c2c70 [api] Add method to retrieve feature ids of all new and changed
features directly from QgsVectorLayerEditBuffer
2021-06-08 21:27:21 +10:00
Nyall Dawson
5fdb88bae3 Fix massive performance regression in attribute table
Follow up 56f7812ca1e

This commit fixed the ordering of features coming from the
vector layer cache for the attribute table, but came with a massive
speed impact due to the repeated calls QList::contains for
every feature fetched. For any moderately sized table or above
these calls stacked up into multiple minute delays in opening
the table.

Avoid this by tracking the added feature ids in a separate
unordered set, so that we don't need to check through the
ordered list for existing features at all.

Eg a 500k feature gpkg was taking 10 minutes to open the table.
With this optimization that's back down to 20 seconds.
2021-06-08 21:16:33 +10:00
Nyall Dawson
ae83444c9f Expand on QgsPoint/QgsPointXY documentation to clarify when each
class should be used

Fixes #43598
2021-06-08 18:47:01 +10:00
Alessandro Pasotti
5c597641ef Better wording for setLayers documentation 2021-06-08 09:27:07 +02:00
Loïc Bartoletti
17d1443ace is2DClosed -> isClosed2D and fix a typo 2021-06-08 14:26:20 +10:00
Loïc Bartoletti
df02c00f13 sipify 2021-06-08 14:26:20 +10:00
Ivan Ivanov
cd6e0cebe0
Load the default relation editor if the relation editor type setting is not set (#43591)
* Load the default relation editor if the relation editor type setting is missing

* Add setDefaultWidgetType and defaultWidgetType to the relation editor registry

* Use the new defaultWidgetType() when relation editor type setting is missing
2021-06-07 21:46:25 +02:00
Andrea Giudiceandrea
7d57aeef22
Add test for GRASS r.proj alg 2021-06-04 16:52:57 +02:00
Andrea Giudiceandrea
57326cbb20
[processing][grass] Fix r.proj in Windows
Properly escape the equal sign in the for /f command and fix a typo in the variable name
2021-06-03 23:54:37 +02:00
Nyall Dawson
81ec79c0e5 [temporal] Fix broken animations when a non-integer interval value
is used (e.g. 1.5 hours)

The frame number was not being considered, making it impossible
to advance the animation
2021-06-03 15:06:01 +10:00
Nyall Dawson
c57d7ad6aa Completely remove QgsVectorLayerFeatureIterator::FetchJoinInfo::joinLayer and note in api_break.dox
There's no point in keeping such a dangerous member in the api
2021-06-03 14:26:23 +10:00
Nyall Dawson
cebb1f8ef9 Fix sip 2021-06-03 14:26:23 +10:00
Nyall Dawson
ca00377027 Do not access join layer from QgsVectorLayerFeatureIterator
This is not thread safe at all - we cannot access a layer from
an iterator, as iterators may be running on background threads.

Instead use a thread safe approach of storing a QgsVectorLayerFeatureSource
and using that instead

Fixes #38551
2021-06-03 14:26:23 +10:00
Julien Cabieces
a164a2a452 [PyQGIS] Fixes qgis#42488 : Fix QgsFeatureFilterModel SIP interface 2021-06-03 07:57:41 +10:00