Changeset 3533 for DPPP


Ignore:
Timestamp:
27/02/08 15:05:12 (11 years ago)
Author:
spascoe
Message:

New interface works in view.html

Location:
DPPP/ukcip02_server/trunk/ukcip_server/ukcip_server
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • DPPP/ukcip02_server/trunk/ukcip_server/ukcip_server/controllers/ukcip_wms.py

    r3532 r3533  
    88 
    99from ukcip_server.lib.base import * 
    10 from ukcip_server.model.pywms.wms_cdms import SimpleCdmsLayer  
    1110from ukcip_server.model.pywms.render_imp import RGBARenderer 
    1211 
     
    6766            raise InvalidParameterValue('Layer %s not found' % layer, 'layers') 
    6867 
    69         # Get format and create a renderer 
     68        # Get format 
    7069        format = self.getOwsParam('format') 
    71         renderer = RGBARenderer(layerObj.minValue, layerObj.maxValue) 
    72         if format != renderer.mimeType: 
     70        if format != 'image/png': 
    7371            raise InvalidParameterValue( 
    7472                'Format %s not supported' % format, 'format') 
    75  
    7673 
    7774        # Dimension handling 
     
    8077 
    8178        # The real work 
    82         grid = layerObj.selectGrid(bbox, dims) 
    83         img = renderer.renderGrid(grid, bbox, width, height, cmap=get_cmap()) 
     79        view = layerObj.getView(srs, dims, dict(minValue=0, maxValue=100)) 
     80        img = view.getImage(bbox, width, height) 
    8481 
    8582        # IE < 7 doesn't display the alpha layer right.  Here we sniff the 
     
    9693        img.save(buf, 'PNG') 
    9794 
    98         response.headers['Content-Type'] = renderer.mimeType 
     95        response.headers['Content-Type'] = format 
    9996        response.write(buf.getvalue()) 
    10097 
  • DPPP/ukcip02_server/trunk/ukcip_server/ukcip_server/model/pywms/impl.py

    r3532 r3533  
    77""" 
    88from interfaces import ILayer, ILayerView, IDimension 
    9 from wms_cdms import SimpleCdmsLayer, CdmsTimeDimension 
     9from wms_cdms import SimpleCdmsLayer, CdmsTimeDimension, CdmsGrid 
    1010import cdtime 
    1111from render_imp import RGBARenderer 
     
    1919 
    2020    """ 
    21     def __init__(self, cdmsVar, title, GridClass=CdmsGrid): 
    22         self._layer = SimpleCdmsLayer(cdmsVar, title, GridClass) 
     21    def __init__(self, cdmsVar, GridClass=CdmsGrid): 
     22        try: 
     23            title = cdmsVar.long_name 
     24        except AttributeError: 
     25            title = cdmsVar.id 
     26             
     27        self._layer = SimpleCdmsLayer(cdmsVar, title, GridClass=GridClass) 
    2328        self.abstract = None 
    2429        self.crss = [GridClass.crs] 
     
    3035 
    3136    def getView(self, crs, dimValues=None, renderOpts={}): 
    32         if crs != GridClass.crs: 
     37        if crs != self.crss[0]: 
    3338            raise ValueError("CRS %s not supported on this layer" % crs) 
    3439         
     
    4752 
    4853    def getImage(self, bbox, width, height): 
    49         grid = self.layer.selectGrid(bbox, self.dimValues) 
     54        grid = self.layer._layer.selectGrid(bbox, self.dimValues) 
    5055        cmap = get_cmap(self.renderOpts.get('cmap', 'jet')) 
    5156 
    52         return self._renderer.renderGrid(grid, bbox, width, height, self.renderOpts, 
    53                                          cmap) 
     57        return self._renderer.renderGrid(grid, bbox, width, height, cmap) 
    5458 
    5559    def getCacheKey(self): 
  • DPPP/ukcip02_server/trunk/ukcip_server/ukcip_server/model/pywms/wms_cdms.py

    r3532 r3533  
    123123        super(SimpleCdmsLayer, self).__init__(long_name) 
    124124 
     125        #if 'time' in self.var.axes: 
     126        #    self.dimensions = dict(time=CdmsTimeDimension(self.var.axes['time'])) 
    125127        if self.var.getTime(): 
    126128            self.dimensions = dict(time=CdmsTimeDimension(self.var.getTime())) 
     
    128130            self.dimensions = {} 
    129131 
    130         if minValue is not None: 
    131             self.minValue = minValue 
    132         else: 
    133             self.minValue = self.var.min_value 
    134  
    135         if maxValue is not None: 
    136             self.maxValue = maxValue 
    137         else: 
    138             self.maxValue = self.var.max_value 
     132##         if minValue is not None: 
     133##             self.minValue = minValue 
     134##         else: 
     135##             self.minValue = self.var.min_value 
     136 
     137##         if maxValue is not None: 
     138##             self.maxValue = maxValue 
     139##         else: 
     140##             self.maxValue = self.var.max_value 
     141 
     142        self.minValue = minValue 
     143        self.maxValue = maxValue 
    139144 
    140145        try: 
  • DPPP/ukcip02_server/trunk/ukcip_server/ukcip_server/model/ukcip02.py

    r3495 r3533  
    88 
    99from pylons import config 
    10 from ukcip_server.model.pywms.wms_cdms import SimpleCdmsLayer, CdmsBNGGrid 
     10from ukcip_server.model.pywms.wms_cdms import CdmsBNGGrid 
     11from ukcip_server.model.pywms.impl import CdmsLayer 
    1112 
    1213import cdms2 as cdms 
     
    2728        log.debug('Found layer %s' % varName) 
    2829        #!TODO: Min/Max values 
    29         layers[varName] = SimpleCdmsLayer(ds[varName], 0, 100, GridClass=CdmsBNGGrid) 
     30        layers[varName] = CdmsLayer(ds[varName], GridClass=CdmsBNGGrid) 
    3031    datasets[f] = ds 
    3132 
Note: See TracChangeset for help on using the changeset viewer.