52734 Commits

Author SHA1 Message Date
Matthias Kuhn
d77c74a2a4
More implicit sharing of geometries
Because massive cloning preemptively only makes sense when you want to fight the universe like in star wars.
2018-12-17 17:41:58 +01:00
Matthias Kuhn
1730a40a82
RAII for QgsCoordinateTransform locking
I experienced a freeze where the main thread was stuck in QgsCoordinateTransformPrivate::freeProj(), waiting for a write lock.
None of the other threads had anything useful in their stack trace that would have explained why the lock was not available.
The only explanation I can come up with is that an exception or thread termination was messing with the lock, leaving it in a
locked state.
By using RAII we can avoid this scenario.
2018-12-17 17:26:57 +01:00
Matthias Kuhn
0cb29004a4
Allow saving a layer after fixing invalid geometries 2018-12-17 16:52:57 +01:00
Matthias Kuhn
bebc34b4b8
Merge pull request #8689 from m-kuhn/prevent_crash
Safety guard to prevent crashes
2018-12-17 14:18:31 +01:00
Matthias Kuhn
cbe7ac65f6
Merge pull request #8687 from daniviga/rpm-fixes
[RPM] Improve RPM packaging
2018-12-17 14:12:23 +01:00
Peter Petrik
e4d490531c add support for browser dialog for mesh layer extensions too 2018-12-17 12:01:17 +01:00
Peter Petrik
39d168c09c fix travis build for mdal 2018-12-17 12:01:17 +01:00
Peter Petrik
8b542c8aa4 Update to MDAL 0.1.2 2018-12-17 12:01:17 +01:00
Peter Petrik
64b81bd976 use file filters from MDAL 2018-12-17 12:01:17 +01:00
Peter Petrik
e71660215c [processing] add QgsProcessingParameterMeshLayer parameter 2018-12-17 11:50:53 +01:00
Matthias Kuhn
6f63957797
Safety guard to prevent crashes 2018-12-17 10:35:46 +01:00
Matthias Kuhn
69298527d9
Run sipify 2018-12-17 09:43:11 +01:00
Daniele Viganò
a794992044
[RPM] Add support for HDF5
[RPM] Do not make qgis-server depend on httpd
[RPM] Add an Nginx configuration example
[RPM] Update server readme and replace wms with a better ogc
[RPM] More fixes for Epoch directive
[RPM] F27 reached EoL, replace it with F29
[RPM] Add support for netcdf and replace ogc with ows as server endpoint
[RPM] Add sample systemd service file
2018-12-17 08:36:08 +01:00
Nyall Dawson
c7cb5a8e3b [processing][SAGA] Fix output type of Zonal Grid Stats alg
and add unit test

Fixes #20815
2018-12-17 10:50:47 +10:00
Alessandro Pasotti
1ff3ddc61c
Merge pull request #8676 from elpaso/bugfix-20674-dbmanager-aliased-2
fix spatialite aliased, nested, joined queries
2018-12-15 14:54:55 +01:00
Alessandro Pasotti
e83e794016 spatialite: Add more test cases for table names with spaces 2018-12-15 11:08:05 +01:00
Alessandro Pasotti
8a0a745677
Merge pull request #8677 from troopa81/hidden_column
Correct the column hide/show status that was not saved anymore
2018-12-15 09:26:33 +01:00
Nyall Dawson
13e7186493 Wording 2 2018-12-15 11:28:56 +10:00
Nyall Dawson
63a5ebf57c Wording update 2018-12-15 11:28:56 +10:00
Nyall Dawson
8d7e21fc6d Test mask updates 2018-12-15 11:28:56 +10:00
Nyall Dawson
cd762da817 Doxygen 2018-12-15 11:28:56 +10:00
Nyall Dawson
d8eac4797e [FEATURE][API] Add method to QgsMapSettings for specifying label blocking regions
These represent areas of the map where NO labels should be placed
2018-12-15 11:28:56 +10:00
Nyall Dawson
ed25a3e2ee [FEATURE][layouts] Add setting for label margin for map items
This setting allows per-map control of how close labels are permitted
to be placed to the map item's edges.

Sizes can be set using mm/inches/pixels/etc, and data defined
label margins are allowed.

Fixes #10314
2018-12-15 11:28:56 +10:00
Nyall Dawson
35855b88e1 [FEATURE][API] Add API to set a margin for labels for layout map items
This controls how close labels are permitted to the edges of the map
item. The labeling engine will then try other candidate positions
in order to avoid placing labels within this margin.
2018-12-15 11:28:56 +10:00
Nyall Dawson
4252aabe00 [FEATURE][API] Add option to specify a custom boundary geometry
in QgsMapSettings to restrict where labels are allowed to be placed
within.

If set, this overrides the default behavior of allowing labels to
be placed anywhere inside the rendered map extent.
2018-12-15 11:28:56 +10:00
Nyall Dawson
abc7b037d8 [needs-docs][processing] Output count of retained and duplicate features from
Delete duplicate geometries algorithm.

This matches the output of the delete duplicates by attribute
algorithm
2018-12-15 10:44:33 +10:00
Nyall Dawson
82c13bdde0 [processing] Fix error when running delete duplicate geometries and
some input features have null geometries

