3805 Commits

Author SHA1 Message Date
Nyall Dawson
8d32bf729e Fix QgsGraphAnalyzer::dijkstra traverses through edges backwards
This means that it flips the direction of the graph edge, breaking
route restrictions.

Refs #17325
2017-10-31 16:01:32 +10:00
Nyall Dawson
57edec668e Fix incorrect enum values in network analysis algs
Didn't result in a bug, but made the code confusing to read
2017-10-31 16:01:32 +10:00
Nyall Dawson
ab05fe7603 Fix extremely confusing network graph API naming
Since names of api calls were backwards to expectations
2017-10-31 16:00:19 +10:00
Nyall Dawson
5ffd7214ee [processing] Shortest path handling for multipoint layers
Fixes shortest path algorithms fail for multipoint source layers
or layers with null geometries

Refs #17325
2017-10-31 16:00:18 +10:00
Nyall Dawson
4149da0556 Better reporting of errors when paths cannot be found, also
output point but with no geometry and missing attributes so
that it's clear which points could not be linked
2017-10-31 16:00:18 +10:00
Nyall Dawson
36a38f4e2d [processing] Keep attributes from start/end points layer in
output layer for shortest path algorithms

Otherwise the paths are nearly impossible to link back to
the source layer for further analysis
2017-10-31 16:00:18 +10:00
Nyall Dawson
49254384df Fix index out of range error in shortest path algs 2017-10-31 16:00:18 +10:00
Matthias Kuhn
d2c1011a13
Convert missing from[Geometry]XY calls 2017-10-30 09:14:06 +01:00
Matthias Kuhn
e0025b65b1
Rename QgsGeometry::fromPoint to QgsGeometry::fromPointXY
Also introduces the from[Geometry]XY for QgsGeometryFactory
2017-10-30 09:14:06 +01:00
Matthias Kuhn
750a54f8f6
More drop V2 suffix fixes 2017-10-30 09:14:05 +01:00
Matthias Kuhn
7f3ad76882
Rename QgsMultiPolygonV2 to QgsMultiPolygon 2017-10-30 09:14:04 +01:00
Matthias Kuhn
3fcdcd87af
Rename QgsMultiPointV2 to QgsMultiPoint 2017-10-30 09:14:04 +01:00
Matthias Kuhn
b6f46eae11
Rename QgsPolygonV2 to QgsPolygon 2017-10-30 09:14:04 +01:00
Nyall Dawson
68179e224c Merge pull request #5475 from nyalldawson/snap_to_grid
[FEATURE][processing] Native c++ snap to grid algorithm
2017-10-27 17:19:37 +11:00
Nyall Dawson
4372ac2658 [FEATURE][processing] Native c++ snap to grid algorithm
With support for snapping Z/M values, keeping curves
2017-10-27 15:16:15 +10:00
Harrissou Sant-anna
30aa5f5f96 Allow double typed values in algorithm
Also homogenize the output name
2017-10-27 13:09:39 +11:00
Nyall Dawson
034baf1b53 Merge pull request #5436 from alexbruy/processing-gdal-memory
[processing] correctly handle layers without attributes in GDAL-based geoprocessing algorithms (fix #17287)
2017-10-26 20:19:12 +11:00
Nyall Dawson
c50ee6d42f Update python code to new API 2017-10-26 07:06:34 +10:00
Etienne Trimaille
386eef2e6c new string concatenation algorithm in processing 2017-10-25 08:17:59 +11:00
Alexander Bruy
4a51c40821 [processing] correctly handle layers without attributes in GDAL-based
geoprocessing algorithms (fix #17287)
2017-10-24 15:33:49 +03:00
Alexander Bruy
04a8418a32 add tests for distance matrix algorithm 2017-10-24 15:27:23 +03:00
Alexander Bruy
c64f03d0a4 [processing] keep column names in standard distance matrix (fix #17150) 2017-10-24 15:27:22 +03:00
Nyall Dawson
46a6f25d6f Merge pull request #5418 from nyalldawson/from_polyline
Rename QgsGeometry::fromPolyline as QgsGeometry::fromPolylineXY
2017-10-24 08:21:30 +11:00
lbartoletti
977ce426db [FEATURE][processing]Transect processing
Adds a C++ version of the "ststion lines" plugin as a
new processing algorithm for creating transect lines.
2017-10-24 05:42:03 +11:00
Nyall Dawson
c4f3832af2 Rename QgsGeometry::fromPolyline as QgsGeometry::fromPolylineXY
and add new QgsGeometry::fromPolyline which uses QgsPoint

We want to encourage people not to use the QgsPointXY method, as it drops
Z/M values. So it's moved across to a different name to make way
for a new QgsGeometry::fromPolyline which uses a QgsPoint list
instead of QgsPointXY, thus keeping Z/M values intact.

Similarly, QgsPolyline now is a list of QgsPoint (keeping z/m values)
and the old 2d QgsPolyline type was renamed to QgsPolylineXY.

Making the QgsPoint method the "preferred" method and making linestrings
just as easy to create from z/m dimensioned points as 2d points is
important to push people to write code which does not discard
these important dimensions.

As a bonus, the QgsPoint methods are more efficient anyway, since
they don't require creation of a temporary list.
2017-10-22 18:10:14 +10:00
Juergen E. Fischer
f243b8448e postgres: add support for partitioned tables (implements #17302) 2017-10-21 17:39:18 +02:00
rldhont
efb84fd2ca Merge pull request #5337 from dmarteau/qgis_utils_refactoring
Disable message hook and import override at runtime
2017-10-20 10:25:45 +02:00
Nyall Dawson
4ce166241e Allow processing providers to specify a long name, and show it in tooltips
Add version number to gdal provider long name
2017-10-19 13:12:31 +10:00
Nyall Dawson
a33376fe09 Drop version and count from algorithm item in tree view 2017-10-19 12:01:40 +10:00
Nyall Dawson
925ec6098c [processing] Always list native algorithms before 3rd party providers
This change ensures that searching for algorithms always returns
native algorithms before matching 3rd party algorithms

TODO: we really need to replace the toolbox tree with a proper
model and redo the sorting/filtering using a sort/filter proxy
model.
2017-10-19 12:01:40 +10:00
Alexander Bruy
a6ac876d90 [processing] update test data 2017-10-18 18:41:39 +03:00
volaya
fe780afc81 [processing] allow reordering in multiple selection dialog 2017-10-18 16:20:47 +02:00
Alexander Bruy
d0623620a3 [processing] retrieve dissolve parameter as boolean value 2017-10-18 16:21:57 +03:00
David Marteau
40b916c7a3 Disable message hook and import override at runtime 2017-10-17 09:40:22 +02:00
Matthias Kuhn
ba9e0437cc Merge pull request #5386 from m-kuhn/pylintFixes
Pylint fixes
2017-10-17 08:31:48 +02:00
Nyall Dawson
5b1afd86bc "Loosen" up acceptable parameter for model child inputs
Previously we took a harsher approach to filtering which inputs
were acceptable for child algorithm parameters. E.g. a child algorithm
with a vector layer input would only show outputs from other algorithms
which generated a vector layer output.

But this can needlessly restrict what's possible in models. E.g.
an algorithm which outputs a QgsProcessingOutputFile or
QgsProcessingOutputString could potentially be a valid source
to a vector layer. So we should allow these as possible
inputs for vector layer parameters too.

This commit adds many extra acceptable input types for
child parameters. It will probably expose "corner cases" where
algorithms may get unexpected input types, but these will
not affect existing model stability and can be fixed when
identified.

The payoff is a much more flexible modeler.
2017-10-17 08:55:27 +10:00
Matthias Kuhn
23c7517dc9 Migrate processing help to new processing registry 2017-10-16 23:34:34 +02:00
Matthias Kuhn
60db6b0665 Fix member access in postgis.py 2017-10-16 23:34:19 +02:00
Matthias Kuhn
6538ba0bf2 Fix too-many-format-args 2017-10-16 23:25:13 +02:00
Matthias Kuhn
d793f6c5ab Fix typo in method name 2017-10-16 23:22:09 +02:00
Matthias Kuhn
7c8cdff216 Fix used-before-assignment 2017-10-16 23:21:51 +02:00
Matthias Kuhn
34a9d91488 Fix broken error handling 2017-10-16 23:16:30 +02:00
Matthias Kuhn
28c67e1c01 Remove double-defined __init__ function 2017-10-16 23:05:14 +02:00
Matthias Kuhn
8b3a348b6d Fix file modes 2017-10-16 23:00:53 +02:00
Nyall Dawson
54f8825350 Fix processing tests 2017-10-16 20:10:37 +11:00
Nyall Dawson
e92e20e613 Move native c++ processing algorithms from core library to analysis
And split into separate files for each algorithm
2017-10-16 20:10:37 +11:00
Nyall Dawson
18f85d9e54 Port drop M/Z algorithm to c++ 2017-10-13 08:30:12 +10:00
Nyall Dawson
b5197c8c53 Port drop geometries to c++ 2017-10-13 08:29:37 +10:00
Nyall Dawson
2951afa324 Port boundary algorithm to c++
Also allow feature based algorithms to customise their appectable
input layers types and set suitable filters for all applicable
algorithms
2017-10-13 08:28:34 +10:00
Nyall Dawson
97c1b0d322 [FEATURE] Port autoincremental field to c++
Also add:
- support for setting initial value for field to start at
- support for user-set field names (instead of always using 'AUTO')
2017-10-13 08:26:36 +10:00