Nyall Dawson
feeb2b418b
[vectortiles] Never try to request every tile in a zoom level
...
In certain circumstances (eg map in geographic CRS, including
+/-180 long or +/- 90 lat within map bounds), the extent
passed to the map layer renderers is a maximal extent indicating
that the generic map renderer code could not successfully
reproject the map extent to the layer's crs.
This is BAD for vector tiles, as it results in us trying to
fetch EVERY SINGLE TILE IN THE WORLD for a given zoom level!!!1!
Add special logic to the vector tile renderer to catch this
situation is attempt to determine a minimal extent to fetch, or
fail gracefully.
2025-04-24 12:00:42 +02:00
Nyall Dawson
1efd5df8d6
Add method to return total number of tiles in a QgsTileRange
2025-04-24 12:00:42 +02:00
Nyall Dawson
67036b670f
Add isMaximal method to QgsRectangle
2025-04-24 12:00:42 +02:00
Nyall Dawson
741e698b65
Apply suggestions from code review
...
Co-authored-by: Alexander Bruy <alexander.bruy@gmail.com>
2025-04-24 16:00:08 +10:00
Nyall Dawson
6b40530fd4
Test masks
2025-04-24 16:00:08 +10:00
Nyall Dawson
edb1f79022
Update test to new infrastructure
2025-04-24 16:00:08 +10:00
Nyall Dawson
5a4dba585d
Fix clang tidy warnings
2025-04-24 16:00:08 +10:00
Nyall Dawson
10c09465fa
Cleanup const iteration
2025-04-24 16:00:08 +10:00
Nyall Dawson
7cdfacc06c
Better memory safety in WMS provider block
...
Don't needlessly create image on the heap
2025-04-24 16:00:08 +10:00
Nyall Dawson
931e681b89
Fix visible gaps in between xyz tiles
...
In some circumstances there can be a visible <=2 pixel-wide gap
between adjacent tiles in xyz layers
Rework the image destination rect calculation to an integer
based calculation, as we'll always be drawing the tiles using
a painter with a pixel-based image device, and ensure that
the destination rect is always expanded to the nearest pixel
(instead of shrunk)
2025-04-24 16:00:08 +10:00
Nyall Dawson
b114e0aef3
Fix duplicate parameter warning in gdal rasterize algorithm
2025-04-24 10:19:56 +10:00
Nyall Dawson
ad05e0316f
Fix crashes when application clipboard has no mime data
...
E.g. when running with QT_QPA_PLATFORM=offscreen
2025-04-24 01:17:46 +10:00
Benoit D.-M. - oslandia
c892205a18
Debug texture render view ( #61367 )
...
* feat(3d/renderView): extract texture preview render pass to dedicated files
* fix(3d): replace QgsPreviewQuad by QgsRenderPassQuad
As they are quite the same, we remove QgsPreviewQuad and replace all usage by QgsRenderPassQuad
* fixup! feat(3d/renderView): extract texture preview render pass to dedicated files
* fix(3D/renderview): complete doc on registerRenderView
* fixup! fix(3D/renderview): complete doc on registerRenderView
* fixup! feat(3d/renderView): extract texture preview render pass to dedicated files
* fixup! feat(3d/renderView): extract texture preview render pass to dedicated files
* fix(framegraph): simplify if with ternary operator
* fix(3d): cleanup some extra headers
* fixup! feat(3d/renderView): extract texture preview render pass to dedicated files
2025-04-23 14:15:39 +02:00
bdm-oslandia
1f0328cff6
fix(test): add expected results for PyQgsWebEnginePage test to ensure Qt6 compatibility
2025-04-23 20:43:26 +10:00
qgis-bot
ea98b95b75
auto sipify 🍺
2025-04-23 02:22:06 +00:00
Nyall Dawson
aa0fac012c
Add icon for query history
2025-04-23 12:19:10 +10:00
Nyall Dawson
f6d740e9db
Fix docs
2025-04-23 12:19:10 +10:00
Nyall Dawson
531d92a652
Fix misc checks
2025-04-23 12:19:10 +10:00
Nyall Dawson
04913a119f
Add top level action for database query history
...
Adds an entry to the app "Database" menu for "Query History",
which opens the database query history dialog
2025-04-23 12:19:10 +10:00
Nyall Dawson
2dd042cd93
Show history panel in execute sql dialog
2025-04-23 12:19:10 +10:00
Nyall Dawson
8c1cdcfad0
Rework QgsQueryResultWidget so that it uses a QgsPanelWidgetStack
2025-04-23 12:19:10 +10:00
Nyall Dawson
65c711b540
Default new globe views to '3D Globe #' names
...
Makes it easier to distinguish them in the 3d views list
2025-04-23 11:24:14 +10:00
Alexander Bruy
2d1f318bf9
update Processing algorithms to use new enum values
2025-04-23 07:39:24 +10:00
Alexander Bruy
85d191038e
better names for enum values
2025-04-23 07:39:24 +10:00
Alexander Bruy
f186288b41
fix TIN and IDW interpolation algorithms and tests
2025-04-23 07:39:24 +10:00
Alexander Bruy
cb89558792
convert interpolation enums to enum classes
2025-04-23 07:39:24 +10:00
Alexander Bruy
29a612f9c1
convert kernel density estimation enums to enum classes
2025-04-23 07:39:24 +10:00
Alexander Bruy
adf4f08001
convert raster calculator result enum to enum class
2025-04-23 07:39:24 +10:00
bdm-oslandia
77f46e0659
Pdf4QtLibCore: add explicite call to std::atomic::load() function to ensure c++15 compatibility
...
This fix the use of the deleted copy constructor of std::atomic (since c++15).
see https://github.com/JakubMelka/PDF4QT/pull/266
2025-04-23 07:37:18 +10:00
bdm-oslandia
00fa0a411c
Pdf4QtLibCore: fix CMakeList to ignore warning deprecated-literal-operator
...
see https://github.com/JakubMelka/PDF4QT/pull/260
2025-04-23 07:37:18 +10:00
bdm-oslandia
6164076dad
Pdf4QtLibCore: fix CMakeList to ignore clang error unused-private-field
2025-04-23 07:37:18 +10:00
David Koňařík
b2972d4f2b
Make changes per review suggestions
2025-04-23 07:36:41 +10:00
David Koňařík
8f33234255
Refactor 3D globe panning logic
...
Instead of raycasting based on a previously-captured depth buffer, which
only works well for featureless scenes, construct a virtual sphere and
intersect the mouse pointer's ray with that.
2025-04-23 07:36:41 +10:00
David Koňařík
f5d4c39334
Slightly improve 3D camera controller error handling
2025-04-23 07:36:41 +10:00
Mathieu Pellerin
95a2acb910
[themes] Fix ugly top padding for title-less Q*GroupBox
2025-04-22 20:34:37 +07:00
Alexander Bruy
49c7aecbb1
Merge pull request #61555 from kikitte/master
...
clear features in QgsIdentifyResultsDialog::clear to avoid memory leak
2025-04-22 12:23:02 +01:00
Alexander Bruy
b2bdc4a2a1
Merge pull request #61563 from alexbruy/processing-checkvalidity-cpp
...
port Check Validity algorithm to C++
2025-04-22 11:13:17 +01:00
Martin Dobias
1a62581ca1
Add subtle shading of globe for better depth perception
2025-04-22 11:53:59 +10:00
qgis-bot
969fa6bfc1
auto sipify 🍺
2025-04-22 01:48:25 +00:00
Nyall Dawson
94831606a8
Update src/ui/qgslabelremoveduplicatesettingswidgetbase.ui
...
Co-authored-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com>
2025-04-22 11:45:25 +10:00
Nyall Dawson
1335475042
Hide label spacing, duplicate removal setting on GEOS < 3.10
...
Replace the widgets with a label stating "not available on this
QGIS installation"
2025-04-22 11:45:25 +10:00
Nyall Dawson
c0a3e90ecf
Fix misc tests
2025-04-22 11:45:25 +10:00
Nyall Dawson
298f03dca8
Fix build on older geos
2025-04-22 11:45:25 +10:00
Nyall Dawson
b8712c51c0
Add missing files
2025-04-22 11:45:25 +10:00
Nyall Dawson
c2ee323793
[feature] Add labeling setting to prevent duplicate labels within xx mm
...
Improves the appearance of labels in situations like road networks,
where things like dual carriageways, service roads, etc can result
in many labels of the exact same text appearing close to each other.
When active, removes any labels with the exact same text (case
sensitive!) which are closer then this minimum distance.
The setting applies across layers, so duplicate text from ANY
layer will be considered.
2025-04-22 11:45:25 +10:00
Nyall Dawson
4d98f21d67
[feature] Add 'margin around labels' setting for labeling
...
Allows setting a margin around a layer's labels, which prevents
other labels from being placed closer than this margin distance
to the layer's labels.
2025-04-22 11:45:25 +10:00
Nyall Dawson
5b6151086d
[pal] Ensure we always use the correct bounds when inserting features
...
into candidate spatial indexes
We need to use the expanded bounds for candidate conflicts, not
the actual label bounds. Otherwise rules like minimum distance
between labels won't work, as potential conflicts aren't getting
returned when searching the candidate spatial indexes.
2025-04-22 11:45:25 +10:00
Nyall Dawson
72474ab4a0
[pal] Cache LabelPosition::boundingBoxForCandidateConflicts
...
As well as avoiding multiple re-calculation of this, caching ensures
that we ALWAYS return the same bounds, which is crucial when we need
to remove the position from a spatial index
2025-04-22 11:45:25 +10:00
Nyall Dawson
255d4b3ce2
Add method to test if QgsMapUnitScale is null
2025-04-22 11:45:25 +10:00
Alex
4a0ea094fb
show right file
2025-04-22 11:37:22 +10:00