WMS Nested Layers

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

WMS Nested Layers

Alessio Fabiani
Hi list,
I'll try to explain what we would like to have with WMS nested layers.

First of all let me show you a simple example about nested layers.

We have several remote sensing products both vectors and rasters.
Two of those are:
1) Shapes describing the Heat Impact produced by a fuzzy algorithm taking as input Air Temperature and Relative Humidity.
2) Rasters describing Water Diver Visibility, Backscattering, Absorption and Sea Surface Temperature produced by a Multiband QAA algorithm taking as input several sensors raw data from different satellites and bands.

Showing all those products with a "plain" WMS at the end we have a GetCapabilities structure like this:

NURC:heatImpact_12
NURC:HI_executedRules_12
NURC:HI_HeatIndex_12
NURC:HI_air_temperature_12
NURC:HI_relative_humidity_12
NURC:HI_safe_12
NURC:HI_caution_12
NURC:HI_danger_12
NURC:HI_extreme_danger_12
OCP_ABSORPTION_MODIS_ACQUA_20050621
OCP_DIVER_VISIBILITY_MERIS_ENVISAT_20050621
OCP_BACKSCATT_MODIS_ACQUA_20050621
OCP_BACKSCATT_MERIS_ENVISAT_20050621
OCP_ABSORPTION_MERIS_ENVISAT_20050621
OCP_BACKSCATT_MODIS_TERRA_20050621
OCP_SST_MODIS_ACQUA_20050621
OCP_DIVER_VISIBILITY_MODIS_TERRA_20050621
OCP_SST_MODIS_TERRA_20050621
OCP_DIVER_VISIBILITY_MODIS_ACQUA_20050621
OCP_ABSORPTION_MODIS_TERRA_20050621

Expressed in XML =>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE WMT_MS_Capabilities SYSTEM " http://geos2.nurc.nato.int:80/geoserver/data/capabilities/wms/1.1.1/WMS_MS_Capabilities.dtd">
<WMT_MS_Capabilities version=" 1.1.1">
  <Service>
    <Name>OGC:WMS</Name>
    <Layer>
      <Title>My GeoServer WMS</Title>
      ...
      <LatLonBoundingBox minx="-124.731422" miny=" 23.56532663" maxx="20.015686525" maxy="49.371735"/>

      <Layer queryable="1">
        <Name>NURC:heatImpact_12</Name>
        <Title> HI_HEAT_IMPACT_AOI_TODAY_1200</Title>
        <Abstract>Generated from HI_HEAT_IMPACT_AOI_TODAY_1200</Abstract>
        <KeywordList>
          <Keyword>heatImpact_12 HI_HEAT_IMPACT_AOI_TODAY_1200</Keyword>
        </KeywordList>
        <SRS>EPSG:4326</SRS>
        <!--WKT definition of this CRS:
