Ignore:
Timestamp:
27/02/07 10:53:02 (13 years ago)
Author:
domlowe
Message:

bounding box working for profileseries

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/csml/csmllibs/csmlextra.py

    r2176 r2212  
    126126    for feature in fc.featureMembers: 
    127127        if type(feature) is csml.parser.GridSeriesFeature: 
    128              
    129128            tmax=None 
    130129            tmin=None 
     
    141140                    if tnewmax > tmax: 
    142141                        tmax=tnewmax                      
    143   
     142        if type(feature) is csml.parser.ProfileSeriesFeature: 
     143            tmax=None 
     144            tmin=None 
     145            for ord in feature.value.profileSeriesDomain.coordTransformTable.gridOrdinates: 
     146                if ord.coordAxisLabel.CONTENT==timename: 
     147                    tnewmin= strToDate(ord.coordAxisValues.coordinateList.CONTENT.split()[0].split('T')[0]) 
     148                    tnewmax=strToDate( ord.coordAxisValues.coordinateList.CONTENT.split()[len(ord.coordAxisValues.coordinateList.CONTENT.split())-1].split('T')[0]) 
     149                    if tmin ==None: 
     150                        tmin=tnewmin 
     151                    if tmax == None: 
     152                        tmax=tnewmax 
     153                    if tnewmin < tmin: 
     154                        tmin=tnewmin                     
     155                    if tnewmax > tmax: 
     156                        tmax=tnewmax                      
     157                         
    144158    for repfile in ffmap.getRepresentativeFiles(): 
    145159        minlon=None 
     
    157171            minlon=str(min(vals)) 
    158172            maxlon= str(max(vals)) 
    159         if latname in tmpDims: 
    160             DI.setAxis(latname) 
    161             vals=DI.getDataForAxis() 
    162             minlat=str(min(vals)) 
    163             maxlat= str(max(vals))                           
     173            if latname in tmpDims: 
     174                DI.setAxis(latname) 
     175                vals=DI.getDataForAxis() 
     176                minlat=str(min(vals)) 
     177                maxlat= str(max(vals))                           
     178        else: 
     179            tmpVars=DI.getListofVariables() 
     180            if lonname in tmpVars: 
     181                DI.setVariable(lonname) 
     182                vals=DI.getDataForVar() 
     183                minlon=str(min(vals)) 
     184                maxlon= str(max(vals)) 
     185                if latname in tmpVars: 
     186                    DI.setVariable(latname) 
     187                    vals=DI.getDataForVar() 
     188                    minlat=str(min(vals)) 
     189                    maxlat= str(max(vals)) 
     190             
    164191        env=csml.parser.EnvelopeWithTimePeriod() 
    165192        env.lowerCorner=csml.parser.csString(minlon + ' ' + minlat) 
Note: See TracChangeset for help on using the changeset viewer.