Changeset 710


Ignore:
Timestamp:
27/03/06 17:12:49 (13 years ago)
Author:
domlowe
Message:

Added support for Coordinate Reference Systems:
GeographicCRS
TemporalCRS
VerticalCRS
EngineeringCRS (added in changeset 705)
CompoundCRS
Along with corresponding CoordinateSystems? and Datums.

File:
1 edited

Legend:

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

    r705 r710  
    531531        AbstractDatum.toXML(self,csmlFrag) 
    532532        return csmlFrag 
     533 
     534class VerticalDatumType(CodeType): 
     535    def __init__(self,*args,**kwargs): 
     536        CodeType.__init__(self,*args,**kwargs) 
     537    def fromXML(self,csmlFrag): 
     538        CodeType.fromXML(self,csmlFrag) 
     539    def toXML(self,csmlFrag): 
     540        CodeType.toXML(self,csmlFrag) 
     541        return csmlFrag 
     542 
     543class VerticalDatum(AbstractDatum): 
     544    def __init__(self,verticalDatumType=None,*args,**kwargs): 
     545        AbstractDatum.__init__(self,*args,**kwargs) 
     546        #Note to Andrew, "Type" is part of the element name here. the element <VerticalDatumType> has type: VerticalDatumTypeType.  
     547        if verticalDatumType: 
     548            self.verticalDatumType=verticalDatumType 
     549    def fromXML(self,csmlFrag): 
     550        AbstractDatum.fromXML(self,csmlFrag) 
     551        for frag in csmlFrag.getchildren(): 
     552            if frag.tag==GML('VerticalDatumType'): 
     553                self.verticalDatumType=VerticalDatumType() 
     554                VerticalDatumType.fromXML(self.verticalDatumType,frag) 
     555         
     556    def toXML(self,csmlFrag): 
     557        AbstractDatum.toXML(self,csmlFrag) 
     558        if hasattr(self,'verticalDatumType'): 
     559            frag=Element(GML('VerticalDatumType')) 
     560            frag=VerticalDatumType.toXML(self.verticalDatumType,frag) 
     561        return csmlFrag 
     562 
     563class TemporalDatumType(TemporalDatumBase): 
     564    def __init__(self,*args,**kwargs): 
     565        CodeType.__init__(self,*args,**kwargs) 
     566    def fromXML(self,csmlFrag): 
     567        CodeType.fromXML(self,csmlFrag) 
     568    def toXML(self,csmlFrag): 
     569        CodeType.toXML(self,csmlFrag) 
     570        return csmlFrag 
     571 
     572class TemporalDatum(AbstractDatum): 
     573    def __init__(self,origin=None,*args,**kwargs): 
     574        AbstractDatum.__init__(self,*args,**kwargs) 
     575        #Note to Andrew, "Type" is part of the element name here. the element <TemporalDatumType> has type: TemporalDatumTypeType.  
     576        if origin: 
     577            self.origin=origin 
     578    def fromXML(self,csmlFrag): 
     579        AbstractDatum.fromXML(self,csmlFrag) 
     580        for frag in csmlFrag.getchildren(): 
     581            if frag.tag==GML('origin'): 
     582                self.origin=frag.text 
     583                TemporalDatumType.fromXML(self.temporalDatumType,frag) 
     584 
     585    def toXML(self,csmlFrag): 
     586        AbstractDatum.toXML(self,csmlFrag) 
     587        if hasattr(self,'temporalDatumType'): 
     588            frag=Element(GML('TemporalDatumType')) 
     589            frag=TemporalDatumType.toXML(self.temporalDatumType,frag) 
     590        return csmlFrag 
     591         
     592class PrimeMeridianBase(Definition): 
     593#                       <restriction base="gml:DefinitionType"> 
     594#                               <sequence> 
     595#                                       <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 
     596#                                       <element ref="gml:remarks" minOccurs="0"> 
     597#                                               <annotation> 
     598#                                                       <documentation>Comments on or information about this prime meridian, including source information. </documentation> 
     599#                                               </annotation> 
     600#                                       </element> 
     601#                                       <element ref="gml:meridianName"/> 
     602#                               </sequence> 
     603#                               <attribute ref="gml:id" use="required"/> 
     604#                       </restriction> 
     605    def __init__(self,metaDataProperty=None, remarks=None, meridianName=None, *args,**kwargs): 
     606        Definition.__init__(self,*args,**kwargs) 
     607        if metaDataProperty: 
     608            self.metaDataProperty=metaDataProperty 
     609        if remarks: 
     610            self.remarks=remarks 
     611        if meridianName: 
     612            self.meridianName=meridianName 
     613 
     614    def fromXML(self,csmlFrag): 
     615        Definition.fromXML(self,csmlFrag) 
     616        if csmlFrag.attrib.has_key(GML('metaDataProperty')): 
     617            self.metaDataProperty=csmlFrag.attrib[GML('metaDataProperty')] 
     618        for frag in csmlFrag.getchildren(): 
     619            if frag.tag==GML('remarks'): 
     620                self.remarks=frag.text 
     621            if frag.tag==GML('meridianName'): 
     622                self.meridianName=frag.text 
     623    def toXML(self,csmlFrag): 
     624        Definition.toXML(self,csmlFrag) 
     625        if hasattr(self,'metaDataProperty'): 
     626            csmlFrag.attrib[GML('metaDataProperty')]=self.metaDataProperty 
     627        if hasattr(self, 'remarks'): 
     628            frag=Element(GML('remarks')) 
     629            frag.text=self.remarks 
     630            csmlFrag.append(frag) 
     631        if hasattr(self, 'meridianName'): 
     632            frag=Element(GML('meridianName')) 
     633            frag.text=self.meridianName 
     634            csmlFrag.append(frag) 
     635        return csmlFrag 
     636 
     637 
     638     
     639class PrimeMeridian(PrimeMeridianBase): 
     640#untested 
     641    def __init__(self,meridianID=None, greenwichLongitude=None, *args,**kwargs): 
     642        PrimeMeridianBase.__init__(self,*args,**kwargs) 
     643        if meridianID: 
     644            self.meridianID=meridianID 
     645        if greenwichLongitude: 
     646            self.greenwichLongitude=greenwichLongitude 
     647    def fromXML(self,csmlFrag): 
     648        PrimeMeridianBase.fromXML(self,csmlFrag) 
     649        if frag.tag==GML('meridianID'): 
     650            self.meridianID=frag.text 
     651        if frag.tag==GML('greenwichLongitude'): 
     652            self.greenwichLongitude=frag.text 
     653    def toXML(self,csmlFrag): 
     654        PrimeMeridianBase.toXML(self,csmlFrag) 
     655        if hasattr(self,'meridianID'): 
     656            frag=Element(GML('meridianID')) 
     657            frag.text=self.meridianID 
     658            csmlFrag.append(frag) 
     659        if hasattr(self,'greenwichLongitude'): 
     660            frag=Element(GML('greenwichLongitude')) 
     661            frag.text=self.greenwichLongitude 
     662        return csmlFrag 
     663 
     664class PrimeMeridianRef(DictionaryEntry): 
     665#untested 
     666    def __init__(self,primeMeridian=None,*args,**kwargs): 
     667        DictionaryEntry.__init__(self,*args,**kwargs) 
     668        if primeMeridian: 
     669            self.primeMeridian=primeMeridian 
     670    def fromXML(self,csmlFrag): 
     671        DictionaryEntry.fromXML(self,csmlFrag) 
     672        for frag in csmlFrag.getchildren(): 
     673            if frag.tag==GML('PrimeMeridian'): 
     674                self.primeMeridian=PrimeMeridian() 
     675                PrimeMeridian.fromXML(self.primeMeridian,frag) 
     676    def toXML(self,csmlFrag): 
     677        DictionaryEntry.toXML(self,csmlFrag) 
     678        if hasattr(self,'primeMeridian'): 
     679            frag=Element(GML('PrimeMeridian')) 
     680            frag=PrimeMeridian.toXML(self.primeMeridian,frag) 
     681            csmlFrag.append(frag) 
     682        return csmlFrag 
     683     
     684class GeodeticDatum(AbstractDatum): 
     685#untested 
     686        #<element ref="gml:usesPrimeMeridian"/> 
     687        #<element ref="gml:usesEllipsoid"/> 
     688    def __init__(self,usesPrimeMeridian=None,usesEllipsoid=None,*args,**kwargs): 
     689        AbstractDatum.__init__(self,*args,**kwargs) 
     690        if usesPrimeMeridian: 
     691            self.usesPrimeMeridian=usesPrimeMeridian 
     692        if usesEllipsoid: 
     693            self.usesEllipsoid=usesEllipsoid 
     694    def fromXML(self,csmlFrag): 
     695        AbstractDatum.fromXML(self,csmlFrag) 
     696        for frag in csmlFrag.getchildren(): 
     697            if frag.tag==GML('usesPrimeMeridian'): 
     698                self.usesPrimeMeridian=PrimeMeridianRef() 
     699                PrimeMeridianRef.fromXML(self.usesPrimeMeridian,frag) 
     700        for frag in csmlFrag.getchildren(): 
     701            if frag.tag==GML('usesEllipsoid'): 
     702                self.usesEllipsoid=EllipsoidRef() 
     703                EllipsoidRef.fromXML(self.usesEllipsoid,frag) 
     704    def toXML(self,csmlFrag): 
     705        AbstractDatum.toXML(self,csmlFrag) 
     706        if hasattr(self,'usesPrimeMeridian'): 
     707            frag=Element(GML('usesPrimeMeridian')) 
     708            frag=PrimeMeridianRef.toXML(self.usesPrimeMeridian,frag) 
     709            csmlFrag.append(frag) 
     710        if hasattr(self,'usesEllipsoid'): 
     711            frag=Element(GML('usesEllipsoid')) 
     712            frag=EllipsoidRef.toXML(self.usesEllipsoid,frag) 
     713        return csmlFrag 
     714     
    533715     
    534716class EngineeringDatumRef(DatumRef, AssociationAttributeGroup): 
     
    551733            frag=Element(GML('EngineeringDatum')) 
    552734            frag=EngineeringDatum.toXML(self.engineeringDatum,frag) 
     735            csmlFrag.append(frag) 
     736        return csmlFrag 
     737 
     738class VerticalDatumRef(DatumRef, AssociationAttributeGroup): 
     739    def __init__(self,verticalDatum=None,*args,**kwargs): 
     740        DatumRef.__init__(self, *args, **kwargs) 
     741        AssociationAttributeGroup.__init__(self, *args, **kwargs) 
     742        if verticalDatum: 
     743            self.verticalDatum=verticalDatum 
     744    def fromXML(self,csmlFrag): 
     745        DatumRef.fromXML(self, csmlFrag) 
     746        AssociationAttributeGroup.fromXML(self, csmlFrag) 
     747        for frag in csmlFrag.getchildren(): 
     748            if frag.tag==GML('VerticalDatum'): 
     749                self.verticalDatum=VerticalDatum() 
     750                VerticalDatum.fromXML(self.verticalDatum,frag) 
     751    def toXML(self,csmlFrag): 
     752        DatumRef.toXML(self, csmlFrag) 
     753        AssociationAttributeGroup.toXML(self, csmlFrag) 
     754        if hasattr(self,'verticalDatum'): 
     755            frag=Element(GML('VerticalDatum')) 
     756            frag=VerticalDatum.toXML(self.verticalDatum,frag) 
     757            csmlFrag.append(frag) 
     758        return csmlFrag 
     759 
     760class GeodeticDatumRef(DatumRef,AssociationAttributeGroup): 
     761    def __init__(self,geodeticDatum=None,*args,**kwargs): 
     762        DatumRef.__init__(self, *args, **kwargs) 
     763        AssociationAttributeGroup.__init__(self, *args, **kwargs) 
     764        if geodeticDatum: 
     765            self.geodeticDatum=geodeticDatum 
     766    def fromXML(self,csmlFrag): 
     767        DatumRef.fromXML(self, csmlFrag) 
     768        AssociationAttributeGroup.fromXML(self, csmlFrag) 
     769        for frag in csmlFrag.getchildren(): 
     770            if frag.tag==GML('GeodeticDatum'): 
     771                self.geodeticDatum=GeodeticDatum() 
     772                GeodeticDatum.fromXML(self.geodeticDatum,frag) 
     773    def toXML(self,csmlFrag): 
     774        DatumRef.toXML(self, csmlFrag) 
     775        AssociationAttributeGroup.toXML(self, csmlFrag) 
     776        if hasattr(self,'geodeticDatum'): 
     777            frag=Element(GML('GeodeticDatum')) 
     778            frag=GeodeticDatum.toXML(self.geodeticDatum,frag) 
    553779            csmlFrag.append(frag) 
    554780        return csmlFrag 
     
    694920        return csmlFrag  
    695921 
     922 
     923class EllipsoidalCS(AbstractCoordinateSystem): 
     924    def __init__(self,*args,**kwargs): 
     925        AbstractCoordinateSystem.__init__(self, *args, **kwargs) 
     926    def fromXML(self,csmlFrag): 
     927        AbstractCoordinateSystem.fromXML(self, csmlFrag) 
     928    def toXML(self,csmlFrag): 
     929        AbstractCoordinateSystem.toXML(self, csmlFrag) 
     930        return csmlFrag  
     931 
     932class VerticalCS(AbstractCoordinateSystem): 
     933    def __init__(self,*args,**kwargs): 
     934        AbstractCoordinateSystem.__init__(self, *args, **kwargs) 
     935    def fromXML(self,csmlFrag): 
     936        AbstractCoordinateSystem.fromXML(self, csmlFrag) 
     937    def toXML(self,csmlFrag): 
     938        AbstractCoordinateSystem.toXML(self, csmlFrag) 
     939        return csmlFrag  
     940 
     941class TemporalCS(AbstractCoordinateSystem): 
     942    def __init__(self,*args,**kwargs): 
     943        AbstractCoordinateSystem.__init__(self, *args, **kwargs) 
     944    def fromXML(self,csmlFrag): 
     945        AbstractCoordinateSystem.fromXML(self, csmlFrag) 
     946    def toXML(self,csmlFrag): 
     947        AbstractCoordinateSystem.toXML(self, csmlFrag) 
     948        return csmlFrag  
    696949class EngineeringCRS(AbstractCoordinateReferenceSystem,AssociationAttributeGroup): 
    697950        #<element ref="gml:usesCS"/>type="gml:CoordinateSystemRefType"> 
     
    732985            EngineeringDatumRef.toXML(self.usesEngineeringDatum, frag) 
    733986            csmlFrag.append(frag) 
     987        return csmlFrag 
     988 
     989class VerticalCRS(AbstractCoordinateReferenceSystem,AssociationAttributeGroup): 
     990        #<element ref="gml:usesVerticalCS"/>type="gml:VerticalCSRefType"> 
     991        #<element ref="gml:usesVerticalDatum"/>type="gml:VerticalDatumRefType 
     992    def __init__(self,usesVerticalCS=None, usesVerticalDatum=None,*args,**kwargs): 
     993        AbstractCoordinateReferenceSystem.__init__(self, *args, **kwargs) 
     994        AssociationAttributeGroup.__init__(self, *args, **kwargs) 
     995        if usesVerticalCS: 
     996            self.usesVerticalCS=usesVerticalCS 
     997        if usesVerticalDatum: 
     998            self.usesVerticalDatum=usesVerticalDatum 
     999    def fromXML(self,csmlFrag): 
     1000        AssociationAttributeGroup.fromXML(self, csmlFrag) 
     1001        AbstractCoordinateReferenceSystem.fromXML(self, csmlFrag) 
     1002        for frag in csmlFrag.getchildren(): 
     1003            if frag.tag == GML('usesVerticalCS'): 
     1004                subFrag=frag.getchildren()[0] 
     1005                if subFrag.tag==GML('VerticalCS'): 
     1006                    self.usesVerticalCS=VerticalCS() 
     1007                    VerticalCS.fromXML(self.usesVerticalCS,subFrag) 
     1008                else: 
     1009                    print subFrag.tag + ' Coordinate System not supported' 
     1010            if frag.tag == GML('usesVerticalDatum'): 
     1011                self.usesVerticalDatum=VerticalDatumRef() 
     1012                VerticalDatumRef.fromXML(self.usesVerticalDatum,frag) 
     1013    def toXML(self,csmlFrag): 
     1014        AssociationAttributeGroup.toXML(self, csmlFrag) 
     1015        AbstractCoordinateReferenceSystem.toXML(self, csmlFrag) 
     1016        if hasattr(self, 'usesVerticalCS'): 
     1017            frag=Element(GML('usesVerticalCS')) 
     1018            if isinstance(self.usesVerticalCS,VerticalCS): 
     1019                subFrag=Element(GML('VerticalCS')) 
     1020                VerticalCS.toXML(self.usesVerticalCS,subFrag) 
     1021                frag.append(subFrag) 
     1022                csmlFrag.append(frag) 
     1023        if hasattr(self, 'usesVerticalDatum'): 
     1024            frag=Element(GML('usesVerticalDatum')) 
     1025            VerticalDatumRef.toXML(self.usesVerticalDatum, frag) 
     1026            csmlFrag.append(frag) 
     1027        return csmlFrag 
     1028 
     1029class TemporalCRS(AbstractCoordinateReferenceSystem,AssociationAttributeGroup): 
     1030        #<element ref="gml:usesTemporalCS"/>type="gml:TemporalCSRefType"> 
     1031        #<element ref="gml:usesTemporalDatum"/>type="gml:TemporalDatumRefType 
     1032    def __init__(self,usesTemporalCS=None, usesTemporalDatum=None,*args,**kwargs): 
     1033        AbstractCoordinateReferenceSystem.__init__(self, *args, **kwargs) 
     1034        AssociationAttributeGroup.__init__(self, *args, **kwargs) 
     1035        if usesTemporalCS: 
     1036            self.usesTemporalCS=usesTemporalCS 
     1037        if usesTemporalDatum: 
     1038            self.usesTemporalDatum=usesTemporalDatum 
     1039    def fromXML(self,csmlFrag): 
     1040        AssociationAttributeGroup.fromXML(self, csmlFrag) 
     1041        AbstractCoordinateReferenceSystem.fromXML(self, csmlFrag) 
     1042        for frag in csmlFrag.getchildren(): 
     1043            if frag.tag == GML('usesTemporalCS'): 
     1044                subFrag=frag.getchildren()[0] 
     1045                if subFrag.tag==GML('TemporalCS'): 
     1046                    self.usesTemporalCS=TemporalCS() 
     1047                    TemporalCS.fromXML(self.usesTemporalCS,subFrag) 
     1048                else: 
     1049                    print subFrag.tag + ' Coordinate System not supported' 
     1050            if frag.tag == GML('usesTemporalDatum'): 
     1051                self.usesTemporalDatum=TemporalDatumRef() 
     1052                TemporalDatumRef.fromXML(self.usesTemporalDatum,frag) 
     1053    def toXML(self,csmlFrag): 
     1054        AssociationAttributeGroup.toXML(self, csmlFrag) 
     1055        AbstractCoordinateReferenceSystem.toXML(self, csmlFrag) 
     1056        if hasattr(self, 'usesTemporalCS'): 
     1057            frag=Element(GML('usesTemporalCS')) 
     1058            if isinstance(self.usesTemporalCS,TemporalCS): 
     1059                subFrag=Element(GML('TemporalCS')) 
     1060                TemporalCS.toXML(self.usesTemporalCS,subFrag) 
     1061                frag.append(subFrag) 
     1062                csmlFrag.append(frag) 
     1063        if hasattr(self, 'usesTemporalDatum'): 
     1064            frag=Element(GML('usesTemporalDatum')) 
     1065            TemporalDatumRef.toXML(self.usesTemporalDatum, frag) 
     1066            csmlFrag.append(frag) 
     1067        return csmlFrag 
     1068class GeographicCRS(AbstractCoordinateReferenceSystem,AssociationAttributeGroup): 
     1069            #<element ref="gml:usesEllipsoidalCS"/> 
     1070    #<element ref="gml:usesGeodeticDatum"/> 
     1071    def __init__(self,usesEllipsoidalCS=None, usesGeodeticDatum=None,*args,**kwargs): 
     1072        AbstractCoordinateReferenceSystem.__init__(self, *args, **kwargs) 
     1073        AssociationAttributeGroup.__init__(self, *args, **kwargs) 
     1074        if usesEllipsoidalCS: 
     1075            self.usesEllipsoidalCS=usesEllipsoidalCS 
     1076        if usesGeodeticDatum: 
     1077            self.usesGeodeticDatum=usesGeodeticDatum 
     1078    def fromXML(self,csmlFrag): 
     1079        AssociationAttributeGroup.fromXML(self, csmlFrag) 
     1080        AbstractCoordinateReferenceSystem.fromXML(self, csmlFrag) 
     1081        for frag in csmlFrag.getchildren(): 
     1082            if frag.tag == GML('usesEllipsoidalCS'): 
     1083                subFrag=frag.getchildren()[0] 
     1084                if subFrag.tag==GML('EllipsoidalCS'): 
     1085                    self.usesEllipsoidalCS=EllipsoidalCS() 
     1086                    EllipsoidalCS.fromXML(self.usesEllipsoidalCS,subFrag) 
     1087                else: 
     1088                    print subFrag.tag + ' Coordinate System not supported' 
     1089            if frag.tag == GML('usesGeodeticDatum'): 
     1090                self.usesGeodeticDatum=GeodeticDatumRef() 
     1091                GeodeticDatumRef.fromXML(self.usesEngineeringDatum,frag) 
     1092    def toXML(self,csmlFrag): 
     1093        AssociationAttributeGroup.toXML(self, csmlFrag) 
     1094        AbstractCoordinateReferenceSystem.toXML(self, csmlFrag) 
     1095        if hasattr(self, 'usesEllipsoidalCS'): 
     1096            frag=Element(GML('usesEllipsoidalCS')) 
     1097            if isinstance(self.usesCS,LinearCS): 
     1098                subFrag=Element(GML('usesEllipsoidalCS')) 
     1099                EllipsoidalCS.toXML(self.usesEllipsoidalCS,subFrag) 
     1100                frag.append(subFrag) 
     1101                csmlFrag.append(frag) 
     1102        if hasattr(self, 'usesEngineeringDatum'): 
     1103            frag=Element(GML('usesGeodeticDatum')) 
     1104            GeodeticDatumRef.toXML(self.usesGeodeticDatum, frag) 
     1105            csmlFrag.append(frag) 
     1106        return csmlFrag 
     1107 
     1108class CompoundCRS(AbstractCRS,AssociationAttributeGroup): 
     1109    #untested 
     1110    def __init__(self, includes=None, *args,**kwargs): 
     1111        AbstractCRS.__init__(self, *args, **kwargs) 
     1112        AssociationAttributeGroup.__init__(self, *args, **kwargs) 
     1113        if includes: 
     1114            self.includes=includes 
     1115    def fromXML(self,csmlFrag): 
     1116        AssociationAttributeGroup.fromXML(self, csmlFrag) 
     1117        AbstractCRS.fromXML(self, csmlFrag) 
     1118        for frag in csmlFrag.getchildren(): 
     1119            if frag.tag == GML('includesCRS'): 
     1120                checkArrayAttrib(self,'includes') 
     1121                if frag.getchildren()[1].tag==GML('EngineeringCRS'): 
     1122                    self.includes.append(EngineeringCRS()) 
     1123                if frag.getchildren()[1].tag==GML('VerticalCRS'): 
     1124                    self.includes.append(VerticalCRS()) 
     1125                if frag.getchildren()[1].tag==GML('GeographicCRS'): 
     1126                    self.includes.append(GeographicCRS()) 
     1127                #if frag.getchildren()[1].tag==GML('TemporalCRS'): 
     1128                    #self.includes.append(TemporalCRS()) 
     1129                self.includes[-1].fromXML(frag.getchildren()[0]) 
     1130                 
     1131    def toXML(self,csmlFrag): 
     1132        AssociationAttributeGroup.toXML(self, csmlFrag) 
     1133        AbstractCoordinateReferenceSystem.toXML(self, csmlFrag) 
     1134        if hasattr(self,'includes'): 
     1135            for crs in self.includes: 
     1136                frag=Element(GML('includesCRS')) 
     1137                if isinstance(crs,EngineeringCRS): 
     1138                    subFrag=Element(GML('EngineeringCRS')) 
     1139                    subFrag=crs.toXML(subFrag) 
     1140                    frag.append(subFrag) 
     1141                    csmlFrag.append(frag) 
     1142                if isinstance(crs,VerticalCRS): 
     1143                    subFrag=Element(GML('VerticalCRS')) 
     1144                    subFrag=crs.toXML(subFrag) 
     1145                    frag.append(subFrag) 
     1146                    csmlFrag.append(frag) 
     1147                if isinstance(crs,GeographicCRS): 
     1148                    subFrag=Element(GML('GeographicCRS')) 
     1149                    subFrag=crs.toXML(subFrag) 
     1150                    frag.append(subFrag) 
     1151                    csmlFrag.append(frag) 
     1152#                 if isinstance(crs,TemporalCRS): 
     1153#                     subFrag=Element(GML('TemporalCRS')) 
     1154#                     subFrag=crs.toXML(subFrag) 
     1155#                     frag.append(subFrag) 
     1156#                     csmlFrag.append(frag) 
    7341157        return csmlFrag 
    7351158 
     
    7871210                elif subFrag.tag == GML('EngineeringCRS'): 
    7881211                    definitionMember=EngineeringCRS() 
     1212                    definitionMember.fromXML(subFrag) 
     1213                    self.definitionMembers.append(definitionMember) 
     1214                elif subFrag.tag == GML('GeographicCRS'): 
     1215                    definitionMember=GeographicCRS() 
     1216                    definitionMember.fromXML(subFrag) 
     1217                    self.definitionMembers.append(definitionMember) 
     1218                elif subFrag.tag == GML('VerticalCRS'): 
     1219                    definitionMember=VerticalCRS() 
     1220                    definitionMember.fromXML(subFrag) 
     1221                    self.definitionMembers.append(definitionMember) 
     1222                elif subFrag.tag == GML('TemporalCRS'): 
     1223                    definitionMember=TemporalCRS() 
     1224                    definitionMember.fromXML(subFrag) 
     1225                    self.definitionMembers.append(definitionMember) 
     1226                elif subFrag.tag == GML('CompoundCRS'): 
     1227                    definitionMember=CompoundCRS() 
    7891228                    definitionMember.fromXML(subFrag) 
    7901229                    self.definitionMembers.append(definitionMember) 
Note: See TracChangeset for help on using the changeset viewer.