Changeset 1890


Ignore:
Timestamp:
19/12/06 09:19:29 (13 years ago)
Author:
domlowe
Message:

added addChildElem method to csElement class

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

Legend:

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

    r1887 r1890  
    9090        #This method assumes that the variables (features) are shared across identically structured files 
    9191        #should be supplied with a featurefilemap object (see csmlfiles for FileMapMaker) 
    92         print 'is this working at all?' 
    9392        representativeFiles=self.ffmap.getRepresentativeFiles() 
    9493        for repfile in representativeFiles: 
     
    113112                #GridSeriesFeature_element.description=csml.parser.Description(desc) 
    114113                gsFeature.description=desc 
    115                 #DOMAIN 
     114                #value (coverage) 
    116115                gsCoverage=csml.parser.GridSeriesCoverage() 
    117116                gsDomain=csml.parser.GridSeriesDomain() 
     117                gcT=csml.parser.GridCoordinatesTable() 
     118                 
     119                 
     120                 
     121                #add an axisName element(s) for  each spatial dimension. 
     122                # and an ordinate element 
     123                axes=[] 
     124                for i in range (1, len(dimNames)): 
     125                    #axisNames 
     126                    axisname ='dim'+str(i) 
     127                    axes.append(axisname) 
     128                     
     129                    ordinates=[] 
     130                    for i in range (1, len(dimNames)): 
     131                        ord=csml.parser.GridOrdinateDescription() 
     132                        #ord.gridAxesSpanned='dim' + str(i) 
     133                        #ord.sequenceRule=csml.csmllibs.csmlextra.getSeqRule(len(dimNames)) 
     134                        #dimName=dimNames[len(dimNames)-i] 
     135                        #ord.definesAxis=dimName 
     136                        ##look up file extract name in dictionary 
     137                        ##(axisid stored in dictionary = current filename + variable name) 
     138                        #axisid=self.repfilename+dimName 
     139                        #if self.spatialstorage=='fileextract': 
     140                            ##refer to extract 
     141                            #ord.axisValues='#'+self.fileExtractDictionary[axisid] 
     142                        #else: 
     143                            ##store inline 
     144                             #DI.setAxis(dimName) 
     145                             #ord.axisValues=csml.csmllibs.csmlextra.cleanString(str(DI.getDataForAxis())) 
     146                              
     147                        #ordinates.append(ord) 
     148                        gcT.addChildElem('gridOrdinates',ord)                     
     149                    #grid.axisNames=axes 
     150                 
     151                gsDomain.coordTransformTable=gcT 
    118152                gsCoverage.gridSeriesDomain=gsDomain 
    119153                gsFeature.value=gsCoverage 
    120                 #gsDomain=csml.parser.GridSeriesDomain() 
    121                 ##DOMAIN REFERENCE 
     154                gsDomain=csml.parser.GridSeriesDomain() 
     155                 
     156                #DOMAIN REFERENCE 
    122157                #tpl=csml.parser.TimePositionList() 
    123158                #if self.timestorage =='inline': 
  • TI02-CSML/branches/CSML2/parser.py

    r1883 r1890  
    8282    def _getReverseSubsType(self, typename): 
    8383        return typename 
    84     
     84     
     85    def addChildElem(self, childname, childobj): 
     86        #sometimes you want to add a child element but don't know if there is one already. In which case you want to create a list of child objects. 
     87        if hasattr(self, childname): 
     88            currentattribute=getattr(self,childname) 
     89            if type(getattr(self,childname)) is list: 
     90                currentattribute.append(childobj) 
     91            else: 
     92                newlist=[currentattribute] 
     93                newlist.append(childobj) 
     94                setattr(self,childname, newlist) 
     95        else: 
     96            setattr(self,childname, childobj) 
     97 
    8598    def toXML(self, csmlfrag): 
    8699        #process self and convert to XML 
Note: See TracChangeset for help on using the changeset viewer.