-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add fixed elevation range per dataset group mode for mesh layers #56977
Conversation
@wonder-sk I'd love your eyes on this one to confirm that this is using the mesh layer APIs correctly |
@nyalldawson it is a bit more complicated with mesh layers compared to raster layers: it is common that within a single layer, there are multiple quantities - take for example ecmwf-test-data.zip (could be used for auto-tests if needed) - it contains three quantities (Humidity, Temperature, Vorticity), each at different times and at different elevation levels. Right now, each elevation level is recognized as a separate dataset group in the styling panel: But with the "fixed elevation range per group" mode, all these dataset groups should be collapsed into just those three quantities, so that users could switch which quantity is active for rendering. A major problem with the current implementation is that user can both move elevation controller's slider and change active dataset groups in the styling panel, but it is unclear what the map canvas is actually showing. In order to fix that, I think in the configuration dialog, in the table of groups with lower/upper limit, we will need one more column - the quantity (kind of "super-group" that combines multiple dataset groups into one). It would be great if the quantity could be populated from an expression as well. With these quantity super-groups, the styling panel could then show just the super-groups instead of "normal" groups (that represent just one particular elevation level). So right now, QgsMeshRendererSettings has And hopefully at some point later, MDAL will report extra metadata for each dataset group: 1. what elevation does it relate to, 2. what quantity does it belong to. With those bits, QGIS should be able to auto-populate the elevation-related configuration. |
a089a7e
to
ffa6b2d
Compare
@wonder-sk thanks for the insights! That sounds like a rather large, low level refactoring of how mesh datasets are handled in QGIS. I'd like to avoid that here, and just get the elevation part working. What do you think about ffa6b2d as a potential workaround for now? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, let's do it like this as a workaround...
5b2001d
to
7c952af
Compare
This mimics the "fixed range per band" mode we have for raster layers, but allows a per-dataset group elevation range to be set for mesh layers
datasets from the same parent group
7c952af
to
4afec6a
Compare
@nyalldawson A documentation ticket will be opened at https://github.com/qgis/QGIS-Documentation when this PR is merged. Please update the description (not the comments) with helpful description and screenshot to help the work from documentors. Thank you! |
This pull request has been tagged for the changelog.
You can edit the description. Format available for credits
Thank you! |
@nyalldawson |
This mimics the "fixed range per band" mode we have for raster layers, but allows a per-dataset group elevation range to be set for mesh layers