260 Commits

Author SHA1 Message Date
Nyall Dawson
08505b388a [processing] Allow restricting fields to date/time types 2016-11-30 15:04:21 +10:00
Nyall Dawson
86ab3022b5 Remove layer extent and statistic variables from processing contexts
These variables take a lot of time to calculate and cause lots of
lengthy hangs in processing. (Eg add some moderately large rasters
to a project, then try to run any processing algorithm and QGIS
will freeze).

The layer extent can already be used in expressions via the
layer_property function, which only evalutes the extent if required
and only for layers it is used for.

The band stats for raster layers should be moved to a
band_statistic function in core which behaves the same way.
2016-11-22 11:17:38 +10:00
Nyall Dawson
377cba0b74 [processing] Use real map settings scope instead of custom canvasextent variables 2016-11-22 11:17:38 +10:00
Nyall Dawson
f24cda4402 [processing] Add unit tests for retrieving param from script code
And fix number param retrieving from script code
2016-11-13 20:34:35 +10:00
Nyall Dawson
28d7ceaef5 Some fixes to processing expression parameters 2016-11-11 20:13:12 +10:00
Nyall Dawson
132e76a596 [FEATURE][processing] New input type for expressions
This adds a new input type for expression inputs. Expression
inputs can be linked to a parent layer so that the builder
shows the correct fields and layer variables.

It's designed for two use cases:

1. to be used when an algorithm specifically requires an expression,
eg Select by Expression and Extract by Expression.

2. to be potentially used as a replacement input instead of string
or number literals in algorithms. Eg - if the simplify algorithm
tolerance parameter was replaced with an expression paremeter, then
this expression would be evaluated for every feature before
simplifying that feature. It would allow parameters to be calculated
per feature, as opposed to the current approach of calculating
a parameter once before running the algorithm. It would also
mean algorithms like "variable distance buffer" would no longer
be needed, as a single "buffer" algorithm could then be used
for either a fixed distance, field based, or expression based
distance.
2016-11-11 13:26:31 +10:00
Nyall Dawson
3550cc99a6 [processing] Allow algorithms to specify tags
Tags are used while searching in the toolbox. This should help with
finding algorithms when the exact name is not known, eg
you could search for "envelope" or "bounds" and find the
'Polygon from Layer Extent' algorithm.

At the moment it's quite hard to discover algorithms which exist
when you don't know what their called and have to instead search
for every possible naming variant which could exist...
2016-11-08 10:15:31 +10:00
Nyall Dawson
6a99017bf0 [processing] Use with ... when opening files 2016-11-07 11:36:38 +10:00
Sandro Santilli
06976a2e87 Make Extent and Extent CRS GDAL parameters optional
Specify what the default is when extent CRS is not specified.
Allow using "auto" to have extent automatically set to min covering extent.

Fixes #15685
2016-10-20 10:51:30 +02:00
volaya
b83fbb16c9 [processing] warn if extent might not be in the expected CRS 2016-10-18 16:55:19 +03:00
volaya
eb5fc90f44 [processing] dont use hidden outputs when exporting to python or displaying alg help
fixes #14998

Conflicts:
	python/plugins/processing/core/GeoAlgorithm.py
2016-10-18 16:55:19 +03:00
nirvn
730b5b79ab [processing] fix missing argument when calling getMinCoveringExtent() 2016-10-18 10:55:17 +07:00
volaya
25d0351d57 [processing] fixed creating params and outputs from description strings 2016-10-17 14:41:16 +02:00
volaya
bc0cdc7b0d [processing] fixed handling of integer values 2016-10-05 12:39:02 +02:00
arnaud.morvan@camptocamp.com
4184934b9a [processing] Apply 2to3 on changes 2016-10-05 12:39:01 +02:00
volaya
6f498a3138 [processing] removed debug line 2016-10-05 12:38:56 +02:00
volaya
db7b1e7890 [processing] correctly resolve values for hidden outputs 2016-10-05 12:38:55 +02:00
Alexander Bruy
3407ced90e fix indentation
Conflicts:
	python/plugins/processing/gui/BatchInputSelectionPanel.py
	python/plugins/processing/gui/wrappers.py
