58978 Commits

Author SHA1 Message Date
Vincent Cloarec
6d4c995a28 [FEATURE] API for rendering frames for mesh vector dataset animation (particles) (#33110)
* [FEATURE] API for rendering frames for mesh vector dataset animation (particles) 

Adds a renderer to generate frames that represent particle traces in a vector field of a mesh layer. The renderer cannot be chosen in the current GUI, however crayfish plugin can use API to generate avi/gif files with nice animations representing the movement of (random) particles in the mesh layer vector field.
2019-11-29 09:06:47 +01:00
Nyall Dawson
a1002c4574 Dox++ 2019-11-29 13:03:03 +10:00
Nyall Dawson
09b8612761 [pal] Provide more exit points for early cancelation
When a rendering operation was canceled, PAL had very few early
exit points. This often resulted in many canceled rendering operations
burning away in background threads as labeling candidates and solutions
were being generated for jobs which were no longer needed.

Add more exit points and cancel checks throughout various expensive
pal operations, allowing labeling jobs to terminate quickly.

Fixes #32489
2019-11-29 13:03:03 +10:00
Nyall Dawson
8878e9b30b Use QMutexLocker 2019-11-29 13:03:03 +10:00
Nyall Dawson
fc64c3fa3c Use std::vector instead of raw pointer array 2019-11-29 13:03:03 +10:00
Nyall Dawson
4351c30fa5 More memory management fixes in pal, stack allocation rather than heap 2019-11-29 13:03:03 +10:00
rldhont
6fdc99be1e [Tests][Server] Add WMS GetFeatureInfo GML tests 2019-11-29 11:58:59 +10:00
Nyall Dawson
85095a70ff Alternative approach to fixing #32819
Partially reverts 5d27d7c, fixes #33133
2019-11-29 11:58:39 +10:00
Nyall Dawson
d8be3f5a43 [layouts] When dropping a picture to a layout, place the center of
the picture item at the cursor drop location instead of the top left

We want the drop location to be the center of the placed item,
because drag thumbnails are usually centered on the mouse cursor
2019-11-29 11:16:31 +10:00
Nyall Dawson
6ef3746bfb [processing] Fix exceptions when reporting errors during batch execution
Fixes #33105
2019-11-29 11:16:09 +10:00
Even Rouault
1002c61f7a pal.cpp: fix compilation error with gcc 5.5
Unfortunately the compiler cannot figure out that the type of
the { } is a std::pair, so we have to be explicit about that
2019-11-29 10:15:38 +10:00
Nyall Dawson
a99d94e5aa On proj6 builds, never apply a lossy conversion from WKT to proj strings
when attempting to identify a CRS specified via WKT

Because:
1. Proj string conversion is lossy, so we will end up with misleading results
2. If proj can't identify the CRS based on the WKT alone, then any CRS it
identifies from a lossy proj conversion will be incorrect
3. Proj is smarter than QGIS, we should trust it and not rely on downstream hacks

(4. I want to implement creation of user CRS via WKT instead of only proj, and
having this hack in place will break things)
2019-11-29 09:57:20 +10:00
Nyall Dawson
3f94d55384 Fix identification of TAB file in GDA2020 CRS
Fixes #33007 (also requires GDAL master)
2019-11-29 08:27:47 +10:00
Alessandro Pasotti
a4715a30c9
Merge pull request #33132 from elpaso/bugfix-gh33130-pg-executesql-bools
PG provider connection API: convert to bools
2019-11-28 20:30:17 +01:00
Alessandro Pasotti
8d9565099a PG provider connection API: convert to bools
Fixes #33130
2019-11-28 18:58:07 +01:00
Nyall Dawson
f3eab35cde When exporting CRS information from GDAL >= 3.0, use WKT2 format
to avoid loss of CRS information
2019-11-29 03:31:16 +10:00
signedav
6ca436d1fd
Merge pull request #32383 from signedav/test_rulelabel
Display Rulelabel when requested in GetLegendGraphics
2019-11-28 11:42:07 +00:00
David Signer
e465168539 changing temp location in the settings an recalculate the temp file path 2019-11-28 21:19:34 +10:00
David Signer
ef8e251cf8 check if TEMP_PATH in the settings changed 2019-11-28 21:19:34 +10:00
David Signer
8274566b62 temp path for processing output configurable 2019-11-28 21:19:34 +10:00
Nyall Dawson
0f73eb6326 Dox++ 2019-11-28 21:15:30 +10:00
Nyall Dawson
938ddfd6d5 Pass labeling engine version to pal 2019-11-28 21:15:30 +10:00
Nyall Dawson
634a815c64 [pal] More memory management, renames 2019-11-28 21:15:30 +10:00
Nyall Dawson
6d6d11b9f3 Some int -> size_t tweaks 2019-11-28 21:15:10 +10:00
Nyall Dawson
1788e2ea1b Fix possible crash in PAL labeling engine due to incorrect size initialization of vector
If the number of candidates is < the number of features (i.e. some features have
no candidates), we'll get a crash. And if the number of candidates >> number of features
(the usual case), we're just creating a much larger vector than we'll ever use...

(I think. It's pal. No-one know for sure.)
2019-11-28 21:15:10 +10:00
Alessandro Pasotti
d89745aec6
Merge pull request #33103 from elpaso/relation-reference-restore
Relation-reference widget: load dependencies
2019-11-28 10:25:55 +01:00
Nyall Dawson
95a3483d95 Cleanup includes 2019-11-28 18:38:31 +10:00
Nyall Dawson
2800798fef [FEATURE][layouts] Allow drag and drop of pictures onto layouts
E.g. drag an svg from a file explorer onto the layout to create a
new picture item containing that svg image.

Convenience++!
2019-11-28 18:38:31 +10:00
David Signer
a74035cd4e set RULELABEL to false to have the expected behavior 2019-11-28 09:37:41 +01:00
David Signer
71581a4046 Tests with RULELABEL and LAYERTITLE
And fix related tests
2019-11-28 09:37:41 +01:00
Denis Rouzaud
e643547a68
[field calc] do not propose to update field for read-only layers (#33101) 2019-11-28 08:16:52 +01:00
Sam Gillingham
f601272226 Send Accept: header with WMTS tile requests 2019-11-28 16:32:56 +10:00
Nyall Dawson
c52a6e711a Dox fixes 2019-11-28 13:39:57 +10:00
Nyall Dawson
71c7a3393c Dox++ 2019-11-28 13:39:57 +10:00
Nyall Dawson
292dbb0a19 Dox++ 2019-11-28 13:39:57 +10:00
Nyall Dawson
932fd20490 More PAL variable renaming 2019-11-28 13:39:57 +10:00
Nyall Dawson
077c507207 More pal modernization of memory management, finally ownership is starting to become clear... 2019-11-28 13:39:57 +10:00
Nyall Dawson
b0f4cb45cc Modernize some more pal code, remove unused code 2019-11-28 13:39:57 +10:00
Nyall Dawson
3cbb3a065d More pal simplifications and variable renames 2019-11-28 13:39:57 +10:00
Nyall Dawson
dc435efb18 [pal] Make problem a bit less memory messy, rename variables for clarity
(cherry picked from commit c2b161230870b96d952eccc75ad0029a526e1965)
2019-11-28 13:39:57 +10:00
Nyall Dawson
8e411eb832 Make PAL problem solver a bit more memory safe
(cherry picked from commit 3c688597a5ad56bdbeee8223a073960bde89e6e4)
2019-11-28 13:39:57 +10:00
Harrissou Sant-anna
ce0363a704 Move the vertical spacer at the bottom of the raster marker symbol dialog
and fix tabulation order
2019-11-28 09:34:18 +07:00
Nyall Dawson
8a7c1271eb Fix method name 2019-11-28 09:54:51 +10:00
Nyall Dawson
849f3152da Avoid trailing ; warning thrown by QGSCOMPARENEAR macro 2019-11-28 09:54:51 +10:00
Nyall Dawson
4622ede354 Flip logic and leave default labeling engine as v1, mark v2 as experimental
Allows us time to tweak and refine the new rules before deploying on a
widespread basis
2019-11-28 09:54:51 +10:00
Nyall Dawson
bdb1c76ec8 [needs-docs] Add labeling engine version setting in project labeling settings dialog
This allows users to upgrade existing projects to the newer labeling engine version.
A warning will show advising users that change the version will alter the placement
of labels within the project.
2019-11-28 09:54:51 +10:00
Nyall Dawson
ff3b4d5a74 Add API to set a label placement engine version, which dictates which
placement rules should be followed when solving the pal labeling engine
solution.

For new projects it defaults to version 2, but when loading an older project
version 1 is used.

This allows changes to be made to the label placement problem solving without
affecting the placement of labels in existing projects.
2019-11-28 09:54:51 +10:00
Alessandro Pasotti
daeae76076 Store relative publicSource when possible 2019-11-27 18:04:03 +01:00
Alessandro Pasotti
37c42c3665 Relation-reference widget: load dependencies
Same behavior of value-relation widget.

Funded by: ARPA Piemonte
2019-11-27 17:54:16 +01:00
Nyall Dawson
d953f9ed0f [pal] Don't sort final label placements in pal
We have a (better) sorting method in QGIS which accounts for other
things like the label z orders, so this sorting in the pal library
is completely redundant and is immediately overwritten by QGIS
label sorting routines.
2019-11-27 17:11:57 +10:00