Opened 9 years ago
Last modified 7 years ago
#936 reopened enhancement
Inserting slices in middle of existing irregular timeseries
Reported by: | Dimitar Misev | Owned by: | Vlad Merticariu |
---|---|---|---|
Priority: | major | Milestone: | Future |
Component: | petascope | Version: | development |
Keywords: | Cc: | mantovani, Alex Dumitru, damiano, Vlad Merticariu, Peter Baumann | |
Complexity: | Medium |
Description
I believe this is not supported at the moment with WCS-T? We have an existing irregular timeseries in petascope and the time slices are contiguous in rasdaman, inserting a time slice in the middle of the series would not be possible.
Related ticket #617
Change History (21)
comment:1 by , 9 years ago
Cc: | added |
---|
comment:2 by , 9 years ago
comment:3 by , 9 years ago
Milestone: | 9.1 → 9.2 |
---|
comment:4 by , 9 years ago
Some news Dimitar?
I noticed that you changed the milestone. When is M9.2 planned? From our side this ticket can be considered "Critical". Is very difficult to manage long time series without the possibility to add new slice inside the collection.
Damiano
comment:5 by , 9 years ago
also prepending slices at the beginning of a collection is not supported and rise the following exception:
<ows:Exception exceptionCode="OperationNotSupported"> <ows:ExceptionText>Can not add new slice in between existing slices on irregular axis. Only adding slices on top is currently supported.</ows:ExceptionText> </ows:Exception>
Damiano
comment:6 by , 9 years ago
insertion in the middle is quite difficult, prepending and appending somewhat easier.
Damiano, as this is relevant for EarthServer I suggest to prioritize it there (see next WP2 telecon). Also, maybe we can learn more about the use case: why do you need to insert in the middle?
thanks,
Peter
comment:7 by , 9 years ago
Yes this won't be a trivial fix I believe, that's why I changed the milestone.
Peter let's discuss the planning later today.
comment:8 by , 9 years ago
There are different cases where insertion in the middle is required:
1) The data provider give us missing data
2) The data at a certain date is reprocessed
3) The data provider choose to extend the spatial/temporal domain (from Europe to world wide)
4) …
As larger the collection is, then a larger reingestion time is necessary and is difficult for old and long satellite missions to acquire all the data before start ingestion
comment:9 by , 9 years ago
Dimitar,
I'm thinking that this may be doable with some limitations. We could simply add the new data as a new tile, and shift the domains of all other tiles (without touching the data). Now I'm not sure what happens if the shape of the tile does not correspond to the current tiling scheme of the object, would that work?
comment:10 by , 9 years ago
I'd suggest we do it with the brute-force way first (suggested in #617), and then tweak rasdaman, what do you think?
comment:11 by , 9 years ago
Well, in case that can be avoided, I think we should try. Conceptually I think there are at least a few cases where this can be done without much pain, but that might turn out to be false in implementation. As each tile has a definition domain (which is metadata), if we don't consider the shape, that is all that needs to be changed. I will investigate what happens when the shape doesn't match though.
comment:12 by , 9 years ago
So what is the task, after all? We have an n-D array A, a slice position p within the extent of A along axis a, and an interval [lo,hi]. Then, we want an array A' which gets sliced at p in a, and all cells with "a" coordinate > hi get shifted by hi-lo+1. The array part "below" gets unchanged. The new part gets filled with null, defaults, or some values provided. A', hence has an increased extent.
My take is: first implement it "brute force" following Dimitar, and after that let's look for optimizaiton opportunities.
However, the given tiling structure IMO must not be compromised. (BTW, we need to complete the tiling interface by allowing to retrieve the tiling strategy used, and possibly modify it selectively.)
comment:13 by , 9 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:15 by , 8 years ago
I do not see how this can be implemented in a satisfying way in the near future. If we take tiling policies serious (which we should) then there is no way around copying half of the array in general. Opting for "wontfix".
comment:16 by , 8 years ago
Yes indeed, but I'd think copying half of the array instead of throwing an error is a better alternative?
comment:17 by , 8 years ago
Milestone: | 9.2 → 9.4 |
---|
comment:18 by , 8 years ago
Milestone: | 9.4 → 9.5 |
---|
comment:19 by , 7 years ago
Resolution: | → wontfix |
---|---|
Status: | assigned → closed |
This was implemented for insitu data, where no data shuffling is required (only metadata ops). For non-insitu, data shuffling would be too expensive.
comment:20 by , 7 years ago
Milestone: | 9.5 → Future |
---|---|
Resolution: | wontfix |
Status: | closed → reopened |
Type: | defect → enhancement |
Moving it to future but keeping it open to explore conditions under which this can be done efficiently.
comment:21 by , 7 years ago
I think we should focus on supporting it efficiently given certain constraints.
- Tiling that does not span the axis where the user intends to insert new slices should not be difficult to do efficiently. For example x/y tiling that does not span the t axis.
- Regular/aligned tiling that spans the "insertion" axis might be possible to do relatively efficiently.
indeed, that should be supported. But irregular grids have been thoroughly revised in OGC Testbed-11, so we need to get our thinking caps on anyway. Suggest to devise a roadmap of changes necessary.