Opened 9 years ago
Closed 7 years ago
#1304 closed enhancement (fixed)
3D coverages in WMS
Reported by: | Dimitar Misev | Owned by: | Bang Pham Huu |
---|---|---|---|
Priority: | major | Milestone: | 9.7 |
Component: | petascope | Version: | development |
Keywords: | Cc: | Bang Pham Huu, Vlad Merticariu | |
Complexity: | Medium |
Description (last modified by )
WMS doesn't seem to support 3D coverages? It would be useful to allow them in some way, perhaps by a mandatory rasql style. E.g. consider this example:
Change detection by putting NDVI indexes of different dates in each band of the output; tyrol_6 is a landsat cube with 6 time slices:
for c in (tyrol_6) return encode( { red: (((c.nir - c.red) / (c.nir + c.red))[ansi("2015-08-20")] * 255); green: (((c.nir - c.red) / (c.nir + c.red))[ansi("2015-07-19")] * 255); blue: (((c.nir - c.red) / (c.nir + c.red))[ansi("2015-06-17")] * 255) }, "png")
rasql fragment:
{ (($Iterator[*:*,*:*,5].3 - $Iterator[*:*,*:*,5].2) / ($Iterator[*:*,*:*,5].3 - -$Iterator[*:*,*:*,5].2)) * 255, (($Iterator[*:*,*:*,3].3 - $Iterator[*:*,*:*,3].2) / ($Iterator[*:*,*:*,3].3 - -$Iterator[*:*,*:*,3].2)) * 255, (($Iterator[*:*,*:*,1].3 - $Iterator[*:*,*:*,1].2) / ($Iterator[*:*,*:*,1].3 - -$Iterator[*:*,*:*,1].2)) * 255 }
Change History (11)
comment:1 by , 9 years ago
Description: | modified (diff) |
---|
comment:2 by , 9 years ago
comment:4 by , 8 years ago
beside the RasqlFragments in Insert Style from Dimitar, there is also a official parameters which support multi-dimensional coverage (max to 4D) in WMS 1.3 is: time and elevation. So it need to be handled as well, here is an example from WMS 1.3 document.
VERSION=1.3.0 &REQUEST=GetMap &LAYERS=ozone &CRS=CRS:84 &BBOX=-180,-90,180,90 &WIDTH=600 &HEIGHT=300 &ELEVATION=1000 &TIME=2000-08-03 &FORMAT=image/gif
e.g: the time parameter can be interval (e.g: 1950-01-01:1950-01-06) or list of dates (2008-01-01,2008-01-05,2008-01-08), elevation parameter should be work the same.
comment:5 by , 8 years ago
Cc: | added |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:6 by , 8 years ago
Owner: | changed from | to
---|
comment:7 by , 8 years ago
I'm investigating the code WMS 1.3 to migrate to Spring. Actually, it is easy to support 3D, 4D in WMS as it does not import any collections to Rasdaman. WMS stored the Dimension model about the different axes besides X, Y axes. Then when a request from WMS with Time axis or other kinds of axes, it will work as same as WCS subset.
There are 2 cases:
+ Slicing on other axes (e.g: Time="1950-01-01T02:03:05Z"&Heigh=500), return only 1 PNG image.
+ Trimming on time axes (e.g: Time="1950-01-01T02:03:05Z/1950-01-31T03:05Z"&Heigh=500), return only 1 PNG image from all the dates which are overlayed (for example: There are 10 dates from this time interval, so WMS needs to generate a rasql query which using overlay operation for 10 time value (0:9)).
Examples about WMS with slicing Time: http://bobtorgerson.github.io/Leaflet-WMS-Time-Slider/
Example about WMS with trimming Time: https://boundlessgeo.com/2015/03/using-wms-time-explore-data/
comment:8 by , 7 years ago
@pbaumann: WMS 1.3 specified about nD+ for WMS http://portal.opengeospatial.org/files/?artifact_id=14416
So this enhancement for WMS in petascope was standardized and it could be implemented.
7.3.3.12 TIME The use of Time values is specified in 6.7.6 and in Annexes C and D. 7.3.3.13 ELEVATION The use of Elevation values is specified in 6.7.5 and in Annex C. 7.3.3.14 Other sample dimensions The use of sample dimension values is specified in 6.7.7 and in Annex C
comment:9 by , 7 years ago
Milestone: | 10.0 → 9.6 |
---|---|
Owner: | changed from | to
As Peter agreed to process, I'll check this ticket next week.
comment:10 by , 7 years ago
Milestone: | 9.6 → 9.7 |
---|
comment:11 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Type: | question → enhancement |
How to use WMS on 3D+ coverage: http://rasdaman.org/wiki/WMSGuide#a3DcoverageasWMSlayer
Actually the model supports it already with both time and other dimensions in a standardized manner.
The missing part is in the import from WCS coverage to WMS layer. It would be a couple of days work at most and many users seem to like the idea so maybe we could add it in one of the next sprints?