40144 Commits

Author SHA1 Message Date
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
b9f225905a Port a single python algorithm to QgsProcessingFeatureBasedAlgorithm 2017-07-18 19:41:33 +10:00
Nyall Dawson
7e3c435dd6 Port some existing algorithms to QgsProcessingFeatureBasedAlgorithm 2017-07-18 19:41:33 +10:00
Nyall Dawson
1a41624370 Add QgsProcessingFeatureBasedAlgorithm subclass
An abstract QgsProcessingAlgorithm base class for processing algorithms
which operate "feature-by-feature".

Feature based algorithms are algorithms which operate on individual
features in isolation. These are algorithms where one feature is
output for each input feature, and the output feature result
for each input feature is not dependent on any other features
present in the source.

For instance, algorithms like "centroids" and "buffers" are feature
based algorithms since the centroid or buffer of a feature is
calculated for each feature in isolation. An algorithm like "dissolve"
is NOT suitable for a feature based algorithm as the dissolved output
depends on multiple input features and these features cannot be
processed in isolation.

Using QgsProcessingFeatureBasedAlgorithm as the base class for feature
based algorithms allows shortcutting much of the common algorithm code
for handling iterating over sources and pushing features to output sinks.
It also allows the algorithm execution to be optimised in future
(for instance allowing automatic multi-thread processing of the
algorithm, or use of the algorithm in "chains", avoiding the need
for temporary outputs in multi-step models).
2017-07-18 19:41:33 +10:00
Nyall Dawson
71b9ce25c6 On first run, try to guess a good default icon size based on screen DPI
Otherwise icons are miniscule when loading QGIS on hidpi screens, and
users must know that they need to manually change the icon size
to make it usable...
2017-07-18 19:40:57 +10:00
Nyall Dawson
dbd50b4bdd On first load, default to 80% of current screen size for main window
Using a fixed default window geometry wasn't working well anymore -
it made the default window size tiny on hidpi screens.
2017-07-18 19:40:57 +10:00
David
7ec8c4ae3b Codestyle 2017-07-18 09:59:21 +02:00
David
11bb2488ea Fix in attributetable - unable to update column
Fix #16746
2017-07-18 09:59:21 +02:00
David
fd9213ce72 Fix crash in attributetable when removing more than one column
References #16746
2017-07-18 09:59:21 +02:00
Nyall Dawson
1f9512e6db Make locator bar a bit wider 2017-07-18 13:49:03 +10:00
Nyall Dawson
b83415688a Save/restore window geometry for plugin installer repo fetching dialog 2017-07-18 13:49:03 +10:00
Mathieu Pellerin
3037f22482 Non-blocking save as image/PDF dialogs (#4874) 2017-07-18 10:47:06 +07:00
Nyall Dawson
d70f53c405 Merge pull request #4876 from nyalldawson/upstream_ftw
Upstream some sourcepole fork commits
2017-07-18 11:02:52 +10:00
Sandro Mani
514e43057a Re-use timer in QgsMapCanvas::refresh to ensure multiple refresh requests get compressed
Forward port from Sourcepole's fork
2017-07-18 09:51:45 +10:00
Sandro Mani
f405b96ddd Demote translation loading warning to debug msg
(forward port from Sourcepole's fork)
2017-07-18 09:37:28 +10:00
Juergen E. Fischer
9bae832753 add (unemitted) signals to provider source selectors to silence data
source manager connection warnings
2017-07-18 00:09:32 +02:00
Juergen E. Fischer
205b7051dc don't close database selection dialogs 2017-07-17 22:24:18 +02:00
Juergen E. Fischer
bae6d56388 consider datum transformation when pasting features (fixes #16846) 2017-07-17 22:22:49 +02:00
Juergen E. Fischer
bcc8e90640 Fix qgsversion.h creation 2017-07-17 15:26:43 +02:00
David
06cb6342fc run target t2tdoc (followup 478dd209) 2017-07-17 13:17:57 +02:00
David
44cb806047 Additional libraries for Fedora 2017-07-17 13:17:57 +02:00
Alexander Bruy
e61daed979 Merge pull request #4869 from alexbruy/network-analysis
[processing] restore network analysis algorithms
2017-07-17 12:45:16 +03:00
Alexander Bruy
f3f74a9ddf [processing] adapt network analysis algorithms to latest API changes 2017-07-17 11:32:12 +03:00
Alexander Bruy
4a6ceffc54 [processing] make service area outputs optional 2017-07-17 11:09:28 +03:00
Alexander Bruy
bee5683643 [processing] allow diferent CRS for point layers and network layer 2017-07-17 11:09:28 +03:00
Alexander Bruy
95de3a414a [processing] add cancellation support where possible 2017-07-17 11:09:28 +03:00
Alexander Bruy
5af177e963 [processing] restore Service area from layer 2017-07-17 11:09:28 +03:00
Alexander Bruy
abd14e8b94 [processing] restore Service area from point 2017-07-17 11:09:28 +03:00
Alexander Bruy
1e795960b6 [processing] restore Shortest path from layer to point 2017-07-17 11:09:28 +03:00
Alexander Bruy
494ceff3b4 [processing] restore Shortest path from point to layer 2017-07-17 11:09:28 +03:00
Alexander Bruy
c5ed53942c [processing] restore Shortest path from point to point 2017-07-17 11:09:28 +03:00
Alexander Bruy
6c0cb2f5c0 Merge pull request #4872 from alexbruy/network-api
[API] small improvements for network analysis API
2017-07-17 11:08:04 +03:00
Matthias Kuhn
246685b0cb [processing] Better error reporting in point on surface 2017-07-17 08:38:01 +02:00
Matthias Kuhn
2b2d5e3637 [FEATURE] Give access to geometry errors
When methods are called that use GEOS to create new geometries, the
result geometries now contain information about what has gone wrong in
case of an error.

In practice, this means it's possible to give more detailed information
in place (and not only in the message log) when things like processing
algorithms fail.
2017-07-17 08:38:01 +02:00
Nyall Dawson
db11185d24 Make doc test happy 2017-07-17 13:24:14 +10:00
Nyall Dawson
c404b8020a Fix uninitialized member (thanks to Coverity) 2017-07-17 13:00:28 +10:00
Nyall Dawson
b24370dca3 Fix use after delete error (thanks to Coverity) 2017-07-17 12:59:09 +10:00
Nyall Dawson
4e5597ab72 Merge pull request #4848 from nyalldawson/virtual_agg
Fix aggregate calculation in virtual fields
2017-07-17 12:49:47 +10:00
Nyall Dawson
3a2710efe5 Merge pull request #4870 from nyalldawson/algs3
Port 4 more algs to new API
2017-07-17 07:51:47 +10:00
Nyall Dawson
38a13ff5af Make pole of inaccessibility calculation handle multipolygons 2017-07-17 07:24:33 +10:00
Nyall Dawson
6487fbb2d1 Port Reverse Line Direction to new API, add test 2017-07-17 07:24:33 +10:00
Alexander Bruy
09bb55a895 initialize QgsFeedback with nullptr by default 2017-07-16 17:02:20 +03:00
Tom Kralidis
97c1def8b5 Merge pull request #4857 from jcomas/patch-1
[MetaSearch] Update connections-default.xml
2017-07-16 07:53:25 -04:00
Alexander Bruy
f3d42a2cda [network analysis] use QgsFeedback for progress reporting and
cancelation
2017-07-16 14:36:04 +03:00
Alexander Bruy
126a27425a [network analysis] use QgsFeatureSource instead of QgsVectorLayer in
QgsVectorLayerDirector
2017-07-16 14:31:52 +03:00
Juergen E. Fischer
75d9fd5023 Fix windows build 2017-07-16 13:29:41 +02:00
Nyall Dawson
9cbc8cc20f Port Offset line, Orthogonalize and Pole of Inaccessibility to new API
Improvements:
- Fix handling of multiline outputs for Offset Line algorithm
2017-07-16 20:39:43 +10:00
Nyall Dawson
23a4d6028a Merge pull request #4868 from nyalldawson/nn
Port Remove Null Geometries algorithm to c++/new API
2017-07-16 20:20:23 +10:00
Matthias Kuhn
261391d499 Handle geos errors 2017-07-16 10:35:47 +02:00
Matthias Kuhn
102188aca4 Port PointOnSurface QGIS algorithm 2017-07-16 10:35:47 +02:00