GEOGCS["WGS 84",
  DATUM["WGS_1984",
    SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]],
    AUTHORITY["EPSG","6326"]],
  PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
  UNIT["degree", 0.017453292519943295],
  AXIS["Lon", EAST],
  AXIS["Lat", NORTH],
  AUTHORITY["EPSG","4326"]]-->
        <LatLonBoundingBox minx="-90.239195977" miny="23.56532663" maxx="-74.560805177" maxy=" 37.43467463"/>
        <BoundingBox SRS="EPSG:4326" minx="-90.239195977" miny="23.56532663" maxx="-74.560805177" maxy="37.43467463"/>
        <Style>
          <Name>NURC_HEAT_IMPACT</Name>
          <Title>MIMS Categories</Title>
          <Abstract>A sample ogc:Filter that ogc:Filters the TDAs into three
            categories of favorability, drawn in different colors</Abstract>
          <LegendURL width="20" height="20">
            <Format>image/png</Format>
            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink " xlink:type="simple" xlink:href=" http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/png&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=NURC:heatImpact_12"/>
          </LegendURL>
        </Style>
      </Layer>

      <Layer queryable="1">
        <Name>NURC:HI_executedRules_12</Name>
        ...
      </Layer>

      <Layer queryable="0">
        <Name>OCP_ABSORPTION_MODIS_ACQUA_20050621</Name>
        <Title>OCP_ABSORPTION_MODIS_ACQUA_20050621</Title>
        <Abstract>Generated from OCP_ABSORPTION_MODIS_ACQUA_20050621</Abstract>
        <KeywordList>
          <Keyword>WCS</Keyword>
          <Keyword>OCP_ABSORPTION_MODIS_ACQUA_20050621</Keyword>
          <Keyword>OCP_ABSORPTION_MODIS_ACQUA_20050621_Coverage</Keyword>
        </KeywordList>
        <SRS>EPSG:4326</SRS>
        <LatLonBoundingBox minx="8.526" miny=" 38.058" maxx="22.029" maxy="47.666"/>
        <BoundingBox SRS="EPSG:4326" minx="8.526" miny="38.058" maxx="22.029" maxy="47.666"/>
        <Style>
          <Name>raster</Name>
          <Title>A boring default style</Title>
          <Abstract>A sample style for rasters</Abstract>
          <LegendURL width="20" height="20">
            <Format>image/png</Format>
            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href=" http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/png&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=OCP_ABSORPTION_MODIS_ACQUA_20050621"/ >
          </LegendURL>
        </Style>
      </Layer>

      <Layer queryable="0">
        <Name>OCP_DIVER_VISIBILITY_MERIS_ENVISAT_20050621</Name>
        ...
      </Layer>

    </Layer>
  </Capability>
</WMT_MS_Capabilities>


**********************************************************************************************************************
**********************************************************************************************************************


Instead we would like to have a GetCapabilities response like this:

NURC:HEAT_IMPACT
    NURC:heatImpact_12
    NURC:HI_executedRules_12
    NURC:HI_HeatIndex_12
    NURC:HI_air_temperature_12
    NURC:HI_relative_humidity_12
    NURC:HI_safe_12
    NURC:HI_caution_12
    NURC:HI_danger_12
    NURC:HI_extreme_danger_12
OCEAN_COLOR_PRODUCTS
    20050621
        OCP_ABSORPTION_MODIS_ACQUA_20050621
        OCP_DIVER_VISIBILITY_MERIS_ENVISAT_20050621
        OCP_BACKSCATT_MODIS_ACQUA_20050621
        OCP_BACKSCATT_MERIS_ENVISAT_20050621
        OCP_ABSORPTION_MERIS_ENVISAT_20050621
        OCP_BACKSCATT_MODIS_TERRA_20050621
        OCP_SST_MODIS_ACQUA_20050621
        OCP_DIVER_VISIBILITY_MODIS_TERRA_20050621
        OCP_SST_MODIS_TERRA_20050621
        OCP_DIVER_VISIBILITY_MODIS_ACQUA_20050621
        OCP_ABSORPTION_MODIS_TERRA_20050621

Expressed in XML =>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE WMT_MS_Capabilities SYSTEM "http://geos2.nurc.nato.int:80/geoserver/data/capabilities/wms/1.1.1/WMS_MS_Capabilities.dtd" >
<WMT_MS_Capabilities version="1.1.1">
  <Service>
    <Name>OGC:WMS</Name>
    <Layer>
      <Title>My GeoServer WMS</Title>
      ...
      <LatLonBoundingBox minx="- 124.731422" miny="23.56532663" maxx="20.015686525" maxy="49.371735"/>

    <Layer>
      <Title>NURC:HEAT_IMPACT</Title>
      <Abstract></Abstract>
      <!--common SRS:-->
      <SRS>EPSG:4326</SRS>
      <!--All supported EPSG projections:-->
         ...
        <LatLonBoundingBox minx="-90.239195977" miny=" 23.56532663" maxx="-74.560805177" maxy="37.43467463"/>

      <Layer queryable="1">
        <Name>NURC:heatImpact_12</Name>
        ...
      </Layer>

    </Layer>

    <Layer>
      <Title>OCEAN_COLOR_PRODUCTS</Title>
      <Abstract></Abstract>
      <!--common SRS:-->
      <SRS>EPSG:4326</SRS>
      <!--All supported EPSG projections:-->
      ...
      <LatLonBoundingBox minx="-124.731422" miny="23.56532663 " maxx="20.015686525" maxy="49.371735"/>

    <Layer>
      <Title>20050621</Title>
      <Abstract></Abstract>
      <!--common SRS:-->
      <SRS>EPSG:4326</SRS>
      <!--All supported EPSG projections:-->
      ...
      <LatLonBoundingBox minx="-124.731422" miny="23.56532663" maxx="20.015686525 " maxy="49.371735"/>

      <Layer queryable="0">
        <Name>OCP_ABSORPTION_MODIS_ACQUA_20050621</Name>
        ...
      </Layer>
     </Layer>
    </Layer>

    </Layer>
  </Capability>
</WMT_MS_Capabilities>

*************************************************************************************************************
*************************************************************************************************************
 
To get this we can just add a parameter to each layer saying "your father is Layer <layer_path>".
The <layer_path> is something like: /NURC:HEAT_IMPACT or /OCEAN_COLOR_PRODUCTS/20050621/
From the Ingestion Engine point of view, we can write this information inside the metadata.xml file associated to the "auto-managed" subdirectory, so that each ingested file will eredit the father layer path.
 
What do you think?
 
Alessio.
Reply | Threaded
Open this post in threaded view
|

Re: [Geoserver-devel] WMS Nested Layers

Rob Atkinson-2
Hi Alessio

I'm wondering whether this cant be done using "dimensions" - as per the
WMS spec.
So, the date would be a dimension of a layer.

I'm also wondering whether it would make sense to treat the other
parameters (sensor, algorithm, phenomenon) as separate "dimensions" too
- but this would make it very hard for clients to discover the
vocabulary used for those dimensions whereas time is predictable.

BTW - am currently working in the Marine domain and will be looking at
scalable metadata designs to disciver this kind of data in catalogues,
so would be interested in comparing notes on the products, and having a
play with any services you stand up.

Regards
Rob Atkinson

Alessio Fabiani wrote:

> Hi list,
> I'll try to explain what we would like to have with WMS nested layers.
>
> First of all let me show you a simple example about nested layers.
>
> We have several remote sensing products both vectors and rasters.
> Two of those are:
> 1) Shapes describing the Heat Impact produced by a fuzzy algorithm
> taking as input Air Temperature and Relative Humidity.
> 2) Rasters describing Water Diver Visibility, Backscattering,
> Absorption and Sea Surface Temperature produced by a Multiband QAA
> algorithm taking as input several sensors raw data from different
> satellites and bands.
>
> Showing all those products with a "plain" WMS at the end we have a
> GetCapabilities structure like this:
>
> NURC:heatImpact_12
> NURC:HI_executedRules_12
> NURC:HI_HeatIndex_12
> NURC:HI_air_temperature_12
> NURC:HI_relative_humidity_12
> NURC:HI_safe_12
> NURC:HI_caution_12
> NURC:HI_danger_12
> NURC:HI_extreme_danger_12
> OCP_ABSORPTION_MODIS_ACQUA_20050621
> OCP_DIVER_VISIBILITY_MERIS_ENVISAT_20050621
> OCP_BACKSCATT_MODIS_ACQUA_20050621
> OCP_BACKSCATT_MERIS_ENVISAT_20050621
> OCP_ABSORPTION_MERIS_ENVISAT_20050621
> OCP_BACKSCATT_MODIS_TERRA_20050621
> OCP_SST_MODIS_ACQUA_20050621
> OCP_DIVER_VISIBILITY_MODIS_TERRA_20050621
> OCP_SST_MODIS_TERRA_20050621
> OCP_DIVER_VISIBILITY_MODIS_ACQUA_20050621
> OCP_ABSORPTION_MODIS_TERRA_20050621
>
> Expressed in XML =>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE WMT_MS_Capabilities SYSTEM "
> http://geos2.nurc.nato.int:80/geoserver/data/capabilities/wms/1.1.1/WMS_MS_Capabilities.dtd"
> <http://geos2.nurc.nato.int:80/geoserver/data/capabilities/wms/1.1.1/WMS_MS_Capabilities.dtd>>
> <WMT_MS_Capabilities version=" 1.1.1">
>   <Service>
>     <Name>OGC:WMS</Name>
>     <Layer>
>       <Title>My GeoServer WMS</Title>
>       ...
>       <LatLonBoundingBox minx="-124.731422" miny=" 23.56532663"
> maxx="20.015686525" maxy="49.371735"/>
>
>       <Layer queryable="1">
>         <Name>NURC:heatImpact_12</Name>
>         <Title> HI_HEAT_IMPACT_AOI_TODAY_1200</Title>
>         <Abstract>Generated from HI_HEAT_IMPACT_AOI_TODAY_1200</Abstract>
>         <KeywordList>
>           <Keyword>heatImpact_12 HI_HEAT_IMPACT_AOI_TODAY_1200</Keyword>
>         </KeywordList>
>         <SRS>EPSG:4326</SRS>
>         <!--WKT definition of this CRS:
> GEOGCS["WGS 84",
>   DATUM["WGS_1984",
>     SPHEROID["WGS 84", 6378137.0, 298.257223563,
> AUTHORITY["EPSG","7030"]],
>     AUTHORITY["EPSG","6326"]],
>   PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
>   UNIT["degree", 0.017453292519943295],
>   AXIS["Lon", EAST],
>   AXIS["Lat", NORTH],
>   AUTHORITY["EPSG","4326"]]-->
>         <LatLonBoundingBox minx="-90.239195977" miny="23.56532663"
> maxx="-74.560805177" maxy=" 37.43467463"/>
>         <BoundingBox SRS="EPSG:4326" minx="-90.239195977"
> miny="23.56532663" maxx="-74.560805177" maxy="37.43467463"/>
>         <Style>
>           <Name>NURC_HEAT_IMPACT</Name>
>           <Title>MIMS Categories</Title>
>           <Abstract>A sample ogc:Filter that ogc:Filters the TDAs into
> three
>             categories of favorability, drawn in different
> colors</Abstract>
>           <LegendURL width="20" height="20">
>             <Format>image/png</Format>
>             <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink 
> <http://www.w3.org/1999/xlink>" xlink:type="simple" xlink:href="
> http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/png&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=NURC:heatImpact_12"/
> <http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=NURC:heatImpact_12>>
>           </LegendURL>
>         </Style>
>       </Layer>
>
>       <Layer queryable="1">
>         <Name>NURC:HI_executedRules_12</Name>
>         ...
>       </Layer>
>
>       <Layer queryable="0">
>         <Name>OCP_ABSORPTION_MODIS_ACQUA_20050621</Name>
>         <Title>OCP_ABSORPTION_MODIS_ACQUA_20050621</Title>
>         <Abstract>Generated from
> OCP_ABSORPTION_MODIS_ACQUA_20050621</Abstract>
>         <KeywordList>
>           <Keyword>WCS</Keyword>
>           <Keyword>OCP_ABSORPTION_MODIS_ACQUA_20050621</Keyword>
>           <Keyword>OCP_ABSORPTION_MODIS_ACQUA_20050621_Coverage</Keyword>
>         </KeywordList>
>         <SRS>EPSG:4326</SRS>
>         <LatLonBoundingBox minx="8.526" miny=" 38.058" maxx="22.029"
> maxy="47.666"/>
>         <BoundingBox SRS="EPSG:4326" minx="8.526" miny="38.058"
> maxx="22.029" maxy="47.666"/>
>         <Style>
>           <Name>raster</Name>
>           <Title>A boring default style</Title>
>           <Abstract>A sample style for rasters</Abstract>
>           <LegendURL width="20" height="20">
>             <Format>image/png</Format>
>             <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
> xlink:type="simple" xlink:href="
> http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/png&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=OCP_ABSORPTION_MODIS_ACQUA_20050621"/
> <http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=OCP_ABSORPTION_MODIS_ACQUA_20050621>>
>           </LegendURL>
>         </Style>
>       </Layer>
>
>       <Layer queryable="0">
>         <Name>OCP_DIVER_VISIBILITY_MERIS_ENVISAT_20050621</Name>
>         ...
>       </Layer>
>
>     </Layer>
>   </Capability>
> </WMT_MS_Capabilities>
>
>
> **********************************************************************************************************************
>
> **********************************************************************************************************************
>
>
> Instead we would like to have a GetCapabilities response like this:
>
> NURC:HEAT_IMPACT
>     NURC:heatImpact_12
>     NURC:HI_executedRules_12
>     NURC:HI_HeatIndex_12
>     NURC:HI_air_temperature_12
>     NURC:HI_relative_humidity_12
>     NURC:HI_safe_12
>     NURC:HI_caution_12
>     NURC:HI_danger_12
>     NURC:HI_extreme_danger_12
> OCEAN_COLOR_PRODUCTS
>     20050621
>         OCP_ABSORPTION_MODIS_ACQUA_20050621
>         OCP_DIVER_VISIBILITY_MERIS_ENVISAT_20050621
>         OCP_BACKSCATT_MODIS_ACQUA_20050621
>         OCP_BACKSCATT_MERIS_ENVISAT_20050621
>         OCP_ABSORPTION_MERIS_ENVISAT_20050621
>         OCP_BACKSCATT_MODIS_TERRA_20050621
>         OCP_SST_MODIS_ACQUA_20050621
>         OCP_DIVER_VISIBILITY_MODIS_TERRA_20050621
>         OCP_SST_MODIS_TERRA_20050621
>         OCP_DIVER_VISIBILITY_MODIS_ACQUA_20050621
>         OCP_ABSORPTION_MODIS_TERRA_20050621
>
> Expressed in XML =>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE WMT_MS_Capabilities SYSTEM
> "http://geos2.nurc.nato.int:80/geoserver/data/capabilities/wms/1.1.1/WMS_MS_Capabilities.dtd"
> <http://geos2.nurc.nato.int:80/geoserver/data/capabilities/wms/1.1.1/WMS_MS_Capabilities.dtd>>
> <WMT_MS_Capabilities version="1.1.1">
>   <Service>
>     <Name>OGC:WMS</Name>
>     <Layer>
>       <Title>My GeoServer WMS</Title>
>       ...
>       <LatLonBoundingBox minx="- 124.731422" miny="23.56532663"
> maxx="20.015686525" maxy="49.371735"/>
>
>     <Layer>
>       <Title>NURC:HEAT_IMPACT</Title>
>       <Abstract></Abstract>
>       <!--common SRS:-->
>       <SRS>EPSG:4326</SRS>
>       <!--All supported EPSG projections:-->
>          ...
>         <LatLonBoundingBox minx="-90.239195977" miny=" 23.56532663"
> maxx="-74.560805177" maxy="37.43467463"/>
>
>       <Layer queryable="1">
>         <Name>NURC:heatImpact_12</Name>
>         ...
>       </Layer>
>
>     </Layer>
>
>     <Layer>
>       <Title>OCEAN_COLOR_PRODUCTS</Title>
>       <Abstract></Abstract>
>       <!--common SRS:-->
>       <SRS>EPSG:4326</SRS>
>       <!--All supported EPSG projections:-->
>       ...
>       <LatLonBoundingBox minx="-124.731422" miny="23.56532663 "
> maxx="20.015686525" maxy="49.371735"/>
>
>     <Layer>
>       <Title>20050621</Title>
>       <Abstract></Abstract>
>       <!--common SRS:-->
>       <SRS>EPSG:4326</SRS>
>       <!--All supported EPSG projections:-->
>       ...
>       <LatLonBoundingBox minx="-124.731422" miny="23.56532663"
> maxx="20.015686525 " maxy="49.371735"/>
>
>       <Layer queryable="0">
>         <Name>OCP_ABSORPTION_MODIS_ACQUA_20050621</Name>
>         ...
>       </Layer>
>      </Layer>
>     </Layer>
>
>     </Layer>
>   </Capability>
> </WMT_MS_Capabilities>
>
> *************************************************************************************************************
>
> *************************************************************************************************************
>  
> To get this we can just add a parameter to each layer saying "your
> father is Layer <layer_path>".
> The <layer_path> is something like: /NURC:HEAT_IMPACT
> or /OCEAN_COLOR_PRODUCTS/20050621/
> From the Ingestion Engine point of view, we can write this information
> inside the metadata.xml file associated to the "auto-managed"
> subdirectory, so that each ingested file will eredit the father layer
> path.
>  
> What do you think?
>  
> Alessio.




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Geoserver-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Geoserver-devel] WMS Nested Layers

Alessio Fabiani
Hi Rob,
it was just an example to show the Nested Layers problem, but we can discuss in more details about the problem so we can try to implement something useful for all of us.
 
Best regards,
             Alessio.

 
On 7/19/05, Rob Atkinson <[hidden email]> wrote:
Hi Alessio

I'm wondering whether this cant be done using "dimensions" - as per the
WMS spec.
So, the date would be a dimension of a layer.

I'm also wondering whether it would make sense to treat the other
parameters (sensor, algorithm, phenomenon) as separate "dimensions" too
- but this would make it very hard for clients to discover the
vocabulary used for those dimensions whereas time is predictable.

BTW - am currently working in the Marine domain and will be looking at
scalable metadata designs to disciver this kind of data in catalogues,
so would be interested in comparing notes on the products, and having a
play with any services you stand up.

Regards
Rob Atkinson

Alessio Fabiani wrote:

> Hi list,
> I'll try to explain what we would like to have with WMS nested layers.
>
> First of all let me show you a simple example about nested layers.
>
> We have several remote sensing products both vectors and rasters.
> Two of those are:
> 1) Shapes describing the Heat Impact produced by a fuzzy algorithm
> taking as input Air Temperature and Relative Humidity.
> 2) Rasters describing Water Diver Visibility, Backscattering,
> Absorption and Sea Surface Temperature produced by a Multiband QAA
> algorithm taking as input several sensors raw data from different
> satellites and bands.
>
> Showing all those products with a "plain" WMS at the end we have a
> GetCapabilities structure like this:
>
> NURC:heatImpact_12
> NURC:HI_executedRules_12
> NURC:HI_HeatIndex_12
> NURC:HI_air_temperature_12
> NURC:HI_relative_humidity_12
> NURC:HI_safe_12
> NURC:HI_caution_12
> NURC:HI_danger_12
> NURC:HI_extreme_danger_12
> OCP_ABSORPTION_MODIS_ACQUA_20050621
> OCP_DIVER_VISIBILITY_MERIS_ENVISAT_20050621
> OCP_BACKSCATT_MODIS_ACQUA_20050621
> OCP_BACKSCATT_MERIS_ENVISAT_20050621
> OCP_ABSORPTION_MERIS_ENVISAT_20050621
> OCP_BACKSCATT_MODIS_TERRA_20050621
> OCP_SST_MODIS_ACQUA_20050621
> OCP_DIVER_VISIBILITY_MODIS_TERRA_20050621
> OCP_SST_MODIS_TERRA_20050621
> OCP_DIVER_VISIBILITY_MODIS_ACQUA_20050621
> OCP_ABSORPTION_MODIS_TERRA_20050621
>

