10583 Commits

Author SHA1 Message Date
Nyall Dawson
26b9c043b4 Merge pull request #5116 from nyalldawson/remove_transect
Remove QgsTransectSample
2017-09-06 04:22:00 +10:00
Alessandro Pasotti
5f5be25357 Merge pull request #5124 from boundlessgeo/providers_gui_config
Providers gui config
2017-09-05 19:27:47 +02:00
Matthias Kuhn
63d0a91566
[FEATURE] History for attribute table form view display expressions
It's possible to re-use the last 10 display expressions in the form view
of the attribute table.

The expressions will also be persisted in the project file.

Using fields will now show field aliases instead of column names where
available.
2017-09-05 18:18:15 +02:00
Alessandro Pasotti
41eccd1bf9 Sip updates for qgssourceselectprovider 2017-09-05 16:56:09 +02:00
Richard Duivenvoorde
117261bfb7 Fix for #17104 2017-09-05 14:16:48 +02:00
Matthias Kuhn
8efa9fa815 [FEATURE] Add "starts with" and "ends with" to multi attribute search 2017-09-05 14:15:38 +02:00
Nyall Dawson
655f121af5 Merge pull request #5129 from nyalldawson/collect
[processing] Rework 'singlepart to multipart' algorithm
2017-09-05 20:56:21 +10:00
Matthias Kuhn
4ea4478bad Thread safety for feature counter
Make sure that results from a feature counter will only be delivered on
the main thread and that they will be discarded if the layer is deleted
meanwhile.
2017-09-05 12:18:52 +02: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
Nyall Dawson
16c4f830b3 [FEATURE] New algorithm for 'collecting' geometries
This is basically the equivalent of the dissolve algorithm, but
instead of a dissolving overlapping geometries the geometries
are instead just collected together into a multipart geometry.

It's designed to slot between the 'promote to multipart' algorithm
(which performs no collection of geometries - it just converts
singleparts to multiparts with 1 part) and the more complex
all-encompassing 'aggregate' algorithm.
2017-09-05 19:41:27 +10:00
Nyall Dawson
3484eb019c [FEATURE] Native 'Promote to Multipart' algorithm
This algorithm is basically the equivalent of the ST_Multi(...)
command - it forces a feature's geometry to become multipart,
regardless of the input geometry type.

If input geometries are singlepart, they will output as
multipart with just 1 part. If they are already multipart,
they will be output unchanged.
2017-09-05 19:40:35 +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
a77950cbf6 SIP, indentation and documentation updates 2017-09-05 09:53:48 +10:00
Nyall Dawson
62dcd0dad5 Start work on undo/redo support for layouts 2017-09-05 09:39:22 +10:00
Nyall Dawson
1589b4e648 Implement some saving/restoring layout items to XML 2017-09-05 09:39:22 +10:00
Nyall Dawson
66e1cf04e6 Port methods to retrieve layout items 2017-09-05 09:39:22 +10:00
Nyall Dawson
ddb3198ef2 Add some more debugging to processing algorithm test
Trying to pinpoint which algorithm occasionally segfaults during
test runs
2017-09-05 09:18:16 +10:00
Alessandro Pasotti
e21630db42 Sipify 2017-09-04 21:08:11 +02:00
Alessandro Pasotti
884b58c56d Resistance is futile, you will be sipified 2017-09-04 17:35:48 +02:00
Alessandro Pasotti
50e0a01008 Sip updates for source select provider and registry 2017-09-04 15:15:20 +02:00
Alessandro Pasotti
1816087485 QgsSourceSelectProviderRegistry delayed initialization
Due to QgsGui being initialized after data provider.
2017-09-04 09:10:56 +02:00
Alessandro Pasotti
90f873086c Attach QgsSourceSelectProviderRegistry to QgsGui
And make it a singleton
2017-09-04 08:00:14 +02:00
Nathan Woodrow
df7c3df473 Revert "Ignore some python warnings for now"
Doesn't work on all platforms

