Changeset 5945 for cows


Ignore:
Timestamp:
03/11/09 13:30:49 (10 years ago)
Author:
pnorton
Message:

Improved the csml_data_reader so that it no longer assumes the feature id is the variable name.

Improved the data reader layer so that it now gets the dataset name from the csml file.

Added some code to the geoplot slabs that is used for selecting a log scale.

Location:
cows/trunk/cows
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • cows/trunk/cows/pylons/wms_controller.py

    r5915 r5945  
    245245                layerObjects.append(layerObj) 
    246246            except KeyError: 
    247                 raise InvalidParameterValue('Layer %s not found' % layerName, 
    248                                         paramName) 
     247                raise InvalidParameterValue('Layer %s not found, layerNames = %s' % (layerName, 
     248                                        self.layers.keys())) 
    249249 
    250250        return layerObjects 
     
    472472            log.debug('Title: %s' % layerObj.title) 
    473473            log.debug('FeatureInfoFormats: %s' % layerObj.featureInfoFormats) 
     474         
     475        layerObj = layers[0] 
     476         
    474477        if format not in layerObj.featureInfoFormats: 
    475478            raise InvalidParameterValue('Layer %s does not support GetFeatureInfo in format %s' %(layerName, format), 'info_format') 
  • cows/trunk/cows/service/imps/data_reader_geoplot_backend/data_reader_geoplot_layer_mapper.py

    r5915 r5945  
    3333        """ 
    3434        fileoruri=kwargs['fileoruri'] 
    35         self.datasetName = fileoruri 
     35         
    3636        if fileoruri in self.layermapcache.keys(): 
    3737             
     
    4545         
    4646        reader = self._getReader(fileoruri) 
     47         
     48        try: 
     49            self.datasetName = reader.ds.name.CONTENT 
     50        except AttributeError: 
     51            self.datasetName = 'CSML/Geoplot WMS Service' 
    4752         
    4853        for name, title, abstract, dimensions, units, crss, bb in \ 
  • cows/trunk/cows/service/imps/data_reader_geoplot_backend/data_reader_geoplot_wms_layer.py

    r5877 r5945  
    264264            maxval = variable.max() 
    265265         
     266         
    266267        log.debug("parser.getOption('intervals') = %s" % (parser.getOption('intervals'),)) 
    267268        log.debug("parser.getOption('intervalNames') = %s" % (parser.getOption('intervalNames'),)) 
     269         
    268270        im = geoplot.colour_bar.getColourBarImage(width, height,  
    269271                                             label='Units of measure: %s' % str(self.units), 
    270272                                             cmap=parser.getOption('cmap'),  
    271273                                             colourBarMin=minval, 
    272                                              colourBarMax=maxval,  
     274                                             colourBarMax=maxval, 
     275                                             colourBarScale=parser.getOption('cmap_scale'),  
    273276                                             orientation=orientation, 
    274277                                             intervals=parser.getOption('intervals'), 
  • cows/trunk/cows/service/imps/data_reader_geoplot_backend/data_readers/csml_data_reader.py

    r5891 r5945  
    127127                randomname= csml.csmllibs.csmlextra.getRandomID() + '.nc' 
    128128                 
    129                 log.debug("getting csml feature") 
     129                log.debug("getting csml feature tmpdir = %s, ncname = %s, convertedDimVals = %s" \ 
     130                          % (config['tmpdir'], randomname, convertedDimVals)) 
    130131                 
    131132                result= feature.subsetToGridSeries(config['tmpdir'],  
    132133                                            ncname=randomname, **convertedDimVals) 
    133134               
     135                extract = result[2] 
     136 
     137                variable_name = extract.variableName.CONTENT 
     138                 
    134139                #for now have to read netcdf back from  
    135140                #disk (limitiation of CSML api) 
     
    144149                raise NotImplementedError 
    145150             
    146             variable =  netcdf(feature.id, squeeze=1) 
     151            variable =  netcdf(variable_name, squeeze=1) 
    147152             
    148153            #try to set any NAN variable to masked variables 
     
    198203        for m in self._getMetadataElements(): 
    199204            log.debug("m.text = %s" % (m.text,)) 
    200             metadataValue = m.text.strip() 
    201             if metadataValue.find('AxisConfigXML') == 0: 
    202                 xmlPath = metadataValue.split('=')[1] 
     205             
     206            if m.text is not None and len(m.text) > 0: 
     207                metadataValue = m.text.strip() 
     208                 
     209                if metadataValue.find('AxisConfigXML') == 0: 
     210                    xmlPath = metadataValue.split('=')[1] 
    203211         
    204212        log.debug("xmlPath = %s" % (xmlPath,)) 
  • cows/trunk/cows/service/imps/data_reader_geoplot_backend/geoplot_slabs/geoplot_slab_base.py

    r5848 r5945  
    99from cows.service.imps.image_import import Image 
    1010from cows.service.imps.data_reader_geoplot_backend.slab_options_parser import SlabOptionsParser 
     11from cows.service.imps.data_reader_geoplot_backend.rendering_option import RenderingOption 
    1112     
    1213log = logging.getLogger(__name__) 
     
    1920    This is an abstract base class and should not be used directly. 
    2021    """ 
     22 
     23    renderingOptions = [ 
     24        RenderingOption('cmap', "Colour Scheme" ,str,'jet',["bone","jet", "copper", "gray", "winter"] ), 
     25        RenderingOption('cbar_style', 'Colour Bar Style', str, 'continuous', ['continuous','legend']), 
     26        RenderingOption('cmap_min', "Legend Min" ,float,None), 
     27        RenderingOption('cmap_max', "Legend Max" ,float,None), 
     28        RenderingOption('cmap_scale', "Colour Bar Scale" ,str ,'linear', ['linear','log']), 
     29        RenderingOption('intervals', "intervals" ,str,None), 
     30        RenderingOption('intervalNames', "intervalNames" ,str,None), 
     31    ] 
    2132 
    2233    """ 
  • cows/trunk/cows/service/imps/data_reader_geoplot_backend/geoplot_slabs/geoplot_slab_contour.py

    r5877 r5945  
    1616    title = 'Contour Lines' 
    1717                       
    18     renderingOptions = [ 
    19         RenderingOption('cmap', "Colour Scheme" ,str,'jet',["bone","jet", "copper", "gray", "winter"] ), 
    20         RenderingOption('cmap_min', "Legend Min" ,float,None), 
    21         RenderingOption('cmap_max', "Legend Max" ,float,None), 
    22         RenderingOption('cbar_style', 'Colour Bar Style', str, 'continuous', ['continuous','legend']), 
    23         RenderingOption('intervals', "intervals" ,str,None), 
    24         RenderingOption('intervalNames', "intervalNames" ,str,None), 
     18    renderingOptions = GeoplotSlabBase.renderingOptions + [        
    2519        RenderingOption('num_contour_lines', "Number of Contour Lines" ,int,10), 
    2620        RenderingOption('contour_font_size', "Contour Label Size" ,str,'medium',["small","medium", "large",]), 
     
    4337                                 colourBarMax=cmapMax, 
    4438                                 bgcolour = self.bgcolour, 
     39                                 colourBarScale = self.parser.getOption('cmap_scale'), 
    4540                                 labelInterval= self.parser.getOption('contour_label_interval'), 
    4641                                 numLines = self.parser.getOption('num_contour_lines'), 
  • cows/trunk/cows/service/imps/data_reader_geoplot_backend/geoplot_slabs/geoplot_slab_grid.py

    r5877 r5945  
    1515    title = 'Grid Boxes' 
    1616                         
    17     renderingOptions = [ 
    18         RenderingOption('cmap', "Colour Scheme" ,str,'jet',["bone","jet", "copper", "gray", "winter"] ), 
    19         RenderingOption('cbar_style', 'Colour Bar Style', str, 'continuous', ['continuous','legend']), 
     17    renderingOptions = GeoplotSlabBase.renderingOptions +[      
    2018        RenderingOption('disable_subset', "Disable Subsetting" ,bool,False), 
    21         RenderingOption('cmap_min', "Legend Min" ,float,None), 
    22         RenderingOption('cmap_max', "Legend Max" ,float,None), 
    23         RenderingOption('intervals', "intervals" ,str,None), 
    24         RenderingOption('intervalNames', "intervalNames" ,str,None), 
    2519        RenderingOption('show_grid_lines', "Draw Grid Boxes" ,bool,False), 
    26     ]                         
     20    ] 
    2721         
    2822    def _setupLayerDrawer(self): 
     
    4943                     colourBarMin=cmapMin, 
    5044                     colourBarMax=cmapMax, 
     45                     colourBarScale = self.parser.getOption('cmap_scale'), 
    5146                     bgcolour = self.bgcolour, 
    5247                     intervals = self.parser.getOption('intervals'),    
Note: See TracChangeset for help on using the changeset viewer.