6873 Commits

Author SHA1 Message Date
Nyall Dawson
195d98f43a [needs-docs][processing] Port SAGA raster surface volume to native QGIS alg
The SAGA version of this algorithm is of limited use in QGIS, because the
volume calculated is embedded only in the SAGA terminal output. This prevents
it being saved to a file, or reused within a model as an input to a later
model step.

It's also very user-unfriendly, because users must know to manually scan
the algorithm log to find the SAGA output.

Given that the maths here is trivial, this commit ports the algorithm across
to be a native QGIS c++ algorithm. The algorithm duplicates the SAGA alg
1:1, but outputs the volume (and area) to either a HTML report, or a vector
table. Additionally, the outputs are exported as numeric outputs from the
algorithm, allowing them to be re-used within models.

(It's also considerably faster, because it avoids the forced conversion
to SAGA raster format)

Fixes #8607 (properly, even though that report is closed)
2019-01-21 12:33:54 +11:00
Markus Neteler
8db3dead87
Complete grass76 support 2019-01-19 22:08:28 +01:00
Ivan Ivanov
2488f71ddb Added test for 'gdal_rasterize -init 0' 2019-01-18 09:50:08 +11:00
Ivan Ivanov
36c821da34 Allow gdal_rasterize to accept -init with value of 0; changed default value to not introduce a breaking change 2019-01-18 09:50:08 +11:00
Nyall Dawson
f89d061ba0 [FEATURE][processing] Add geodesic mode for "Join by Lines (Hub lines)" algorithm
This allows optional creation of geodesic lines, which represent the
shortest distance between the points based on the ellipsoid.

When geodesic mode is used, it is possible to split the created lines
at the antimeridian (±180 degrees longitude), which can improve
rendering of the lines. Additionally, the distance between vertices
can be specified. A smaller distance results in a denser, more accurate
line.
2019-01-17 03:39:20 +11:00
Mathieu Pellerin
6957009f8b [themes] Fix the processing modeler's rendering on dark backgrounds 2019-01-15 12:24:50 +07:00
Nyall Dawson
629de0c651 Fix some corner cases 2019-01-12 05:31:00 +10:00
Nyall Dawson
2a774d6dac [FEATURE][processing] New algorithm "Geodesic line split at antimeridian"
Ports the similar algorithm from the shape tools plugin to c++, and utilises
built in QgsDistanceArea ellipsoidal calculations to split the lines.

This algorithm splits a line into multiple geodesic segments, whenever the
line crosses the antimeridian (±180 degrees longitude)

Splitting at the antimeridian helps the visual display of the lines in some
projections. The returned geometry will always be a multi-part geometry.

Whenever line segments in the input geometry cross the antimeridian,
they will be split into two segments, with the latitude of the breakpoint
being determined using a geodesic line connecting the points either side
of this segment. The current project ellipsoid setting will be used when
calculating this breakpoint.

If the input geometry contains M or Z values, these will be linearly
interpolated for the new vertices created at the antimeridian.

