Changeset 779


Ignore:
Timestamp:
11/04/06 11:50:41 (13 years ago)
Author:
domlowe
Message:

point series features rewritten to use parser.

File:
1 edited

Legend:

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

    r771 r779  
    3232        elif self.featuretype == 'PointSeriesFeature':        
    3333            self.createCSMLPointSeriesFeatures() 
    34      
     34         
     35        #after the features have been generated append all featureMembers to the feature collection 
     36        self.gml_FeatureCollection_element.members=self.fms 
     37         
    3538    def createCSMLGridSeriesFeatures(self): 
    3639        #This function assumes that the variables (features) are shared across identically structured files 
     
    9699                grid=csmllibs.Parser.Grid() 
    97100                 
    98                 GridSeriesFeature_element.gridSeriesDomain=gsDomain 
     101                 
    99102                #*********************************************************************** 
    100103                #coverageFunction 
     
    176179 
    177180                gsDomain.domainComplement=grid 
     181                GridSeriesFeature_element.gridSeriesDomain=gsDomain 
    178182                self.fms.append(GridSeriesFeature_element) 
    179183            DI.closeFile() 
    180         self.gml_FeatureCollection_element.members=self.fms 
     184         
     185        #this is now done outside this function 
     186        #self.gml_FeatureCollection_element.members=self.fms 
    181187 
    182188######################################################################### 
     
    263269                            gml_FeatureCollection_element.appendChild(gml_featureMember_element)         
    264270                             
    265             return csmldoc, dataset_element, gml_FeatureCollection_element 
     271            return  
    266272                             
    267273    #def createCSMLPointFeatures(csmldoc, dataset_element, #gml_FeatureCollection_element,filename, timedim): 
     
    300306             
    301307     
    302     def createCSMLPointSeriesFeatures(csmldoc, dataset_element, gml_FeatureCollection_element, ffmap, timedim): 
    303             representativeFiles=ffmap.getRepresentativeFiles() 
     308    def createCSMLPointSeriesFeatures(self): 
     309            representativeFiles=self.ffmap.getRepresentativeFiles() 
    304310            listOfFiles=[] 
    305311            for repfile in representativeFiles: 
     
    333339                    print "numFeatures" + str(numFeatures) 
    334340                    for i in range (0, numFeatures): 
    335                             gml_featureMember_element=csmldoc.createElement("gml:featureMember") 
    336                             PointSeriesFeature_element=csmldoc.createElement("PointSeriesFeature") 
    337                             PointSeriesFeature_element.setAttribute('gml:id',str(allVarNames[i])) 
    338                             gml_description_element = csmldoc.createElement("gml:description") 
    339                             gml_featureMember_element.appendChild(PointSeriesFeature_element) 
     341 
     342                            PointSeriesFeature_element=csmllibs.Parser.PointSeriesFeature() 
     343                            PointSeriesFeature_element.id=str(allVarNames[i]) 
     344                            try: 
     345                                desc=DI.getVariableAttribute('long_name') 
     346                                print desc 
     347                            except AttributeError: 
     348                                desc = "missing name" 
     349                            PointSeriesFeature_element.description=csmllibs.Parser.Description(desc) 
     350 
    340351                            #*********************************************************************** 
    341352                            #PointSeriesDomain: 
    342353                            #*********************************************************************** 
    343                             PointSeriesDomain_element=csmldoc.createElement("PointSeriesDomain") 
    344                              
    345                              
    346                             #*********************************************************************** 
    347                             # domainReference element (and sub-elements)                 
    348                             #*********************************************************************** 
    349                             domainReference_element=csmldoc.createElement("domainReference") 
    350                             trajectory_element=csmldoc.createElement("Trajectory") 
    351                             locations_element=csmldoc.createElement("locations") 
    352                             times_element=csmldoc.createElement("times") 
    353                             times_element.appendChild(csmldoc.createTextNode(str(times)[1:-1]))   
    354                             trajectory_element.appendChild(locations_element) 
    355                             trajectory_element.appendChild(times_element) 
    356                             domainReference_element.appendChild(trajectory_element) 
    357                             PointSeriesDomain_element.appendChild(domainReference_element) 
     354                            psDomain=csmllibs.Parser.PointSeriesDomain() 
     355                                                   
     356                             
     357                            #*********************************************************************** 
     358                            # domainReference element  
     359                            #*********************************************************************** 
     360                            t=csmllibs.Parser.Trajectory() 
     361                            t.srsName='urn:EPSG:geographicCRS:4326' #TO Do 
     362                            t.locations =csmllibs.Parser.DirectPositionList(vals='1 1') 
     363                            t.times=csmllibs.Parser.TimePositionList('#RefSysX',str(times[1:-1])) 
     364                            psDomain.domainReference=t 
     365                            #trajectory.timePositions=str((times)[1:-1]) 
     366                            #print trajectory.timePositions 
     367                            #sys.exit() 
     368                             
     369                             
     370                             
     371#                             t=Trajectory() 
     372# t.srsName='urn:EPSG:geographicCRS:4979' 
     373# t.locations=DirectPositionList(vals='0.1 1.5 25') 
     374# t.times=TimePositionList('#RefSys01','0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 26 27 28 29 30 31') 
     375                             
     376                             
     377                             
     378#                              
     379#                             domainReference_element=csmldoc.createElement("domainReference") 
     380#                             trajectory_element=csmldoc.createElement("Trajectory") 
     381#                             locations_element=csmldoc.createElement("locations") 
     382#                             times_element=csmldoc.createElement("times") 
     383#                             times_element.appendChild(csmldoc.createTextNode(str(times)[1:-1]))   
     384#                             trajectory_element.appendChild(locations_element) 
     385#                             trajectory_element.appendChild(times_element) 
     386#                             domainReference_element.appendChild(trajectory_element) 
     387#                             PointSeriesDomain_element.appendChild(domainReference_element) 
    358388                             
    359389                            #*********************************************************************** 
     
    379409                                    measuredvalues = ' could not get values ' 
    380410                             
    381                             gml_rangeSet_element=csmldoc.createElement("gml:rangeSet")   
    382                             gml_QuantityList_element=csmldoc.createElement("gml:QuantityList") 
    383                             gml_QuantityList_element.setAttribute('uom',strUom) 
    384                             gml_QuantityList_element.appendChild(csmldoc.createTextNode(str(measuredvalues)[1:-1])) 
    385                             gml_rangeSet_element.appendChild(gml_QuantityList_element) 
    386                              
     411                            rs=csmllibs.Parser.RangeSet() 
     412                            rs.quantityList=csmllibs.Parser.MeasureOrNullList(uom=strUom, val=str(measuredvalues)[1:-1])                          
     413#gml_rangeSet_element=csmldoc.createElement("gml:rangeSet")      
     414#                             gml_QuantityList_element=csmldoc.createElement("gml:QuantityList") 
     415#                             gml_QuantityList_element.setAttribute('uom',strUom) 
     416#                             gml_QuantityList_element.appendChild(csmldoc.createTextNode(str(measuredvalues)[1:-1])) 
     417#                             gml_rangeSet_element.appendChild(gml_QuantityList_element) 
     418                            PointSeriesFeature_element.rangeSet=rs 
    387419                            #*********************************************************************** 
    388420                            # gml:coverageFunction element (and sub-element MappingRule)                 
    389421                            #*********************************************************************** 
    390                             parameter_element=csmldoc.createElement("parameter") 
    391                                              
    392                             gml_featureMember_element.appendChild(PointSeriesDomain_element) 
    393                             gml_featureMember_element.appendChild(gml_rangeSet_element) 
    394                             gml_featureMember_element.appendChild(parameter_element) 
    395                             gml_FeatureCollection_element.appendChild(gml_featureMember_element) 
    396                              
    397             return csmldoc, dataset_element, gml_FeatureCollection_element 
     422                             
     423                            #need to do parameter element 
     424                             
     425#                             parameter_element=csmldoc.createElement("parameter")                 
     426#                             gml_featureMember_element.appendChild(PointSeriesDomain_element) 
     427#                             gml_featureMember_element.appendChild(gml_rangeSet_element) 
     428#                             gml_featureMember_element.appendChild(parameter_element) 
     429#                             gml_FeatureCollection_element.appendChild(gml_featureMember_element) 
     430                            PointSeriesFeature_element.pointSeriesDomain=psDomain 
     431                            self.fms.append(PointSeriesFeature_element) 
     432                    DI.closeFile() 
    398433             
    399434 
Note: See TracChangeset for help on using the changeset viewer.