-
Notifications
You must be signed in to change notification settings - Fork 37
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
Enhancement Proposal: Native support for virtual products in OWS. #455
Comments
Consolidation of functionality is a good thing. We should maintain the code with feature flags to activate one or the other implementation while we are in the twilight zone. My main concern in using multi-products via virtual products is the OWS table for extents of these and how that needs to be updated given datacube-core has no DB level concepts of space-time. |
There are a few complicating issues surrounding the MVs actually. Maybe full native support of virtual products is too ambitious until after ODC 2.0 adds proper spatio-temporal extent handling. |
@SpacemanPaul this looks awesome! Let's do this! 💯 |
The MV's currently serve three purposes in OWS land:
The virtual product API as it stands only supports 1) from this list (without the "faster than core" efficiency gains). Unfortunately this makes the direct approach outlined above untenable as matters stand until ODC 2.0 and proper postgis indexing of spatiotemporal extents in core. This should remain our long term plan though. |
User band math (and the accompanying "expression" syntax) uses the same expression parser as virtual products |
Allow products in product layers to be structured virtual product definitions as well as simple product names.
E.g. using the cloud-masked LS7/LS8 example in Virtual Product Documentation https://datacube-core.readthedocs.io/en/latest/dev/api/virtual-products.html
Note that in this scenario a number of existing OWS features can be replicated directly with Virtual Products. (e.g. multi-products, masking, band aliases, some of the band math, in styles).
Ideally redundant features will be gradually either deprecated and removed from the datacube_ows codebase entirely, or reimplemented using virtual products. (unless it turns out the OWS implementation is more efficient than the Virtual Product one, in which case we'll probably try and get the OWS implementation into virtual products!)
The text was updated successfully, but these errors were encountered: