7924 Commits

Author SHA1 Message Date
volaya
8ec3eaf456 Merge pull request #3839 from anitagraser/patch-2
[processing] Create cost allocation map output
2016-12-09 12:09:11 +01:00
volaya
322b703944 [processing] made WHERE param optional and advanced in v.surf.rst algorithms
Fixes #15786
2016-12-09 10:21:53 +01:00
volaya
c713747279 [processing] fixed GRASS algorithm descriptions 2016-12-09 08:54:43 +01:00
Nyall Dawson
4b6f3a3ee5 [FEATURE][processing] New algorithm to orthagonalize geometries
Adds a new QgsGeometry::orthagonalize method which tries to make
angles in geometries either right angles or straight lines

Also adds a processing algorithm exposing this feature.
2016-12-09 09:41:56 +10:00
Nyall Dawson
379e7a42e6 Add some more QgsVector operators, allow use of QgsVector with QgsPointV2 2016-12-09 08:13:48 +10:00
Nyall Dawson
77a8e18ec1 Add methods to add/subtract QgsVectors 2016-12-09 08:13:48 +10:00
volaya
e41c2a7b05 [processing] allow saving custom predefined expressions 2016-12-08 10:12:23 +01:00
Nyall Dawson
37edb69c21 Merge pull request #3843 from nyalldawson/oriented
Port minimum oriented bounding box to QgsGeometry
2016-12-08 05:52:59 +10:00
Alexander Bruy
897d27fa5c fix import 2016-12-07 15:39:16 +02:00
volaya
a8dd95addd Fixed wrong import 2016-12-07 13:56:37 +01:00
volaya
bb7b6d41bc [processing] added predefined expressions to raster calculator 2016-12-07 13:12:42 +01:00
Nyall Dawson
8a3c1efefe Merge pull request #3840 from DelazJ/selectedfeaturesids
Replace selectedFeaturesIds by selectedFeatureIds
2016-12-07 21:44:24 +10:00
Nyall Dawson
1bdb35d630 Avoid key error on fields which should be skipped 2016-12-07 20:13:29 +10:00
Nyall Dawson
c975764c12 Port processing oriented minimum bounding box alg to QgsGeometry 2016-12-07 20:13:29 +10:00
Nyall Dawson
75f51bc16e [processing][heatmap] Fix alg in batch mode, mark some params as advanced 2016-12-07 13:50:12 +10:00
Nyall Dawson
51206590c9 [processing] Use newer basic stats algorithm in vector menu 2016-12-07 13:30:54 +10:00
Nyall Dawson
bef5b5ed68 [processing][heatmap] custom parameter/widget for output resolution
Matches current behaviour of c++ heatmap plugin
2016-12-07 12:23:58 +10:00
Harrissou Sant-anna
f9578bf60b Replace selectedFeaturesIds by selectedFeatureIds 2016-12-07 00:19:11 +01:00
Nyall Dawson
83c38b0172 [FEATURE][processing] Port heatmap plugin to processing algorithm 2016-12-07 08:27:24 +10:00
Nyall Dawson
f2127464d3 Move heatmap generation code to analysis lib
And clean it up a lot
2016-12-07 08:26:55 +10:00
Anita Graser
dd0df199fc Create cost allocation map output 2016-12-06 19:21:51 +01:00
Anita Graser
231f97ab97 Create cost allocation map output 2016-12-06 19:21:22 +01:00
Anita Graser
de054e70b7 Added second algorithm output
Second output raster contains cost allocation map, as described in https://grass.osgeo.org/grass70/manuals/r.cost.html#cost-allocation
2016-12-06 16:30:21 +01:00
Nyall Dawson
adff069d5a Cleanup QgsTask API for dependent layers 2016-12-06 20:02:34 +10:00
volaya
0a2e1043da Revert "[processing] fixed expected test hashes"
This reverts commit 5c6c18caadb9123c593db085b1c8822f7d74e9f7.
2016-12-06 09:27:21 +01:00
volaya
96b8a90758 [processing] In raster calculator, use filename without extension to refer to layer 2016-12-06 09:03:51 +01:00
volaya
ec8aea2f60 [processin] fixed wrong parameter type 2016-12-06 07:19:24 +01:00
Alexander Bruy
62cb38153c [processing] prevent divizion by zero (fix #15825) 2016-12-05 20:14:29 +02:00
Alexander Bruy
2fea23f1e5 Merge pull request #3779 from volaya/rastercalculator
[processing] add native raster calculator
2016-12-05 20:03:23 +02:00
volaya
5c6c18caad [processing] fixed expected test hashes 2016-12-05 14:59:26 +01:00
volaya
b7daf9bca3 [processing] changed input type from vector layer to table for execute sql algorithm 2016-12-05 13:52:13 +01:00
volaya
16da906398 [processing] allow multiple selection of tables 2016-12-05 13:39:38 +01:00
Alexander Bruy
77bbeaa99f fix loading of models containing user-defined scripts 2016-12-05 10:31:38 +02:00
Nyall Dawson
b1b647349a Merge pull request #3004 from nyalldawson/task_manager
[FEATURE] Task manager
2016-12-05 17:47:38 +10:00
Nyall Dawson
cc702c9c81 Remove (probably unnecessary) copy_func usage 2016-12-05 16:46:10 +10:00
Nyall Dawson
d03d0a5b47 Add some python docstrings to QgsTask.fromFunction 2016-12-05 14:08:12 +10:00
Nyall Dawson
feb3219852 Update doxygen 2016-12-05 14:08:12 +10:00
Nyall Dawson
e35420a8d9 Force QgsTask::run() to fully complete
Remove support for signal based completion/termination

Also unfortunately disable a lot of the test suite as a result,
since it's not easily translatable
2016-12-05 14:08:12 +10:00
Nyall Dawson
268e5127f2 Make QgsTask::start private
Only allow starting tasks to be done by QgsTaskManager
2016-12-05 14:08:12 +10:00
Nyall Dawson
297b5724df QgsTask is no longer a QRunnable
Instead use a private wrapper class to make QgsTask compatible
with QThreadPool
2016-12-05 14:08:12 +10:00
Nyall Dawson
29f310c070 Convert QgsTask.fromFunction to a static method 2016-12-05 14:08:11 +10:00
Nyall Dawson
619381c0ad Call QgsTaskWrapper.on_finished with exception rather than result 2016-12-05 14:08:11 +10:00
Nyall Dawson
fded1a1f39 Don't explode returned values in QgsTaskWrapper
Breaks returning list values
2016-12-05 14:08:11 +10:00
Nyall Dawson
a24690d6db Task manager GUI cleanups 2016-12-05 14:08:11 +10:00
Nyall Dawson
0dcff4491e Respect QgsTask::CanCancel flag in gui 2016-12-05 14:08:11 +10:00
Nyall Dawson
466b0b96b7 Tasks are treated as progressless until they first report a progress 2016-12-05 14:08:11 +10:00
Nyall Dawson
4dc3dd9077 Allow task priority to be specified 2016-12-05 14:08:11 +10:00
Nyall Dawson
5216220872 Fix more racy conditions
Switch from QtConcurrent::run to QThreadPool::start

QtConcurrent doesn't give us anyway to cancel queued but not
started tasks. QThreadPool does (and also allows us to specify
task priority)
2016-12-05 14:08:11 +10:00
Nyall Dawson
14b6b3f6ee Harden everything up
And finally fix a racy condition which has been plaguing me for
ages
2016-12-05 14:08:11 +10:00
Nyall Dawson
32a9e1e9d6 QgsTasks can have subtasks
Now, a QgsTask can have subtask QgsTasks set by calling
QgsTask::addSubTask. Sub tasks can have their own set of
dependent tasks.

Subtasks are not visible to users, and users only see the overall
progress and status of the parent task.

This allows creation of tasks which are themselves built off
many smaller component tasks. The task manager will still handle
firing up and scheduling the subtasks, so eg subtasks can run
in parallel (if their dependancies allow this).

Subtasks can themselves have subtasks.

This change is designed to allow the processing concept of
algorithms and modeller algorithms to be translatable
directly to the task manager architecture.
2016-12-05 14:08:11 +10:00