Changeset 1896


Ignore:
Timestamp:
19/12/06 14:41:55 (13 years ago)
Author:
domlowe
Message:

more changes to Scanner and Parser, while getting GridSeries? feature to generate

Location:
TI02-CSML/branches/CSML2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/branches/CSML2/csmllibs/csmlfeaturetypes.py

    r1894 r1896  
    117117                gsDomain=cp.GridSeriesDomain() 
    118118                gcT=cp.GridCoordinatesTable() 
    119  
     119                 
    120120                #add an axisName element(s) for  each spatial dimension. 
    121                 # and an ordinate element 
     121                #and an ordinate element 
    122122                axes=' ' 
    123                 for i in range (1, len(dimNames)): 
     123                for i in range (len(dimNames)): 
     124                    i=i+1 
    124125                    axisname ='dim'+str(i) 
    125126                    axes =axes + axisname + ' ' 
    126127                gsDomain.axisLabels=cp.csString(axes) 
    127128                ordinates=[] 
    128                 for i in range (1, len(dimNames)): 
    129                     dimName=dimNames[len(dimNames)-i] 
     129                for dimName in enumerate(dimNames): 
    130130                    ord=cp.GridOrdinateDescription() 
    131                     ord.gridAxesSpanned=cp.csString('dim' + str(i)) 
    132                     ord.coordAxisLabel=cp.csString(dimName) 
     131                    ord.gridAxesSpanned=cp.csString('dim' + str(dimName[0])) 
     132                    ord.coordAxisLabel=cp.csString(dimName[1]) 
    133133                    ord.sequenceRule=cp.csString(csml.csmllibs.csmlextra.getSeqRule(len(dimNames))) 
    134134                    sptList=cp.SpatialOrTemporalPositionList() 
    135135                     
    136                     if self.spatialstorage=='fileextract': 
    137                         #look up file extract name in dictionary 
    138                         #(axisid stored in dictionary = current filename + variable name) 
    139                         axisid=self.repfilename+dimName 
    140                         sptList.coordinateList=cp.csString('#'+self.fileExtractDictionary[axisid]) 
    141                     else: 
    142                         #store inline 
    143                         DI.setAxis(dimName) 
    144                         sptList.coordinateList=cp.csString(csml.csmllibs.csmlextra.cleanString(str(DI.getDataForAxis()))) 
     136                    if dimName[1]==self.timedim: 
     137                        #this is the time dimension. handle calendaring etc when getting the data. 
     138                        if self.timestorage=='fileextract': 
     139                            #look up file extract name in dictionary 
     140                            #(axisid stored in dictionary = current filename + variable name) 
     141                            axisid=self.repfilename+dimName[1] 
     142                            sptList.coordinateList=cp.csString('#'+self.fileExtractDictionary[axisid]) 
     143                        else: 
     144                            #store times inline 
     145                            DI.setAxis(dimName[1]) 
     146                            sptList.coordinateList=cp.csString(self.timeString) 
     147                            sptList.frame='%s:%s'%(self.caltype,self.units) 
     148                         
     149                    else:  #for all other dimensions, create ordinates 
     150                        if self.spatialstorage=='fileextract': 
     151                            #look up file extract name in dictionary 
     152                            #(axisid stored in dictionary = current filename + variable name) 
     153                            axisid=self.repfilename+dimName[1] 
     154                            sptList.coordinateList=cp.csString('#'+self.fileExtractDictionary[axisid]) 
     155                        else: 
     156                            #store inline 
     157                            DI.setAxis(dimName[1]) 
     158                            sptList.coordinateList=cp.csString(csml.csmllibs.csmlextra.cleanString(str(DI.getDataForAxis()))) 
    145159                    ord.coordAxisValues=sptList 
    146160                    gcT.addChildElem('gridOrdinates',ord)                     
     
    161175                #gsDomain.domainReference=tpl 
    162176                #grid=csml.parser.Grid() 
    163                 ##COVERAGE FUNCTION 
     177                #COVERAGE FUNCTION 
    164178                #mr =csml.parser.MappingRule(csml.csmllibs.csmlextra.getMappingRule(len(dimNames))) 
    165179                #GridSeriesFeature_element.coverageFunction=mr  
  • TI02-CSML/branches/CSML2/parser.py

    r1892 r1896  
    372372        children={'coordinateList':[CSML('coordinateList'),'csString'], 'timePositionList':[CSML('timePositionList'),'csString']} 
    373373        addchildren(self,children) 
     374        a=['frame'] 
     375        addatts(self,a) 
    374376 
    375377class GridOrdinateDescription(AbstractGML,csElement): 
Note: See TracChangeset for help on using the changeset viewer.