-
Notifications
You must be signed in to change notification settings - Fork 8
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
feat: Semantic temporal filter evaluation 🎁 #56
Open
fkroeber
wants to merge
17
commits into
ZGIS:main
Choose a base branch
from
fkroeber:filter_time
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I recommend to squash-merge this PR, since the individual commits are not particularly meaningful |
Regarding testing the new feature:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Current situation
The temporal extent of the loaded data is determined exclusively via the context parameter
time
that needs to be passed to the QueryProcessor. If the data is further subset temporally within a recipe, all data would first be loaded in order to subsequently filter it temporally.New feature
The execution of the QueryProcessor via
recipe.execute()
has an optional preceding FilterProcessor which is switched on by default (filter_check=True
). The FilterProcessor evaluates the recipe for possible temporal filter operations in order to analyse which data actually needs to be loaded for the result calculation. The FilterProcessor uses a semantic evaluation of the recipe to filter the metadata in advance to the extent necessary in terms of time. The FilterProcessor evaluates the entire recipe for temporal filter operations and keeps track of the data layers that are affected by these filter operations.-> For further information please find the corresponding descriptions in the demo/processor.ipnyb.
Type of change
Select one or more relevant options:
Tbd
filter_time()
is explicitly called on a static layer, nothing will be filtered by the FilterProcessor. However the retrieval of metadata via.retrieve_metadata()
as a necessary prerequisite for FilterProcessor may cause problems in case of static layers. Since the available ODC testcube environment on the workstation didn't provide any static layers, this hasn't be investigated closer so far.Checklist: