source: cows/trunk/cows/pylons/templates/wcs_describecoverage_1_0_0.xml @ 5002

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/cows/trunk/cows/pylons/templates/wcs_describecoverage_1_0_0.xml@5002
Revision 5002, 2.8 KB checked in by domlowe, 11 years ago (diff)

svn commit -m fixed WCS CRS handling so correct CRSs are advertised

Line 
1<?xml version="1.0"?>
2<?python
3
4from cows.pylons.genshi_util import RenameElementFilter
5from genshi import QName
6
7?>
8
9  <?python 
10def getCRSList(boundingBoxes):
11""" Builds a string of CRS names   from bounding boxes  """
12crsstr=''
13for bb in boundingBoxes:
14        crsstr=crsstr + bb.crs + ' '
15if len(crsstr) > 0:
16        crsstr=crsstr[:-1] #strip last space
17return crsstr
18  ?>
19
20<CoverageDescription xmlns:py="http://genshi.edgewall.org/" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows" version="1.0.0">
21        <CoverageOffering py:for="cd in c.descriptions">       
22                <description py:if="cd.abstracts is not None" py:content="cd.abstracts"/>           
23        <name py:content="cd.identifier"/>       
24        <label py:if="cd.titles is not None" py:content="cd.titles"/>       
25        <lonLatEnvelope py:for="bb in cd.wgs84BoundingBoxes">
26                    <gml:pos>${bb.lowerCorner[0]}  ${bb.lowerCorner[1]}</gml:pos>
27                    <gml:pos>${bb.upperCorner[0]}  ${bb.upperCorner[1]}</gml:pos>
28        </lonLatEnvelope>
29                <keywords py:if = "len(cd.keywords)>0" >
30            <keyword py:for="key in cd.keywords" py:content="key" />       
31        </keywords>
32        <domainSet>
33            <spatialDomain>
34                <!--! TO DO - nD crs -->
35                <gml:Envelope py:for="bb in cd.boundingBoxes" srsName="${bb.crs}">
36                    <gml:pos>${bb.lowerCorner[0]}  ${bb.lowerCorner[1]}</gml:pos>
37                    <gml:pos>${bb.upperCorner[0]}  ${bb.upperCorner[1]}</gml:pos>
38                </gml:Envelope>
39            </spatialDomain>
40            <temporalDomain>
41                                <gml:timePosition py:for="timepos in cd.timePositions" py:content="timepos"/>
42                <timePeriod>
43                    <beginPosition>${cd.timeLimits[0]}</beginPosition>
44                    <endPosition>${cd.timeLimits[1]}</endPosition>
45                </timePeriod>
46            </temporalDomain>
47        </domainSet>
48        <rangeSet>
49            <RangeSet>
50                <name>rangeset name</name>
51                <label>rangeset label</label>   
52                                <axisDescription py:for="axis in cd.axisDescriptions">
53                                        <AxisDescription>
54                                                <name py:content="axis.name"/>
55                                                <label py:content="axis.label"/>
56                                                <values>
57                                                        <singleValue  py:for="value in axis.values" py:content="value"/>
58                                                </values>
59                                        </AxisDescription>
60                                </axisDescription>           
61            </RangeSet>
62        </rangeSet>
63        <supportedCRSs>
64             <requestCRSs>${getCRSList(cd.boundingBoxes)}</requestCRSs>
65            <responseCRSs>${getCRSList(cd.boundingBoxes)}</responseCRSs>
66        </supportedCRSs>
67        <supportedFormats>
68            <formats>cf-netcdf</formats>
69        </supportedFormats>
70        <supportedInterpolations>
71            <interpolationMethod>none</interpolationMethod>
72        </supportedInterpolations>
73    </CoverageOffering>         
74</CoverageDescription>
Note: See TracBrowser for help on using the repository browser.