7567 Commits

Author SHA1 Message Date
Nyall Dawson
8eb9448746 Prefix/suffix support, ensure correct size determination of legend text 2020-12-18 12:03:26 +10:00
Nyall Dawson
a0accab0c2 Add QgsColorRampLegendNodeSettings to QgsSingleBandGrayRenderer 2020-12-18 12:03:26 +10:00
Nyall Dawson
f96ba98bb8 Use QgsColorRampLegendNodeSettings to control settings for QgsColorRampLegendNode items 2020-12-18 12:03:26 +10:00
Nyall Dawson
45d2edda16 QgsColorRampShader can have color ramp legend node settings 2020-12-18 12:03:26 +10:00
Nyall Dawson
e48286c0d4 Pass QgsReadWriteContext onto QgsColorRampShader read/writeXml methods 2020-12-18 12:03:26 +10:00
Nyall Dawson
3fec67ac2c Add QgsColorRampLegendNodeSettings class 2020-12-18 12:03:26 +10:00
Nyall Dawson
60aea700d1 Forward declare more classes 2020-12-18 12:03:26 +10:00
Nyall Dawson
1be1229663 Forward declare 2020-12-18 12:03:26 +10:00
Matthias Kuhn
c56d2d8d88
Merge pull request #40628 from m-kuhn/timeout_disable
Allow disabling QgsNetworkAccessManager timeout functionality
2020-12-17 08:58:04 +01:00
Nyall Dawson
0d7b95fa67 Generate more descriptive legends for raster layers
- include band name details where its useful
- create a legend for multiband raster renderer
2020-12-17 04:57:56 +10:00
Matthias Kuhn
7388e67bd0 Allow disabling QgsNetworkAccessManager timeout functionality
by setting the timout to 0

This can be interesting to overcome the limitations of the timeout
functionality by replacing it with QNetworkAccessManager::setTransferTimeout.
E.g. to have more than 6 downloads running in parallel.
2020-12-16 19:08:10 +01:00
Nyall Dawson
d7ce1a3167 Create color ramp legend nodes for pseudocolor or grayscale rasters or
point clouds using a Linear color ramp based renderer
2020-12-16 18:46:53 +10:00
Nyall Dawson
e4a91e7659 Add missing sip casts for legend nodes 2020-12-16 18:46:53 +10:00
Nyall Dawson
869b24ea92 Add new QgsColorRampLegendNode class for rendering a color ramp item as a legend node 2020-12-16 18:46:53 +10:00
nirvn
d03d3b3ea0 [FEATURE][locator] Add delayed fetching of results 2020-12-16 13:14:27 +07:00
Nyall Dawson
7b141e92f0 Also add scaling factor option, test 2020-12-16 13:58:20 +10:00
Nyall Dawson
9fc11d93c7 Add a trigger3DUpdate method to QgsMapLayer so that an explicit update of the layer in 3d maps can be requested
This is the 3d equivalent of QgsMapLayer::triggerUpdate()
2020-12-16 13:58:20 +10:00
Nyall Dawson
1963ef9784 [pointclouds] Add an elevation tab in layer properties, and allow
users to set a manual offset to apply to point cloud z values

