59708 Commits

Author SHA1 Message Date
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
Denis Rouzaud
a83154cad9 add clear token 2020-01-02 09:18:58 +01:00
Denis Rouzaud
02919f8336 move condition to step 2020-01-02 08:13:06 +01:00
Denis Rouzaud
1626bba986 add name to action 2020-01-02 08:10:43 +01:00
Denis Rouzaud
bdf292e101 add documentation bot 2020-01-02 08:05:50 +01:00
Alexander Bruy
34f8ca3a94 NAN -> quiet_NaN() 2020-01-02 08:36:54 +02:00
Alexander Bruy
b5d71d39ac [processing] add "not set" support for range parameter (fix #29374, refs #29269) 2020-01-02 08:36:54 +02:00
Nyall Dawson
d8645f5285 Update rotate function help for optional center point 2020-01-02 14:45:06 +10:00
Nyall Dawson
0d4e4b9eb0 Update rotate function expression tests 2020-01-02 14:45:06 +10:00
Nyall Dawson
5bb63599e6 Make rotation centre point optional, and use geometry bounding box if not specified 2020-01-02 14:45:06 +10:00
Raymond Nijssen
933f1cac72 [FEATURE] rotate() expression function
Allows rotation of geometries around a point
2020-01-02 14:45:06 +10:00
Nyall Dawson
5792966b12 Update test results 2020-01-02 14:20:14 +10:00
Nyall Dawson
e05a04c7e7 Avoid doxygen warning 2020-01-02 14:20:14 +10:00
Nyall Dawson
bbacab4180 [processing] Use optimized spatial index load in Join by Nearest
and Split with Lines algorithms
2020-01-02 14:20:14 +10:00
Nyall Dawson
c46e89f7de [processing] Use bulk spatial index loader in Delete Duplicates algorithm
Cuts processing time to 70% of original for a 3 million point input file
(debug build)
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
basilrabi
a25f8b970f [RPM] fix broken -u flag in buildrmps.sh
When using `buildrpms.sh -u`, the script fails with:

```
Wrote: /builddir/build/SRPMS/qgis-*.src.rpm
Finish: rpmbuild -bs
Finish: buildsrpm
INFO: Done(qgis.spec) Config(default) 0 minutes 22 seconds
INFO: Results and/or logs in: result
INFO: Cleaning up build root ('cleanup_on_success=True')
Start: clean chroot
Finish: clean chroot
Finish: run
Source package created
Source package unavailable. Abort
```

The reason was because a wrong src.rpm file name was extracted by sed.
Instead of `qgis-*.src.rpm`, what was being extracted is
`qgis-*.src.rpm\r` which includes a carriage return. This change removes
any character at the end of the `.rpm` when extracting the file name.
2020-01-02 13:07:29 +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
5a1a7438c4 Add unit test for #33540 2019-12-31 17:49:52 +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
Nyall Dawson
bc5275af17
Merge pull request #33539 from Samweli/wms-t_layer_metadata_support
Show dimensions metadata on WMS layer metadata
2019-12-31 12:12:22 +10:00
Alex
1bf7e72132 North arrow / image should account for item rotation too
Fixes #33540
2019-12-31 12:11:41 +10:00
Nyall Dawson
5b7decb37a [pal] Standardise naming 2019-12-30 18:16:09 +10:00
Nyall Dawson
10bda51e64 [pal] Modernise memory management 2019-12-30 18:16:09 +10:00
Samweli Mwakisambwe
ad9313d081
Merge branch 'master' into wms-t_layer_metadata_support 2019-12-30 10:48:09 +03:00
Samweli
24a31467df changes based on @nyalldawson review 2019-12-30 10:36:09 +03:00
Nyall Dawson
578f32a9b6 [needs-docs] Remove "slow" suffix from free/horizontal polygon labeling mode
These aren't so slow anymore to warrant having the extra text
2019-12-29 13:03:23 +10:00
Nyall Dawson
250b372c1c Fix clear value to match default value 2019-12-29 13:03:23 +10:00
Nyall Dawson
a16e424550 Add some more polygon labeling tests 2019-12-29 13:03:23 +10:00
Nyall Dawson
c924ce5120 [pal] Refine logic for costing polygon candidates
Instead of just considering the "candidate furthest from the polygon
rings" as the best, also consider that candidates closer to the
overall polygon centroid are better than those further from the centroid.

I.e. if two candidates are similarish distances from a ring, pick the
one closer to the centroid instead of the one further from the centroid
(even if that further one is a tiny bit more distant from a ring)
2019-12-29 13:03:23 +10:00
Nyall Dawson
77b3d99b8b Lower default number of polygon candidates per cm2 2019-12-29 13:03:23 +10:00
Nyall Dawson
92f232c7aa [pal] Cache geos area and length calculation results 2019-12-29 13:03:23 +10:00
Nyall Dawson
e0197fe783 [pal] Improve polygon candidate generation logic
Instead of basing the initial dx/dy for the grid-based polygon candidate
generation on the size of the label itself, instead use either the
engine setting for polygon label density OR try and infer this from the
maximum number of candidates to generate for the polygon.

This avoids numerous issues with the label-size based approach:
- small labels (e.g. 1-2 digit labels) would generate a HUGE number of candidates
because the initial dx/dy were very small
- large labels would generate very few candidates, giving few options for
placement within these polygons (due to initially large dx/dy)
- by generating much more candidates then desired for small labels,
all the candidates further from the polygon centers would be culled
at a later step, meaning that the only candidates available for the
labeling problem solving would be clustered around a very small area
of the polygon (instead of distributed over the whole polygon)
2019-12-29 13:03:23 +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
Nyall Dawson
1c367605cb
Merge pull request #33467 from Samweli/add_ows_layer_metadata_info
Add WMS, WMTS and WCS metadata_url property in the layer metadata tab
2019-12-29 05:47:56 +10:00
Alexander Bruy
0e01e9529b add scrollarea to layout's pdf export options dialog (fix #33417) 2019-12-29 05:38:49 +10:00
Alexander Bruy
e8d3b4ecd3 reduce height of some dialogs to make them fit into small screens (fix #32021) 2019-12-29 05:38:49 +10:00
Samweli
4733102ee6 added check for dimension boolean type attributes 2019-12-28 12:43:13 +03:00
Samweli
f9ea39c9db added dimension property in the wms layer metadata 2019-12-28 11:30:17 +03:00
Stephen Knox
c242856380 Fix testsqgsgdalutils on proj6 2019-12-28 15:29:47 +10:00
Nyall Dawson
763d4fa731 Fix dox 2019-12-28 04:47:16 +10:00
Nyall Dawson
12d8377f8a Don't use a spatial index to iterate over polygon rings
it's an insane approach
2019-12-28 04:47:16 +10:00
Nyall Dawson
9af3a720e3 Fix crash when no candidates remain 2019-12-28 04:47:16 +10:00
Nyall Dawson
1b5bc76e73 Add descriptive comment 2019-12-28 04:47:16 +10:00