2016-10-05 12:38:50 +02:00
volaya
36abbc427c [processing] allow multiple values in ParameterSelection 2016-10-05 12:38:32 +02:00
volaya
53d0372cad [processing] return copy of object dictionary in parameter todict method 2016-10-05 12:38:26 +02:00
volaya
d07aef9c5b [processing] added missing return statement in getParameterFromString 2016-10-05 12:38:25 +02:00
volaya
257faf3083 [processing] fixed evaluation of output values 2016-10-05 12:38:24 +02:00
volaya
0ea66299c8 [processing] fixed error in constructor of ParameterTableField 2016-10-05 12:38:23 +02:00
volaya
dfb4cdd34b [processing] moved output value evaluation to output object itself 2016-10-05 12:38:20 +02:00
volaya
bd06316c9d [processing] richer expressions in number parameters 2016-10-05 12:38:16 +02:00
volaya
e08fdaa444 [processing] support for expressions in numerical values in modeler
includes cleanup of modeler, to adapt to latest changes in parameters architecture
2016-10-05 12:38:11 +02:00
volaya
fe5d0166cc [processing] added multiple option to ParameterTableFIeld
removed ParameterTableMultipleField and did some cleanup
2016-10-05 12:38:09 +02:00
volaya
bc06600871 [processing] more work on parameter wrappers 2016-10-05 12:35:03 +02:00
volaya
e353d226a8 [processing] evaluate parameters before executing algorithm
This allows a better use of expressions
2016-10-05 12:35:02 +02:00
volaya
01f380863f [processing] improvements for scripts and R scripts 2016-10-05 12:35:01 +02:00
volaya
efd73a491f [processing] fixes for new parameters architecture
includes better managing of crd and extent parameters in models, not requiring now the use of modeler-only lags
2016-10-05 12:35:00 +02:00
volaya
b298c76ee4 [processing] implemented parameter widget wrappers
Conflicts:
	python/plugins/processing/core/GeoAlgorithm.py
	python/plugins/processing/gui/ExtentSelectionPanel.py
	python/plugins/processing/modeler/ModelerParametersDialog.py
2016-10-05 12:34:58 +02:00
volaya
8cc9a50a52 [processing] moved script syntax from script algorithm class to parameters classes 2016-10-05 12:34:57 +02:00
arnaud.morvan@camptocamp.com
6158e9b340 Add CrsWidgetWrapper 2016-10-05 12:34:55 +02:00
arnaud.morvan@camptocamp.com
728be70c0b Create the boolean widget wrapper 2016-10-05 12:34:50 +02:00
arnaud.morvan@camptocamp.com
ecb7b3a096 Remove metadata from parameter.todict (do not save in model) 2016-10-05 12:34:49 +02:00
arnaud.morvan@camptocamp.com
2ad27b172e Add metadata property to parameters 2016-10-05 12:34:48 +02:00
Juergen E. Fischer
31df84aa6b run 2to3 on source 2016-09-21 23:30:04 +02:00
Alexander Bruy
6f6979ab0b [processing] remove obsolete methods 2016-09-15 19:50:51 +03:00
arnaud.morvan@camptocamp.com
d85de7ccd8 Fix ParameterGeometryPredicate.getValueAsCommandLineParameter 2016-09-08 19:44:45 +02:00
arnaud.morvan@camptocamp.com
c369710667 Calculate min coverage on execution 2016-09-04 17:58:17 +02:00
Alexander Bruy
65db336eaf [processing] move some constants to the dataobjects module 2016-09-02 09:28:45 +03:00
Alexander Bruy
7e26124c2b [processing] support for output geometry types (work in progress) 2016-09-02 09:28:32 +03:00
Alexander Bruy
6a7fa7dd5a [processing] add missed error() method 2016-08-23 11:25:14 +03:00
Alexander Bruy
acdde31b3d [processing] more cleanups (follow up 06c4b07222) 2016-08-05 15:05:36 +03:00
Alexander Bruy
4c39bd12e8 [processing] introduce OutputCrs output and add algorithms to get layer CRS in modeler 2016-08-05 12:55:26 +03:00
Matthias Kuhn
bb79d13e82 Remove deprecated Qgis::WKBType and API cleanup (#3325)
* Remove deprecated Qgis::WKBType and API cleanup

Renames QgsWKBTypes to QgsWkbTypes

Replaces usage of the enums:

* Qgis::WKBType with QgsWkbTypes::Type
* Qgis::GeometryType with QgsWkbTypes::GeometryType

Their values should be forward compatible (a fact that was already
explited up to now by casting between the types)

Renames some SSLxxx to SslXxx and URIxxx to UriXxx

* Fix build warnings and simplify type handling

* Add a fixer to rewrite imports

* The forgotten rebase conflictThe forgotten rebase conflicts

* QgsDataSourcURI > QgsDataSourceUri

* QgsWKBTypes > QgsWkbTypes

* Qgis.WKBGeom > QgsWkbTypes.Geom

* Further python fixes

* Guess what... Qgis::wkbDimensions != QgsWkbTypes::wkbDimensions

* Fix tests

* Python 3 updates

* [travis] pull request caching cannot be disabled

so at least use it in r/w mode

* Fix python3 print in plugins
2016-08-04 09:10:08 +02:00
Nyall Dawson
fbc5e0fc8e Fix indentation 2016-06-07 11:11:59 +10:00
Marco Bernasocchi
f9ab7223fc [processing] ParameterTableMultipleField type added
This adds a widget with multiple column attributes selector
2016-06-03 09:27:51 +02:00
Marco Bernasocchi
2dea7c8c93 [processing] allow optional in all getAsScriptCode 2016-06-03 09:27:51 +02:00