Changeset 919


Ignore:
Timestamp:
12/05/06 15:57:49 (13 years ago)
Author:
domlowe
Message:

improvments to PointSeriesFeature? & NasaAmes? handling

Location:
TI02-CSML/trunk/Scanner
Files:
3 edited

Legend:

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

    r910 r919  
    271271         
    272272     
    273     def createCSMLPointSeriesFeatures(self): 
     273    def createCSMLPointSeriesFeatures(self):             
    274274            representativeFiles=self.ffmap.getRepresentativeFiles() 
    275275            listOfFiles=[] 
     
    290290                    numFeatures=len(allVarNames)         
    291291                    try: 
    292                             DI.setAxis(timedim) 
     292                            DI.setAxis(self.timedim) 
    293293                            times=DI.getDataForAxis() 
    294294                    except:                      
     
    304304                    print "numFeatures" + str(numFeatures) 
    305305                    for i in range (0, numFeatures): 
    306  
    307306                            PointSeriesFeature_element=csmllibs.Parser.PointSeriesFeature() 
     307                            if str(allVarNames[i]).upper() in ['ERROR FLAG', 'ERROR']: #might need to extend this list 
     308                                break 
    308309                            PointSeriesFeature_element.id=str(allVarNames[i]) 
    309310                            try: 
     
    326327                            t.srsName='urn:EPSG:geographicCRS:4326' #TO Do 
    327328                            t.locations =csmllibs.Parser.DirectPositionList(vals='1 1') 
    328                             t.times=csmllibs.Parser.TimePositionList('#RefSysX',str(times[1:-1])) 
     329                            if len(times) > 200: 
     330                                #create a file extract link for long lists 
     331                                fextract=csmllibs.csmlfileextracts.createSingleExtract(self.extractType,file,self.timedim,len(times)) 
     332                                tplist = csmllibs.Parser.TimePositionList(timePositions=fextract) 
     333                                t.times=tplist                                 
     334                            else: 
     335                                #encode short lists inline: 
     336                                t.times=csmllibs.Parser.TimePositionList('#RefSysX',str(times)) 
     337                                  
    329338                            psDomain.domainReference=t 
    330339                             
     
    345354                             
    346355                            rs=csmllibs.Parser.RangeSet() 
    347                             rs.quantityList=csmllibs.Parser.MeasureOrNullList(uom=strUom, val=str(measuredvalues)[1:-1])                          
     356                            if len(measuredvalues) > 200: 
     357                                #create a file extract link for long lists 
     358                                fextract=csmllibs.csmlfileextracts.createSingleExtract(self.extractType,file,allVarNames[i],len(measuredvalues)) 
     359                                qlist = csmllibs.Parser.MeasureOrNullList(val=fextract) 
     360                                rs.quantityList=qlist 
     361                            else: 
     362                                #encode short lists inline 
     363                                rs.quantityList=csmllibs.Parser.MeasureOrNullList(uom=strUom, val=str(measuredvalues)[1:-1])                          
    348364 
    349365                            PointSeriesFeature_element.rangeSet=rs 
     
    355371                             
    356372 
    357                             PointSeriesFeature_element.pointSeriesDomain=psDomain 
     373                            PointSeriesFeature_element.domain=psDomain 
    358374                            self.fms.append(PointSeriesFeature_element) 
    359375                    DI.closeFile() 
     
    364380 
    365381class OLDfeatureBuilder: 
     382#obselete but left here for reference (for a while)                                 
    366383    def __init__(self, csmldoc, dataset_element, gml_FeatureCollection_element,extractType, extractPrefix, ffmap,fileExtractDictionary, timedim): 
    367384        self.csml=csmldoc 
  • TI02-CSML/trunk/Scanner/csmllibs/csmlfileextracts.py

    r898 r919  
    7373        setattr(self.dataset_element, 'arrayDescriptors', adlist) 
    7474     
     75 
     76def createSingleExtract(extractType, fileName, variableName, arraySize): 
     77    #creates a single file extract on demand. (not part of general builder class) 
     78    #need to incorporate check that a file extract of the same name doesn't already exist. 
     79    if extractType=='NASAAmesExtract': 
     80        arrayDescriptor=csmllibs.Parser.NASAAmesExtract() 
     81    if extractType=='NetCDFExtract': 
     82        arrayDescriptor=csmllibs.Parser.NetCDFExtract() 
     83    if extractType=='GRIBExtract': 
     84        arrayDescriptor=csmllibs.Parser.GRIBExtract() 
     85    if extractType=='PPExtract': 
     86        arrayDescriptor=csmllibs.Parser.PPExtract() 
     87    #need to change this so it does the right thing for grib extracts too.. 
     88    arrayDescriptor.id='_%s' % variableName   #need prefix system here.. 
     89    arrayDescriptor.fileName = fileName 
     90    arrayDescriptor.arraySize=[arraySize] 
     91    arrayDescriptor.variableName=variableName 
     92    return arrayDescriptor 
     93             
    7594        #    sys.exit() 
    7695             
  • TI02-CSML/trunk/Scanner/csmlscan.py

    r901 r919  
    5151    -o outputfile:      Provide the name of the output file, default is csmloutput.xml 
    5252                                which can be found in the directory from which the program is run 
    53          
    5453        -h help:                Shows this help information. 
    5554         
Note: See TracChangeset for help on using the changeset viewer.