> Expressed in XML =>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE WMT_MS_Capabilities SYSTEM "
> http://geos2.nurc.nato.int:80/geoserver/data/capabilities/wms/1.1.1/WMS_MS_Capabilities.dtd"
> <http://geos2.nurc.nato.int:80/geoserver/data/capabilities/wms/1.1.1/WMS_MS_Capabilities.dtd >>
> <WMT_MS_Capabilities version=" 1.1.1">
>   <Service>
>     <Name>OGC:WMS</Name>
>     <Layer>
>       <Title>My GeoServer WMS</Title>
>       ...
>       <LatLonBoundingBox minx="-124.731422" miny=" 23.56532663"
> maxx="20.015686525" maxy="49.371735"/>
>
>       <Layer queryable="1">
>         <Name>NURC:heatImpact_12</Name>
>         <Title> HI_HEAT_IMPACT_AOI_TODAY_1200</Title>
>         <Abstract>Generated from HI_HEAT_IMPACT_AOI_TODAY_1200</Abstract>
>         <KeywordList>
>           <Keyword>heatImpact_12 HI_HEAT_IMPACT_AOI_TODAY_1200</Keyword>
>         </KeywordList>
>         <SRS>EPSG:4326</SRS>
>         <!--WKT definition of this CRS:
> GEOGCS["WGS 84",
>   DATUM["WGS_1984",
>     SPHEROID["WGS 84", 6378137.0, 298.257223563,
> AUTHORITY["EPSG","7030"]],
>     AUTHORITY["EPSG","6326"]],
>   PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
>   UNIT["degree", 0.017453292519943295],
>   AXIS["Lon", EAST],
>   AXIS["Lat", NORTH],
>   AUTHORITY["EPSG","4326"]]-->
>         <LatLonBoundingBox minx="-90.239195977" miny="23.56532663"
> maxx="-74.560805177" maxy=" 37.43467463 "/>
>         <BoundingBox SRS="EPSG:4326" minx="-90.239195977"
> miny="23.56532663" maxx="-74.560805177" maxy="37.43467463"/>
>         <Style>
>           <Name>NURC_HEAT_IMPACT</Name>
>           <Title>MIMS Categories</Title>
>           <Abstract>A sample ogc:Filter that ogc:Filters the TDAs into
> three
>             categories of favorability, drawn in different

