12509 Commits

Author SHA1 Message Date
Nyall Dawson
f03baa871a [processing][grass] Don't try to create skipped optional outputs 2018-04-10 09:57:58 +10:00
Nyall Dawson
ee185cce4d [processing] Fix python runAlgorithm when algorithm has missing optional outputs 2018-04-10 09:57:58 +10:00
Nyall Dawson
60efbb539e [processing][grass] Fix broken r.li.renyi.ascii alg 2018-04-10 09:57:58 +10:00
Nyall Dawson
1fc5a0e597 [processing][grass] Fix broken r.statistics alg 2018-04-10 09:57:58 +10:00
Nyall Dawson
41a27f700f Attempt SAGA tests on Travis 2018-04-10 09:57:58 +10:00
Nyall Dawson
ea24847adf [processing] Try to resurrect grass tests 2018-04-10 09:57:58 +10:00
Matthias Kuhn
5b7b7be6e7
Merge pull request #6755 from m-kuhn/minimal_processing_fixes
Some fixes for processing
2018-04-09 12:34:03 +02:00
Martin Dobias
f378a23ed8
[FEATURE] Projects in PostgreSQL
Merge of pull request #6752
2018-04-09 09:53:16 +02:00
Matthias Kuhn
4a14a36034 Remove leftover method getCustomModelerParametersDialog 2018-04-09 09:15:15 +02:00
Matthias Kuhn
e2bf9b9db1
Merge pull request #6716 from signedav/fix_embeddedrelation
Use always id as identification on drag&drop form creator for relations
2018-04-09 08:52:01 +02:00
Nyall Dawson
7fa9d4120a [processing] Fix Distance Matrix alg considers distances to
same points

Add more unit tests

Fixes #17350
2018-04-09 12:48:50 +10:00
Nyall Dawson
45c400c25c QgsSvgCache fetches remote SVG files in a background task
Previously QgsSvgCache would often try to fetch remote images
using a network request on the main thread, by calling
processEvents repeatedly until the request was complete.

This caused lots of bugs, since the main thread processEvents
would proceed with all kinds of stuff assuming that the
svg fetch operation was complete, leading to frequent crashes
and deadlocks and making remote svg use impossible (it's
likely that the SVG cache remote fetching code was written
in the pre-multi-threaded rendering era).

There's no way to fix this with async svg fetching - we
HAVE to remove the processEvents call, and a QEventLoop
won't help either (since the method may be called on the
main thread). Accordingly the only solution is to
fetch the requested svg in the background, and return
a temporary "downloading" svg for use in the meantime.
We use a QgsNetworkContentFetcherTask to do this, so it's
nicely integrated with task manager.

A request task is fired up when a remote svg is requested
for the first time, with the temporary downloading svg
returned for use by the caller asynchronously. QgsSvgCache
then emits the remoteSvgFetched signal when a previously
requested remote SVG has been successfully fetched,
triggering a map canvas redraw with the correct SVG
graphic.

Fixes #18504
2018-04-09 12:43:05 +10:00
Nyall Dawson
3dec1755b6 [processing][grass] Allow operation on only selected vector features
Fixes #18218
2018-04-09 10:58:41 +10:00
Nyall Dawson
92634a9d92 [processing][grass] Allow use of feature sources as vector inputs 2018-04-09 10:58:41 +10:00
Nyall Dawson
b28e580a79 Indentation 2018-04-09 10:58:41 +10:00
Nyall Dawson
8b04188230 Don't use hardcoded paths in test 2018-04-09 10:58:41 +10:00
Nyall Dawson
aca75cfa6e [processing][grass] Fix use of v.external with ogr layers which
do not support random read

