Ignore:
Timestamp:
15/08/06 15:21:23 (13 years ago)
Author:
domlowe
Message:

switch to declare values and axis data (rangeset and domain) to be stored inline or in file extract

File:
1 edited

Legend:

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

    r1398 r1401  
    1111 
    1212class featureBuilder: 
    13     def __init__(self, dataset_element, gml_FeatureCollection_element,extractType, extractPrefix, ffmap,fileExtractDictionary, timedim, timestorage): 
     13    def __init__(self, dataset_element, gml_FeatureCollection_element,extractType, ffmap,fileExtractDictionary, timedim, timestorage,spatialstorage,valuestorage): 
    1414        self.ds_element=dataset_element 
    1515        self.gml_FeatureCollection_element = gml_FeatureCollection_element 
    1616        self.extractType = extractType 
    17         self.extractPrefix = extractPrefix 
    1817        self.ffmap = ffmap 
    1918        self.fileExtractDictionary = fileExtractDictionary 
    2019        self.timedim = timedim 
    2120        self.timestorage=timestorage 
    22          
     21        self.spatialstorage=spatialstorage 
     22        self.valuestorage=valuestorage 
     23                 
    2324        #empty list to hold featureMembers 
    2425        self.fms =[] 
     
    130131 
    131132                rs=csmllibs.Parser.RangeSet() 
    132                 aa=csmllibs.Parser.AggregatedArray() 
    133                 aa.arraySize=[] 
    134                 aa.arraySize.append(arrSz) 
    135                 aa.uom=strUom 
    136                 aa.aggType='new' #can it be anything else? 
    137                 aa.aggIndex='1' 
    138                 #FileExtract (fe) element will be NetCDF/GRIB/PPExtract element (As defined earlier in ExtractType) 
    139                 if self.extractType=='NetCDFExtract': 
    140                     fe = csmllibs.Parser.NetCDFExtract() 
    141                 if self.extractType=='NASAAmesExtract': 
    142                     fe = csmllibs.Parser.NASAAmesExtract() 
    143                 if self.extractType=='GRIBExtract': 
    144                     fe = csmllibs.Parser.GRIBExtract() 
    145                 if self.extractType=='PPExtract': 
    146                     fe = csmllibs.Parser.PPExtract() 
    147                      
    148                 varSize=DI.getShapeOfVar() 
    149                 fe.arraySize=varSize 
    150                 fe.fileName=filesinDir 
    151                 fe.variableName=allVarNames[i] 
    152                 aa.component=[fe] 
    153                 rs.aggregatedArray=aa 
     133                if self.valuestorage=='inline': 
     134                    #To do, store the rangeset inline 
     135                    pass  
     136                else: 
     137                    #store the rangeSet as an aggregatedArray 
     138                    aa=csmllibs.Parser.AggregatedArray() 
     139                    aa.arraySize=[] 
     140                    aa.arraySize.append(arrSz) 
     141                    aa.uom=strUom 
     142                    aa.aggType='new' #can it be anything else? 
     143                    aa.aggIndex='1' 
     144                    #FileExtract (fe) element will be NetCDF/GRIB/PPExtract element (As defined earlier in ExtractType) 
     145                    self.extractType= DI.extractType 
     146                    if self.extractType=='NetCDFExtract': 
     147                        fe = csmllibs.Parser.NetCDFExtract() 
     148                    if self.extractType=='NASAAmesExtract': 
     149                        fe = csmllibs.Parser.NASAAmesExtract() 
     150                    if self.extractType=='GRIBExtract': 
     151                        fe = csmllibs.Parser.GRIBExtract() 
     152                    if self.extractType=='PPExtract': 
     153                        fe = csmllibs.Parser.PPExtract() 
     154                    varSize=DI.getShapeOfVar() 
     155                    fe.arraySize=varSize 
     156                    fe.fileName=filesinDir 
     157                    fe.variableName=allVarNames[i] 
     158                    aa.component=[fe] 
     159                    rs.aggregatedArray=aa 
    154160                GridSeriesFeature_element.rangeSet=rs 
    155161                ###################################################### 
     
    187193                         #(axisid stored in dictionary = current filename + variable name) 
    188194                        axisid=repfilename+dimName 
    189                         ord.axisValues='#'+self.fileExtractDictionary[axisid] 
     195                        if self.spatialstorage=='fileextract': 
     196                            #refer to extract 
     197                            ord.axisValues='#'+self.fileExtractDictionary[axisid] 
     198                        else: 
     199                            #store inline 
     200                             DI.setAxis(dimName) 
     201                             ord.axisValues=csmllibs.csmlextra.cleanString(str(DI.getDataForAxis())) 
    190202                         
    191203                        grid.ordinates.append(ord) 
Note: See TracChangeset for help on using the changeset viewer.