7126 Commits

Author SHA1 Message Date
Nyall Dawson
f9fb4085b2 Tweaks to layout item combo box 2019-03-12 08:16:52 +10:00
Nyall Dawson
0003e91f27 Add methods to resolve parameters to layouts/layout items 2019-03-12 08:16:52 +10:00
Nyall Dawson
ba82954ac5 [processing] Add new parameter type for layout item objects 2019-03-12 08:16:52 +10:00
Nyall Dawson
dd49720863 [processing] Add new parameter type for print layout names 2019-03-12 08:16:52 +10:00
Nyall Dawson
5ec43cfdc1 [processing] Add project to QgsProcessingParameterWidgetContext 2019-03-12 08:16:52 +10:00
Nyall Dawson
8d77a6bdcc New gui class QgsLayoutComboBox
Shows a list of layouts
2019-03-12 08:16:52 +10:00
Nyall Dawson
cba22770dc Move layout manager model from app to core and add unit tests 2019-03-12 08:16:52 +10:00
Nyall Dawson
0b270f98fb
Merge pull request #9454 from nastasi-oq/distribute-equispaced2
[layout] add new vertical and horizontal equispaced distributions
2019-03-12 06:29:33 +10:00
uclaros
d620ddd134 nose2 method assertions 2019-03-11 11:59:52 +02:00
Matthias Kuhn
f575656ddb
Merge pull request #9461 from m-kuhn/pal_cleanup
Some cleanup in labeling and pal
2019-03-11 07:38:47 +01:00
Nyall Dawson
b66b944535 [FEATURE][processing] New Raster Boolean logical OR/AND algorithms
These algorithms calculate the boolean OR or AND for a set of input
rasters. For AND, if all of the input rasters have a non-zero value
for a pixel, that pixel will be set to 1 in the output raster, otherwise
it will be set to 0. For OR, if ANY of the input rasters have a non-zero
value for a pixel, that pixel will be set to 1 in the output raster,
else 0.

A reference layer parameter specifies an existing raster layer to use
as a reference when creating the output raster. The output raster will
have the same extent, CRS, and pixel dimensions as this layer

By default, a nodata pixel in ANY of the input layers will result in
a nodata pixel in the output raster. If the 'Treat nodata values
as false' option is checked, then nodata inputs will be treated the
same as a 0 input value.

Makes for much simpler raster boolean logic calculation without
the complexity of using the raster calculator (and that's not
always possible to do anyway, e.g. when ANY of the input rasters
has a nodata pixel). It's also scalable dynamic to any number of
input rasters (unlike raster calc), so is more flexible when
used within models.
2019-03-11 07:45:44 +10:00
Martin Dobias
3b98331502 [3d] Fix crash if the input data contain some empty polygons 2019-03-10 22:44:14 +01:00
Matthias Kuhn
a133bcae45
Fix sip bindings and ignore missing docs 2019-03-10 18:37:41 +01:00
Matthias Kuhn
f4d5788313
Add test for geometry generator labeling 2019-03-10 15:03:36 +01:00
Matteo Nastasi
7c6b66be8a [FEATURE] [needs-docs] add new vertical and horizontal equispaced distributions 2019-03-09 18:18:07 +01:00
Alessandro Pasotti
06678ebda3 Added option to load/store from/to the filesystem
+ Added tooltips with full path to the gpkg file
+ Fixed a crash when removing a stored project
2019-03-09 16:02:12 +01:00
Alessandro Pasotti
6714819835
Merge pull request #9309 from elpaso/bugfix-21409-qgssettings-dont-store-unchanged
Do not store default values in user's QgsSettings
2019-03-08 14:46:36 +01:00
Alessandro Pasotti
c732dfdcbe
Merge pull request #9422 from elpaso/bugfix-21511-rastercalc-multiband
Fix raster calculator with multiband rasters
2019-03-08 12:16:28 +01:00
Alessandro Pasotti
ec0ff4abb5
Merge pull request #9417 from elpaso/bugfix-21497-make-features-compatible
Fix makeFeatureCompatible wrong field count
2019-03-08 12:16:06 +01:00
Nyall Dawson
cccf974211 [processing] Port enum widget wrapper to new API
Fixes:
- enum parameters set to "allow multiple" only allow a single
value selection when used in modeler
- optional enum parameters cannot be set to no value when
used outside of modeler

