53125 Commits

Author SHA1 Message Date
Nyall Dawson
8a920e0bc2 Rework QgsNetworkAccessManager::requestAboutToBeCreated() to be thread
safe, and encapsulate more useful request information
2019-01-22 18:27:06 +11:00
Alessandro Pasotti
0e0146d82d
Merge pull request #8924 from elpaso/bugfix-20927-server_exp_filter
Server WFS EXP_FILTER bugfixes
2019-01-22 08:05:32 +01:00
Nyall Dawson
ee34431214 Use a QHash instead of std::unordered_map
Because it turns out MUCH MUCH faster
2019-01-22 13:14:03 +11:00
Nyall Dawson
60a6fc13a5 Slightly more efficiency in QgsStatisticalSummary 2019-01-22 13:14:03 +11:00
Harrissou Sant-anna
d70191d272 Set appropriate window title when editing a join
fixes #17554
2019-01-22 12:18:26 +11:00
Nyall Dawson
fc99669019 Flip sequential calls to QgsRasterBlock::isNoData/value to single
unified call

Because... speed!
2019-01-22 12:13:39 +11:00
Nyall Dawson
ddd357c2ea Add API to QgsRasterBlock to obtain both pixel value AND no data
flag in a single call

This is much more efficient then making two calls, since the
QgsRasterBlock::isNoData() check internally calls QgsRasterBlock::value().
So by requiring API users to make the two separate calls individually,
we double the time this process takes...
2019-01-22 12:13:39 +11:00
Alexander Bruy
bb2c3663b0 [processing] add optional EXTRA parameter to gdalwarp algorithm (fix #20721)
This allows users to pass additional command-line arguments which are
not exposed in the algorithm definition. The most frequent use case is
enabling transparency and adding nodata values.
2019-01-22 09:39:57 +11:00
Matthias Kuhn
1253707337
Merge pull request #8928 from signedav/newbranch_qgis
Use valueAxis in QML-Widget example
2019-01-21 23:21:38 +01:00
Julien Cabieces
49cb397f89 Update layer statistics when adding column to table in order to be displayed by QGIS
fixes #13504
2019-01-22 07:54:12 +11:00
Nyall Dawson
83c0ea9a97 Fix warning 2019-01-22 07:52:45 +11:00
Nyall Dawson
d57c182d8b Allow QgsRasterIterator to iterate over a raster layer, WITHOUT
actually fetching the raster block data

This allows for efficient iteration over a "reference" layer, where
you require the block extent/origin/pixel size/etc (but not the
reference layer block data itself!), in order to fetch a block from
a DIFFERENT set of rasters (but keeping these pixel-aligned to the
reference raster).
2019-01-22 07:52:45 +11:00
signedav
e8416661a4 use valueAxis in qml example
fixes #20472
2019-01-21 17:58:25 +01:00
Matthias Kuhn
b391c0876f
Merge pull request #8923 from m-kuhn/native_densify_by_interval
Add native densify by interval algorithm
2019-01-21 14:59:47 +01:00
Martin Dobias
b6f71767fa Use QgsFeature3DHandler in 3D point symbol implementation
This is a small refactoring of 3D point symbol code, with three goals:

- use the new handler class just like line and polygon symbols already use

- just one feature loop instead of two and avoiding possibly slow query
  that requests all features by their IDs

- make it possible to use point symbols with rule-based renderer
2019-01-21 14:44:40 +01:00
Matthias Kuhn
25acd79ade
Make travis happy again 2019-01-21 12:41:48 +01:00
Alessandro Pasotti
9b7e1912d4 Add tests for WFS GetFeature EXP_FILTER
Fixes #20927 - QGIS Server: WFS issue using the EXP_FILTER parameter
2019-01-21 12:37:21 +01:00
Alessandro Pasotti
ad7ab51f03 WFS EXP_FILTER respect complex expressions 2019-01-21 12:35:06 +01:00
Alessandro Pasotti
d4ac931898 WFS GetFeature throws and exception when EXP_FILTER has errors
... instead of silently returning all features
2019-01-21 12:33:51 +01:00
Peter Petrik
1b11ba43a2 fix docs 2019-01-21 11:01:12 +01:00
Peter Petrik
7423a74915 add option to export mesh dataset to raster block (for processing algs) 2019-01-21 11:01:12 +01:00
Matthias Kuhn
9fec8edf23
Make densify interval parameter dynamic 2019-01-21 10:41:29 +01:00
Matthias Kuhn
1e8f8193e0
Rename files because there are two densify algs 2019-01-21 10:16:59 +01:00
Matthias Kuhn
9452667af3
Add native densify by interval algorithm 2019-01-21 09:49:38 +01:00
Matthias Kuhn
8db14d8fc2
Merge pull request #8906 from m-kuhn/native_polygons_to_lines
Add native polygonstolines algorithm
2019-01-21 09:11:01 +01:00
Nyall Dawson
eafedeeb8b Sipify 2019-01-21 14:48:19 +11:00
Marco Bernasocchi
305131c5b4 add one more api doc 2019-01-21 14:48:19 +11:00
Marco Bernasocchi
6dc537f963 Add better api docs on Property usage 2019-01-21 14:48:19 +11:00
Nyall Dawson
dc7a4ce53c Make URLS in message log clickable 2019-01-21 12:57:54 +11:00
Marco Hugentobler
9da842d488 Fix crash when zooming in PostGIS raster layers (ticket 20747) 2019-01-21 12:34:46 +11:00
Nyall Dawson
195d98f43a [needs-docs][processing] Port SAGA raster surface volume to native QGIS alg
The SAGA version of this algorithm is of limited use in QGIS, because the
volume calculated is embedded only in the SAGA terminal output. This prevents
it being saved to a file, or reused within a model as an input to a later
model step.

It's also very user-unfriendly, because users must know to manually scan
the algorithm log to find the SAGA output.

Given that the maths here is trivial, this commit ports the algorithm across
to be a native QGIS c++ algorithm. The algorithm duplicates the SAGA alg
1:1, but outputs the volume (and area) to either a HTML report, or a vector
table. Additionally, the outputs are exported as numeric outputs from the
algorithm, allowing them to be re-used within models.

(It's also considerably faster, because it avoids the forced conversion
to SAGA raster format)

Fixes #8607 (properly, even though that report is closed)
2019-01-21 12:33:54 +11:00
Matthias Kuhn
1b7932a299
Minor code cleanup 2019-01-20 13:19:47 +01:00
Matthias Kuhn
b89e1f74cc
Add a nullptr guard in the geometry equality check 2019-01-20 13:16:30 +01:00
Matthias Kuhn
23885e5141
Add tests for native polygonstolines algorithm 2019-01-20 13:07:57 +01:00
Matthias Kuhn
6c110c824e
Correctly assign output type from input type 2019-01-20 12:43:18 +01:00
Matthias Kuhn
f4a25ebd87
Fix QgsGeometryCollection (and subclasses) equal
The previous behavior was to check if all parts of the collection are exactly the same.
The new check will check if all parts are equal (same vertice count, same vertice order, same vertice values).
2019-01-20 12:39:31 +01:00
Matthias Kuhn
e3fda18aca
Merge pull request #8908 from neteler/patch-76
Complete grass76 support
2019-01-20 12:28:42 +01:00
Matthias Kuhn
ab4b38ce0f
Guard against nullptr 2019-01-20 11:04:52 +01:00
Markus Neteler
8db3dead87
Complete grass76 support 2019-01-19 22:08:28 +01:00
Nyall Dawson
eb7dc59546 Fix connect to lamda missing context argument 2019-01-20 07:40:47 +11:00
Nyall Dawson
f3c92fab16 Constify 2019-01-20 07:40:47 +11:00
Nyall Dawson
c50d36c0ae Fix possible crash when unloading project 2019-01-20 07:40:47 +11:00
Nyall Dawson
7ad4b05112 Fix project loading task never completes when project has embedded layers
Fixes #21012
2019-01-20 07:40:47 +11:00
Matthias Kuhn
0b248dc801
Use iterator for parts 2019-01-19 09:09:08 +01:00
Matthias Kuhn
bfa93458e5
Merge pull request #8904 from qgis/3nids-patch-2
add type property to QgsGeometry
2019-01-19 08:49:21 +01:00
Denis Rouzaud
11def47d5c
add type property to QgsGeometry 2019-01-18 15:02:01 -05:00
Matthias Kuhn
4c8af20b51
Add native polygonstolines algorithm 2019-01-18 19:07:08 +01:00
Martin Dobias
8709ab61eb
Merge pull request #8893 from wonder-sk/rule-based-3d-renderer
Rule-based 3D renderer
2019-01-18 12:58:11 +01:00
Martin Dobias
de5c7cb60b Remove layout margins 2019-01-18 12:11:16 +01:00
Matthias Kuhn
008dfeed40 Rename json functions to postgres names 2019-01-18 17:45:12 +07:00