Changeset 903


Ignore:
Timestamp:
09/05/06 12:11:01 (13 years ago)
Author:
domlowe
Message:

class for gml:SRSInformation attribute group added, also gml:DirectPosition

File:
1 edited

Legend:

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

    r900 r903  
    101101    MetaDataProperty: 
    102102    +href: URI 
     103    +text: str 
    103104    """ 
    104     def __init__(self,href=None): 
     105    def __init__(self,href=None, texts=None): 
    105106        if href: 
    106107            self.href = href 
     108        if texts: 
     109            self.texts=texts 
    107110    def fromXML(self,csmlFrag): 
    108111        if csmlFrag.attrib.has_key(XLINK('href')): 
    109112             self.href = csmlFrag.attrib[XLINK('href')] 
     113        for frag in csmlFrag.getchildren(): 
     114            if frag.tag == CSML('text'): 
     115                checkArrayAttrib(self,'texts') 
     116                self.texts.append(frag.text) 
    110117    def toXML(self,csmlFrag): 
    111118        if hasattr(self,'href'): 
    112119            csmlFrag.attrib[XLINK('href')] = self.href 
     120        if hasattr(self,'texts'): 
     121            for txt in self.texts: 
     122                frag = Element(CSML('text')) 
     123                frag.text=txt 
     124                csmlFrag.append(frag) 
    113125        return csmlFrag 
    114126 
     
    222234                csmlFrag.attrib['srsDimension']= self.srsDimension 
    223235            return csmlFrag 
     236 
     237class SRSInformationGroup: 
     238# class to represeent gml:SRSInformationGroup 
     239# class SRSReferenceGroup: 
     240#     +uomLabels[0...]:NCNameList 
     241#     +axisLabels[0...]:NCNameList 
     242    def __init__(self,uomLabels=None,axisLabels=None): 
     243        if uomLabels: 
     244            self.uomLabels=uomLabels 
     245        if axisLabels: 
     246            self.axisLabels=axisLabels 
     247    def fromXML(self,csmlFrag): 
     248        if csmlFrag.attrib.has_key('uomLabels'): 
     249            self.uomLabels=csmlFrag.attrib['uomLabels'] 
     250        if csmlFrag.attrib.has_key('axisLabels'): 
     251            self.axisLabels=csmlFrag.attrib['axisLabels'] 
     252    def toXML(self,csmlFrag): 
     253            if hasattr(self,'axisLabels'): 
     254                csmlFrag.attrib['axisLabels']= self.axisLabels 
     255            if hasattr(self,'uomLabels'): 
     256                csmlFrag.attrib['uomLabels']= self.uomLabels 
     257            return csmlFrag 
     258     
    224259class AssociationAttributeGroup: 
    225260    '''Class to represent gml:AssociationAttributeGroup which is based on the xlink 'simplelink' attribute group (not implemented) 
     
    274309        return csmlFrag 
    275310     
    276              
     311class DirectPosition(SRSReferenceGroup,SRSInformationGroup): 
     312    def __init__(self,vals='',*args,**kwargs): 
     313        SRSReferenceGroup.__init__(self,*args,**kwargs) 
     314        SRSInformationGroup.__init__(self,*args,**kwargs) 
     315        if vals: 
     316            self.vals=vals 
     317    def fromXML(self,csmlFrag): 
     318        SRSReferenceGroup.fromXML(self,csmlFrag) 
     319        SRSInformationGroup.fromXML(self,csmlFrag) 
     320        self.vals=csmlFrag.text 
     321    def toXML(self,csmlFrag): 
     322        SRSReferenceGroup.toXML(self,csmlFrag) 
     323        SRSInformationGroup.toXML(self,csmlFrag) 
     324        if hasattr(self,'vals'): 
     325            csmlFrag.text=self.vals 
     326        return csmlFrag 
     327         
    277328class Definition(AbstractGML): 
    278329    #Class Definition(AbstractGML), restricts AbstractGML 
     
    16661717        return csmlFrag 
    16671718 
    1668 class DirectPositionList(AssociationAttributeGroup, SRSReferenceGroup): 
     1719class DirectPositionList(AssociationAttributeGroup, SRSReferenceGroup,SRSInformationGroup): 
    16691720    #class representing a DirectPositionList 
    16701721    def __init__(self, order=None, vals=None,*args,**kwargs): 
     
    16751726        AssociationAttributeGroup.__init__(self,*args,**kwargs) 
    16761727        SRSReferenceGroup.__init__(self,*args,**kwargs) 
     1728        SRSInformationGroup.__init__(self,*args,**kwargs) 
    16771729    def fromXML(self,csmlFrag): 
    16781730        AssociationAttributeGroup.fromXML(self,csmlFrag) 
    16791731        SRSReferenceGroup.fromXML(self,csmlFrag) 
     1732        SRSInformationGroup.fromXML(self,csmlFrag)         
    16801733        self.vals=csmlFrag.text 
    16811734        if csmlFrag.attrib.has_key('order'): 
     
    16841737        AssociationAttributeGroup.toXML(self,csmlFrag) 
    16851738        SRSReferenceGroup.toXML(self,csmlFrag) 
     1739        SRSInformationGroup.toXML(self,csmlFrag) 
    16861740        csmlFrag.text=self.vals 
    16871741        if hasattr(self,'order'): 
     
    19101964    # CSML EnvelopeWithTimePeriod class 
    19111965    # EnvelopeWithTimePeriod(): 
    1912         # +gml:lowerCorner 
    1913         # +gml:upperCorner 
     1966        # +gml:lowerCorner:DirectPosition 
     1967        # +gml:upperCorner:DirectPosition 
    19141968        # +gml:timePosition [2] ? 
    19151969         
     
    19311985                self.srsName=frag.attrib['srsName'] 
    19321986            if frag.tag == GML('lowerCorner'): 
    1933                 self.lowerCorner=frag.text 
     1987                #self.lowerCorner=frag.text 
     1988                self.lowerCorner=DirectPosition() 
     1989                DirectPosition.fromXML(self.lowerCorner, frag) 
    19341990            if frag.tag == GML('upperCorner'): 
    1935                 self.upperCorner=frag.text 
     1991                #self.upperCorner=frag.text 
     1992                self.upperCorner=DirectPosition() 
     1993                DirectPosition.fromXML(self.upperCorner, frag) 
    19361994            if frag.tag == GML('timePosition'): 
    19371995                if hasattr(self, 'timePosition'): 
     
    19442002        if hasattr(self,'lowerCorner'): 
    19452003            frag=Element(GML('lowerCorner')) 
    1946             frag.text=self.lowerCorner 
     2004           # frag.text=self.lowerCorner 
     2005            DirectPosition.toXML(self.lowerCorner,frag) 
    19472006            csmlFrag.append(frag) 
    19482007        if hasattr(self,'upperCorner'): 
    19492008            frag=Element(GML('upperCorner')) 
    1950             frag.text=self.upperCorner 
     2009            #frag.text=self.upperCorner 
     2010            DirectPosition.toXML(self.upperCorner,frag) 
    19512011            csmlFrag.append(frag) 
    19522012        if hasattr(self,'timePosition'): 
Note: See TracChangeset for help on using the changeset viewer.