Supports in-place edit mode also.
2019-01-12 05:31:00 +10:00
Juergen E. Fischer
b6293f23c8 osgeo4w: run python scripts with python3 (fixes #20870) 2019-01-07 15:41:11 +01:00
Luigi Pirelli
83c6a2c49b
Merge pull request #8444 from NaturalGIS/reenable_grass_r_mapcalculator
add GRASS r.mapcalculator, remove r.mapcalc
2019-01-07 13:38:49 +01:00
Giovanni Manghi
a57fec8714 fix module description file 2019-01-07 10:43:50 +00:00
Giovanni Manghi
10d479929c fix the module name 2019-01-07 10:14:40 +00:00
Giovanni Manghi
9f3c313830 add missed file 2019-01-07 09:56:59 +00:00
Giovanni Manghi
667a86b075 change the name of the module to match the new name in GRASS 7.4.4 2019-01-07 09:54:27 +00:00
Nyall Dawson
efd54f862f [processing][SAGA] Resync Fill Sinks descriptions, add tests
Refs #20051
2019-01-07 09:55:46 +10:00
Nyall Dawson
45f8b863db [processing][SAGA] Resync parameters for resample tool
And add tests

Fixes #20882
2019-01-07 09:55:46 +10:00
Corentin Falcone
ed9c9b33af Add comment option on db_manager pluging postgis tables (#8734) [FEATURE]
Add possibility to create a comment on a postgres table when import or using the alter table button from db_manager.
2019-01-05 12:02:02 +01:00
Nyall Dawson
cef9c4eaec [FEATURE][processing] New algorithms "Extract Z values" and "Extract m values"
These algorithms allow users to convert z or m values present in feature
geometries to attributes in the layer. By default the z/m value from the
first vertex in the feature is extracted, but optionally statistics
can be calculated on ALL the z/m values from the geometry (e.g. calculating
mean/min/max/sum/etc of z values).
2019-01-04 05:01:40 +10:00
Nyall Dawson
5586352a13 [FEATURE][processing] New raster zonal stats algorithm
Like the vector zonal stats algorithm, but this one works with
the zones defined in another raster.

Iterates over the input rasters in blocks to be nice and
memory efficient.

From the algorithm help:

"This algorithm calculates statistics for a raster layer's
values, categorized by zones defined in another raster layer.

If the reference layer parameter is set to "Input layer",
then zones are determined by sampling the zone raster layer
value at the centroid of each pixel from the source raster
layer.

If the reference layer parameter is set to "Zones layer",
then the input raster layer will be sampled at the centroid
of each pixel from the zones raster layer.

If either the source raster layer or the zone raster layer
value is NODATA for a pixel, that pixel's value will be
skipped and not including in the calculated statistics."
2019-01-04 05:01:16 +10:00
Alessandro Pasotti
ecb6cde3aa Pick up all layer entries references from the project context
This is the processing side of the duplicate layer
names bug, while the core part was already fixed,
the processing logic was extended to handle inputs
from models and full-path references.

Fixes #20601
2019-01-02 16:59:03 +01:00
Alexander Bruy
2f1efd8927
Merge pull request #8776 from alexbruy/gdal_tests
[processing] cover more GDAL algorithms with unittests
2019-01-02 08:17:19 +02:00
Juergen E. Fischer
196024ccba typo fixes 2019-01-01 21:53:37 +01:00
Alexander Bruy
f332233f6d remove obsolete tests 2019-01-01 19:28:09 +02:00
Alexander Bruy
6809d346ab [processing] add unittest for gdal_polygonize algorithm 2019-01-01 19:26:14 +02:00
Alexander Bruy
f447745b5f [processing] add unittest for gdal2xyz algorithm 2019-01-01 18:15:41 +02:00
Alexander Bruy
a5365e26eb [processing] fix handling of the mask layer in the gdal_sieve algorithm
(fix #20713)
2019-01-01 15:20:21 +02:00
Alexander Bruy
c64383702e make advanced params optional to keep algorithm API stable 2018-12-31 12:34:12 +02:00
Alexander Bruy
3d33b9f1e2 [processing] expose resampling and format options in the gdaladdo
algorithm (fix #20432)

These options actually were here but not added to the UI.
2018-12-31 12:20:31 +02:00
Alexander Bruy
84d155eaf0
Merge pull request #8759 from alexbruy/processing-interpolation
[processing][needs-docs] Add cell size parameter to native interpolation algorithms (fix #18556, #20114)
2018-12-30 15:55:05 +02:00
Alexander Bruy
acd4ceca5c keep also old test for native interpolation algs 2018-12-30 09:48:45 +02:00
Alexander Bruy
1e1ed79e2d [processing] set default value for band parameters in GDAL algs (fix #20610) 2018-12-30 09:18:23 +02:00
Alexander Bruy
e86ca50cc6 restore columns and rows parameters for the extremely rare case if
someone have used native interpolation algs in scripts/models
2018-12-30 08:15:26 +02:00
Alexander Bruy
09dbb8917d update tests 2018-12-30 06:44:09 +02:00
Alexander Bruy
5813b96159 add cell size option to IDW and TIN interpolation algorithms 2018-12-30 06:44:09 +02:00
Alexander Bruy
357cf270ff add value changed signal for custom interpolation parameter wrapper
move duplicated code into common file
2018-12-30 06:44:09 +02:00
Alexander Bruy
37f14f8b3f add value changed signal for extent parameter widget wrapper 2018-12-30 06:44:09 +02:00
Harrissou Sant-anna
ea9b09f2dc Use QGIS user manual for GDAL algorithms help files
because they are available for most of the algs and wouldn't be used otherwise. Also when someone hits algA help button, he should be given the algA help and not the main gdal utility doc.
2018-12-27 06:53:19 +10:00
Alessandro Pasotti
40fb2ce93d Drop the ugly hack in favor of sourceFlags 2018-12-21 13:20:41 +01:00
Alessandro Pasotti
f4d7506e73 Processing in-place do not check validity when fixing geometries
Fixes #20812
2018-12-21 11:47:36 +01:00
Peter Petrik
9ce7e54fb1
allow selection of file paths for mesh layers [processings] (#8702)
allow selection of file paths for mesh layers
2018-12-20 15:04:02 +01:00
Nyall Dawson
9e1bf68902 [processing] Fix pixel centroids along lines handling of null geometries 2018-12-18 04:38:42 +10:00
Peter Petrik
e71660215c [processing] add QgsProcessingParameterMeshLayer parameter 2018-12-17 11:50:53 +01:00
Nyall Dawson
c7cb5a8e3b [processing][SAGA] Fix output type of Zonal Grid Stats alg
and add unit test

Fixes #20815
2018-12-17 10:50:47 +10:00
Alessandro Pasotti
1ff3ddc61c
Merge pull request #8676 from elpaso/bugfix-20674-dbmanager-aliased-2
fix spatialite aliased, nested, joined queries
2018-12-15 14:54:55 +01:00
Nyall Dawson
abc7b037d8 [needs-docs][processing] Output count of retained and duplicate features from
Delete duplicate geometries algorithm.

This matches the output of the delete duplicates by attribute
algorithm
2018-12-15 10:44:33 +10:00
Nyall Dawson
82c13bdde0 [processing] Fix error when running delete duplicate geometries and
some input features have null geometries

Fixes #20788
2018-12-15 10:44:33 +10:00
Nyall Dawson
5c2f68e769 [processing] Throw error when attempting to use Distance Matrix with
multipoint datasets

There's no single approach to use for multi-point inputs, so instead
of overloading this algorithm with extra options to control how these
are handled, we raise a helpful error and push the reponsibility back
to the user to get the data into the right format before running the
tool.

Fixes #20799
2018-12-15 10:36:44 +10:00
Alessandro Pasotti
3618d63ca6 Show an error message when a query yields an invalid layer
... instead of failing silently
2018-12-14 15:09:46 +01:00
Alessandro Pasotti
cf0442dac6
Merge pull request #8630 from elpaso/bugfix-20674-db-manager-sqlite-aliased-queries
sqlite accept aliased queries from db manager
2018-12-10 08:39:44 +01:00
Nathan Woodrow
87d2da13fb
[FEATURE][needs-docs] Add new @alg decorator for nicer python processing scripts. (#8586)
@alg()
@alg.help()
@alg.input()
@alg.output()
2018-12-10 16:35:52 +10:00