19222 Commits

Author SHA1 Message Date
Nyall Dawson
a7fd8e07f5 Revert 2021-02-25 11:08:56 +10:00
Nyall Dawson
4d4e7c95ca Better fix 2021-02-25 11:08:56 +10:00
Nyall Dawson
6ab4ecfa58 Another attempt 2021-02-25 11:08:56 +10:00
Nyall Dawson
73658c5910 Fix mac build 2021-02-25 11:08:56 +10:00
Nyall Dawson
bd82925df3 Replace qgis::make_unique with std::make_unique
Now that we require c++14 features, we don't need to use the custom
backported version anymore...
2021-02-25 11:08:56 +10:00
Matthias Kuhn
b3dae9ad1a
Merge pull request #41539 from elpaso/bugfix-gh41477-editbuffer-passthrough
Bugfix gh41477 editbuffer passthrough
2021-02-24 14:42:49 +01:00
Nyall Dawson
ccaca736c3 [api] Add option for setting a line symbol to use when rendering
a QgsRubberBand
2021-02-24 15:07:18 +10:00
Nyall Dawson
ad56216f14 A horizontal mouse wheel scroll over the canvas "scrubs" the temporal
range slider back or forward
2021-02-24 13:21:32 +10:00
Nyall Dawson
14f2ab53b1 When attempting to precalculated nodes during an expression prepare
stage, be more intelligent about compiling AND or OR nodes

We can take advantage of the fact that and AND node will ALWAYS
be false if either input node is static and evaluates to FALSE,
and that OR nodes will always be true if either input is static
and evaluates to TRUE.

In some cases this allows us the shortcut and cut out non-static
nodes during preparation, resulting in faster evaluation and
more easily compiled expressions...
2021-02-24 12:39:36 +10:00
Nyall Dawson
d007901f14 Allow QgsRectangle constructors to bypass the automatic normalization
step, when they know in advance they are already normalized

This step isn't free, and can add up when many rectangles are
constructed
2021-02-23 16:02:06 +10:00
Nyall Dawson
b15be66472 Spelling 2021-02-23 15:49:23 +10:00
Nyall Dawson
d84da56dca Add rendered callout details to QgsLabelingResults for retrieval after a map render completes 2021-02-23 15:49:23 +10:00
Nyall Dawson
4f39cf6d6c Move QgsLabelingResults out to its own file 2021-02-23 15:49:23 +10:00
Nyall Dawson
a513f5a1e6 Move QgsLabelPosition out to own file 2021-02-23 15:49:23 +10:00
Nyall Dawson
ee25819b75 [FEATURE][labeling] Add data defined control over callout origin
and destination points

Allows users to data define the starting and ending points for
label callout lines, which is useful when needing to manually
control the exact placement of individual callout lines.
2021-02-23 13:41:58 +10:00
Nyall Dawson
d2e0e8d3b0 Add method for a callout to obtain a transform from the original
associated layer's crs to the destination map crs
2021-02-23 13:41:58 +10:00
Nyall Dawson
e11801d34e Require Proj version 6 or later, drop old proj 4 compatibility code 2021-02-23 12:47:04 +10:00
Matthias Kuhn
a825b5af35
Merge pull request #41738 from m-kuhn/alg_exec_no_selection_unbound_local
Fix calling in place with empty iterator
2021-02-22 21:59:36 +01:00
Nyall Dawson
7b37f32b4f Add mechanism to defer updates of rubber bands when adding multiple
geometries

GREATLY speeds up rubber band creation for many geometries, resulting
in consequent speed ups to the move features tool, rotate features tool,
....
2021-02-23 05:20:00 +10:00
Matthias Kuhn
60ad7d43b3 Fix calling in place with empty iterator
```
              File "/home/mkuhn/.local/share/QGIS/QGIS3/profiles/default/python/plugins/autocurve/plugin.py", line 127, in curvify
              AlgorithmExecutor.execute_in_place(alg, {})
              File "/usr/share/qgis/python/plugins/processing/gui/AlgorithmExecutor.py", line 305, in execute_in_place
              ok, results = execute_in_place_run(alg, parameters, context=context, feedback=feedback)
              File "/usr/share/qgis/python/plugins/processing/gui/AlgorithmExecutor.py", line 214, in execute_in_place_run
              results, ok = {'__count': current + 1}, True
              UnboundLocalError: local variable 'current' referenced before assignment
```
2021-02-22 15:06:19 +01:00
Juergen E. Fischer
61b6cc21e8 followup 570972b227075335f2b4a6ca2d5e6cb00330a0f6 2021-02-21 19:26:44 +01:00
Juergen E. Fischer
570972b227 processing/gdal: use batch files instead of modules on windows 2021-02-21 17:46:14 +01:00
Nyall Dawson
d8a6d36780 Nice and friendly API 2021-02-21 15:18:57 +10:00
Nyall Dawson
fd7149ac97 Create class QgsGcpGeometryTransformer, which allows transformation
of geometry objects via a ground control points based transformation
2021-02-21 15:18:57 +10:00
Nyall Dawson
ce54321220 Rename pixel/layer/map coordinates to "source" and "destination", to
make classes more generic and avoid confusion with non-raster based
GCPs

