Changeset 6123


Ignore:
Timestamp:
14/12/09 15:30:04 (10 years ago)
Author:
pnorton
Message:

Added the interval geoplot renderer, also improved the slab option parser and moved the responsibility for generating the colour bars to the slabs.

Location:
cows/trunk/cows/service/imps/data_reader_geoplot_backend
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • cows/trunk/cows/service/imps/data_reader_geoplot_backend/data_reader_geoplot_wms_layer.py

    r6102 r6123  
    2727from cows.service.imps.data_reader_geoplot_backend.geoplot_slabs.geoplot_slab_contour import GeoplotSlabContour 
    2828from cows.service.imps.data_reader_geoplot_backend.geoplot_slabs.geoplot_slab_grid import GeoplotSlabGrid 
     29from cows.service.imps.data_reader_geoplot_backend.geoplot_slabs.geoplot_slab_interval import GeoplotSlabInterval 
    2930from cows.service.imps.data_reader_geoplot_backend.slab_options_parser import SlabOptionsParser 
    3031 
     
    3233class DRGeoplotWmsLayer(IwmsLayer): 
    3334 
    34     slab_classes = [GeoplotSlabGrid, GeoplotSlabContour] 
     35    slab_classes = [GeoplotSlabGrid, GeoplotSlabContour, GeoplotSlabInterval] 
    3536    default_slab_class = GeoplotSlabGrid 
    3637     
  • cows/trunk/cows/service/imps/data_reader_geoplot_backend/geoplot_slabs/geoplot_slab_base.py

    r6102 r6123  
    2323    renderingOptions = [ 
    2424        RenderingOption('cmap', "Colour Scheme" ,str,'jet',["bone","jet", "copper", "gray", "winter"] ), 
    25          
    2625        RenderingOption('cmap_min', "Legend Min" ,float,None), 
    2726        RenderingOption('cmap_max', "Legend Max" ,float,None), 
     
    4241        some custom rendering options. 
    4342    """ 
    44     def __init__(self, variable, title, crs, dimValues, transparent, bgcolour, bbox, renderOpts): 
     43    def __init__(self, variable, title, crs, dimValues, transparent, bgcolor, bbox, renderOpts): 
    4544 
    4645        self.title = title 
    4746        self.renderOpts = renderOpts 
    48         self.bgcolour = bgcolour 
     47        self.bgcolor = bgcolor 
    4948        self.transparent = transparent 
    5049        self.variable = variable 
  • cows/trunk/cows/service/imps/data_reader_geoplot_backend/geoplot_slabs/geoplot_slab_contour.py

    r6102 r6123  
    2323        RenderingOption('contour_font_size', "Contour Label Size" ,str,'medium',["small","medium", "large",]), 
    2424        RenderingOption('contour_label_interval', "Interval Between Labels" ,int,1), 
    25         RenderingOption('cbar_style', 'Colour Bar Style', str, 'line', ['line']), 
    2625    ] 
    2726 
     
    4039                                 colourBarMin=cmapMin, 
    4140                                 colourBarMax=cmapMax, 
    42                                  bgcolour = self.bgcolour, 
    43                                  colourBarStyle = self.parser.getOption('cbar_style'), 
     41                                 bgcolor = self.bgcolor, 
    4442                                 colourBarScale = self.parser.getOption('cmap_scale'), 
    4543                                 labelInterval= self.parser.getOption('contour_label_interval'), 
     
    8078                                             intervals=parser.getOption('intervals'), 
    8179                                             intervalNames=parser.getOption('intervalNames'), 
    82                                              colourBarStyle=parser.getOption('cbar_style'), 
     80                                             colourBarStyle='line', 
    8381                                             ) 
    8482     
  • cows/trunk/cows/service/imps/data_reader_geoplot_backend/geoplot_slabs/geoplot_slab_grid.py

    r6102 r6123  
    2121        RenderingOption('disable_subset', "Disable Subsetting" ,bool,False), 
    2222        RenderingOption('show_grid_lines', "Draw Grid Boxes" ,bool,False), 
    23         RenderingOption('intervals', "intervals" ,str,None), 
    24         RenderingOption('intervalNames', "intervalNames" ,str,None), 
    25         RenderingOption('num_intervals', 'Default Num Intervals', int, 6), 
    2623        RenderingOption('hide_outside', "Mask Data Outside Bounds" , bool ,False), 
    27         RenderingOption('cbar_style', 'Colour Bar Style', str, 'continuous', ['continuous','legend']), 
    2824    ] 
    2925         
     
    3228        cmapMin = self.parser.getOption('cmap_min') 
    3329        cmapMax = self.parser.getOption('cmap_max') 
    34              
    35         intervalNames = self.parser.getOption('intervalNames') 
    36         if intervalNames != None: 
    37             intervalNames = intervalNames.split(',') 
    38          
    39         log.debug("self.transparent = %s" % (self.transparent,)) 
    40         log.debug("self.bgcolour = %s" % (self.bgcolour,)) 
    41      
     30                         
    4231        if self.parser.getOption('disable_subset'): 
    4332            ldClass = LayerDrawerGrid 
    4433        else: 
    4534            ldClass = LayerDrawerGridFast 
    46      
    4735     
    4836        ld = ldClass(self.variable,  
     
    5139                     colourBarMin=cmapMin, 
    5240                     colourBarMax=cmapMax, 
    53                      numIntervals = self.parser.getOption('num_intervals'), 
    54                      colourBarStyle = self.parser.getOption('cbar_style'), 
    5541                     colourBarScale = self.parser.getOption('cmap_scale'), 
    5642                     hideOutside = self.parser.getOption('hide_outside'), 
    57                      bgcolour = self.bgcolour, 
    58                      intervals = self.parser.getOption('intervals'),    
    59                      transparent=self.transparent) 
     43                     bgcolor = self.bgcolor, 
     44                     transparent=self.transparent, 
     45                     drawIntervals=False,) 
    6046         
    6147        return ld 
     
    7864            if maxval == numpy.inf: 
    7965                maxval = numpy.ma.masked_equal(variable, numpy.inf).max() 
    80          
     66 
    8167        im = geoplot.colour_bar.getColourBarImage(width, height,  
    8268                                             label='Units of measure: %s' % str(units), 
     
    8470                                             colourBarMin=minval, 
    8571                                             colourBarMax=maxval, 
    86                                              colourBarScale=parser.getOption('cmap_scale'), 
    87                                              numIntervals=parser.getOption('num_intervals'),  
     72                                             colourBarScale=parser.getOption('cmap_scale'),  
    8873                                             orientation=orientation, 
    89                                              intervals=parser.getOption('intervals'), 
    90                                              intervalNames=parser.getOption('intervalNames'), 
    91                                              colourBarStyle=parser.getOption('cbar_style'), 
     74                                             colourBarStyle='continuous', 
    9275                                             ) 
    9376     
  • cows/trunk/cows/service/imps/data_reader_geoplot_backend/slab_options_parser.py

    r6102 r6123  
    11import logging 
    2 import mock 
     2import urllib2 
    33 
    44from matplotlib import cm 
     
    1919        self._renderOptions = {} 
    2020        for k, v in renderOptions.items(): 
    21             self._renderOptions[k.lower()] = v 
     21            self._renderOptions[k.lower()] = urllib2.unquote(v) 
    2222         
    2323    def getOption(self, optionName): 
Note: See TracChangeset for help on using the changeset viewer.