447 Commits

Author SHA1 Message Date
Nyall Dawson
0bb3a26b20 Implement fixed elevation range for mesh layers
Just like the equivalent mode for raster layers, this mode indicates
that a fixed constant z range should be applied to the entire mesh
layer.
2024-03-19 13:29:40 +10:00
Nyall Dawson
e9730b1bb3 Add capabilities for raster renderers
And selectively expose some of QgsRasterRendererRegistry to python
2024-03-18 21:26:20 +01:00
Nyall Dawson
1796318afe Add a "fixed range per band" elevation mode for rasters
In this mode, each band in the raster can have a fixed elevation
range associated with it. This is designed for data sources which
expose elevation related data in bands, eg netcdf files, such
as a raster with temperate data at different ocean depths.
2024-03-18 21:26:20 +01:00
Nyall Dawson
253623feb0 Introduce fixed elevation range for raster layers
This introduces a new option for specifying how raster layers
have associated elevation. It permits a fixed elevation range
to be set for the layer. It can be used when the layer has
a single fixed elevation, or a range (slice) of elevation values.

Users can set the lower and upper elevation range for the layer,
and whether the lower or upper limits are inclusive or
exclusive.

When enabled, the layer will only be visible in elevation
filtered 2d maps when the layer's range is included in the map's
z range.
2024-03-16 13:11:54 +10:00
Nyall Dawson
e22a1d605b [feature][layouts] Add z range filter option for layout maps
Similar to the existing setting for temporal filtering of 2d layout
maps, this setting allows users to set a specific elevation/z range
for a layout map item. When set, map layers with support for 2d
z range filtering (currently point clouds and raster DEMs) will
be filtered to show only content within this range.

The z range can be data-defined, allowing differing z range
for different atlas or report features.
2024-03-04 17:00:24 +10:00
Nyall Dawson
ebea330398 Add data provider flags for FastExtent2D/FastExtent3D
These flags reflect that retrieval of the provider's 2D or 3D extent
retrieval via QgsDataProvider::extent()/extent3D() are ALWAYS guaranteed
to be trivial/fast to calculate and involve absolutely no extra work.
2024-02-28 06:04:50 +10:00
Even Rouault
15ea5c46bc
Header files: remove all mentions of '\since QGIS 3.0' 2024-02-18 20:57:23 +01:00
Nyall Dawson
90f180c07f Start on utils class 2024-02-15 12:39:11 +10:00
Nyall Dawson
62cd14189f Use proper enum flags type instead of int as return value
And promote enum to enum class. Notably fixes a bunch of startup
errors when loading the Processing plugin under Qt6
2024-02-13 08:13:43 +10:00
Nyall Dawson
87f117f47b [sipify] Avoid leading and trailing newlines in enum value docstrings 2024-02-11 13:37:29 +10:00
Nyall Dawson
2b710b2617 [sipify] Don't write invalid escaped \d character to docstring
Instead correctly translate to ..deprecated python docstrings
2024-02-11 13:37:29 +10:00
Nyall Dawson
ee53b9ae48 Port processing enums to enum class
A step towards a Qt6 compatible Processing framework
2024-02-10 17:25:22 +10:00
Nyall Dawson
ac2f1179c8 More item data role enum to enum class conversions 2024-02-06 21:04:43 +10:00
Nyall Dawson
feecb4017c Make some custom model roles enum class for Qt6 compatibility 2024-02-06 21:04:43 +10:00
Nyall Dawson
3e07b06d87 Fix broken old API compatibility code on Qt 6 builds
The old sip based approach to handling property -> getter/setter
conversion is broken on sip6, so move the patching into Python.