Also flip function arguments to source, destination order instead
of destination, source
2021-02-21 15:18:57 +10:00
Nyall Dawson
ef78bf9a51 Add public transform method 2021-02-21 15:18:57 +10:00
Nyall Dawson
30245eef4d Add clone method 2021-02-21 15:18:57 +10:00
Nyall Dawson
ff195b373d Pixel -> layer 2021-02-21 15:18:57 +10:00
Nyall Dawson
f2f1d70fa7 Add factory method which creates an initialized transformer from method and list of GCPs 2021-02-21 15:18:57 +10:00
Nyall Dawson
125c33bf5c Move factory method to base class 2021-02-21 15:18:57 +10:00
Nyall Dawson
6628d5d27a Move method to string to QgsGcpTransformerInterface class 2021-02-21 15:18:57 +10:00
Nyall Dawson
fe8c768682 Move transform enum to base class 2021-02-21 15:18:57 +10:00
Nyall Dawson
8bf253d6ef Move classes representing GCP based transformations from app to analysis,
and make ready for exposure to public API
2021-02-21 15:18:57 +10:00
Nyall Dawson
af0fb8bb87 [processing] Fix GDAL algorithms hang when gdal command is not available to run 2021-02-21 15:04:31 +10:00
Evan Derickson
0a3b7d36f8 Make argument setting consistent 2021-02-20 12:26:00 +10:00
Evan Derickson
5302feb2dd Add line break for consistency 2021-02-20 12:26:00 +10:00
Evan Derickson
f87386aa0a Making formatting consistent 2021-02-20 12:26:00 +10:00
Evan Derickson
f3a60ebfe7 Simplify other_fields checker 2021-02-20 12:26:00 +10:00
Evan Derickson
6d5bf2b5c4 Revert f-string conversion 2021-02-20 12:26:00 +10:00
Evan Derickson
a366d5b26c Refactor climb.py 2021-02-20 12:26:00 +10:00
Evan Derickson
26ad7c6a46 Simplify other_field checker 2021-02-20 12:26:00 +10:00
Evan Derickson
97880d74d5 Simplify other_fields detection 2021-02-20 12:26:00 +10:00
Evan Derickson
ef6799fad4 More append thinning
Along with some other loop optimizations
2021-02-20 12:26:00 +10:00
Evan Derickson
0e63799012 Reduce appends 2021-02-20 12:26:00 +10:00
Evan Derickson
dcde81fb1b Thin out unneeded function calls 2021-02-20 12:26:00 +10:00
Peter Petrik
da5f9db091
add circle vector tile layer support (#41584)
* fix #41529: add circle vector tile layer support
2021-02-20 08:01:02 +10:00
Jean-François Bourdon
64d921fe53
Reformat elapsed time in processing to express time in hours, minutes and seconds (#41573)
When appropriate, express the elapsed time in hours, minutes and seconds in addition to cumulative seconds.
2021-02-20 06:35:16 +10:00
Nyall Dawson
8324317e22 [layouts] Correctly set data defined html url or attribute table
source property on the parent multiframe object, not the child frame

Fixes #41590
Fixes #36647
2021-02-20 06:12:35 +10:00
Nyall Dawson
c8d61499ff [processing] Instead of a hidden parameter for verbose model logging,
add an explicit log level getter/setter to QgsProcessingContext which
algorithms can use to determine an appropriate level of feedback
to push to users.

Initially the verbose log only triggers the full verbose output
of model executions (which is also used when running models through
the model designer), but the intention is that more algorithms
will fine tune their output based on the logging level.

qgis_process also gains a new --verbose switch to enable verbose
log output.
2021-02-20 05:04:00 +10:00
Alessandro Pasotti
faed480a73 mxe -> fedora mingw64 from Sourcepole
Replace MXE with fedora mingw64 cross build recipe with python.

Thanks to Sandro Mani!
2021-02-19 08:54:18 +01:00