> colors</Abstract>
>           <LegendURL width="20" height="20">
>             <Format>image/png</Format>
>             <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink
> <http://www.w3.org/1999/xlink>" xlink:type="simple" xlink:href="
> http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/png&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=NURC:heatImpact_12"/
> <http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=NURC:heatImpact_12 >>
>           </LegendURL>
>         </Style>
>       </Layer>
>
>       <Layer queryable="1">
>         <Name>NURC:HI_executedRules_12</Name>
>         ...
>       </Layer>
>
>       <Layer queryable="0">
>         <Name>OCP_ABSORPTION_MODIS_ACQUA_20050621</Name>
>         <Title>OCP_ABSORPTION_MODIS_ACQUA_20050621</Title>
>         <Abstract>Generated from
> OCP_ABSORPTION_MODIS_ACQUA_20050621</Abstract>
>         <KeywordList>
>           <Keyword>WCS</Keyword>
>           <Keyword>OCP_ABSORPTION_MODIS_ACQUA_20050621</Keyword>
>           <Keyword>OCP_ABSORPTION_MODIS_ACQUA_20050621_Coverage</Keyword>
>         </KeywordList>
>         <SRS>EPSG:4326</SRS>
>         <LatLonBoundingBox minx=" 8.526" miny=" 38.058" maxx="22.029"
> maxy="47.666"/>
>         <BoundingBox SRS="EPSG:4326" minx="8.526" miny="38.058"
> maxx=" 22.029" maxy="47.666"/>
>         <Style>
>           <Name>raster</Name>
>           <Title>A boring default style</Title>
>           <Abstract>A sample style for rasters</Abstract>
>           <LegendURL width="20" height="20">
>             <Format>image/png</Format>
>             <OnlineResource xmlns:xlink=" http://www.w3.org/1999/xlink"
> xlink:type="simple" xlink:href="
> http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/png&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=OCP_ABSORPTION_MODIS_ACQUA_20050621"/
> < http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=OCP_ABSORPTION_MODIS_ACQUA_20050621>>
>           </LegendURL>
>         </Style>

