Comments (4)
This would be a very much appreciated feature!
However, can I request that we approach this in a different way to rasters? The raster approach worked ok-ish in the single-canvas world, but since it was implemented we've now got multi-canvas and 3d canvas at play (also layout maps). And the raster approach just doesn't work well anymore for these use cases.
The issue comes from trying to update the renderer values from the calculated values during rendering. I'd much prefer to completely handle this in the renderer code alone, and omit any GUI updates of the calculated ranges.
If your use case doesn't require an updated legend text then it would be relatively easy to remove the layer renderer -> renderer widget updates and completely remove refreshRendererIfNeeded.
If this IS a requirement, then we need a different approach to handle this. I would instead go for an approach of allowing the layer renderers to report statistics collected during rendering back to the canvas. (There's already a similar mechanism used for handle errors reported by layer renderers, this could be reused with a flexible QVariantMap "calculatedRendererResults" object or similar). Then only the MAIN canvas would handle responding to the gathered statistics and updating the legend accordingly.
from qgis-enhancement-proposals.
@nyalldawson I think that the legend must be updated or the user won't be able to understand what's displayed, don't you think ?
If I understand what you mean, you would prefer that the logic of refreshRendererIfNeeded
should be implemented the the QgsPointCloudLayerRenderer
?
For the legend update, could you indicate me where there is the mechanism that handle errors reported by layer renderers ? I don't see how I will be able to update the legend and the symbology widget.
from qgis-enhancement-proposals.
@nyalldawson From my understanding of QGIS, there is only one legend for each layer. How can we fix this without some major changes in code.
I think it's out of the scope of this QEP to treat the issue of multiple legend.
Is the proposed solution a No Go for you or can I start a PR ?
from qgis-enhancement-proposals.
I think it's out of the scope of this QEP to treat the issue of multiple legend.
That's completely fair enough. But in that case I'd ask that you omit the legend component and add the logic in the QgsPointCloudLayerRenderer class alone, and without any two-way logic to change the layer's renderer settings based on the results of rendering a particular extent.
from qgis-enhancement-proposals.
Related Issues (20)
- GSSAPI authentication not supported HOT 1
- Support for Complex Features in WFS provider HOT 9
- Authentication system updates HOT 21
- License requirements for plugins on plugins.qgis.org HOT 8
- Indicator on volatile default values
- R QGIS_process integration into JASP HOT 4
- QGIS Enhancement: Allow a simple way to refresh external datasets manually HOT 1
- CMYK Support HOT 22
- A better experience for first time plugin manager users HOT 7
- PyQGIS linter warnings HOT 1
- Move more data providers to core library HOT 15
- QGIS Enhancement: Authentication system revision (v1.1) HOT 3
- Clean up point cloud index and improve its thread safety HOT 2
- QGIS Enhancement Proposal: Mitigate Abusive Tile Fetching on OpenStreetMap (OSM) Servers HOT 11
- QGIS Enhancement Proposal: Implementing CI Qt6 Windows Builds through vcpkg HOT 4
- QGIS Enhancement Proposal: Paged Fetching of Features and Browser Attribute Table Improvements HOT 2
- Fix access to remote data sources in WebAssembly builds HOT 14
- Embedded end-user feedback HOT 6
- Trusted Projects and Folders HOT 12
- Improve UX of Raster Legend in the QGIS Layers Panel
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qgis-enhancement-proposals.