Ignore:
Timestamp:
21/02/07 13:25:11 (13 years ago)
Author:
domlowe
Message:

Added new crs (xyh) and integrated into ProfileSeries? code

File:
1 edited

Legend:

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

    r2196 r2198  
    158158            gcT.addChildElem('gridOrdinates',ord)                          
    159159        return gcT 
     160        
     161    def __getLocation(self): 
     162        #attempts to get a fixed location, eg for a ProfileSeriesFeature. 
     163        lonval=None 
     164        latval=None 
     165        heightval=None 
     166        vars=self.DI.getListofVariables() 
     167        cat = csml.csmllibs.csmlcrs.CRSCatalogue() 
     168        axes=[] 
     169        for var in vars: 
     170            self.DI.setVariable(var) 
     171            unitname=self.DI.getVariableAttribute('units') 
     172            unittype=cat.getUnitType(unitname) 
     173            if unittype == 'latitude': 
     174                latval=self.DI.getDataForVar() 
     175                axes.append(unittype) 
     176            elif unittype == 'longitude': 
     177                lonval=self.DI.getDataForVar()  
     178                axes.append(unittype) 
     179            elif unittype=='height': 
     180                heightval=self.DI.getDataForVar()  
     181                axes.append(unittype) 
     182                 
     183        #returns lat lon height, but note that any of these may be None      
     184        crs=cat.determineCRS(knownCRSAxes =axes) #TODO, may need to rethink csmlcrs module a bit 
     185        srsName= crs[0].srsName 
     186        return latval, lonval, heightval, srsName 
    160187        
    161188    def __getCRS(self,varName,catalogue): 
     
    314341                psFeature.parameter=csml.parser.Phenomenon(href='http://badc.rl.ac.uk/localparams#%s'%allVarNames[i]) 
    315342                psFeature.value=psCoverage 
    316                  
    317                 psFeature.location=csml.parser.DirectPositionList(CONTENT='blahha', srsName='blah') 
     343                (latval, lonval, heightval, srs)=self.__getLocation() 
     344                posString ='%s %s %s'%(latval, lonval, heightval) 
     345                 
     346                psFeature.location=csml.parser.DirectPositionList(CONTENT=posString, srsName=srs) 
    318347                self.fms.append(psFeature) 
    319348            self.DI.closeFile() 
Note: See TracChangeset for help on using the changeset viewer.