14784 Commits

Author SHA1 Message Date
Nyall Dawson
ec1218314d [processing] Fix "Add geometry attributes" handling of multipoint geom
For multipoints, export the count of geometries only
2019-02-25 07:50:48 +10:00
Bas Couwenberg
371176357b Fix spelling errors.
* cancelation -> cancellation
 * overal      -> overall
2019-02-24 22:39:40 +01:00
Alessandro Pasotti
678f98c355
Merge pull request #9247 from elpaso/bugfix-21353-db-manager-sql-error
Fix db manager sql query
2019-02-23 23:23:09 +01:00
Juergen E. Fischer
2b21a97994 fix #19933 2019-02-23 22:09:53 +01:00
Alessandro Pasotti
a9652316af Tiny cosmetic fix: error by 1 on iteration counter text 2019-02-23 15:30:57 +01:00
Alessandro Pasotti
74aa8ca16e Fix db manager sql query
Fixes #21353
2019-02-23 11:10:50 +01:00
Víctor Olaya
13bff9620c [processing] do not allow using unsupported file formats
Show warning message if user selects incompatible output file format

fixes #21089
2019-02-23 05:24:56 +10:00
Nyall Dawson
cdc622ef4c Freackin Amurican sppelling 2019-02-23 05:23:23 +10:00
Nyall Dawson
c1aac3228c [FEATURE][processing] Allow expression variables to be set for a model
This adds a new "Model Variables" dock panel to the model editor, allowing
users to create and set custom expression variables for use in the model.
These variables are available anywhere expressions are (correctly) evaluated
within the model, so can be used as input parameter values for child
algorithms, within data-defined dynamic parameters, etc.

The use case here is for models which use a constant value throughout
multiple steps within the model (e.g. @target_resolution: a target
raster resolution, @max_simplification: a simplification value for
input features coming from different sources, etc), allowing users
one single place to define and edit these constant values (instead
of hunting down and setting them in multiple places throughout the model).

These variables are stored within the model itself, and are not exposed
outside of the model designer dialog.
2019-02-23 05:23:23 +10:00
Nyall Dawson
e31fb920e7 [processing] Add API to allow custom expression variables to be set
for a model
2019-02-23 05:23:23 +10:00
Rashad Kanavath
9983961ee3 update Otb Algorithm test to use Map Layer instance 2019-02-23 05:20:17 +10:00
Rashad Kanavath
08b4c1ae9c check for layer providers and authid
OTB only supports gdal and ogr providers for now. Maybe memory
provider can be easily supported using some conversion on the fly.
For the moment, we can go with this method. IO Formats in OTB not
using GDAL/OGR (LUM, ONERA) are not supported by QGis. Those can be
treated as simple files.

nyalldawson,  pointed that AUTHORITY id can have types not starting
with 'EPSG:'. Current otb takes just EPSG number and run with it. The
algorithm doesn't know what to with a number which is not EPSG because
it uses Gdal's 'ImportFromEpsg' method AFAIR.