>       </Layer>
>
>       <Layer queryable="0">
>         <Name>OCP_DIVER_VISIBILITY_MERIS_ENVISAT_20050621</Name>
>         ...
>       </Layer>
>
>     </Layer>
>   </Capability>
> </WMT_MS_Capabilities>
>
>
> **********************************************************************************************************************
>
> **********************************************************************************************************************
>
>
> Instead we would like to have a GetCapabilities response like this:
>
> NURC:HEAT_IMPACT
>     NURC:heatImpact_12
>     NURC:HI_executedRules_12
>     NURC:HI_HeatIndex_12
>     NURC:HI_air_temperature_12
>     NURC:HI_relative_humidity_12
>     NURC:HI_safe_12
>     NURC:HI_caution_12
>     NURC:HI_danger_12
>     NURC:HI_extreme_danger_12
> OCEAN_COLOR_PRODUCTS
>     20050621
>         OCP_ABSORPTION_MODIS_ACQUA_20050621
>         OCP_DIVER_VISIBILITY_MERIS_ENVISAT_20050621
>         OCP_BACKSCATT_MODIS_ACQUA_20050621
>         OCP_BACKSCATT_MERIS_ENVISAT_20050621
>         OCP_ABSORPTION_MERIS_ENVISAT_20050621
>         OCP_BACKSCATT_MODIS_TERRA_20050621
>         OCP_SST_MODIS_ACQUA_20050621
>         OCP_DIVER_VISIBILITY_MODIS_TERRA_20050621
>         OCP_SST_MODIS_TERRA_20050621
>         OCP_DIVER_VISIBILITY_MODIS_ACQUA_20050621
>         OCP_ABSORPTION_MODIS_TERRA_20050621
>
> Expressed in XML =>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE WMT_MS_Capabilities SYSTEM
> " http://geos2.nurc.nato.int:80/geoserver/data/capabilities/wms/1.1.1/WMS_MS_Capabilities.dtd"
> <http://geos2.nurc.nato.int:80/geoserver/data/capabilities/wms/1.1.1/WMS_MS_Capabilities.dtd >>
> <WMT_MS_Capabilities version="1.1.1">
>   <Service>
>     <Name>OGC:WMS</Name>
>     <Layer>
>       <Title>My GeoServer WMS</Title>
>       ...
>       <LatLonBoundingBox minx="- 124.731422" miny="23.56532663"
> maxx="20.015686525" maxy="49.371735"/>
>
>     <Layer>
>       <Title>NURC:HEAT_IMPACT</Title>

