119 Commits

Author SHA1 Message Date
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
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
Nyall Dawson
cc19d0a70d Port hub lines algorithm to c++
Also:
- optimise a bit
- retain z/m values
- use point on surface for non-point layers, instead of
center of geometry bounding box
2017-10-13 08:26:36 +10:00
Nyall Dawson
cac171a2e0 Port Join Attributes to c++, add option to select subset of fields to copy 2017-10-13 08:26:36 +10:00
Alexander Bruy
c53ff66caf fix permissions 2017-10-11 17:06:11 +03:00
Nyall Dawson
0dd434c183 [processing] Port mean coordinates to c++
And remove final use of inefficient vector.extractPoints function
2017-09-23 09:25:18 +10:00
nirvn
04ee85f0e8 [processing] native save selected features algorithm 2017-09-15 15:51:30 +07:00
Nyall Dawson
d96a3f4dd4 Port simplify geometries to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
8e8f3edc55 Port merge lines and smooth to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
7c5521ecdf Port fix geometries alg to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
be88da8173 [FEATURE][processing] Add 'Join by location (summary)' algorithm
Like the main Join Attributes by Location algorithm, this algorithm
takes two layers and combines the attributes based on a spatial
criteria.

However this algorithm calculates summaries for the attributes for
all matching features, e.g. calculating the mean/min/max/etc.

The list of fields to summaries, and the summaries to
calculate for those, can be selected.
2017-09-13 18:45:56 +10:00
Nyall Dawson
640a27b4ea Drop python Select/Extract by Location algs 2017-09-08 20:34:52 +10:00
Nyall Dawson
7627851026 Fix bad strings 2017-09-05 19:46:49 +10:00
Nyall Dawson
a55fbd8ef3 [FEATURE] Remove Singleparts to Multiparts algorithm
This algorithm is no longer required - it's been replaced by
the 'Promote to multipart' and 'Collect geometries" algorithms.

Tagged as feature to remember to include in release notes
2017-09-05 19:41:28 +10:00
Alexander Bruy
b5bb7df7eb Merge pull request #5111 from nyalldawson/min_bounding_geom_alg
[FEATURE] New processing algorithm "minimum bounding geometry"
2017-09-05 11:58:15 +03:00
Nyall Dawson
d08398f785 [FEATURE] Drop processing 'Select by Attribute Sum' algorithm
Tagged as feature to be included in release notes.

Because:

- The use case for this algorithm is very unclear for users - the name
does not describe what the algorithm does, and there's no help
documentation available for the algorithm either. Given this I suspect
that the algorithm is not being put into use.

- The algorithm needs enhancement to be more useful. There's no logic
in place which dictates how neighbouring features are chosen to
dissolve into the selected feature (it's effectively random - you're
just as likely to get a huge narrow polygon stretching across a map as
you are a nice compact cluster). To be more useful the algorithm would
need logic to either minimise the area of the dissolved feature, or
minimise the total number of dissolved features, or ... ?
2017-09-05 17:22:11 +10:00
Nyall Dawson
5d504dcafb Unify processing "polygon from layer extent" algorithms
Now that the extra features of the "polygon from vector layer extent"
algorithm are covered by the new "Minimum bounding geometry" algorithm,
we can replace the previous two "polygon from vector extent" and
"polygon from raster extent" algorithms by a single "polygon
from layer extent" algorithm.
2017-09-04 08:42:03 +10:00
Nyall Dawson
95eab5127f Remove redundant algorithms 2017-09-04 08:42:03 +10:00
Nyall Dawson
83affdc7f5 [FEATURE] New processing algorithm "minimum bounding geometry"
This algorithm creates geometries which enclose the features
from an input layer.

Numerous enclosing geometry types are supported, including
bounding boxes (envelopes), oriented rectangles, circles and
convex hulls.

