-
Notifications
You must be signed in to change notification settings - Fork 24
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 timesequence param for WCS GetCoverage requests #226
Conversation
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.
LGTM in general, though left a couple of questions about the codebase.
P.S. also there is no CHANGELOG (mentioning it here mostly for myself, since we already forgot to update it in a couple of PRs)
b610229
to
f457b74
Compare
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.
LGTM but one minor import thing and no CHANGELOG!
Request a temporal slice from a layer using the GET param `timesequence` with date times conforming to the OgcTimeInterval case class. See OgcTimeInterval scala doc for examples.
f457b74
to
afabc57
Compare
@pomadchin CHANGELOG added and commit history cleaned up |
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.
LGTM! Thanks!
Overview
This PR adds basic temporal support for querying a single TimeInterval or TimePeriod for a given WCS layer. The spec supports querying over multiple intervals or periods but that's not really compatible with GT server currently returning a single raster for all GetCoverage requests. I opened #225 to address expanded temporal querying in the future.
Before calling this issue complete, I think we should still address the following:
Generate or find a simple GeoTrellis layer with a temporal component that we can use for testingGenerated and a note added to GeoTrellisRasterSource temporal build improvements #219. Further work to improve performance will happen there.Figure out how to get QGIS to include the temporal component when configured to render WCS layersLooks to be not trivial. New issue created in our private team repo due to client specific concerns since it doesn't look like QGIS doesn't natively support temporal params on WCS layers.Checklist
Demo
I again used the same LOCA RCP 85 climate data layer I used in #223 which has daily slices for one year.
GetCoverage request with a TimePeriod param
timesequence=2020-01-01T00:00:00Z
correctly filters to a single source available in the layer:GetCoverage request with a TimeInterval param
TIMESEQUENCE=2020-01-15T00:00:00Z/2020-02-15T00:00:00Z
correctly filters to the 31 slices valid during that range:Testing Instructions
Configure the same layer as in #223 (LOCA RCP85) and issue a GetCoverage request that includes the timesequence parameter such as:
http://localhost:9000/?SERVICE=WCS&VERSION=1.1.1&REQUEST=GetCoverage&FORMAT=image/geotiff&IDENTIFIER=loca-rcp85&TIMESEQUENCE=2020-01-01T00:00:00Z&BOUNDINGBOX=38.63767820773930595%2C-96.15608740894901985%2C38.76232179226069974%2C-95.84391259105098015%2Curn%3Aogc%3Adef%3Acrs%3AEPSG%3A%3A4326&GRIDBASECRS=urn%3Aogc%3Adef%3Acrs%3AEPSG%3A%3A4326&GRIDCS=urn%3Aogc%3Adef%3Acs%3AOGC%3A0.0%3AGrid2dSquareCS&GRIDTYPE=urn%3Aogc%3Adef%3Amethod%3AWCS%3A1.1%3A2dSimpleGrid&GRIDORIGIN=38.76232179226069974%2C-96.15608740894901985&GRIDOFFSETS=-0.06232179226069453%2C0.0624349635796051
This particular layer will timeout attempting to serve the query as it requires pulling a large sum of data across a tiled data source. 😞 I still haven't constructed or found a good test layer that includes a temporal dimension.
Closes #157