Changeset 657


Ignore:
Timestamp:
27/02/06 16:53:28 (14 years ago)
Author:
domlowe
Message:

Point Series done, Profile series part done

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/newparser/Parser.py

    r655 r657  
    543543        AbstractCoverageFeature.toXML(self,csmlFrag) 
    544544        return csmlFrag 
    545  
     545     
     546class AbstractSeriesCoverageFeature(AbstractCoverageFeature): 
     547    #CSML Abstract Series Coverage FT class  
     548    def __init__(self,*args,**kwargs): 
     549        AbstractCoverageFeature.__init__(self,*args,**kwargs) 
     550    def fromXML(self,csmlFrag): 
     551        AbstractCoverageFeature.fromXML(self,csmlFrag) 
     552    def toXML(self,csmlFrag): 
     553        AbstractCoverageFeature.toXML(self,csmlFrag) 
     554        return csmlFrag 
     555     
    546556class AbstractDomain: 
    547557    #CSML AbstractDomain class 
     
    550560    #   +csml:domainComplement [0...1] 
    551561         
    552     def __init__(self,domainReference,domainComplement, *args,**kwargs): 
     562    def __init__(self,domainReference=None,domainComplement=None, *args,**kwargs): 
    553563        if domainReference: 
    554564            self.domainReference=domainReference 
     
    561571                self.domainReference.fromXML(frag) 
    562572            if frag.tag == CSML('domainComplement'): 
    563                 self.domainComplement = frag.text 
     573                self.domainComplement = domainComplement() 
     574                self.domainComplement.fromXML(frag) 
    564575    def toXML(self,csmlFrag): 
    565576        if hasattr(self,'domainReference'): 
     
    645656            csmlFrag.append(frag) 
    646657        return csmlFrag 
     658 
     659         
     660class direction: 
     661    def __init__(self, horizontalAngle=None, verticalAngle=None): 
     662        if horizontalAngle: 
     663            self.horizontalAngle=horizontalAngle 
     664        if verticalAngle: 
     665            self.verticalAngle=verticalAngle 
     666    def fromXML(self, csmlFrag): 
     667         for frag in csmlFrag.getchildren(): 
     668            if frag.tag==GML('horizontalAngle'): 
     669                self.horizontalAngle=frag.text 
     670            elif frag.tag==GML('verticalAngle'): 
     671                self.verticalAngle=frag.text 
     672    def toXML(self,csmlFrag): 
     673         if hasattr(self,'horizontalAngle'): 
     674            frag = Element(GML('horizontalAngle')) 
     675            frag.text=self.horizontalAngle 
     676            csmlFrag.append(frag) 
     677         if hasattr(self,'verticalAngle'): 
     678            frag = Element(GML('verticalAngle')) 
     679            frag.text=self.verticalAngle 
     680            csmlFrag.append(frag) 
     681         
    647682class Position: 
    648     def __init__(self,srsName=None,axisLabels=None,uomLabels=None): 
     683    def __init__(self,srsName=None,axisLabels=None,uomLabels=None, location=None, time=None,*args,**kwargs): 
    649684        if srsName: 
    650685            self.srsName=srsName 
     
    653688        if uomLabels: 
    654689            self.uomLabels=uomLabels 
     690        if location: 
     691            self.location=location 
     692        if time: 
     693            self.time = time 
    655694    def fromXML(self,csmlFrag): 
    656695        if csmlFrag.attrib.has_key('srsName'):             
     
    683722        return csmlFrag 
    684723 
     724class OrientedPosition(Position): 
     725    def __init__(self, direction=None, *args,**kwargs): 
     726        Position.__init__(self, *args,**kwargs) 
     727        if direction: 
     728            self.direction=direction 
     729    def fromXML(self,csmlFrag): 
     730        Position.fromXML(self, csmlFrag) 
     731        for frag in csmlFrag.getchildren(): 
     732            if frag.tag==CSML('direction'): 
     733                self.direction=direction() 
     734                direction.fromXML(self.direction,csmlFrag) 
     735    def toXML(self, csmlFrag): 
     736        Position.toXML(self,csmlFrag) 
     737        if hasattr(self,'direction'): 
     738            frag = Element(CSML('direction')) 
     739            direction.toXML(self.direction,frag) 
     740            csmlFrag.append(frag) 
     741                    
     742class Trajectory: 
     743    def __init__(self,srsName=None,locations=None,times=None): 
     744        if srsName: 
     745            self.srsName=srsName 
     746        if locations: 
     747            self.locations=locations 
     748        if times: 
     749            self.times = times 
     750 
     751    def fromXML(self,csmlFrag): 
     752        if csmlFrag.attrib.has_key('srsName'): 
     753            self.srsName = csmlFrag.attrib['srsName'] 
     754        for frag in csmlFrag.getchildren(): 
     755            print frag.tag 
     756            if frag.tag==CSML('locations'): 
     757                self.locations=frag.text 
     758            if frag.tag==CSML('times'): 
     759                self.times=frag.text 
     760    def toXML(self,csmlFrag): 
     761        if hasattr(self,'srsName'): 
     762            csmlFrag.attrib['srsName'] = self.srsName 
     763        if hasattr(self,'locations'): 
     764            frag = Element(CSML('locations')) 
     765            frag.text=self.locations 
     766            csmlFrag.append(frag) 
     767        if hasattr(self,'times'): 
     768            frag = Element(CSML('times')) 
     769            frag.text=self.times 
     770            csmlFrag.append(frag) 
     771        return csmlFrag 
     772         
    685773class rangeSet: 
    686774    def __init__(self,QuantityList=None, uom=None): 
     
    699787            frag = Element(GML('QuantityList')) 
    700788            frag.text=self.QuantityList 
    701         if hasattr(self,'uom'): 
    702              frag.attrib['uom'] = self.uom 
    703         csmlFrag.append(frag) 
     789            if hasattr(self,'uom'): 
     790                frag.attrib['uom'] = self.uom 
     791            csmlFrag.append(frag) 
    704792        return csmlFrag 
    705793 
     
    713801                self.Position=Position() 
    714802                self.Position.fromXML(frag) 
     803            elif frag.tag == CSML('Trajectory'): 
     804                self.Trajectory=Trajectory() 
     805                self.Trajectory.fromXML(frag) 
     806            elif frag.tag==CSML('OrientedPosition'): 
     807                self.OrientedPosition=OrientedPosition() 
     808                self.OrientedPosition.fromXML(frag) 
     809            elif frag.tag == CSML('OrientedTrajectory'): 
     810                self.OrientedTrajectory=OrientedTrajectory() 
     811                self.OrientedTrajectory.fromXML(frag) 
    715812 
    716813    def toXML(self,csmlFrag): 
     
    719816             Position.toXML(self.Position,frag) 
    720817             csmlFrag.append(frag) 
     818        if hasattr(self,'Trajectory'): 
     819             frag = Element(CSML('Trajectory')) 
     820             Trajectory.toXML(self.Trajectory,frag) 
     821             csmlFrag.append(frag) 
    721822        return csmlFrag 
    722823 
     
    730831     
    731832class PointDomain(AbstractDomain): 
    732     def __init__(self): 
    733         pass 
     833    def __init__(self,*args,**kwargs): 
     834        AbstractDomain.__init__(self,*args,**kwargs) 
     835    def fromXML(self,csmlFrag): 
     836        AbstractDomain.fromXML(self,csmlFrag) 
     837    def toXML(self,csmlFrag): 
     838        AbstractDomain.toXML(self,csmlFrag) 
     839        return csmlFrag 
     840     
    734841class ProfileDomain(AbstractDomain): 
    735     def __init__(self): 
    736         pass 
     842    def __init__(self,*args,**kwargs): 
     843        AbstractDomain.__init__(self,*args,**kwargs) 
     844    def fromXML(self,csmlFrag): 
     845        AbstractDomain.fromXML(self,csmlFrag) 
     846    def toXML(self,csmlFrag): 
     847        AbstractDomain.toXML(self,csmlFrag) 
     848        return csmlFrag 
     849 
    737850class GridDomain(AbstractDomain): 
    738     def __init__(self): 
    739         pass 
     851    def __init__(self,*args,**kwargs): 
     852        AbstractDomain.__init__(self,*args,**kwargs) 
     853    def fromXML(self,csmlFrag): 
     854        AbstractDomain.fromXML(self,csmlFrag) 
     855    def toXML(self,csmlFrag): 
     856        AbstractDomain.toXML(self,csmlFrag) 
     857        return csmlFrag 
     858     
    740859class PointSeriesDomain(AbstractDomain): 
    741     def __init__(self): 
    742         pass  
     860    def __init__(self,*args,**kwargs): 
     861        AbstractDomain.__init__(self,*args,**kwargs) 
     862    def fromXML(self,csmlFrag): 
     863        AbstractDomain.fromXML(self,csmlFrag) 
     864    def toXML(self,csmlFrag): 
     865        AbstractDomain.toXML(self,csmlFrag) 
     866        return csmlFrag 
     867     
    743868class ProfileSeriesDomain(AbstractDomain): 
    744     def __init__(self): 
    745         pass 
     869    def __init__(self,*args,**kwargs): 
     870        AbstractDomain.__init__(self,*args,**kwargs) 
     871    def fromXML(self,csmlFrag): 
     872        AbstractDomain.fromXML(self,csmlFrag) 
     873    def toXML(self,csmlFrag): 
     874        AbstractDomain.toXML(self,csmlFrag) 
     875        return csmlFrag 
     876     
    746877class GridSeriesDomain(AbstractDomain): 
    747     def __init__(self): 
    748         pass 
    749      
    750      
    751              
     878    def __init__(self,*args,**kwargs): 
     879        AbstractDomain.__init__(self,*args,**kwargs) 
     880    def fromXML(self,csmlFrag): 
     881        AbstractDomain.fromXML(self,csmlFrag) 
     882    def toXML(self,csmlFrag): 
     883        AbstractDomain.toXML(self,csmlFrag) 
     884        return csmlFrag 
     885 
    752886class PointFeature(AbstractStaticCoverageFeature): 
    753 #TODO: 
    754  
    755 #Fiinish rangeSet, parameter and coverageFunction (23/02/06) 
    756              
    757              
     887 
    758888    #CSML PointFeature class 
    759889    #       PointFeature(AbstractStaticCoverageFeatureType): 
     890    #       + gml:boundedBy[0..1] 
    760891    #      +PointDomain 
    761892    #      +gml:rangeSet 
    762     #      +gml:coverageFunction[0..*] 
     893    #      +gml:coverageFunction[0..1] 
    763894    #      +parameter:om:PhenomenonPropertyType 
    764     def __init__(self,PointDomain=None,rangeSet=None,coverageFunction=None, parameter=None,*args,**kwargs): 
     895    def __init__(self,boundedBy=None, PointDomain=None,rangeSet=None,coverageFunction=None, parameter=None,*args,**kwargs): 
    765896        AbstractStaticCoverageFeature.__init__(self,*args,**kwargs) 
    766  
     897        if boundedBy: 
     898            self.boundedBy=boundedBy 
    767899        if PointDomain: 
    768900            self.PointDomain=PointDomain 
     
    777909 
    778910        for frag in csmlFrag.getchildren(): 
     911            if frag.tag == GML('boundedBy'): 
     912                self.boundedBy = boundedBy() 
     913                self.boundedBy.fromXML(frag) 
    779914            if frag.tag == CSML('PointDomain'): 
    780915                self.PointDomain = PointDomain() 
     
    813948        return csmlFrag 
    814949 
    815 class ProfileFeature: 
     950     
     951class PointSeriesFeature(AbstractSeriesCoverageFeature): 
     952    #CSML PointSeriesFeature class 
     953    #       PointSeriesFeature(AbstractStaticCoverageFeatureType): 
     954    #       + gml:boundedBy[0..1] 
     955    #      +PointSeriesDomain 
     956    #      +gml:rangeSet 
     957    #      +gml:coverageFunction[0..1] 
     958    #      +parameter:om:PhenomenonPropertyType 
     959    def __init__(self,boundedBy=None,PointSeriesDomain=None,rangeSet=None,coverageFunction=None, parameter=None,*args,**kwargs): 
     960        AbstractSeriesCoverageFeature.__init__(self,*args,**kwargs) 
     961        if boundedBy: 
     962            self.boundedBy 
     963        if PointSeriesDomain: 
     964            self.PointSeriesDomain=PointSeriesDomain 
     965        if rangeSet: 
     966            self.rangeSet=rangeSet 
     967        if coverageFunction: 
     968            self.coverageFunction=coverageFunction 
     969        if parameter: 
     970            self.parameter=parameter 
     971    def fromXML(self,csmlFrag): 
     972        AbstractSeriesCoverageFeature.fromXML(self,csmlFrag) 
     973        for frag in csmlFrag.getchildren(): 
     974            if frag.tag == GML('boundedBy'): 
     975                self.boundedBy=boundedBy() 
     976                self.boundedBy.fromXML(frag) 
     977            if frag.tag == CSML('PointSeriesDomain'): 
     978                self.PointSeriesDomain = PointSeriesDomain() 
     979                self.PointSeriesDomain.fromXML(frag) 
     980            if frag.tag == GML('rangeSet'): 
     981                self.rangeSet=rangeSet() 
     982                self.rangeSet.fromXML(frag) 
     983            if frag.tag == CSML('parameter'): 
     984                self.parameter = frag.text 
     985                print frag.attrib 
     986                if frag.attrib.has_key(XLINK('href')): 
     987                    self.href = frag.attrib[XLINK('href')] 
     988    def toXML(self,csmlFrag): 
     989        AbstractSeriesCoverageFeature.toXML(self,csmlFrag) 
     990        if hasattr(self, 'boundedBy'): 
     991            frag = Element(GML('boundedBy')) 
     992            boundedBy.toXML(self.boundedBy,frag) 
     993        if hasattr(self,'PointSeriesDomain'): 
     994             frag = Element(CSML('PointSeriesDomain')) 
     995             PointSeriesDomain.toXML(self.PointSeriesDomain,frag) 
     996             csmlFrag.append(frag) 
     997        if hasattr(self,'rangeSet'): 
     998             frag = Element(GML('rangeSet')) 
     999             rangeSet.toXML(self.rangeSet,frag) 
     1000             csmlFrag.append(frag) 
     1001        if hasattr(self,'parameter'): 
     1002             frag = Element(CSML('parameter')) 
     1003             frag.text=self.parameter 
     1004             csmlFrag.append(frag) 
     1005        if hasattr(self,'href'): 
     1006             frag.attrib[XLINK('href')] = self.href 
     1007        csmlFrag.append(frag) 
     1008        return csmlFrag 
     1009 
     1010class ProfileFeature(AbstractStaticCoverageFeature): 
     1011     #CSML ProfileFeature class 
     1012    #       ProfileFeature(AbstractStaticCoverageFeature): 
     1013    #       + gml:boundedBy[0..1] 
     1014    #      +ProfileDomain 
     1015    #      +gml:rangeSet 
     1016    #      +gml:coverageFunction[0..1] 
     1017    #      +parameter:om:PhenomenonPropertyType 
     1018    def __init__(self,boundedBy=None, ProfileDomain=None,rangeSet=None,coverageFunction=None, parameter=None,*args,**kwargs): 
     1019        AbstractStaticCoverageFeature.__init__(self,*args,**kwargs) 
     1020        if boundedBy: 
     1021            self.boundedBy=boundedBy 
     1022        if ProfileDomain: 
     1023            self.ProfileDomain=ProfileDomain 
     1024        if rangeSet: 
     1025            self.rangeSet=rangeSet 
     1026        if coverageFunction: 
     1027            self.coverageFunction=coverageFunction 
     1028        if parameter: 
     1029            self.parameter=parameter 
     1030    def fromXML(self,csmlFrag): 
     1031        AbstractStaticCoverageFeature.fromXML(self,csmlFrag) 
     1032 
     1033        for frag in csmlFrag.getchildren(): 
     1034            if frag.tag == GML('boundedBy'): 
     1035                self.boundedBy = boundedBy() 
     1036                self.boundedBy.fromXML(frag) 
     1037            if frag.tag == CSML('ProfileDomain'): 
     1038                self.ProfileDomain = ProfileDomain() 
     1039                self.ProfileDomain.fromXML(frag) 
     1040            if frag.tag == GML('rangeSet'): 
     1041                self.rangeSet=rangeSet() 
     1042                self.rangeSet.fromXML(frag) 
     1043            if frag.tag == CSML('parameter'): 
     1044                self.parameter = frag.text 
     1045                print frag.attrib 
     1046                if frag.attrib.has_key(XLINK('href')): 
     1047                    self.href = frag.attrib[XLINK('href')] 
     1048 
     1049# #             if frag.tag == GML('coverageFunction'): 
     1050#                 checkArrayAttrib(self,'coverageFunction') 
     1051#                 self.coverageFunction.append(frag.text) 
     1052##        else: 
     1053##            raise Exception('Unexpected element: "'+frag.tag+'"') 
     1054    def toXML(self,csmlFrag): 
     1055        AbstractStaticCoverageFeature.toXML(self,csmlFrag) 
     1056        if hasattr(self,'ProfileDomain'): 
     1057             frag = Element(CSML('ProfileDomain')) 
     1058             ProfileDomain.toXML(self.ProfileDomain,frag) 
     1059             csmlFrag.append(frag) 
     1060        if hasattr(self,'rangeSet'): 
     1061             frag = Element(GML('rangeSet')) 
     1062             rangeSet.toXML(self.rangeSet,frag) 
     1063             csmlFrag.append(frag) 
     1064        if hasattr(self,'parameter'): 
     1065             frag = Element(CSML('parameter')) 
     1066             frag.text=self.parameter 
     1067             csmlFrag.append(frag) 
     1068        if hasattr(self,'href'): 
     1069             frag.attrib[XLINK('href')] = self.href 
     1070        csmlFrag.append(frag) 
     1071        return csmlFrag 
     1072 
     1073 
     1074class ProfileSeriesFeature: 
    8161075    def __init__(self): 
    8171076        pass 
     
    8201079    def toXML(self,csmlFrag): 
    8211080        return csmlFrag 
     1081 
    8221082class GridFeature: 
    8231083    def __init__(self): 
     
    8271087    def toXML(self,csmlFrag): 
    8281088        return csmlFrag 
    829 class PointSeriesFeature: 
    830     def __init__(self): 
    831         pass 
    832     def fromXML(self,csmlFrag): 
    833         pass 
    834     def toXML(self,csmlFrag): 
    835         return csmlFrag 
    836 class ProfileSeriesFeature: 
    837     def __init__(self): 
    838         pass 
    839     def fromXML(self,csmlFrag): 
    840         pass 
    841     def toXML(self,csmlFrag): 
    842         return csmlFrag 
     1089 
     1090 
    8431091class GridSeriesFeature: 
    8441092    def __init__(self): 
Note: See TracChangeset for help on using the changeset viewer.