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
@nirvn nirvn force-pushed the temporal_representation branch from b32b70a to f9d8e84 Compare April 4, 2024 03:30
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)

@nirvn nirvn force-pushed the temporal_representation branch from 2bc0adc to 8384007 Compare April 5, 2024 10:06
@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 nirvn force-pushed the temporal_representation branch from 8384007 to 2ba2abe Compare April 6, 2024 04:14
@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!

@zacharlie zacharlie added the Changelog Items that are queued to appear in the visual changelog - remove after harvesting label Jun 18, 2024
@qgis-bot
Copy link
Collaborator

@nirvn

This pull request has been tagged for the changelog.

  • The description will be harvested so please provide a "nearly-ready" text for the final changelog
  • If possible, add a nice illustration of the feature. Only the first one in the description will be harvested (GIF accepted as well)
  • If you can, it's better to give credits to your sponsor, see below for different formats.

You can edit the description.

Format available for credits
  • Funded by NAME
  • Funded by URL
  • Funded by NAME URL
  • Sponsored by NAME
  • Sponsored by URL
  • Sponsored by NAME URL

Thank you!

@zacharlie zacharlie added ChangelogHarvested This PR description has been harvested in the Changelog already. and removed Changelog Items that are queued to appear in the visual changelog - remove after harvesting labels Jun 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ChangelogHarvested This PR description has been harvested in the Changelog already. 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.

5 participants