Changeset 714


Ignore:
Timestamp:
28/03/06 12:27:24 (14 years ago)
Author:
domlowe
Message:

TemporalDatumBase? added
TrajectoryFeature? and AbstractGeometryFeature? added

TrajectoryFeature? added to example.xml file

Location:
TI02-CSML/trunk/newparser
Files:
2 edited

Legend:

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

    r710 r714  
    561561        return csmlFrag 
    562562 
     563class TemporalDatumBase(AbstractDatum): 
     564#       <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 
     565#                                       <element ref="gml:datumName"/> 
     566#                                       <element ref="gml:datumID" minOccurs="0" maxOccurs="unbounded"/> 
     567#                                       <element ref="gml:validArea" minOccurs="0"/> 
     568#                                       <element ref="gml:scope" minOccurs="0"/> 
     569    def __init__(self,datumName=None, datumID = None, validArea=None, scope=None,*args,**kwargs): 
     570        AbstractDatum.__init__(self,*args,**kwargs) 
     571    def fromXML(self,csmlFrag): 
     572        AbstractDatum.fromXML(self,csmlFrag) 
     573        for frag in csmlFrag.getchildren(): 
     574            if frag.tag==GML('datumName'): 
     575                self.datumName=frag.text 
     576            if frag.tag==GML('datumID'): 
     577                self.datumID=frag.text 
     578            if frag.tag==GML('validArea'): 
     579                self.validArea=frag.text 
     580            if frag.tag==GML('scope'): 
     581                self.scope=frag.text 
     582    def toXML(self,csmlFrag): 
     583        AbstractDatum.toXML(self,csmlFrag) 
     584        if hasattr(self,'datumName'): 
     585            frag=Element(GML('datumName')) 
     586            frag.text=self.datumName 
     587        if hasattr(self,'datumID'): 
     588            frag=Element(GML('datumID')) 
     589            frag.text=self.datumID 
     590        if hasattr(self,'validArea'): 
     591            frag=Element(GML('validArea')) 
     592            frag.text=self.validArea 
     593        if hasattr(self,'scope'): 
     594            frag=Element(GML('scope')) 
     595            frag.text=self.scope 
     596        return csmlFrag 
     597 
     598 
    563599class TemporalDatumType(TemporalDatumBase): 
    564600    def __init__(self,*args,**kwargs): 
     
    579615        AbstractDatum.fromXML(self,csmlFrag) 
    580616        for frag in csmlFrag.getchildren(): 
    581             if frag.tag==GML('origin'): 
    582                 self.origin=frag.text 
     617            if frag.tag==GML('TemporalDatumType'): 
     618                self.temporalDatumType=TemporalDatumType() 
    583619                TemporalDatumType.fromXML(self.temporalDatumType,frag) 
    584  
    585620    def toXML(self,csmlFrag): 
    586621        AbstractDatum.toXML(self,csmlFrag) 
     
    27122747        return csmlFrag 
    27132748 
    2714 class TrajectoryFeature: 
    2715     def __init__(self): 
    2716         pass 
    2717     def fromXML(self,csmlFrag): 
    2718         pass 
    2719     def toXML(self,csmlFrag): 
    2720         return csmlFrag 
     2749 
    27212750     
    27222751class AbstractFeature(AbstractGML): 
     
    27412770        return csmlFrag 
    27422771 
    2743   
    2744  
     2772class AbstractGeometryFeature(AbstractFeature): 
     2773    def __init__(self,*args,**kwargs): 
     2774        AbstractFeature.__init__(self,*args,**kwargs) 
     2775    def fromXML(self,csmlFrag): 
     2776        AbstractFeature.fromXML(self,csmlFrag) 
     2777    def toXML(self, csmlFrag): 
     2778        AbstractFeature.toXML(self,csmlFrag) 
     2779        return csmlFrag 
     2780 
     2781 
     2782class TrajectoryFeature(AbstractGeometryFeature): 
     2783    def __init__(self,track=None, *args, **kwargs): 
     2784        AbstractGeometryFeature.__init__(self,*args,**kwargs) 
     2785        if track: 
     2786            self.track=track 
     2787    def fromXML(self,csmlFrag): 
     2788        for frag in csmlFrag.getchildren(): 
     2789            if frag.tag == CSML('track'): 
     2790                self.track=Trajectory() 
     2791                Trajectory.fromXML(self.track,frag) 
     2792    def toXML(self,csmlFrag): 
     2793        if hasattr(self, 'track'): 
     2794            frag = Element(CSML('track')) 
     2795            subFrag=Element(CSML('Trajectory')) 
     2796            Trajectory.toXML(self.track,subFrag) 
     2797            frag.append(subFrag) 
     2798            csmlFrag.append(frag) 
     2799        return csmlFrag 
     2800         
    27452801class AbstractFeatureCollection(AbstractFeature): 
    27462802    """GML AbstractFeatureCollection class 
  • TI02-CSML/trunk/newparser/example.xml

    r685 r714  
    357357                        </GridFeature> 
    358358                </gml:featureMember> 
     359        <gml:featureMember> 
     360            <TrajectoryFeature gml:id="testtraj"> 
     361                <track> 
     362                    <Trajectory srsName="urn:EPSG:geographicCRS:4326"></Trajectory> 
     363                    <locations order="byCoords">   41.4905 10.541 41.5012 9.4343 42.4344 9.5433     </locations> 
     364                    <times>1997-08-10T31:05 1997-08-10T34:84 1997-08-10T52:00                 </times> 
     365                </track> 
     366            </TrajectoryFeature> 
     367        </gml:featureMember> 
    359368        </gml:FeatureCollection> 
    360369</Dataset> 
Note: See TracChangeset for help on using the changeset viewer.