Changeset 3551 for DPPP


Ignore:
Timestamp:
03/03/08 16:42:12 (11 years ago)
Author:
spascoe
Message:

Testcard works demonstrating new WMS layer interface.

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

Legend:

Unmodified
Added
Removed
  • DPPP/ukcip02_server/trunk/ukcip_server/development.ini

    r3486 r3551  
    4040# Logging configuration 
    4141[loggers] 
    42 keys = root, ukcip_server 
     42keys = root, ukcip_server, ows_common 
    4343 
    4444[handlers] 
     
    5757qualname = ukcip_server 
    5858 
     59[logger_ows_common] 
     60level = DEBUG 
     61handlers = 
     62qualname = ows_common 
     63 
     64 
    5965[handler_console] 
    6066class = StreamHandler 
  • DPPP/ukcip02_server/trunk/ukcip_server/ukcip_server/model/__init__.py

    r3486 r3551  
    11# Load submodule 
    2 import ukcip02 
     2#import ukcip02 
     3 
     4from ows_common.pylons.model import setLayerMapper 
     5from ows_common.service.wms_iface import ILayerMapper 
     6from sample_layer import TestcardLayer 
     7 
     8testLayer = TestcardLayer() 
     9 
     10import logging 
     11log = logging.getLogger(__name__) 
     12 
     13class LayerMapper(ILayerMapper): 
     14    def __init__(self): 
     15        log.debug('Creating testcard LayerMapper') 
     16 
     17    def map(self, **kwargs): 
     18         
     19        return dict(test=testLayer) 
     20 
     21# Register the LayerMapper with ows_common 
     22setLayerMapper(LayerMapper()) 
  • DPPP/ukcip02_server/trunk/ukcip_server/ukcip_server/model/ukcip02.py

    r3533 r3551  
    1010from ukcip_server.model.pywms.wms_cdms import CdmsBNGGrid 
    1111from ukcip_server.model.pywms.impl import CdmsLayer 
     12from ows_common.service.wms_iface import ILayerMapper 
    1213 
    1314import cdms2 as cdms 
     
    1617log = logging.getLogger(__name__) 
    1718 
    18 data_dir = config['ukcip02.data_dir'] 
    1919log.debug('Data dir set to %s' % data_dir) 
    2020 
    21 layers = {} 
    22 datasets = {} 
    2321 
    24 for f in glob(os.path.join(data_dir, '*.nc')): 
    25     log.debug('Looking for layers in %s' % f) 
    26     ds = cdms.open(f) 
    27     for varName in ds.listvariables(): 
    28         log.debug('Found layer %s' % varName) 
    29         #!TODO: Min/Max values 
    30         layers[varName] = CdmsLayer(ds[varName], GridClass=CdmsBNGGrid) 
    31     datasets[f] = ds 
     22class UKCIP02LayerMapper(ILayerMapper): 
     23    def __init__(self): 
     24        self.dataDir = config['ukcip02.data_dir'] 
     25        log.debug('Data dir set to %s' % self.dataDir) 
     26 
     27    def map(self, **kwargs): 
     28        g = '%s*.nc' % kwargs['pattern'] 
     29        try: 
     30            f = glob(os.path.join(self.dataDir, g))[0] 
     31        except IndexError: 
     32            raise ValueError("No matching NetCDF found") 
     33 
     34        ds = cdms.open(f) 
     35        layers = {} 
     36        for varName in ds.listvariables(): 
     37            log.debug('Found layer %s' % varName) 
     38            #!TODO: Min/Max values 
     39            layers[varName] = CdmsLayer(ds[varName], GridClass=CdmsBNGGrid) 
     40 
     41        return layers 
    3242 
    3343# We need to hard-code the bbox for now 
  • DPPP/ukcip02_server/trunk/ukcip_server/ukcip_server/public/view.html

    r3532 r3551  
    55  <script src="http://www.openlayers.org/api/OpenLayers.js"></script> 
    66    <style> 
    7     DIV#visBody { 
    8         margin: 4px; 
    9     } 
    10  
    11 DIV#visBody TABLE { 
    12     width: 100%; 
    13 } 
    147 
    158DIV#map { 
    169    width: 640px; 
    1710    height: 320px; 
    18     background-color: white; 
     11    background-color: black; 
    1912    margin: 1px; 
    2013    border: 1px solid #222277; 
    2114} 
    2215 
    23 DIV#mapBox { 
    24     margin-bottom: 1em; 
    25 } 
    26  
    27 DIV#legend { 
    28     width: 640px; 
    29     margin: 1px; 
    30 } 
    3116</style> 
    3217 
     
    3722 
    3823function init() { 
    39     var extent = new OpenLayers.Bounds(-200000, -200000, 800000, 1200000); 
    40     map = new OpenLayers.Map('map', {projection: 'EPSG:27700', 
    41                                      maxResolution: 1000000.0 / 400, 
     24    //var extent = new OpenLayers.Bounds(-200000, -200000, 800000, 1200000); 
     25    var extent = new OpenLayers.Bounds(-180, -90, 180, 90); 
     26    map = new OpenLayers.Map('map', {projection: 'EPSG:4326', 
     27                                     //maxResolution: 1000000.0 / 400, 
    4228                                     restrictedExtent: extent, 
    4329                                     maxExtent: extent 
    4430                                    }); 
    4531    var wms = new OpenLayers.Layer.WMS('UKCIP02 WMS',  
    46         'http://westerly.badc.rl.ac.uk:8421/ukcip_wms', { 
    47             layers: 'rainfall', 
    48             srs: 'EPSG:27700', 
     32        'http://westerly.badc.rl.ac.uk:8421/testcard', { 
     33            layers: 'test', 
     34            srs: 'EPSG:4326', 
    4935            version: '1.1.1', 
    5036            format: 'image/png' 
     
    6147<body onload="init()"> 
    6248 
    63     <div id="map" style="width: 400px; height: 560px;"></div> 
     49    <div id="map"></div> 
    6450 
    6551</body> 
Note: See TracChangeset for help on using the changeset viewer.