This reverts commit f0e53db254f38071e87b993b580ea050b19f4b17.
2017-09-04 14:22:24 +10:00
Nathan Woodrow
f0e53db254 Ignore some python warnings for now
shhhh Qt5
2017-09-04 12:30:26 +10:00
Nyall Dawson
fadfb3562a Fix error when adding disabled plugin based processing providers 2017-09-04 11:16:17 +10:00
Nyall Dawson
ea09aa92a3 Remove QgsTransectSample
Because:
- it's unused in master, and is more code to maintain
just for possible use by plugins
- it's unmaintained, and has had no work done (beside compilation
fixes) in the recent past
- there's no unit tests or detailed documentation to show
how the class should be used
2017-09-04 09:05:38 +10:00
Nyall Dawson
f01ad63bba Rename 'Polygon from layer extent' to 'Extract layer extent'
It's slightly simpler to understand and better reflects
what this alg does
2017-09-04 08:45:10 +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
85cd1c1673 [FEATURE] Split minimum enclosing geometry algs into separate
feature based algorithms

Instead of algorithms which handle both whole layers/groups
of features/individual features, we leave the whole layer
and group of features handling to the "Minimum bounding
geometry" algorithm.

The feature-by-feature algorithms are now native c++
algorithms.

This affects:
- bounding boxes
- convex hulls
- minimum enclosing circle
- minimum oriented rectangles
2017-09-04 08:42:03 +10:00
Nyall Dawson
b6e35428e2 Optimise calculation of envelopes for MinimumBoundingGeometry alg
It's more efficient to calculate these on the fly, rather then
collecting all geometry points and then calculating.
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
Alessandro Pasotti
7cd7f1685f Added last missing signal replaceVectorLayer
This is only used by virtual layers, but it
might be handy for others too and now I can
start to remove all specialized source
select add methods from the datas source
manager dialog.

This is only the first step: next is looping
through the source select provider registry
to get all needed GUI elements for the dialog.
2017-09-03 21:30:45 +02:00
Nyall Dawson
26830949d9 Add a QgsLocatorModel subclass which automatically sets up
required connections to a QgsLocator

Use this QgsLocatorModel subclass when you want the connections
between a QgsLocator and the model to be automatically created
for you. If more flexibility in model behavior is required,
use the base QgsLocatorModel class instead and setup the
connections manually.
2017-09-03 16:35:51 +10:00
Nyall Dawson
a8e1d335bb Move locator non-gui classes to core
Allows reuse in projects which don't build QGIS gui, e.g.
QField
2017-09-03 16:15:20 +10:00
lbartoletti
e30f7044c9 [FEATURE][Processing] Minimal enclosing circle 2017-09-03 07:37:53 +10:00
Harrissou Sant-anna
f51244c98b Add Help button and connect it to user manual 2017-09-02 11:17:58 +02:00
Nyall Dawson
bbd0beb50c Fix bad doc string
[ci skip]
2017-09-02 16:12:53 +10:00
Nyall Dawson
64489be468 Fix QSocketNotifier error on startup
And avoid unnecessary creation of unused QFileSystemWatchers
2017-09-02 13:59:51 +10:00
Alessandro Pasotti
d4868b3f82 Update sip file 2017-09-01 18:20:06 +02:00
Alessandro Pasotti
4c46f64647 Add QgsSourceSelectProviderRegistry with tests 2017-09-01 17:47:55 +02:00
Alessandro Pasotti
cd1c9b1e28 Add class QgsSourceSelectProvider and tests
This is the first step for QEP 101
2017-09-01 14:30:34 +02:00
Nyall Dawson
247d2657ca Fix invalid regular expression warnings 2017-09-01 09:00:57 +10:00
Nyall Dawson
15a48df644 Pass QString by const ref 2017-09-01 08:57:24 +10:00
Nyall Dawson
7ba1b1734b Add missing SIP_FACTORY 2017-09-01 08:56:57 +10:00
Nyall Dawson
133d58fa89 Merge pull request #5089 from nyalldawson/hausdorff
Expose GEOS Hausdorff distance calculations to QgsGeometry, add expression function
2017-09-01 07:44:10 +10:00
Nyall Dawson
9fa12ac57f Merge pull request #5090 from nyalldawson/raster_layer_extent
[FEATURE] New algorithm for creating vector layer from raster layer's extent
2017-08-31 09:02:32 +10:00
Nyall Dawson
c2f8a8224b Geometry error string is not shared
Instead move it to a private QgsGeometry member. It's copied
with QgsGeometry, but not the underlying private geometry
data.

This means the error string can be changed without detaching
(and copying) the geometry data.

Also make greater use of error string for all use of GEOS
functions.
2017-08-31 08:36:01 +10:00