Git Product home page Git Product logo

Comments (4)

nyalldawson avatar nyalldawson commented on July 16, 2024

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.

jmkerloch avatar jmkerloch commented on July 16, 2024

@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.

jmkerloch avatar jmkerloch commented on July 16, 2024

@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.

nyalldawson avatar nyalldawson commented on July 16, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.