Hi lists (sorry for cross posting)<br><br>I'm working on refactoring the multidimensional coverages support in<br>imageio-ext (and then I am willing to wrap this for geotools) and<br>now I need some help/advice/guidance :)<br>
Basically we work on top of a class called "SliceDescriptor" (name is<br>temporary) which should describe completely a 2d data slice within a<br>5D coverage. As an instance,<br>a datasource containing Temperatures measured withing a certain area,<br>
at various depths ( 50m, 100m, 200m ) each one at 12.00, 15.00, 18.00<br>(of TODAY), allows to identify 3x3 == 9 different 2D data slices.<br>Hence, a single SliceDescriptor may be referred to a specific 4D<br>spatio-temporal "position" within a bigger 4D domain expressed in<br>
terms of 2D GeographicExtent + Vertical Extent + Temporal Extent (As<br>defined in ISO 19115).<br>In such a context, Vertical Extent may provide a list of values, or a<br>Vertical Range defined by a minimun, a maximum and, optionally, a<br>
resolution value. Furthermore it should be related to a Vertical CRS.<br><br>Let's take GRIB1 datasets to better explain my issue.<br>GRIB1 data are stored as different records each one containing data<br>and additional information contained within a proper GRIB1 section.<br>
Basically, the Product Definition Section (PDS) of a GRIB1 record<br>allows to retrieve information about the represented variable (as an<br>instance, Temperature), the geographical area covered by the data, and<br>information about the date/time and vertical level/layer for which<br>
such a data has been collected. This information may be used to<br>properly refer the 4D spatio-temporal domain of the coverage (by<br>collecting and properly exposing all time/vertical levels information<br>available for several GRIB1 records referring to the same Variable).<br>
The GRIB1 documentation provides information about the available types<br>and values of vertical levels.<br>(<a href="http://www.nco.ncep.noaa.gov/pmb/docs/on388/table3.html">http://www.nco.ncep.noaa.gov/pmb/docs/on388/table3.html</a> )<br>
Table 3 provides a set of definitions which allow to describe the<br>vertical level in terms of, as an instance, height in meters above the<br>ground, depth in meters below sea level, isobaric level (pressure in<br>Pascals),... Basically, it allows to define a wide set of numeric<br>
values for a vertical level.Table 3a provides instead a set of special<br>levels which allow to define vertical level in terms of "symbolic<br>entities" like, as an instance, Ground or water surface, Sea Bottom,<br>
Cloud base level, Cloud Top Level and other special elements without<br>numeric definition.<br><br>Now my question is:<br>How can I handle this special vertical level? (Since, I need to define<br>a Vertical CRS... which vertical datum?)<br>
I'm biased towards not threating them as bands since:<br>- Some Variables may have different real bands (as an instance, Wind<br>Velocity, having U-component and V-component)<br>- Some multi-bands variables may have data for different "special"<br>
vertical levels (as an instance, Wind velocity at Cloud base level and<br>Wind velocity at Cloud top level).<br>For this reason, I think mixing "concepts" (bands/vertical levels) is<br>not a good solution.<br><br>
Moreover ISO 19111 offers several types of "Vertical Datum"s.<br>VerticalDatumType may be "other surface". The CD_VerticalDatum section<br>provides as description of the VerticalDatum:<br>"A textual description and/or a set of parameters identifying a<br>
particular reference level surface used as a zero-height or zero-depth<br>surface, including its position with respect to the Earth"<br>In the case of a level such as "Cloud Top Level" or "Cloud Base Level"<br>
is there a special way to define "its position with respect to the<br>Earth"?<br><br>Anyway, did someone already encountered a similar "problem"? Any ideas<br>about how to handle this case?<br><br>Thank you very much.<br clear="all">
<br>Best Regards,<br>Daniele<br><br>-- <br>-------------------------------------------------------<br>Eng. Daniele Romagnoli <br>Software Engineer<br><br>GeoSolutions S.A.S.<br>Via Carignoni 51<br>55041 Camaiore (LU)<br>Italy<br>
<br>phone: +39 0584983027<br>fax: +39 0584983027<br>mob: +39 328 0559267<br><br><br><a href="http://www.geo-solutions.it">http://www.geo-solutions.it</a><br><br>-------------------------------------------------------<br>