>       <Abstract></Abstract>
>       <!--common SRS:-->
>       <SRS>EPSG:4326</SRS>
>       <!--All supported EPSG projections:-->
>          ...
>         <LatLonBoundingBox minx="-90.239195977" miny=" 23.56532663"
> maxx="-74.560805177" maxy="37.43467463"/>
>
>       <Layer queryable="1">
>         <Name>NURC:heatImpact_12</Name>
>         ...
>       </Layer>
>
>     </Layer>
>
>     <Layer>
>       <Title>OCEAN_COLOR_PRODUCTS</Title>
>       <Abstract></Abstract>
>       <!--common SRS:-->
>       <SRS>EPSG:4326</SRS>
>       <!--All supported EPSG projections:-->
>       ...
>       <LatLonBoundingBox minx="- 124.731422" miny="23.56532663 "
> maxx="20.015686525" maxy="49.371735"/>
>
>     <Layer>
>       <Title>20050621</Title>
>       <Abstract></Abstract>
>       <!--common SRS:-->
>       <SRS>EPSG:4326</SRS>
>       <!--All supported EPSG projections:-->
>       ...
>       <LatLonBoundingBox minx="-124.731422 " miny="23.56532663"
> maxx="20.015686525 " maxy="49.371735"/>
>
>       <Layer queryable="0">
>         <Name>OCP_ABSORPTION_MODIS_ACQUA_20050621</Name>
>         ...
>       </Layer>
>      </Layer>
>     </Layer>
>
>     </Layer>
>   </Capability>
> </WMT_MS_Capabilities>
>
> *************************************************************************************************************
>
> *************************************************************************************************************
>
> To get this we can just add a parameter to each layer saying "your
> father is Layer <layer_path>".
> The <layer_path> is something like: /NURC:HEAT_IMPACT
> or /OCEAN_COLOR_PRODUCTS/20050621/
> From the Ingestion Engine point of view, we can write this information
> inside the metadata.xml file associated to the "auto-managed"
> subdirectory, so that each ingested file will eredit the father layer
> path.
>
> What do you think?
>
> Alessio.