Changeset 6520


Ignore:
Timestamp:
09/02/10 12:08:40 (9 years ago)
Author:
pnorton
Message:

Modified the geoplot layer legend size and added an additional contour rendering option.

Location:
cows/trunk/cows
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • cows/trunk/cows/pylons/templates/wms_capabilities_1_1_1.xml

    r5638 r6520  
    1212 
    1313<WMT_MS_Capabilities xmlns:py="http://genshi.edgewall.org/" 
     14          xmlns:xlink="http://www.w3.org/1999/xlink" 
    1415                     version="1.1.1"> 
    1516 
     
    2930    </HTTP></DCPType> 
    3031  </Operation> 
     32   
     33   
     34    <py:def function="markupLegendURL(l)"> 
     35      <LegendURL width="${l.width}" height="${l.height}"> 
     36         <Format>${l.format}</Format> 
     37         <OnlineResource xlink:type="simple" xlink:href="${l.onlineResource.href}"/> 
     38      </LegendURL> 
     39    </py:def> 
     40   
     41        <py:def function="markupStyle(s)"> 
     42          <Style> 
     43            <Name>${s.name}</Name> 
     44            <Title>${s.title}</Title> 
     45            <py:for each="l in s.legendURLs" py:if="getattr(s, 'legendURLs', None) != None"> 
     46              ${markupLegendURL(l)} 
     47            </py:for> 
     48          </Style> 
     49        </py:def> 
     50     
     51    <py:def function="markupMetadataURL(l)"> 
     52      <MetadataURL type="${showAtt(l, 'type')}" > 
     53         <Format>${l.format}</Format> 
     54         <OnlineResource xlink:type="simple" xlink:href="${l.onlineResource.href}"/> 
     55      </MetadataURL> 
     56    </py:def>     
     57   
    3158  <?python 
    3259   
     
    3966  ?> 
    4067 
     68 
     69<?python 
     70 
     71    def showAtt(obj, attname): 
     72        if not hasattr(obj,attname) or getattr(obj, attname) == None: 
     73            return '' 
     74             
     75        return getattr(obj, attname) 
     76          
     77 
     78?> 
     79 
    4180  <Layer py:def="markupLayer(ds)" queryable="${int(ds.queryable)}"> 
    42     <Name py:content="ds.identifier"/> 
     81     
     82    <py:if test="ds.identifier is not None"> 
     83        <Name py:content="ds.identifier"/> 
     84    </py:if> 
     85     
    4386    <Title py:content="ds.titles[0]"/> 
    4487    <Abstract py:if="len(ds.abstracts)>0" py:content="ds.abstracts[0]"/> 
    45     <SRS py:for="crs in ds.CRSs" py:content="crs"/> 
     88     
     89    <py:if test="ds.CRSs is not None">     
     90        <CRS py:for="crs in ds.CRSs" py:content="crs"/> 
     91    </py:if> 
     92     
    4693    <py:for each="bb in ds.boundingBoxes"> 
    4794      <BoundingBox SRS="${bb.crs}" 
     
    5299    </py:for> 
    53100 
    54     <!-- TODO Attribution from metadata --> 
    55     <!-- TODO AuthorityURL from metadata --> 
    56     <!-- TODO FeatureListURL from metadata --> 
    57     <!-- TODO Identifier from metadata --> 
    58     <!-- TODO DataURL from metadata --> 
    59     <!-- TODO MetadataURL from metadata --> 
     101 
     102 
     103    <!--!TODO Attribution from metadata --> 
     104    <!--!TODO AuthorityURL from metadata --> 
     105    <!--!TODO FeatureListURL from metadata --> 
     106    <!--!TODO Identifier from metadata --> 
     107    <!--!TODO DataURL from metadata --> 
     108    <!--!TODO MetadataURL from metadata --> 
    60109     
    61110    <!--!NOTE: this is an ad-hoc implementation not using the ows_common.model classes 
    62          TODO: fixme --> 
    63     <!-- TODO ScaleHint --> 
     111         !TODO: fixme --> 
     112    <!--!TODO ScaleHint --> 
    64113 
    65114    <Dimension py:for="d_n, d in ds.dimensions.iteritems()" 
    66115               name="${d_n}" units="${d.valuesUnit}" 
    67116               unitSymbol="${d.unitSymbol}"/> 
     117                
    68118    <Extent py:for="d_n, d in ds.dimensions.iteritems()" name="${d_n}" default="${d.defaultValue}"  
    69119            py:content="','.join(d.possibleValues.allowedValues)"/> 
    70120<!--! nearestValue="${int(d.nearestValue)}" --> 
    71     <Style> 
    72       <Name>default</Name> 
    73       <Title>Default</Title> 
    74       <LegendURL width="${ds.legendSize[0]}" height="${ds.legendSize[1]}"> 
    75         <Format py:for="f in ds.legendFormats" py:content="f"/> 
    76         <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"  
    77                         xlink:href="${url_for(qualified=True, action='index')}?request=GetLegend&amp;layers=${ds.identifier}"/> 
    78       </LegendURL> 
    79     </Style> 
     121 
     122     
     123    <py:if test="ds.identifier is not None"> 
     124     
     125        <py:choose test="ds.styles"> 
     126     
     127            <py:when test="['']"> 
     128                <Style> 
     129                    <Name>default</Name> 
     130                    <Title>Default</Title> 
     131                    <LegendURL width="${ds.legendSize[0]}" height="${ds.legendSize[1]}"> 
     132                            <Format py:for="f in ds.legendFormats" py:content="f"/> 
     133                            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"  
     134                                xlink:href="${url_for(qualified=True, action='index')}?request=GetLegend&amp;layers=${ds.identifier}"/> 
     135                    </LegendURL> 
     136                </Style> 
     137            </py:when> 
     138     
     139            <py:otherwise> 
     140                <py:for each="s in ds.styles" py:if="getattr(ds, 'styles', None) != None"> 
     141                    ${markupStyle(s)} 
     142                </py:for> 
     143            </py:otherwise> 
     144     
     145        </py:choose> 
     146         
     147        <py:if test="len(ds.metadataURLs) > 0"> 
     148            <py:for each="url in ds.metadataURLs"> 
     149                ${markupMetadataURL(url)} 
     150            </py:for> 
     151        </py:if> 
     152         
     153    </py:if>     
     154     
     155    <Layer py:for="c in ds.children" py:replace="markupLayer(c)"></Layer> 
    80156 
    81157 
  • cows/trunk/cows/pylons/wms_controller.py

    r6393 r6520  
    293293    def _searchLayerChildren(self, layerList, name): 
    294294        layerObj = None 
    295          
    296         log.debug("looking for name %s in layers %s" % (name, [l.title for l in layerList] ,)) 
    297          
     295                
    298296        for l in layerList: 
    299297            # does this layer match? 
     
    313311                    break 
    314312 
    315         log.debug("found layerObj = %s" % ( layerObj,)) 
    316313        return layerObj 
    317314 
  • cows/trunk/cows/service/imps/geoplot_wms_backend/geoplot_wms_layer.py

    r6394 r6520  
    4747                     units=units, crss=crss, boundingBox=boundingBox, 
    4848                     dataReader=dataReader, childLayers=childLayers) 
     49          
     50        self.legendSize=(630,120) 
    4951         
    5052        if name is not None: 
  • cows/trunk/cows/service/imps/geoplot_wms_backend/slabs/slab_contour.py

    r6394 r6520  
    2121        RenderingOption('contour_font_size', "Contour Label Size" ,str,'medium',["small","medium", "large",]), 
    2222        RenderingOption('contour_label_interval', "Interval Between Labels" ,int,1), 
     23        RenderingOption('intervals', "Contour Lines" ,str,None), 
    2324    ] 
    2425 
Note: See TracChangeset for help on using the changeset viewer.