QgsProecessing Exception is raised in both the above invalid cases.
2019-02-23 05:20:17 +10:00
Rashad Kanavath
70be3aae9c add unit-test for passing values other than type str 2019-02-23 05:20:17 +10:00
Rashad Kanavath
9a6a70a0c0 Reset outputpixeltype parameter options 2019-02-23 05:20:17 +10:00
Rashad Kanavath
8afb80e164 [test] new test for OtbChoiceWidget
This can easily go into GuiTests.py but we tend to keep it out due to
usage of create_from_metadata(). All widget in GuiTests uses
create_from_class() which will not work for this special widget
2019-02-23 05:20:17 +10:00
Rashad Kanavath
e26e0981d3 [test] a new test for otb algorithm that used crs 2019-02-23 05:20:17 +10:00
Rashad Kanavath
e7ce84cb22 Use parameterAs methods in OtbAlgorithm
This will accept stuff other than string type if needed by a user.
2019-02-23 05:20:17 +10:00
Rashad Kanavath
5666db2871 pass file names with quotes to otb 2019-02-23 05:20:17 +10:00
Rashad Kanavath
be52385ef2 using parameterAs from qgis api 2019-02-23 05:20:17 +10:00
Rashad Kanavath
0c1de0407a [review] fix issues from code review 2019-02-23 05:20:17 +10:00
Rashad Kanavath
471865afd1 [CI] fix travis test for OtbAlgorithms 2019-02-23 05:20:17 +10:00
Rashad Kanavath
30bcfebb47 [TEST] add test for OTB processing provider
This includes yaml test like SAGA, GRASS and also test for loading
OTB Algorithms
2019-02-23 05:20:17 +10:00
Rashad Kanavath
3b87f7b17f [FEATURE] [needs-docs] integrate OTB provider to processing plugin 2019-02-23 05:20:17 +10:00
Matthias Kuhn
5b230ab820
Fix sip file too 2019-02-21 16:00:03 +01:00
Luigi Pirelli
5a96fab775
Merge pull request #8968 from volaya/fix_saga_non_ascii
fixed handling of input filenames with non-ascii characters [processing]
2019-02-21 12:35:49 +01:00
volaya
52546db839 [processing] fixed saga test 2019-02-21 10:11:57 +01:00
volaya
40134d6473 [processing] fixed SAGA command writing and test 2019-02-21 10:05:46 +01:00
Matthias Kuhn
5292efd082
Merge pull request #9221 from m-kuhn/relation-reference-field-formatter-cache
Add cache for relation reference field formatter
2019-02-21 09:52:54 +01:00
Alessandro Pasotti
17280c3e4d
Merge pull request #9203 from elpaso/bugfix-21305-paste-slow-no-provider
Cache unique values when creating features
2019-02-21 08:31:41 +01:00
Matthias Kuhn
4d5dad8172
Merge pull request #9223 from m-kuhn/geometry_validator_summary_cleanup
Geometry validator summary cleanup
2019-02-21 07:53:54 +01:00
Alessandro Pasotti
dd7a5f5b1e
Merge pull request #9183 from Gustry/save_comments
keep comments when saving query, fix single line comment
2019-02-20 22:36:24 +01:00
Julien Cabieces
1c34329234 Allow expression widget to be empty so expression could be removed (#9032)
* fixes #20516 : Allow Constraint widget in attribute type form to be empty so expression could be removed

per widget modification

* correct tests

* Add the clear button on field expression widget when widget is allowed to be empty

* Change API since version to 3.6
2019-02-20 14:41:38 -05:00
Matthias Kuhn
9c0606148d
Adjust test 2019-02-20 19:11:13 +01:00
Matthias Kuhn
5fe225bb4d
Add cache for relation reference field formatter
this speeds up tables with relation reference fields massively
2019-02-20 18:58:17 +01:00
Matthias Kuhn
968e08c6c9
Geometry validator: do not report result summary as error 2019-02-20 18:14:41 +01:00
Matthias Kuhn
ddbd06f3f1
Merge pull request #9207 from mbernasocchi/master
Add safety guard when mDataProvider is not set
2019-02-20 14:02:16 +01:00
Matthias Kuhn
8ea09b61c8
Run sipify 2019-02-20 12:01:56 +01:00
Alessandro Pasotti
ff9a65c1b4
Merge pull request #9193 from elpaso/bugfix-21270-processing-algrunner-crash
Processing: fix crash in alg runner task with bad scripts
2019-02-20 07:43:50 +01:00
Nyall Dawson
7acfefadad Fix infinite progress when an algorithm could not be created 2019-02-20 13:05:13 +10:00
Nyall Dawson
979adbbabf Indicate exception types to sip
Exposes the full Python exception when an error occurs in createInstance()
2019-02-20 13:05:09 +10:00
Panos Mavrogiorgos
c8d3f74f4a [grass7][mac] Use the most recent GRASS version
This is a continuation of:

- #8db3dead87e385f2798356d
- #5c97d22b16320874dbe1

This commit only affects users that have multiple GRASS installations on
their Macs. Using the most recent GRASS version is what we do on Linux too.
2019-02-20 11:14:06 +10:00
Panos Mavrogiorgos
1d8bd004a6 [grass7] Make it easier to subclass "Grass7AlgorithmProvider"
After @Nyalldawson suggestion [1], we've implemented a Processing plugin
that exposes a GRASS Addon [2]. In order to do this we had to subclass
`Grass7AlgorithmProvider` and override `createAlgsList()`.

`createAlgsList()` had to be overriden in order to change the
"description folder" location.

Nyall wrote:

> And if you do it right (and only import existing
> processing grass code, minimising the copy/paste of this code), then
> your provider will automatically inherit any future fixes and
> features added to the main grass provider.

With this commit we convert the `descriptionFolder` to a class attribute
and in this way, subclasses of `Grass7AlgorithmProvider` will no longer
have to override `createAlgsList()` and will be able to continue inheriting
future enhancements.

References:

1. https://lists.osgeo.org/pipermail/qgis-developer/2019-February/056155.html
2. 948820b1c0/estimap_recreation_provider.py (L40-59)
2019-02-20 05:41:47 +10:00
Nyall Dawson
c8a4dff475 Add maximum search distance parameter to QgsSpatialIndex::nearestNeighbor 2019-02-20 05:40:02 +10:00
Nyall Dawson
362ba02ade When a QgsSpatialIndex is storing feature geometry, then
nearestNeighbor search performs an EXACT nearest neighbour search,
instead of just a nearest-neighbour-by-bounding-box search
2019-02-20 05:40:02 +10:00
Nyall Dawson
26555358f9 Add API for QgsSpatialIndex to optionally store feature geometries
This potentially avoids a second expensive feature request after
building a spatial index and later needing to re-request features
which match spatial index search.

It's non-default, as it requires the index to store all feature
geometries, so it's more memory expensive.
2019-02-20 05:40:02 +10:00
Nyall Dawson
b06f00d01b Fix dox test 2019-02-20 05:39:04 +10:00
Nyall Dawson
6021683c35 Capitalization 2019-02-20 05:39:04 +10:00
Nyall Dawson
346f33544c [processing] Expose correct expression context in Refactor fields alg 2019-02-20 05:39:04 +10:00
Nyall Dawson
521ebdc973 [processing] Wrappers built off old API can still take advantage of the full widget context 2019-02-20 05:39:04 +10:00
Nyall Dawson
eb335c3973 [processing] Set full context for QgsProcessingAlgorithmConfigurationWidget in modeler config dialogs 2019-02-20 05:39:04 +10:00