Changeset 4073 for cows


Ignore:
Timestamp:
29/07/08 14:42:21 (11 years ago)
Author:
spascoe
Message:

Experimental change to rendering code

File:
1 edited

Legend:

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

    r4008 r4073  
    66 
    77import re 
     8import math 
    89from cStringIO import StringIO 
    910from sets import Set 
     
    297298 
    298299        finalImg = Image.new('RGBA', (width, height), (0,0,0,0)) 
    299         # Multiple Layers handling..   
    300         for layerName, layerObj in layers.iteritems(): 
     300         
     301        # Multiple Layers handling..   
     302        for layerName, layerObj in layers.iteritems(): 
    301303            if srs not in layerObj.crss: 
    302                 raise InvalidParameterValue('Layer %s does not support SRS %s' % (layerName, srs)) 
    303  
    304             dimValues = self._getDimValues(layerObj) 
     304                raise InvalidParameterValue('Layer %s does not support SRS %s' % (layerName, srs)) 
     305 
     306            dimValues = self._getDimValues(layerObj) 
    305307             
    306308            #now need to revert modified dim values (e.g. height_dim) back to dim values the layerMapper understands (e.g. height) 
     
    333335                         
    334336            else: 
    335                 sx, sy = bbox_util.relativeSize(ibbox, bbox) 
    336                 log.debug('scaling: %s,%s' % (sx, sy)) 
    337                 img1 = slab.getImage(ibbox, int(width*sx), int(height*sy)) 
    338                 log.debug('inner image.size = %s' % (img1.size,)) 
     337                 
     338                ix0, iy0 = bbox_util.geoToPixel(ibbox[0], ibbox[3], bbox, width, height, 
     339                                                roundUpY=True) 
     340                ix1, iy1 = bbox_util.geoToPixel(ibbox[2], ibbox[1], bbox, width, height, 
     341                                                roundUpX=True) 
     342                iw = ix1-ix0 
     343                ih = iy1-iy0 
     344                log.debug('Deduced inner image: %s, (%d x %d)' % ((ix0, iy0, ix1, iy1), iw, ih)) 
     345                img1 = slab.getImage(ibbox, iw, ih) 
    339346 
    340347                img = Image.new('RGBA', (width, height)) 
    341                 pxOrigin = bbox_util.geoToPixel(ibbox[0], ibbox[3], bbox, width, height) 
    342                 log.debug('pxOrigin = %s' % (pxOrigin,)) 
    343                 img.paste(img1, pxOrigin) 
     348                img.paste(img1, (ix0, iy0)) 
    344349                 
    345             finalImg = Image.composite(finalImg, img, finalImg)  
     350            finalImg = Image.composite(finalImg, img, finalImg)  
    346351             
    347352           
Note: See TracChangeset for help on using the changeset viewer.