This allows for adjustment of the elevation of point clouds, eg so that:
1. They match nicely with point clouds from other datasources
2. Users can use point clouds from sources with arbitrary z values,
eg. a point cloud made by opendronemap without any actual reference
z values available
2020-12-16 13:58:20 +10:00
Peter Petrik
221bd2f68f
untwine pdalprovider integration (#40404)
[pointclouds] untwine pdalprovider integration
2020-12-15 14:25:09 +01:00
nirvn
a057e56fd3 Address review 2020-12-15 13:47:43 +07:00
nirvn
ebc2695dc1 [FEATURE][geocoder] Add a nominatim API geocoder 2020-12-15 13:47:43 +07:00
Nyall Dawson
3a3e771d04 Cache google maps geocoder results so that we don't send the same
request multiple times
2020-12-15 14:22:59 +10:00
Nyall Dawson
df28e637cd Fix see also link 2020-12-14 16:49:48 +10:00
Nyall Dawson
53831c6067 Add some useful methods to resize QgsFeature attributes without clearing existing attributes 2020-12-14 16:49:48 +10:00
Matthias Kuhn
0d55e61145 Add QgsRasterDataProvider::Capability::ReloadData for gdal, ams and wcs provider 2020-12-14 09:02:16 +10:00
Matthias Kuhn
a83319a075 Add QgsVectorDataProvider::Capability::ReloadData and return it for appropriate providers
This allows to only show reload actions for data providers that actually support it.
2020-12-14 09:02:16 +10:00
Matthias Kuhn
d94efac86b Add todo for QGIS 4 2020-12-14 09:02:16 +10:00
Nyall Dawson
932e70b247 Dox grammar 2020-12-14 08:51:51 +10:00
Nyall Dawson
0ab761c210 Add proper method to determine whether a symbol uses map unit sizes,
and use this to determine whether a legend item needs updating
as a result of a map change

This results in a HUGE speed up when loading large projects where
symbols don't use Millimeter based sizes, as the previous code
assumed only that any non-millimeter size was a map unit based size.
2020-12-10 04:04:17 +10:00
Nyall Dawson
da51a5a8d0 It's FAR too expensive to construct a QgsSettings object for every symbol node, especially for complex
projects. So only read the valid size ranges once, and store them for subsequent use
2020-12-09 18:18:27 +10:00
Nyall Dawson
94522cf844 Add option to QgsVectorFileWriter to prefer using field aliases as output field name 2020-12-08 19:52:22 +10:00
Nyall Dawson
928b00a6e6 Add some more options to control how a preview pixmap for a color ramp is generated 2020-12-08 05:59:56 +10:00
nirvn
04b9c6ab00 [processing] Add a warning-level information message feedback 2020-12-07 14:15:35 +07:00
Nyall Dawson
344bc5f909 Ensure that accessing QgsFieldFormatterRegistry is thread safe 2020-12-07 16:58:46 +10:00
Nyall Dawson
5be99bd5fe Show data type, scale, offset in metadata for point cloud layers 2020-12-07 12:08:35 +10:00
Nyall Dawson
0708f813f2 Add method to retrieve original metadata from point cloud files,
and expose some more useful metadata in layer properties (las version,
software, creation date)
2020-12-07 12:08:35 +10:00
Nyall Dawson
f21ca86a91 Cleanup api, fix crash 2020-12-07 11:42:39 +10:00
Nyall Dawson
60ce8eb9af Use new api to return nice legend items for raster contour renderer
Instead of no legend, we now create a legend with the contour symbols!
2020-12-07 11:42:39 +10:00
Nyall Dawson
6932985d82 Add api to allow raster layer renderers to create different legend node types,
instead of forcing them to always use the solid color blocks created by QgsRasterSymbolLegendNode
2020-12-07 11:42:39 +10:00
Loïc Bartoletti
fe80965d50 [API] Add angleBisector method 2020-12-07 08:40:59 +10:00
Matthias Kuhn
e93bda84e2
Merge pull request #40452 from m-kuhn/locator_result_get_user_data
Add getter for QgsLocatorResults.userData
2020-12-06 12:09:04 +01:00
Matthias Kuhn
4edd44ae63 Add getter for QgsLocatorResults.userData
References https://github.com/opengisch/qgis-swiss-locator/issues/9
2020-12-06 08:43:56 +01:00
Nyall Dawson
4d9bc5bac3 Move responsibility for determining whether a map renderer job requires
flattening onto a temporary image to the QgsMapLayerRenderer subclasses

This avoids the generic QgsMapRendererJob class from having hardcoded
layer type dependent behavior, and instead moves that layer-type specific
logic to the subclasses designed for that particular layer
2020-12-05 05:51:38 +10:00
Nyall Dawson
def587fa77 [pointclouds] Add an extent only 2d renderer for point clouds
Useful when you just want an overview of the bounds of the layer in a
2d map. Also potentially usable as a temporary renderer for las/laz
files while we build the indexed representation of the file in the
background.
2020-12-04 17:44:23 +10:00
NEDJIMAbelgacem
7f26477c81 add comparison operator for QgsColorRampShader 2020-12-03 22:27:20 +01:00
Nyall Dawson
762ee09e81 Spelling, sip 2020-12-03 07:23:44 +01:00
Nyall Dawson
c48f29a8b9 Add choice of point style for 2d point cloud renders
Options are Square or Circle shapes
2020-12-03 07:23:44 +01:00
Nyall Dawson
19fdf11976 Code cleanup 2020-12-03 07:23:44 +01:00
Nyall Dawson
666479494b [pointclouds] Add a classified 2d renderer for point clouds
Allows styling point cloud layers by a classification attribute
2020-12-03 07:23:44 +01:00
Nyall Dawson
b3255c4cfd Hookup some more support for toggling point cloud legend items 2020-12-03 07:23:44 +01:00