Optionally, the features can be grouped by a field. If set,
this causes the output layer to contain one feature per grouped
value with a minimal geometry covering just the features with
matching values.
2017-09-04 08:42:03 +10:00
lbartoletti
e30f7044c9 [FEATURE][Processing] Minimal enclosing circle 2017-09-03 07:37:53 +10:00
Nyall Dawson
44e7f3371e [FEATURE] New algorithm for creating vector layer from raster layer's extent
Allows creation of a new vector layer with a single feature containing
a raster layer's extent. Previously this was only possible for
vector layers.
2017-08-30 14:40:21 +10:00
arnaud.morvan@camptocamp.com
4b5d81b370 [processing] Add Aggregate algorithm 2017-08-16 10:46:15 +02:00
Nyall Dawson
c8ac7841f0 Port Points Displacement algorithm to new API
Rework algorithm to use same approach as points displacement
renderer. Also maintain Z/M values, and add tests and docs.
2017-08-14 01:42:15 +10:00
Harrissou Sant-anna
24adf77e5d more typo fixes 2017-08-11 13:17:15 +02:00
Mathieu Pellerin
1053823369 [processing] improve rasterize dialog UI, add help (#5008) 2017-08-11 13:29:58 +07:00
Nyall Dawson
4ab4a1fcad Spell check 'mitre' -> 'miter' (i.e. use en-us variation) 2017-08-07 18:08:57 +10:00
Juergen E. Fischer
487a7a00b7 fix 'allows to/allows one to' spell errors and enhance to our spellchecker to deal with those 2017-08-06 17:34:22 +02:00
Nyall Dawson
ec4df6c019 Port points to path to new API
Improvements:
- Maintain Z/M values
- Keep original data type for group/order fields
- Group field is optional
- Added unit tests
- Don't export text files for features by default
2017-08-05 17:51:38 +10:00
Nyall Dawson
b4b39996d2 Port hub lines algorithm to new API
Improvements:
- transparent reprojection to match hub/spoke CRS
- keep all attributes from matched hub/spoke features
- don't break after matching one hub point to spoke - instead
join ALL hub/spoke points with matching id values
2017-08-05 17:51:38 +10:00
Alexander Bruy
1f276a12bf [processing] port raster layer statistics 2017-08-01 14:52:25 +03:00
Nyall Dawson
dd0f18355b [FEATURE] Followup addition of set Z/M values algs with Drop Z/M Values algorithm
Allows easy access to drop any z or m values present in a layer (e.g. if
required for compatibility with a database destination, etc)
2017-07-18 19:41:33 +10:00
Nyall Dawson
340cf93f93 [FEATURE] New algorithms to add Z/M values to existing geometries
Allows upgrading geometries to include these dimensions, or
overwriting any existing Z/M values with a new value.

Intended mostly as a test run for QgsProcessingFeatureBasedAlgorithm
2017-07-18 19:41:33 +10:00
Nyall Dawson
dd38c52dd8 [needs-docs] Copy unique class field option from Points in Polygons Unique
to Points in Polygons

Again, it doesn't make sense for a whole separate algorithm just to
add a single option
2017-07-15 14:50:15 +10:00
Nyall Dawson
b67e525f29 [needs-docs] Add optional weight field to Points In Polygon algorithm
Instead of a separate Points In Polygon algorithm just for this
extra option, add it to the original Points In Polygon algorithm
as a non-default option.
2017-07-15 14:50:10 +10:00
Harrissou Sant-anna
6fab688298 Use SpatiaLite right spelling when needed 2017-07-07 01:26:38 +02:00
Nyall Dawson
33aa798c2a Make 'merge' algorithm store the original layer name and source 2017-06-22 18:18:22 +10:00
Nyall Dawson
386c4246b2 Merge algorithm reprojects layers so that all features are
in CRS of first input layer
2017-06-12 07:26:02 +10:00
Harrissou Sant-anna
fcc06ce380 More typo fixes 2017-06-08 09:55:25 +02:00
Harrissou Sant-anna
a148a7890d Typo fix and list ordering 2017-06-08 09:55:25 +02:00
Nyall Dawson
92249c1a33 [FEATURE][processing] Snap Geometries algorithm can now snap
within the same layer

Allows closure of gaps within a layer
2017-03-30 13:54:05 +10:00
Nyall Dawson
a769448e70 Also port processing densify to distance to c++
- Add QgsGeometry method to densify by distance
- Fix bug in processing algorithm which resulted in duplicate
vertices and incorrectly spaced extra vertices
2017-03-25 16:23:29 +10:00
Nyall Dawson
77e7693c48 Fix spelling errors in processing algorithm help 2017-03-25 16:23:29 +10:00
Nyall Dawson
b90aa916e6 Port processing Densify Geometries algorithm to use c++ densify
Rough benchmark using 50k geometry polygon shapefile

Before: 1m25s
After:  21s
2017-03-25 16:23:29 +10:00
Juergen E. Fischer
a10c890383 More QgsSettings updates:
* revives WMS
* QgsSettings::clear() added
* section added to QgsSettings::contains()
* type parameter added to sip binding of QgsSettings.value()
* TODO: customization & evis
2017-03-04 02:37:59 +01:00
Bernhard Ströbl
115ede60ce [processing] replace alg Eliminate with new alg EliminateSelection
* [processing] replace alg Eliminate with new alg EliminateSelection

* Deprecate Eliminate algorithm

* Expose new EliminateSelection algorithm in GUI

* Rename ouput layer

* Reflect algorithm changes in help

* Remove superfluous init method

* Simplify code, thanks Nyall

* Improve transfer of selection to processLayer

* Remove deprecated Eliminate algorithm

* Remove test for Eliminate

* Fix indentation
2017-02-23 09:33:28 +01:00
Nyall Dawson
74abd5bbf6 [FEATURE][processing] Topological coloring can have a minimum
distance between features assigned the same color set
2017-02-22 12:54:34 +10:00
Nyall Dawson
5c43e0b22b Add method to assign colors in order to maximize the distance between
features assigned to same color

This is the most cartographically pleasing color arrangement in my
opinion as it creates a nicely distributed set of colors.
2017-02-22 12:37:12 +10:00
Nyall Dawson
ac5e292243 Allow specifying minimum number of colors for coloring map 2017-02-22 12:10:13 +10:00
Nyall Dawson
1cf0a20267 [FEATURE][processing] New algorithm for topological coloring of polygons
This ports to old (pre 2.0!!) topocolor plugin to processing. It's based
off my beta 2.x fork (never publicly released) which implemented
a bunch of improvements to the algorithm allowing for minimal number
of required colors and also balanced counts of features assigned
each individual color.

** Pretty sure this plugin was highlighted in Victor's presentation
about plugins-which-shouldn't-be-plugins-and-should-be-processing-algs
instead. It's a prime example of a plugin where the amount of code
required for gui+setup exceeded the actual "guts" of the plugin by
a huge factor, and which is much more useful when it can be
integrated into a larger processing model.
2017-02-22 12:10:13 +10:00