Also fix incorrect checks in tests, and add additional test
for compatiblity code.
2024-02-04 05:54:31 +10:00
Nyall Dawson
6aae7380cd Cleanup int arguments which should be Qgis::RasterBandStatistic values
And ensure python compatibility remains intact
2024-02-02 04:59:04 +10:00
Nyall Dawson
503a95a1a1 Move enums to Qgis namespace for consistency 2024-02-02 04:59:04 +10:00
Nyall Dawson
179e2ca59a Promote some more enums to enum class to fix PyQt6 support 2024-02-02 04:59:04 +10:00
Nyall Dawson
f1e3ba9e2d Use correct sip method
And use INDENT-OFF annotations to avoid astyle messing up
formatting of enum with inline macros
2024-01-31 13:48:49 +10:00
Nyall Dawson
c02a9ef789 Add missing files 2024-01-31 13:48:49 +10:00
Nyall Dawson
0aafdbfb77 Handle flags compatibility with older code when porting enums to enum
class on PyQt5 builds
2024-01-30 19:10:43 +10:00
Nyall Dawson
c5978830c5 Add missing monkey patching 2024-01-30 19:10:43 +10:00
Nyall Dawson
6116319806 Move a processing enum to enum class in Qgis 2024-01-30 19:10:43 +10:00
Nyall Dawson
a36b203f30 Promote some processing enums to enum class, cleanups 2024-01-30 19:10:43 +10:00
Nyall Dawson
26798b84f4 Promote QgsFeatureRequest enums to enum class, move to Qgis 2024-01-30 19:10:43 +10:00
Nyall Dawson
ef4f8efdcc Remove unused 2018 WKT variants, monkey patch for api compatibility 2024-01-17 10:16:32 +10:00
Nyall Dawson
20075f8809 Use consistent case 2024-01-17 10:16:32 +10:00
Nyall Dawson
f2903c7935 Move QgsCoordinateReferenceSystem enums to qgis, promote to enum class 2024-01-17 10:16:32 +10:00
Nyall Dawson
f6addcd0ca Promote 3d point symbol shape to enum class 2023-12-25 17:54:44 +10:00
Nyall Dawson
fe2df1441f Move playback controller buttons to reusable widget
Create QgsPlaybackControllerWidget as reusable
play/pause/rewind/next/... button bar
2023-11-30 13:54:02 +10:00
Nyall Dawson
e891ac8fec [feature] Add "movie" mode to temporal controller
This mode is purely for animated map movies -- the user can set
the total number of frames, and the animation will progress
frame by frame for that number of frames, advancing the current
map settings frame at each step (also the @frame_number expression
variable).

No time based filtering of data is performed when in this mode.
2023-11-30 13:54:02 +10:00
Nyall Dawson
60057e508c Move temporal enums to Qgis, promote to enum class 2023-11-30 13:54:02 +10:00
Andrea Giudiceandrea
746345510c Fix Qgis.SettingsOrigin enum values description 2023-11-28 04:33:47 +10:00
Loïc Bartoletti
361fbded94 QgsGeometry: use NoOrientation enum and fix some possible nullptr uses 2023-11-24 09:18:02 +00:00
Nyall Dawson
3ed97c3c76 Move QgsProperty::Type to Qgis, promote to enum class 2023-11-07 20:45:49 +10:00
Nyall Dawson
1d223e692e Expose geos coverage methods to QgsGeos for geos 3.12+ based builds 2023-11-02 22:03:20 +10:00
Alessandro Pasotti
b63391f955
Merge pull request #54951 from elpaso/server-getlegendgraphics-json-rule
FEATURE: Server getlegendgraphics json rule
2023-10-31 09:34:53 +01:00
Nyall Dawson
a1f9039f12 Fix invalid escape sequences in docstrings for enums with since
annotation
2023-10-24 06:44:46 +10:00
Sandro Mani
9b095c5605 Revert "Revert "Allowing storing GPGK raster layer styles to DB""
This reverts commit 9d8a72256893bd31a51d85927e9abd9cdb5eed29.
2023-10-23 13:47:40 +10:00
Alessandro Pasotti
21145c9daa Rule support in server GetLegendGraphics JSON response 2023-10-17 09:29:02 +02:00
Denis Rouzaud
c76b86e26b
move enum QgsMapLayerProxyModel::Filter to Qgis (#54891) 2023-10-11 13:57:01 +02:00
Nyall Dawson
9d8a722568 Revert "Allowing storing GPGK raster layer styles to DB" 2023-10-06 12:15:46 +10:00
Sandro Mani
4bc4f48f50
Merge pull request #54558 from manisandro/rasterstyles
Allowing storing GPGK raster layer styles to DB
2023-10-05 16:16:44 +02:00
Nyall Dawson
7147f013ff Fix QgsField::ConfigurationFlag::None causes syntax error when
starting PyQGIS

We can't use `None` as a keyword exposed to python, it's reserved.
Also move the enum to Qgis before making it part of public stable
API.
2023-10-03 19:51:38 +10:00
Alexander Bruy
373d5f8654
Merge pull request #54035 from alexbruy/processing-port-raster-calculator
Port Raster Calculator algorithm to C++
2023-09-30 10:12:55 +03:00
Alexander Bruy
8d52b54f33 address review 2023-09-25 14:14:41 +03:00
Alexander Bruy
0f93479e1c support for raster calculator expressions in expression parameter 2023-09-25 14:14:41 +03:00
Julien Cabieces
5315ae6cc5 make avoidIntersections return an enum 2023-09-25 08:42:03 +02:00
Sandro Mani
e2169be02f Introduce Qgis::ProviderStyleStorageCapabilities 2023-09-18 14:16:02 +02:00
Alexander Bruy
81dbdd8bae
Merge pull request #53874 from alexbruy/processing-port-align-raster-tool
Port Align rasters tool to Processing
2023-09-14 16:29:49 +03:00