Fixes #20788
2018-12-15 10:44:33 +10:00
Nyall Dawson
5c2f68e769 [processing] Throw error when attempting to use Distance Matrix with
multipoint datasets

There's no single approach to use for multi-point inputs, so instead
of overloading this algorithm with extra options to control how these
are handled, we raise a helpful error and push the reponsibility back
to the user to get the data into the right format before running the
tool.

Fixes #20799
2018-12-15 10:36:44 +10:00
Nyall Dawson
1285a01c64 Correctly test processing auth widget with real authentication setup 2018-12-15 08:23:10 +10:00
Nyall Dawson
56bd682d96 Avoid duplicate changed signals thrown by QgsAuthConfigSelect 2018-12-15 08:23:10 +10:00
Nyall Dawson
11ea28a5b3 [FEATURE][processing] Add a new parameter type for authentication config
This adds a new available parameter type for processing algorithms,
QgsProcessingParameterAuthConfig, allowing selection from available
authentication configurations (and creation of new ones).

It allows creation of processing algorithm which can fully take
advantage of QGIS' mature authentication handling, avoiding the
need to use insecure string parameters for users to input
sensitive logon credentials.

QgsProcessingParameterAuthConfig parameters are evaluated using
QgsProcessingAlgorithm.parameterAsString(), which returns the
selected authentication configuration ID.
2018-12-15 08:23:10 +10:00
Nyall Dawson
8f06b5a996 [ux] Remove custom group box styling and option for QGIS styled group boxes
This setting is causing issues on newer operating systems, e.g. MacOS
on dark themes. It's a 6 year old workaround for styling issues
which have likely since been fixed in Qt and the DEs themselves.
2018-12-15 08:22:42 +10:00
Nyall Dawson
0ca9777755 [api] Raises ValueError and TypeError exceptions when QgsGeometry.asPoint()
is called on non-single-point geometries

Previously we would just return QgsPointXY(0,0) when geometries of invalid
type were used, but this is dangerous and we are safer to explicitly
raise errors preventing use of asPoint() with incompatible geometry types.
2018-12-15 07:40:33 +10:00
Julien Cabieces
8446119aaa Correct the column hide/show status that was not saved anymore 2018-12-14 15:56:47 +01:00
Alessandro Pasotti
d4439b25c0 Fix spatialite exotic query layers (aliased, nested, joined ...)
Fixes #20674 (again)

“It does not matter how slowly you go as long as you do not stop.”
― Confucius
2018-12-14 15:10:01 +01:00
Alessandro Pasotti
3618d63ca6 Show an error message when a query yields an invalid layer
... instead of failing silently
2018-12-14 15:09:46 +01:00
Denis Rouzaud
9e5bb360f9
make QgsGeometry::isNull Q_INVOKABLE (#8667) 2018-12-14 07:41:57 -04:00
Juergen E. Fischer
d2c5864618 typo fix 2018-12-14 12:05:15 +01:00
Nyall Dawson
32e484c7e0 Apply suggestion.
Co-Authored-By: nirvn <nirvn.asia@gmail.com>
2018-12-14 15:14:44 +07:00
nirvn
c714652e30 Disable in-session change of UI theme for Qt < 5.12
Random crasher associated with UI theme change is an
upstream bug, in the meantime let's make sure people don't
lose data crashing QGIS with an unsaved project.
2018-12-14 15:14:44 +07:00
nirvn
36d363317f Pass on the theme style data directly instead of a file:///...
Benefit: remove requirement to have write permission for the
theme directory.
2018-12-14 15:14:44 +07:00
Alessandro Pasotti
e58abfd0d6
Merge pull request #8666 from elpaso/opencl-rastercalc-float-cast
opencl rastercalc fix int input rasters and cast to float
2018-12-14 09:04:10 +01:00
Luigi Pirelli
5b7f808c1b
Merge pull request #8665 from hareldunn/patch-1
fix function call in example
2018-12-13 18:51:04 +01:00
Alessandro Pasotti
b71a668a08 opencl rastercalc fix int input rasters and cast to float
Cast to float all math operations because when the
input is not a float or a double opencl raises
an error regarding which override should pick.

By casting to float we are sure that the right
function will be called.

This patch also fixes the buffer sizes for short (16bit)
and int (32bit) and asserts that siexe of float is 32bit.
2018-12-13 18:36:47 +01:00
Harel Dan
1c74e0b04d
fix function call in example 2018-12-13 18:18:04 +02:00
Alessandro Pasotti
8c07c994fc
Merge pull request #8657 from elpaso/bugfix-20743-badlayers-dirty
Decent workaround to dirty a project after bad layer handling
2018-12-13 14:58:32 +01:00
Alessandro Pasotti
0042cc0f33 Mark project dirty when bad layers have changed
Fixes #20743
2018-12-13 11:39:42 +01:00
Matthias Kuhn
1f6166639c
Hint where to find select features method 2018-12-13 10:39:14 +01:00
Alessandro Pasotti
a395affff8
Merge pull request #8660 from elpaso/bugfix-20789-QgsReadWriteLocker-moab-2
Fix QgsReadWriteLocker changeMode
2018-12-13 08:15:12 +01:00
Nyall Dawson
44bbf1f137 Dox++ 2018-12-13 10:11:24 +10:00