Changes between Version 5 and Version 6 of UsingTheParserToCreateCSML
- Timestamp:
- 13/09/06 14:47:57 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UsingTheParserToCreateCSML
v5 v6 24 24 {{{ 25 25 #!python 26 from Parser import * 27 import parser_extra26 import csml.parser 27 import csml.parser_extra 28 28 29 29 … … 36 36 #empty list to hold definitionMembers 37 37 dm=[] 38 tc= TimeCoordinateSystem()38 tc=csml.parser.TimeCoordinateSystem() 39 39 dm.append(tc) 40 rsd= ReferenceSystemDefinitions(definitionMembers=dm)40 rsd=csml.parser.ReferenceSystemDefinitions(definitionMembers=dm) 41 41 42 42 … … 49 49 50 50 # #### add a PointSeriesFeature: ##### 51 ptsf= PointSeriesFeature()51 ptsf=csml.parser.PointSeriesFeature() 52 52 ptsf.id='testbed270401' 53 ptsf.description= Description('Station BLUEBIRD')54 ptsd= PointSeriesDomain()55 t= Trajectory()53 ptsf.description=csml.parser.Description('Station BLUEBIRD') 54 ptsd=csml.parser.PointSeriesDomain() 55 t=csml.parser.Trajectory() 56 56 t.srsName='urn:EPSG:geographicCRS:4326' 57 t.locations= DirectPositionList(vals='0.1 1.5 25')58 t.times= TimePositionList('#pred20060427001','-18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60')57 t.locations=csml.parser.DirectPositionList(vals='0.1 1.5 25') 58 t.times=csml.parser.TimePositionList('#pred20060427001','-18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60') 59 59 ptsd.domainReference=t 60 60 ptsf.domain=ptsd 61 rs= RangeSet()62 rs.quantityList= MeasureOrNullList('MLUnits.xml#m', '0.27 0.25 0.25 0.23 0.22 0.22 0.21 0.17 0.17 0.14 0.14 0.12 0.10 0.08 0.08 0.08 0.11 0.13 0.11 0.11 0.13 0.10 0.06 0.06 0.06 0.01 -0.03 -0.06 -0.09 -0.11 -0.11 -0.13 -0.16 -0.18 -0.17 -0.16 -0.18 -0.16 -0.12 -0.09 -0.08 -0.07 -0.06 -0.05 -0.04 -0.03 -0.03 -0.04 -0.02 -0.01 -0.02 -0.02 -0.02 -0.03 -0.03 -0.02 -0.01 -0.01 -0.02 -0.02 -0.03 -0.04 -0.04 -0.05 -0.04 -0.05 -0.08 -0.09 -0.11 -0.12 -0.12 -0.12 -0.12 -0.12 -0.13 -0.14 -0.15')61 rs=csml.parser.RangeSet() 62 rs.quantityList=csml.parser.MeasureOrNullList('MLUnits.xml#m', '0.27 0.25 0.25 0.23 0.22 0.22 0.21 0.17 0.17 0.14 0.14 0.12 0.10 0.08 0.08 0.08 0.11 0.13 0.11 0.11 0.13 0.10 0.06 0.06 0.06 0.01 -0.03 -0.06 -0.09 -0.11 -0.11 -0.13 -0.16 -0.18 -0.17 -0.16 -0.18 -0.16 -0.12 -0.09 -0.08 -0.07 -0.06 -0.05 -0.04 -0.03 -0.03 -0.04 -0.02 -0.01 -0.02 -0.02 -0.02 -0.03 -0.03 -0.02 -0.01 -0.01 -0.02 -0.02 -0.03 -0.04 -0.04 -0.05 -0.04 -0.05 -0.08 -0.09 -0.11 -0.12 -0.12 -0.12 -0.12 -0.12 -0.13 -0.14 -0.15') 63 63 ptsf.rangeSet=rs 64 64 fms.append(ptsf) … … 67 67 68 68 # #instantiate FeatureCollection object: 69 fc= FeatureCollection(members=fms)70 etp = EnvelopeWithTimePeriod()71 etp.lowerCorner= DirectPosition('42 12',uomLabels='deg deg',axisLabels='lat lon')72 etp.upperCorner= DirectPosition('42 26',uomLabels='deg deg',axisLabels='lat lon')69 fc=csml.parser.FeatureCollection(members=fms) 70 etp = csml.parser.EnvelopeWithTimePeriod() 71 etp.lowerCorner=csml.parser.DirectPosition('42 12',uomLabels='deg deg',axisLabels='lat lon') 72 etp.upperCorner=csml.parser.DirectPosition('42 26',uomLabels='deg deg',axisLabels='lat lon') 73 73 etp.timePosition='2006-04-26T06:00:00+01' 74 74 etp.timePosition2='2006-04-29T012:00:00+01' … … 81 81 mds = [] 82 82 83 md = MetaDataProperty()83 md = csml.parser.MetaDataProperty() 84 84 md.text=['Data (c) 2006 CCLRC // www.cclrc.ac.uk'] 85 85 mds.append(md) 86 86 87 md = MetaDataProperty()87 md = csml.parser.MetaDataProperty() 88 88 md.text=['Test for CCLRC'] 89 89 mds.append(md) … … 93 93 ########### The Dataset ############## 94 94 #Create an Empty Dataset 95 ds = Dataset()95 ds = csml.parser.Dataset() 96 96 #Set objects as attributes of dataset 97 97 #NOTE: you can equally write this in the form: ds.id = 'Test001' as used above. 98 98 setattr(ds,'id','Test001') 99 99 setattr(ds, 'metaDataProperty', mds) 100 setattr(ds,'description', Description('This is a test Water level.Period 26/04/06 06h -> 29/04/06 12h'))100 setattr(ds,'description',csml.parser.Description('This is a test Water level.Period 26/04/06 06h -> 29/04/06 12h')) 101 101 setattr(ds, 'referenceSystemDefinitions', rsd) 102 102 setattr(ds, 'featureCollection',fc) … … 104 104 105 105 #call the toXML method of the Dataset object: 106 csml = ds.toXML()106 csmldoc = ds.toXML() 107 107 #parse and pretty print the result 108 strCSML= parser_extra.PrettyPrint(csml)109 strCSML= parser_extra.removeInlineNS(strCSML)108 strCSML=csml.parser_extra.PrettyPrint(csmldoc) 109 strCSML=csml.parser_extra.removeInlineNS(strCSML) 110 110 print strCSML 111 111 … … 120 120 {{{ 121 121 #!python 122 from Parser import * 123 import parser_extra122 import csml.parser 123 import csml.parser_extra 124 124 }}} 125 125 … … 132 132 ########### The Dataset ############## 133 133 #Create an Empty Dataset 134 ds = Dataset()134 ds = csml.parser.Dataset() 135 135 #Set objects as attributes of dataset 136 136 #NOTE: you can equally write this in the form: ds.id = 'Test001' as used above. 137 137 setattr(ds,'id','Test001') 138 138 setattr(ds, 'metaDataProperty', mds) 139 setattr(ds,'description', Description('This is a test Water level.Period 26/04/06 06h -> 29/04/06 12h'))139 setattr(ds,'description',csml.parser.Description('This is a test Water level.Period 26/04/06 06h -> 29/04/06 12h')) 140 140 setattr(ds, 'referenceSystemDefinitions', rsd) 141 141 setattr(ds, 'featureCollection',fc) … … 156 156 ##### now create a PointSeriesFeature: ##### 157 157 ##### see how you build up the domain and rangeSet #### 158 ptsf= PointSeriesFeature()158 ptsf=csml.parser.PointSeriesFeature() 159 159 ptsf.id='testbed270401' 160 ptsf.description= Description('Station BLUEBIRD')161 ptsd= PointSeriesDomain()162 t= Trajectory()160 ptsf.description=csml.parser.Description('Station BLUEBIRD') 161 ptsd=csml.parser.PointSeriesDomain() 162 t=csml.parser.Trajectory() 163 163 t.srsName='urn:EPSG:geographicCRS:4326' 164 t.locations= DirectPositionList(vals='0.1 1.5 25')165 t.times= TimePositionList('#pred20060427001','-18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60')164 t.locations=csml.parser.DirectPositionList(vals='0.1 1.5 25') 165 t.times=csml.parser.TimePositionList('#pred20060427001','-18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60') 166 166 ptsd.domainReference=t 167 167 ptsf.domain=ptsd 168 rs= RangeSet()169 rs.quantityList= MeasureOrNullList('MLUnits.xml#m', '0.27 0.25 0.25 0.23 0.22 0.22 0.21 0.17 0.17 0.14 0.14 0.12 0.10 0.08 0.08 0.08 0.11 0.13 0.11 0.11 0.13 0.10 0.06 0.06 0.06 0.01 -0.03 -0.06 -0.09 -0.11 -0.11 -0.13 -0.16 -0.18 -0.17 -0.16 -0.18 -0.16 -0.12 -0.09 -0.08 -0.07 -0.06 -0.05 -0.04 -0.03 -0.03 -0.04 -0.02 -0.01 -0.02 -0.02 -0.02 -0.03 -0.03 -0.02 -0.01 -0.01 -0.02 -0.02 -0.03 -0.04 -0.04 -0.05 -0.04 -0.05 -0.08 -0.09 -0.11 -0.12 -0.12 -0.12 -0.12 -0.12 -0.13 -0.14 -0.15')168 rs=csml.parser.RangeSet() 169 rs.quantityList=csml.parser.MeasureOrNullList('MLUnits.xml#m', '0.27 0.25 0.25 0.23 0.22 0.22 0.21 0.17 0.17 0.14 0.14 0.12 0.10 0.08 0.08 0.08 0.11 0.13 0.11 0.11 0.13 0.10 0.06 0.06 0.06 0.01 -0.03 -0.06 -0.09 -0.11 -0.11 -0.13 -0.16 -0.18 -0.17 -0.16 -0.18 -0.16 -0.12 -0.09 -0.08 -0.07 -0.06 -0.05 -0.04 -0.03 -0.03 -0.04 -0.02 -0.01 -0.02 -0.02 -0.02 -0.03 -0.03 -0.02 -0.01 -0.01 -0.02 -0.02 -0.03 -0.04 -0.04 -0.05 -0.04 -0.05 -0.08 -0.09 -0.11 -0.12 -0.12 -0.12 -0.12 -0.12 -0.13 -0.14 -0.15') 170 170 ptsf.rangeSet=rs 171 171 fms.append(ptsf) … … 182 182 #!python 183 183 # #instantiate FeatureCollection object: 184 fc= FeatureCollection(members=fms)185 etp = EnvelopeWithTimePeriod()186 etp.lowerCorner= DirectPosition('42 12',uomLabels='deg deg',axisLabels='lat lon')187 etp.upperCorner= DirectPosition('42 26',uomLabels='deg deg',axisLabels='lat lon')184 fc=csml.parser.FeatureCollection(members=fms) 185 etp = csml.parser.EnvelopeWithTimePeriod() 186 etp.lowerCorner=csml.parser.DirectPosition('42 12',uomLabels='deg deg',axisLabels='lat lon') 187 etp.upperCorner=csml.parser.DirectPosition('42 26',uomLabels='deg deg',axisLabels='lat lon') 188 188 etp.timePosition='2006-04-26T06:00:00+01' 189 189 etp.timePosition2='2006-04-29T012:00:00+01' … … 200 200 #empty list to hold definitionMembers 201 201 dm=[] 202 tc= TimeCoordinateSystem()202 tc=csml.parser.TimeCoordinateSystem() 203 203 dm.append(tc) 204 rsd= ReferenceSystemDefinitions(definitionMembers=dm)204 rsd=csml.parser.ReferenceSystemDefinitions(definitionMembers=dm) 205 205 }}} 206 206 … … 215 215 mds = [] 216 216 217 md = MetaDataProperty()217 md = csml.parser.MetaDataProperty() 218 218 md.text=['Data (c) 2006 CCLRC // www.cclrc.ac.uk'] 219 219 mds.append(md) 220 220 221 md = MetaDataProperty()221 md = csml.parser.MetaDataProperty() 222 222 md.text=['Test for CCLRC'] 223 223 mds.append(md) … … 231 231 ########### The Dataset ############## 232 232 #Create an Empty Dataset 233 ds = Dataset()233 ds = csml.parser.Dataset() 234 234 #Set objects as attributes of dataset 235 235 #NOTE: you can equally write this in the form: ds.id = 'Test001' as used above. 236 236 setattr(ds,'id','Test001') 237 237 setattr(ds, 'metaDataProperty', mds) 238 setattr(ds,'description', Description('This is a test Water level. Period 26/04/06 06h -> 29/04/06 12h'))238 setattr(ds,'description',csml.parser.Description('This is a test Water level. Period 26/04/06 06h -> 29/04/06 12h')) 239 239 setattr(ds, 'referenceSystemDefinitions', rsd) 240 240 setattr(ds, 'featureCollection',fc) … … 248 248 #!python 249 249 #call the toXML method of the Dataset object: 250 csml = ds.toXML()250 csmldoc = ds.toXML() 251 251 #parse and pretty print the result 252 strCSML= parser_extra.PrettyPrint(csml)253 strCSML= parser_extra.removeInlineNS(strCSML)252 strCSML=csml.parser_extra.PrettyPrint(csmldoc) 253 strCSML=csml.parser_extra.removeInlineNS(strCSML) 254 254 print strCSML 255 255 #(you could save this to file instead)