Fixes #20406
2019-03-08 15:46:59 +10:00
Matthias Kuhn
2be19fbe04
Disable flaky test 2019-03-07 20:41:54 +01:00
Alessandro Pasotti
c5ef988d08 Fix raster calculator with multiband rasters
Fixes #21151
2019-03-07 19:34:45 +01:00
Alessandro Pasotti
6ddf78c15e Fix tests 2019-03-07 17:34:07 +01:00
Alessandro Pasotti
0325a37ff9 Fix makeFeatureCompatible wrong field count
Fixes #21497 - Copying features from source layer to target layer - field values are not copied
2019-03-07 14:45:04 +01:00
Nyall Dawson
12ba41750f Fix paletted raster renderer does not respect correct band when rendering
Fixes #21505
2019-03-07 18:50:06 +10:00
Nyall Dawson
63d648738d [processing][needs-docs] By default, hide algorithms with known issues from toolbox
And add a Processing setting to allow these to be shown. When shown, they
are highlighted in red with a tooltip explaining that the algorithm
has known issues
2019-03-06 06:33:06 +10:00
Matthias Kuhn
a33bf306f5
Merge pull request #9048 from troopa81/fix_20872_postgres_multidim_arrays
Manage postgres multidimensionnal array
2019-03-05 09:36:34 +01:00
Matthias Kuhn
2046450548
Merge pull request #9371 from m-kuhn/preserve-layer-visibility-in-offline-editing
[offline editing] Preserve layer visibility in offline editing
2019-03-05 09:35:00 +01:00
Mathieu Pellerin
33af405f78
[asf] Fix parsing of polygons 2019-03-05 11:53:47 +07:00
Matthias Kuhn
62dc9452a9
Add test for preserving layer visibility on offline editing 2019-03-04 23:38:17 +01:00
Nyall Dawson
daeb3d84f7 Fix newline characters break embedded expressions
Fixes #21471
2019-03-05 08:33:10 +10:00
Mathieu Pellerin
853d648ec0
[asf] Use a bulletproof where clause to retrieve object IDs 2019-03-04 07:48:55 +07:00
Juergen E. Fischer
9b672073fe fix windows build 2019-03-03 22:22:20 +01:00
Matthias Kuhn
c71a04070f
Fix warning 2019-03-02 23:00:02 +01:00
Nyall Dawson
558d5365b5 Add new plugin metadata string to indicate whether a plugin
implements Processing providers

Plugins which implement providers should include the

    hasProcessingProvider=yes

line within their metadata.txt file. This allows for rapid
identification of all plugins which implement Processing
functionality.
2019-03-02 12:06:59 +10:00
Nyall Dawson
2f82bab1d9 Add Python utils method to start a Processing specific plugin
This command adds a plugin to active plugins and calls initProcessing(),
initializing only Processing related components of that plugin.

The new initProcessing() hook should be implemented by plugins
which provide Processing providers or algorithm, and should only
implement code which is required to load the provider and algorithms.
Strictly no GUI related code should be used here, that MUST
be moved out of initializers and deferred to the plugin's
initGui implementation.
2019-03-02 12:06:59 +10:00
Alessandro Pasotti
83f286a9e5
Merge pull request #9305 from elpaso/bugfix-21405-raster-calc-wrong-results
[opencl] Fix raster calculator operator precedence
2019-03-01 14:30:28 +01:00
Nyall Dawson
75697d77ed Cache validity check results
For non-point geometry subclasses (points are always valid!) we
now cache the results of a geometry validity check. Subsequent
checks utilise the cached result wherever possible.

Because QgsGeometry/QgsFeature objects are implicitly shared, this
means that we avoid a *lot* of duplicate validity checks as
features and geometries are thrown around during processing model
execution.
2019-03-01 08:06:31 +10:00
Alessandro Pasotti
cd5fedfd56 Do not store default values in user's QgsSettings
The new behavior is to store a value in user's QSettings
(that overrides the global settings) only if the the value
has changed from the default reported by QgsSettings.

If a value was changed and it is changed back to the default
the override must be removed from the user settings.

The rationale is that global settings should be the ultimate
source of default values, unless the user override the
default with a different value.

Fixes #21049
2019-02-28 09:36:00 +01:00
Alessandro Pasotti
88a96122b8 [opencl] Fix raster calculator operator precedence
With test

Possibly fixes #21405 (not yet sure if the user was using OpenCL)
2019-02-27 22:21:06 +01:00
Peter Petrik
209e9144f8
[3d] export all frames from QGIS 3d animations as images (#9244)
[feature] [3d] export all frames from QGIS 3d animations as images #21300
2019-02-27 08:58:58 +01:00
Nyall Dawson
182e6cf97b Update sipify expected results 2019-02-27 09:41:11 +10:00
Nyall Dawson
107b48a430 Add NULLPTR macro for use in doxygen comments
For the c++ api dox this expands to "\c nullptr" (the
\c directive indicates a code literal value), and for sipify/Python
it expands to ``None`` (`` is sphinx annotation for literal values)

Makes for nicer dox for both c++ and Python!
2019-02-27 09:41:11 +10:00
Nyall Dawson
4e04d02293 By default, validity check should treat ring self intersections as invalid
We use the OGC definition of validity to ensure consistent results
with PostGIS, GDAL, etc

Fixes #16418, fixes #21336
2019-02-27 06:05:26 +10:00
Nyall Dawson
35f613d45e Avoid firing up a thread for blocking GEOS based validity checks
It's an unnecessary expense. Also fix duplicate code.
2019-02-27 06:05:26 +10:00
Nyall Dawson
6dbe4ee5fb Add QgsGeometry::isGeosValid option to ignore self-touching rings 2019-02-27 06:05:26 +10:00
Blottiere Paul
6e39543983
Merge pull request #9242 from pblottiere/getprint_svg
Some cleaning [server]
2019-02-26 10:55:40 +01:00
Blottiere Paul
0e8757b408
Merge pull request #9236 from signedav/scale_getlegendgraphic
On GetLegendGraphics take the scale context from map parameters
2019-02-26 10:19:56 +01:00
Blottiere Paul
14f201caff Add unit test 2019-02-26 08:24:37 +00:00
Blottiere Paul
0f3b365438 Update test for not mandatory format parameter 2019-02-26 08:24:37 +00:00