16449 Commits

Author SHA1 Message Date
Alexander Bruy
cf6cd48b38 fix typo 2020-01-06 11:19:55 +10:00
Alexander Bruy
5e62e60de9 [processing] add user-defined parameters to gdal_rasterize 2020-01-06 11:19:55 +10:00
Alexander Bruy
b511841775 [processing] fix v.net,centrality 2020-01-06 11:19:55 +10:00
Alexander Bruy
432a8a5fd0 [processing] cleanup tests 2020-01-06 11:19:55 +10:00
Alexander Bruy
1fa3edfc51 [processing] add tests for r.series and r.reclass algorithms 2020-01-06 11:19:55 +10:00
Alexander Bruy
dcabb0536b [processing] fix r.rescale and r.rescale.eq 2020-01-06 11:19:55 +10:00
Alexander Bruy
0b749558b9 [processing] add proper support for range parameters (fix #29269) 2020-01-06 11:19:55 +10:00
Nyall Dawson
fcdf1f6e78 Fix test 2020-01-05 20:58:10 +10:00
Nyall Dawson
42885bfbb7 [needs-docs][processing] Move Build Vector VRT to gdal provider
and setup alias to avoid script/model breakage. This algorithm
uses GDAL utilities and fits better alongside the other GDAL based
algorithm rather than in the qgis provider.
2020-01-05 20:58:10 +10:00
Nyall Dawson
27277c54f1 Remove unused code 2020-01-05 20:50:05 +10:00
Nyall Dawson
54629b8f21 [FEATURE][processing][API] New parameter type QgsProcessingParameterMapTheme
Allows for selection from existing map themes
2020-01-05 20:50:05 +10:00
Nyall Dawson
223dfafb15 [processing] Port field parameter widget to new API 2020-01-05 08:59:38 +10:00
Nyall Dawson
70ee385f4a [processing] Add message bar to widget context 2020-01-05 08:59:38 +10:00
Nyall Dawson
f8e5861dca Fix rule-based renderer widgets swallow copy/paste/delete shortcut keys
when opened in panel modes

Fixes #33592
2020-01-05 05:32:03 +10:00
Nyall Dawson
1c4d691ad2 Dox++ 2020-01-04 23:06:03 +10:00
Nyall Dawson
1a74938ba8 [processing] Add option for multiple field parameters to default to
selecting all available fields

For some algorithms this is better UX then defaulting to an empty list
2020-01-04 23:06:03 +10:00
Nyall Dawson
d788dfc0cb Update menu link 2020-01-03 05:25:33 +10:00
Alex
e9aff0b695 join by location c++ port 2020-01-03 05:25:33 +10:00
Nyall Dawson
c43613d0b2 Another hash 2020-01-02 18:26:49 +10:00
Nyall Dawson
158dfcc3cc More test hashes 2020-01-02 18:26:49 +10:00
Nyall Dawson
c4672ef984 Add extra raster hashes 2020-01-02 18:26:49 +10:00
Panos Mavrogiorgos
d7f0ea2293 Fix tests 2020-01-02 18:26:49 +10:00
Panos Mavrogiorgos
0c3cb558a8 Introduce GRASS_USE_REXTERNAL setting
GRASS GIS, in addition to importing data in its native formats via
`r.in.gdal`/`v.in.ogr` (and likewise `r.import`/v.import`),
also supports `r.external`/`v.external` which only link the data into
the GRASS DB.

Nevertheless, both `r.external` and `v.external` occasionally have problems,
especially on windows. E.g.:

- https://trac.osgeo.org/grass/ticket/3927

GRASS 7 Processing Plugin already has a setting that controls whether
`v.external` is used (disabled by default).

With this commit the complementary setting for `r.external` gets added too.
Usage of `r.external` is disabled by default. This is changing the existing
behavior, which was to use r`r.external`. The downsides of this change
should be the somewhat lower import speed + higher disk usage. Nevertheless
this way we have the same default value as `v.external` + we circumvent the
`r.import/v.import` shortcomings.
2020-01-02 18:26:49 +10:00
Nyall Dawson
5792966b12 Update test results 2020-01-02 14:20:14 +10:00
Nyall Dawson
fe6abba251 [api] Add constructor for QgsSpatialIndex which allows for a callback
function during bulk index load from a feature iterator

Allows single-iteration of a source for dual purposes simultaneously,
e.g. doing other feature-based operations while still gaining the full
advantage of the bulk loaded spatial index without having to do multiple
feature iterations
2020-01-02 14:20:14 +10:00
Vincent Cloarec
30569bce1f Move QgsRasterLayerProperties class to the gui API
Motivation :
Move the QgsRasterLayerProperties class to the GUI API.
So, this class could be used using the QGIS API, notably for standalone applications.

The instance of this class was dependent, since QGIS 3.8, from the QgisApp instance, when calling the askUserForDatumTransform(). As this method, defines a title and only call QgsDatumTransformDialog::run() method from the gui API, this PR purpose to :
2020-01-02 13:02:32 +10:00
Andrea Giudiceandrea
ef9b8c2c25 Fix missing flags in r.reclass.area GRASS alg
Fixes #33569
2020-01-02 11:43:10 +10:00
Andrea Giudiceandrea
19465c6295 Fix validity mask filename quoting in Fillnodata alg
Fixes a bug similar to #33562
2020-01-01 09:07:58 +10:00
Andrea Giudiceandrea
fbca3641e5 Fix validity mask filename quoting in Sieve alg
Fixes #33562
2020-01-01 09:07:58 +10:00
Nyall Dawson
12006de1aa [processing] Port Delete Duplicate Geometries to c++ 2019-12-31 15:06:42 +10:00
Nyall Dawson
2433ee555f [FEATURE][processing] Add native affine transform algorithm for vectors
Offers the following benefits over the GRASS/SAGA versions:
- Full support for z/m values and handling curved geometries without loss
of curves
- Works with all native data types, no need for format transformation
- Supports dynamic (data defined, per feature) translate/scale/rotate parameters
- Allows transformation and scaling of both Z and M values (if present)
- Supports in-place edit mode

Fixes #33550
2019-12-31 15:01:34 +10:00
Andrea Giudiceandrea
c062b52fd8 Fix SAGA Raster Buffer algorithm (GridBuffer.txt)
Since SAGA 2.3.0, DIST and BUFFERTYPE parameters for Gid Buffer module were renamed to DISTANCE and TYPE, respectively.
2019-12-29 05:49:27 +10:00
Mathieu Pellerin
ddd2c6ea3d Expose QgsBearingUtils to QML 2019-12-27 09:08:38 +07:00
Nyall Dawson
f44c229405 Fix dox test 2019-12-26 13:18:10 +10:00
Nyall Dawson
1899f90a04 [needs-docs] Rework label engine "maximum line candidates" and "maximum polygon candidates"
settings and logic

The previous approach of a single fixed value which applied to ALL line and ALL polygon
features was... not ideal. It meant that all line features would be assigned the same
number of candidates, regardless of length. So a road of length 1 cm on the rendered
map would have an identical number of candidates as a 30cm road covering the length of the
whole map!! This resulted in both a lot of wasted calculations (generating a ridiculous
number of candidates for small lines at barely discernable distances from each other)
AND an insufficient number of candidates for lengthy features (resulting in worse label
placement for these features).

(The situation was similar, but even worse for polygons)

Now, the setting is reworked to "Number of line candidates per cm" and "number of
polygon candidates per cm2". This means that small features get much less candidates,
and large features get much more features! Both a win for map rendering speed in many
circumstances AND good cartography... now that's a nice Christmas gift for QGIS :)
2019-12-26 13:18:10 +10:00
Nyall Dawson
df102a98da [needs-docs] Drop setting for maximum number of point label candidates
This setting is easily replaced by automatically calculated, optimised
values for each separate point plcaement mode individually
2019-12-26 13:18:10 +10:00
Matthias Kuhn
4f625ce733
Merge pull request #33476 from dmarteau/fix-project-relation-manager
Fix inconsistent dependency to project in QgsRelation/QgsRelationManager
2019-12-23 07:23:08 +01:00
Nyall Dawson
fb5b440d5d [FEATURE] Allow dropping a map layer from the layer tree onto
a projection selection widget to set the projection to match that layer

Just a little timesaving shortcut!
2019-12-23 05:17:40 +10:00
Nyall Dawson
d5821feb9f [api] Add api to allow panel widgets to show a "hamburger" style
menu in the top right of the panel

This gives the panel a place to add menu actions like help links
for the panel.
2019-12-22 20:33:55 +10:00
David Marteau
907b27309c
Add missing parameter documentation 2019-12-21 13:28:31 +01:00
David Marteau
5bf8d2cd26
Pass project when creating relation from Xml
Fix dependency inconsistency to project from QgsRelationManager
    by forcing  'QgsRelation::createFromXml' to rely on project passed
    to 'QgsRelationManager' instead of using 'QgisProject::instance()'
2019-12-20 23:56:17 +01:00
Nyall Dawson
521080cd13 Add API to auto set QgsCoordinateOperationWidget selection to match
a QgsCoordinateTransformContext's state
2019-12-21 05:07:39 +10:00
Nyall Dawson
b8b668888c Allow algorithms to link to multiple depandant parameters in modeler scene 2019-12-21 05:07:39 +10:00
Nyall Dawson
3e9aaaa6ea Move variant to CRS resolution out to QgsProcessingUtils for wider
usability
2019-12-21 05:07:39 +10:00
Nyall Dawson
fe622dd24a [API][processing] New parameter type for coordinate operations
Allows selection of the proj coordinate operation to use when
reprojecting between two CRSes
2019-12-21 05:07:39 +10:00
Nyall Dawson
c04d4faf7f Allow double-clicking on coordinate operation to quickly select them 2019-12-21 05:07:39 +10:00
Nyall Dawson
f0f63d3802 Use QgsCoordinateOperationWidget in QgsDatumTransformDialog 2019-12-21 05:07:39 +10:00
Nyall Dawson
cb8b4a8831 Move guts of datum transformation dialog to a new standalone widget
QgsCoordinateOperationWidget

This widget shows a list of the available operations between a source
and destination CRS along with their properties
2019-12-21 05:07:39 +10:00
Matthias Kuhn
2a01772e46
Merge pull request #33436 from signedav/relating_values
List referenced layer values in Expression Builder
2019-12-20 17:29:10 +01:00
David Signer
ea912a170c since information 2019-12-20 09:39:50 +01:00