Skip to content
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

[raster][temporal] Add a brand new temporal mode: pixel value as temporal datetime #57035

Merged
merged 6 commits into from
Apr 7, 2024

Conversation

nirvn
Copy link
Contributor

@nirvn nirvn commented Apr 4, 2024

Description

This PR implements a new temporal mode for raster layers which interprets each pixel as a datetime value. When rendering a raster layer using that temporal mode, pixels will be hidden whenever they fall outside of the temporal range attached to the render context.

In action, this is how it looks using a simple GLAD deforestation alerts geotiff:

Screencast.from.2024-04-04.09-52-39.webm

And here's how the setup UI looks like:

image

Interesting temporal use cases include:

  • representation of land use change such as forest loss (as seen above)
  • representation of flooding over time
  • representation of movement cost (e.g. GRASS' r.walk)
  • etc.

The implementation here is taken from @nyalldawson 's elevation surface representation functionality merged earlier this year. Thanks for the inspiration!

@nirvn nirvn added Feature Rasters Related to general raster layer handling (not specific data formats) Temporal Temporal filtering or animation labels Apr 4, 2024
@github-actions github-actions bot added this to the 3.38.0 milestone Apr 4, 2024
Copy link

github-actions bot commented Apr 4, 2024

🪟 Windows builds ready!

Windows builds of this PR are available for testing here. Debug symbols for this build are available here.

(Built from commit 2bc0adc)

@nyalldawson
Copy link
Collaborator

Great feature! This does make me think that we need a "single color" raster renderer to accompany this

@nirvn
Copy link
Contributor Author

nirvn commented Apr 6, 2024

@nyalldawson , good idea. A single color renderer would be helpful even in a non temporal context here (eg show me all non-nodata as blue from a detected water/flooding dataset). It'd even be useful for elevation to define an elevation range area using a single color.

@nirvn
Copy link
Contributor Author

nirvn commented Apr 6, 2024

@nyalldawson , comments addressed, thanks for the review.

@nirvn
Copy link
Contributor Author

nirvn commented Apr 7, 2024

@nyalldawson , done.

@nyalldawson nyalldawson merged commit 6dafb5d into qgis:master Apr 7, 2024
30 checks passed
@DelazJ DelazJ added the Needs Documentation When merging a labeled PR, an issue will be created in the Doc repo. label Apr 11, 2024
@qgis-bot
Copy link
Collaborator

@nirvn
This pull request has been tagged as requiring documentation.

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.
Also, any commit having [needs-doc] or [Needs Documentation] in will see its message pushed to the issue, so please be as verbose as you can.

Thank you!

@qgis-bot
Copy link
Collaborator

@nirvn
A documentation ticket has been opened at qgis/QGIS-Documentation#9001
It is your responsibility to visit this ticket and add as much detail as possible for the documentation team to correctly document this change.
Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Needs Documentation When merging a labeled PR, an issue will be created in the Doc repo. Rasters Related to general raster layer handling (not specific data formats) Temporal Temporal filtering or animation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants