93212 Commits

Author SHA1 Message Date
Alexander Bruy
263278e429
Merge pull request #63323 from alexbruy/processing-maplayer-types
fix handling of tiled scene and vector tile layers in Processing
2025-09-25 13:20:12 +01:00
Andrea Giudiceandrea
21ebb16199 DOI for QGIS: update README.md 2025-09-25 13:58:53 +02:00
qgis-bot
5f46c63c45 auto sipify 🍺 2025-09-25 11:49:59 +00:00
Denis Rouzaud
9efd6af839
[core] Introduce QgsLayerTreeCustomNode and a first use case: Custom Elevation Profile Sources (#62819)
* Introduce QgsLayerTreeCustomNode to handle items in QgsLayerTree which are not layers nor layer groups (e.g., a custom profile source from a web service to the Elevation Profile layer tree); make QgsAbstractProfileSource and its generator classes get an id in the constructor, so that subclasses don't need to deal with source ids (source ids from the generators are already in use, whereas source id from source subclasses will be used to link sources to QgsLayerTreeCustomNodes, and will be used to retrieve sources from source registry)

* [elevation] Add/remove nodes to Elevation's layer tree when registering/unregistering profile sources via QgsProfileSourceRegistry

* [elevation] Add updateCanvasSources() to Elevation Profile widget, so that after changes in the elevation layer tree, the canvas gets an updated list of profile sources, taking profile sources (i.e., from custom nodes) into account. Add QgsProfileSourceRegistry::findSourceById() for getting profile sources by id from the registry.

* [elevation] Allow for setting a display name for custom profile sources (to be displayed as layer tree node name)

* [elevation] Refactor profile source handling in Layout Elevation Profile widget, so that after changes in the elevation layer tree, the canvas gets an updated list of profile sources, taking profile sources (i.e., from custom nodes) into account. Adjust QgsLayerTreeGroup to be able to find layers and custom nodes, as well as order layer and custom nodes inside a group (only direct children).

* [elevation] Profile Source Registry improvements:

 + Avoid registering a source if its id is already registered,
 + New method to unregister a source by id, deprecating the unregister by source object.

* [tests] Add tests for QgsLayerTreeCustomNode

* [tests] add tests for legacy Elevation Profile sources and for legacy Layout Profile items:

 + make sure we keep the API untouched and mark some stuff as legacy (e.g., pure virtual methods in QgsAbstractProfileSource need to have a default implementation and making them pure virtual is postponed until QGIS 5.0),
 + add insertCustomNode(index, node) method to QgsLayerTreeGroup, so that we can set up the custom node before adding it to the layer tree, because if we add it with no custom properties set (e.g., for the elevation profile custom node), it will trigger plot updates but it won't be found due to a still missing custom property.

* [elevation] Make sure legacy layer ordering in canvas, layout item profile, and layer tree are kept (i.e., keep API untouched). Make profile source ordering works in the most expected way: canvas, layout item profile, and layer tree are in the same order, and sources are only reversed right before passing them to renderers. Add unit tests.

* [tests] Custom node for custom Elevation profiles: make sure layout item sources are stored in and read from the project

* Address review on custom nodes for elevation profile's tree view
2025-09-25 13:47:21 +02:00
Nyall Dawson
8a8c9238e9 Add test masks 2025-09-25 19:42:51 +10:00
Jan Caha
f1da378849
PostgreSQL move raster overviews to schema (#62560)
* if tables is raster and has overviews move them as well and update constraints

* add test case

* fix test case, only select relevant overviews

* first try to move table, then get properties, this ensures fail in the expected way

* get property of table from schema where it was moved to

* move table with overviews in single transaction

* raise error if the transaction did not go trough

* update with error

* update

* use multiple args

* change message

* iterate safely

* multi arg

* Apply suggestions from code review

Co-authored-by: Alessandro Pasotti <elpaso@itopen.it>

* update tests

* fix test fail

* add assertions

* get only tablename

* fix query

* fix lines of result

---------

Co-authored-by: Alessandro Pasotti <elpaso@itopen.it>
2025-09-25 10:33:31 +03:00
Alexander Bruy
ee48ed8a50 fix QGIS version in since annotation 2025-09-25 06:53:15 +01:00
Alessandro Pasotti
affb5ba97c [pg][raster] Fix nodata identify
Fix #63133
2025-09-25 14:15:13 +10:00
Even Rouault
4a31c5af9b Use non-deprecated GDALGetDataTypeSizeBits() function 2025-09-25 00:02:38 +02:00
Alexander Bruy
3dea8531d9 fix handling of tiled scene and vector tile layers in Processing map
layer parameter and associated widget wrapper
2025-09-24 09:36:39 +01:00
Alexander Bruy
f3dc5f274c
Merge pull request #63303 from alexbruy/processing-grass-enable
always load Processing GRASS algorithms (fix #61672)
2025-09-24 08:08:03 +01:00
Malik Blesius
1bbacc7bce [themes] Fix warning text color in modeler dialog for night mapping 2025-09-24 06:40:57 +02:00
Jean Felder
e140b6ea4e cmakelists: Add WITH_INTERNAL_SPATIALINDEX variable
Related: 0b1ba631b36dc6903f3dcdf7ffe3970cdedab4dd
2025-09-24 08:43:57 +10:00
David Koňařík
96f7eedb77 Extend work done in 55235e3e to Qt6 build 2025-09-24 08:39:32 +10:00
Alexander Bruy
e290dc7629 fix typo in the OpenLayersToResolveDescriptions sublayer query flag 2025-09-24 08:36:21 +10:00
Andrea Giudiceandrea
b11c30f8fb
Merge pull request #63278 from m-kuhn/sprintf
Avoid warnings about unsecure functions
2025-09-23 16:09:50 +02:00
Andrea Giudiceandrea
7abd330254
Merge pull request #63252 from DelazJ/substr_count
Adjust substr_count expression help text
2025-09-23 16:06:35 +02:00
Alessandro Pasotti
f477e33eb9
Merge pull request #63294 from elpaso/bugfix-gh59461-raster-bin-count
[gdal] Histogram: adjust bin count according to scale
2025-09-23 07:59:02 +02:00
Juergen E. Fischer
cb16993d14 fix 0b1ba631b 2025-09-23 12:24:17 +10:00
Matthias Kuhn
9646c4677e remove duplicate check 2025-09-22 17:03:42 +02:00
Alexander Bruy
25db730b51 always load Processing GRASS algorithms (fix #61672) 2025-09-22 15:40:39 +01:00
Nicolas Godet
f21aa30e73 Update tests/src/python/test_qgspointcloudlayerprofilegenerator.py 2025-09-22 15:16:15 +02:00
Nicolas Godet
9a9ebccda1 Update test_qgspointcloudlayerprofilegenerator.py 2025-09-22 15:16:15 +02:00
Nicolas Godet
d90ad3f976 typo 2025-09-22 15:16:15 +02:00
github-actions[bot]
5593d1330c auto-fix pre-commit issues 2025-09-22 15:16:15 +02:00
Nicolas Godet
0076a12c38 Add test using remote layer 2025-09-22 15:16:15 +02:00
Nicolas Godet
2d809f9d7c Fix test 2025-09-22 15:16:15 +02:00
Nicolas Godet
5936ad32a0 Restore fix from #54745 2025-09-22 15:16:15 +02:00
Nicolas Godet
ac5cbf1a02 Avoid infinite loop if nodes is empty in pointcloud async functions 2025-09-22 15:13:10 +02:00
Alessandro Pasotti
37a09e66ff [gdal] Histogram: adjust bin count according to scale
Fix #59461
2025-09-22 12:10:06 +02:00
Juergen E. Fischer
0b1ba631b3 add internal spatialindex 2.0.0 for platforms with >=2.1 (followup fd20e69dae)
spatialindex/include/spatialindex/tools/Tools.h slightly adapted to set
SIDX_DLL to CORE_EXPORT
2025-09-22 09:19:58 +02:00
Alessandro Pasotti
cf1529d6cf
Merge pull request #63258 from elpaso/bugfix-gh63171-pg-raster-nodata
[pg][raster] Fix nodata ignored
2025-09-21 11:09:27 +02:00
Matthias Kuhn
f42e08fc99
Fix variable name in sqlite3_get_table calltypo 2025-09-20 13:03:11 +02:00
Matthias Kuhn
e8e751ca3a Avoid warnings about unsecure functions
and modernize code
2025-09-20 11:41:35 +02:00
DelazJ
058a323c4e Use 'string' as first parameter for substr_count function 2025-09-19 10:10:51 +02:00
Alessandro Pasotti
02946bfa56 Tests for issue #63171 2025-09-19 09:06:25 +02:00
Alessandro Pasotti
9074cfbcfc [pg][raster] Fix nodata ignored
Fix #63171

TODO: test
2025-09-18 18:21:32 +02:00
DelazJ
ea329a31d0 Adjust substr_count expression help text 2025-09-18 11:28:13 +02:00
Matthias Kuhn
5ed3275ada
Merge pull request #63220 from nicogodet/fix-vcpkg-build
Install Qt6 in bin dir for Windows build
2025-09-18 08:04:58 +02:00
qgis-bot
3de4415553 auto sipify 🍺 2025-09-18 03:04:06 +00:00
Nyall Dawson
ac57c0d681 Fix docs 2025-09-18 13:01:21 +10:00
Nyall Dawson
fcbbb73acd Test mask 2025-09-18 13:01:21 +10:00
Nyall Dawson
8399cfe3fd [api] Add texture atlas support for billboards
Rework QgsBillboardGeometry/QgsPoint3DBillboardMaterial to handle
a texture atlas for billboard images, for efficient rendering
of billboards where each billboard has a different image
2025-09-18 13:01:21 +10:00
Nyall Dawson
ed178bcb32 [gdal] Only open tiff files to resolve descriptions when opted-in
Fixes #63153
2025-09-18 13:00:47 +10:00
Nyall Dawson
33c638c3a5 [gdal] Pass sublayer query flags to QgsGdalProvider::sublayerDetails 2025-09-18 13:00:47 +10:00
Nyall Dawson
1ac32faf76 Add 'OpenLayersToResolveDescriptions' sublayer query flag
Make (potentially very slow) opening of layers to resolve descriptions opt-in
2025-09-18 13:00:47 +10:00
qgis-bot
483a90ecbe auto sipify 🍺 2025-09-18 02:51:52 +00:00
Mathieu Pellerin
a1e8115733
Merge pull request #63168 from nirvn/project_metadata_translation
Project/layer metadata localization support
2025-09-18 09:49:00 +07:00
Valentin Buira
f0b000a2d5 avoid shortening minimun in the UI 2025-09-18 12:48:55 +10:00
Valentin Buira
83a2f69dfa Partial revert, only left changes to the limits 2025-09-18 12:48:55 +10:00