Changeset 5163 for cows


Ignore:
Timestamp:
02/04/09 10:40:08 (10 years ago)
Author:
spascoe
Message:

Copying to personal branch for some refactoring

Location:
cows/branches/cows-spascoe
Files:
3 edited
1 copied

Legend:

Unmodified
Added
Removed
  • cows/branches/cows-spascoe/cows/pylons/project_templates/cows_server/+package+/public/demo.js

    r5102 r5163  
    4848    map.addLayer(dataLayer); 
    4949 
     50    var legendURL = dataLayer.url + '?REQUEST=GetLegend&LAYERS=' +  
     51        dataLayer.params.LAYERS; 
     52 
     53    var legend = document.getElementById('legend'); 
     54    legend.innerHTML = '<img src="' + legendURL + '"/>'; 
     55 
    5056} 
    5157 
     
    6369        params: { 
    6470            layers: layer, 
    65             request: 'GetContext', format: 'application/json', 
     71            request: 'GetContext', format: 'application/json' 
    6672        }, 
    6773        async: false 
  • cows/branches/cows-spascoe/cows/pylons/project_templates/cows_server/+package+/templates/demo.html

    r5066 r5163  
    4343   
    4444 
    45   <div id="map"/> 
    46   <div id="panel"/> 
     45  <table> 
     46    <tr> 
     47      <td> 
     48        <div id="map"/> 
     49      </td> 
     50      <td> 
     51        <div id="legend"/> 
     52      </td> 
     53      <td> 
     54        <div id="panel"/> 
     55      </td> 
     56    </tr> 
     57  </table> 
    4758 
    4859  <h2>Features Available</h2> 
  • cows/branches/cows-spascoe/cows/service/imps/csmlbackend/wms_csmllayer.py

    r4971 r5163  
    1212import os, string 
    1313import csml 
     14import numpy 
     15from cStringIO import StringIO 
    1416try: 
    1517    import cdms2 as cdms 
     
    2527log = logging.getLogger(__name__) 
    2628 
     29from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas 
     30from matplotlib.figure import Figure 
     31from matplotlib.colorbar import ColorbarBase 
    2732 
    2833from cows.service.wms_iface import IwmsLayer, IwmsDimension, IwmsLayerSlab 
     
    261266 
    262267 
     268    def getLegendImage(self, orientation='vertical', renderOpts={}): 
     269        if 'vert' in orientation: 
     270            figsize = (1, 3.2) 
     271            rect = (0.05, 0.05, 0.4, 0.9) 
     272        else: 
     273            figsize = (4.1, 1) 
     274            rect = (0.05, 0.55, 0.9, 0.4) 
     275 
     276        #!TODO: remove these dummy values 
     277        minValue, maxValue = (0, 100) 
     278        cmap = cm.get_cmap(config['colourmap']) 
     279 
     280        fig = Figure(figsize=figsize, dpi=100, facecolor='w') 
     281 
     282        # If there is no minValue/maxValue don't display a colourbar 
     283        # but display a warning.  Any colourbar would be a complete 
     284        # guess unless we find the actual range from the slab. 
     285        if minValue is None: 
     286            fig.text(0.5, 0.3, 'NO RANGE SET!\n(%s)' % self.units, 
     287                     multialignment='center', 
     288                     rotation=orientation) 
     289        else: 
     290            ax = fig.add_axes(rect) 
     291            cb = ColorbarBase(ax, cmap=cmap,  
     292                              orientation=orientation) 
     293            if 'vert' in orientation: 
     294                ax.set_ylabel(self.units) 
     295                ax.yaxis.set_data_interval(minValue, maxValue) 
     296            else: 
     297                ax.set_xlabel(self.units) 
     298                ax.xaxis.set_data_interval(minValue, maxValue) 
     299 
     300        c = FigureCanvas(fig) 
     301        c.draw() 
     302        buf = StringIO() 
     303        c.print_png(buf) 
     304        buf.seek(0) 
     305        img = Image.open(buf) 
     306 
     307        return img 
     308 
     309 
     310 
     311 
    263312class CSMLwmsDimension(IwmsDimension): 
    264313    """ 
Note: See TracChangeset for help on using the changeset viewer.