These layers are not compatible with v.external, so we have to
use v.in.ogr for them
2018-04-09 10:58:41 +10:00
Nyall Dawson
8ba762a630 [processing][grass] Fix grass vector algs don't work with memory layers
Fixes broken grass algs inside models (fixes #18662)
2018-04-09 10:58:41 +10:00
Nyall Dawson
f928e3dde9 [processing][grass] Add some missing imports 2018-04-09 10:58:41 +10:00
Nyall Dawson
c50a039745 [processing][grass] Push feedback object to algorithm methods 2018-04-09 10:58:41 +10:00
Nyall Dawson
ccccad54c0 [processing] Fix exception in processing.run when feedback
object is not specified
2018-04-09 09:18:04 +10:00
Martin Dobias
42969a4794 Add project_basename to project expr context, project_path for custom impls 2018-04-07 16:56:03 +02:00
Martin Dobias
663a9ac26a Test fixes 2018-04-07 12:58:02 +02:00
Martin Dobias
2aabad96e7 Fixes after Nyall's review + doxygen fixes 2018-04-07 12:58:02 +02:00
Martin Dobias
3ccb6c3336 Fix spelling and doxygen doc 2018-04-07 12:58:02 +02:00
Martin Dobias
2bbdc34334 Deprecate QgsProject::fileInfo() 2018-04-07 12:58:02 +02:00
Martin Dobias
15f7ec7854 Add abstraction of project's absolute file path, base name, last modified 2018-04-07 12:58:02 +02:00
Martin Dobias
47d5b7fc11 Handle ssl mode, service, authcfg in postgresql project URIs 2018-04-07 12:58:02 +02:00
Martin Dobias
2e847e2e96 Support for project items in browser for PostgreSQL
Switched from using URLs in mime data to URI list for drag-n-drop of projects
so that they are handled in the same way as the other browser items.
2018-04-07 12:58:02 +02:00
Martin Dobias
ab83455d83 Store last modified time in project storage + retrieve it 2018-04-07 12:58:02 +02:00
Martin Dobias
0f5ea535cb Implement project storage for PostgreSQL + tests of the storage 2018-04-07 12:58:02 +02:00
Martin Dobias
5963028caf Extend project storage interface: remove/rename projects, GUI support 2018-04-07 12:58:01 +02:00
Martin Dobias
a30646f1cb Introduced QgsProjectStorage and QgsProjectStorageRegistry
This is going to be used as an abstraction of how/where project
files are stored.
2018-04-07 12:58:01 +02:00
Nyall Dawson
4c8b1595a9 [processing] Fix GDAL algorithms do not run with memory layer inputs
Breaks execution of mixed QGIS/GDAL algorithms
2018-04-07 15:36:21 +10:00
Blottiere Paul
1a515c923d
Merge pull request #6717 from pblottiere/remove_qgd
Do not save .qgd file alongside .qgs when it's not used
2018-04-06 13:50:15 +01:00
Salvatore Larosa
747955ae47
Merge pull request #6721 from slarosa/zoom_selected_cm
[needs-docs] add zoom to selection action to contextual menu of the layer
2018-04-06 12:01:33 +02:00
Blottiere Paul
c47a6457b8 Do not save .qgd file alongside .qgs when it's not used 2018-04-06 11:00:08 +01:00
Nyall Dawson
1942854166 [processing] Port Explode Lines to c++
Aside from the performance benefits, the Python version of this
algorithm occasionally fails on Travis with odd errors. Hopefully
by porting to c++ it will fix these, or at least give useful
debug information in the event of a fail.

Also add support for curved input geometries.
2018-04-06 15:34:52 +10:00
Nyall Dawson
ebab649438 Fix some locator filters show results when no string is entered
and filter prefix is not used
2018-04-06 12:44:56 +10:00
Nyall Dawson
ccb72ebce2 [processing] Fixes for Service Area algorithms
- Output interpolated points when travel cost falls mid-way along
an edge
- Output all intermediate reachable points also
- Make outputting upper/lower bound points optional, and non-default.
Now by default we just output all definitely reachable points and
the interpolated points along edges which correspond to the travel cost.
This allows the output to be used to correctly generate service areas
e.g. by concave/convex polygons and all reachable nodes will be
included in the area.
- Allow algorithm to optionally output a line layer (and make the
point layer optional too, and default to just the line layer output)
containing all reachable line segments (including interpolated
segments of lines when the travel cost sits midway along that
edge). This output is more easily understandably for users.
2018-04-06 12:43:52 +10:00
Nyall Dawson
2e7455c180 Add some geometry utils for interpolating points on lines 2018-04-06 12:43:52 +10:00
Nyall Dawson
78a6118ba4 [processing] Fix broken Densify by Interval algorithm, add test
Fix #18640
2018-04-06 11:50:23 +10:00
Matthias Kuhn
4e4c189820 Remove unrequired cast 2018-04-05 22:50:13 +02:00
Matthias Kuhn
6eabb45043 Fix type hints in ModelerParametersDialog attributes 2018-04-05 22:47:23 +02:00
Matthias Kuhn
7c191a46c2 Make modeler text translatable 2018-04-05 22:47:12 +02:00
Matthias Kuhn
0aa8241da4 Avoid catch all exception 2018-04-05 22:46:59 +02:00
MieWinstrup
98621d7cd0 Added documentationstrings to new methods 2018-04-05 11:49:11 +10:00
MieWinstrup
924e2ec854 [FEATURE][Needs-docs] Move layer or group to top of layer panel
A feature that moves the layer(s) or group(s) to the top of the layer panel.
2018-04-05 11:49:11 +10:00
Nyall Dawson
8aa9a82d28 [FEATURE][processing] Add algorithm to swap x/y coordinate values
This algorithm swaps the X and Y coordinate values in input
geometries. It can be used to repair geometries which have
accidentally had their latitude and longitude values reversed.
2018-04-05 06:35:13 +10:00
Nyall Dawson
63c5e74946 Fix clazy pass small and trivially copyable object by value warnings 2018-04-05 06:35:13 +10:00