Changeset 2196


Ignore:
Timestamp:
21/02/07 12:37:34 (12 years ago)
Author:
domlowe
Message:

ProfileSeriesFeature? mostly working in scanner - location attribute needs finishing

Location:
TI02-CSML/trunk/csml
Files:
5 edited

Legend:

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

    r2176 r2196  
    4040        crs.latAxis=1 
    4141        crs.timeAxis=2 
     42         
     43        # define height time CRS: 
     44        crs=CRSystem(srsName='ndg:crs:ht', axes =['height', 'time']) 
     45        self.systems['ndg:crs:ht']=crs 
     46        crs.lonAxis=None 
     47        crs.latAxis=None 
     48        crs.timeAxis=1 
    4249         
    4350        #define unknown 1D CRS: 
     
    8390        #this can be extended to accomodate more units 
    8491        for axis in axes: 
     92            print axis 
    8593            unit=units[axes.index(axis)] 
    8694            unittype='unknown' 
     
    102110        #axisorder stores the order of the supplied axes against the known crs. 
    103111        #so if the known crs is 'Lat' 'Lon' 'Time' and the supplied axes are 'Time' 'Lat' 'Lon' then 
    104         #axisorder would be [2, 0, 1]   
    105          
     112        #axisorder would be [2, 0, 1]          
    106113        for system in self.systems: 
    107114            if len(self.systems[system].axes) != len(crsMap): 
  • TI02-CSML/trunk/csml/csmllibs/csmldataiface.py

    r2176 r2196  
    1212import pdb 
    1313import cdms  
     14import Numeric 
    1415try: 
    1516    import nappy  
     
    133134 
    134135        def getAxisAttribute(self, att): 
    135                         #need to do something here...? maybe 
    136                 pass 
     136                #need to do something here...? maybe 
     137                attValue=None 
    137138                return attValue 
    138139 
     
    161162 
    162163 
    163         def getDataForAxis(self): 
     164        def getDataForAxis(self):            
    164165            if self.file.X == None: 
    165166                    #print 'reading data....' 
    166167                    self.file.readData() 
    167  
     168            for x in self.file.X: 
     169                print type(x) 
     170            print x 
     171             
     172            d=Numeric.array(self.file.X) 
     173            print d 
    168174            if type(self.file.X[1])==list: 
    169175            #if len(self.file.X) > 0: 
     176                    print '1' 
    170177                    data = self.file.X[self.axisstub] 
    171178            else: 
     179                    print '2' 
    172180                    data =self.file.X 
     181            #print data 
     182            data=Numeric.array(data) 
    173183            return data 
    174184 
     
    291301 
    292302        def getTimes(self): 
     303                print 'HELLO' 
    293304                #This function attempts to determine the time axis and read the time data 
    294305                #it may well not manage it. 
     
    315326                                times=self.getDataForAxis() 
    316327                                break 
    317                 return times 
     328                times=Numeric.array(times) 
     329                return times 
    318330 
    319331 
  • TI02-CSML/trunk/csml/csmllibs/csmlfeaturetypes.py

    r2176 r2196  
    158158            gcT.addChildElem('gridOrdinates',ord)                          
    159159        return gcT 
    160      
    161      
     160        
    162161    def __getCRS(self,varName,catalogue): 
    163162        self.DI.setVariable(varName) 
    164163        dimNames=self.DI.getVariableAxes()   
    165         if len(dimNames) <= 2: 
     164        if len(dimNames) <= 1: 
    166165                #it's an axis or bounds not a feature, try next variable 
    167166            return None, None, None 
     
    284283            #get the names of all the variables in the files: 
    285284            allVarNames, numFeatures = self.__getVarInfo(repfile) 
    286             #Create a GridSeriesFeature for each variable: 
     285            #Create a ProfileSeriesFeature for each variable: 
    287286            for i in range(0, numFeatures): 
    288287                crs,axisorder, dimNames=self.__getCRS(allVarNames[i], cat) 
    289288                if crs == None: 
     289                    print 'none' 
    290290                    continue            #try next variable 
    291291                psFeature=cp.ProfileSeriesFeature() 
    292                 self.__featureMetadata(gsFeature,allVarNames[i]) 
     292                self.__featureMetadata(psFeature,allVarNames[i]) 
    293293                #VALUE (coverage) 
    294294                psCoverage=cp.ProfileSeriesCoverage() 
     
    303303                gcT=self.__getGridCoordinatesTable(dimNames, crs,axisorder) 
    304304                psDomain.coordTransformTable=gcT 
    305                 psCoverage.gridSeriesDomain=psDomain 
     305                psCoverage.profileSeriesDomain=psDomain 
    306306                 
    307307                #COVERAGE FUNCTION 
     
    314314                psFeature.parameter=csml.parser.Phenomenon(href='http://badc.rl.ac.uk/localparams#%s'%allVarNames[i]) 
    315315                psFeature.value=psCoverage 
     316                 
     317                psFeature.location=csml.parser.DirectPositionList(CONTENT='blahha', srsName='blah') 
    316318                self.fms.append(psFeature) 
    317319            self.DI.closeFile() 
    318320    ###End of createCSMLProfileSeriesFeatures### 
    319  
    320  
    321  
    322  
    323321 
    324322        #BELOW THIS POINT ALL NEEDS REWRITING 
  • TI02-CSML/trunk/csml/csmllibs/csmltime.py

    r2176 r2196  
    5959            if tcheck.cmp(timemax) < 1: 
    6060                timeok = 1 
    61         print 'TMIN time  %s'%timemin 
    62         print 'CHECK time  %s'%tcheck 
    63         print 'TMAX time  %s'%timemax 
    6461    except: 
    6562        #if it's not a proper internet time e.g. time = '6' then just compare numerically 
     
    9895                        DI.setAxis(timedim) 
    9996                        data =DI.getDataForAxis() 
    100                         print '?' 
    10197                except: 
    10298                        try: 
  • TI02-CSML/trunk/csml/parser.py

    r2176 r2196  
    679679        csElement.__init__(self,**kwargs) 
    680680 
     681class DirectPositionList(SRSReferenceGroup, csElement): 
     682    def __init__(self, **kwargs): 
     683        SRSReferenceGroup.__init__(self,**kwargs) 
     684        children=[] 
     685        addchildren(self,children) 
     686        csElement.__init__(self,**kwargs) 
     687         
    681688class PointFeature(AbstractFeature, csElement): 
    682689    def __init__(self, **kwargs): 
    683690        AbstractFeature.__init__(self,**kwargs) 
    684         children={'location':[CSML('location'), 'csString'],'time':[CSML('time'), 'csString'], 'value':[CSML('PointCoverage'), 'PointCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 
     691        children={'location':[CSML('location'), 'DirectPositionList'],'time':[CSML('time'), 'csString'], 'value':[CSML('PointCoverage'), 'PointCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 
    685692        addchildren(self,children) 
    686693        csElement.__init__(self,**kwargs) 
Note: See TracChangeset for help on using the changeset viewer.