1 / 15

“How I started to love GML” The new GPlates Markup Language

“How I started to love GML” The new GPlates Markup Language. James Clark, GPML Mad Scientist. In today's exciting presentation. Reminder of what it is, and why we want to use it Why things get so complicated Brief brief brief overview of GPML structures because they're always changing

fausta
Download Presentation

“How I started to love GML” The new GPlates Markup Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. “How I started to love GML”The new GPlates Markup Language James Clark, GPML Mad Scientist

  2. In today's exciting presentation • Reminder of what it is, and why we want to use it • Why things get so complicated • Brief brief brief overview of GPML structures because they're always changing • Examples

  3. GML • What is it? • The fun happy next generation GIS standard format • Why do we want to use it? • It's XML • Everyone else wants to • Why aren't we using it already!? • Because it's very, very, complicated • This isn't a bad thing

  4. GPML • What is it? • The part of GML that we carve out ourselves, for GPlates to use • Why should we have to do work? • GML provides a common framework of simple GIS primitives and structures that we can use as a base • It's not a magic bullet • As well as creating a data model for our plate tectonic stuff, we also need to make it use as much of these GML elements as possible, or there's no benefit

  5. Why so complicated? • GML makes us use objects for everything • Objects referring to objects referring to more objects with objects inside and a side order of objects • This is why my diagrams get so messy • These objects must be arranged logically, but need different properties • i.e. Features which are reconstructable vs features which aren't • It looks more confusing than it really is, just because one “thing” is represented with multiple elements in GML

  6. Example of objects with different properties • If we want to define a section of continental crust vs oceanic crust, we could use a simple polygon • But what about when the features that define that boundary move around? • What about overlapping features? • The “Crust Boundary” element becomes a separate feature to the “Crust Boundary Segment” feature • It's one single entity to us, but in GML and GPML, it needs to be split up

  7. Overlapping boundaries

  8. Overlapping boundaries

  9. Our basic simple unbroken-line Isochron Feature GPML defines it to have an age and a centre line Example markup <gpml:SimpleIsochron gml:id=”ISO5218”> <gpml:age/> <gml:centerLineOf/> </gpml:SimpleIsochron>

  10. Inside the age property is a TimeInstant Feature Inside the centerLineOf property is a LineString Feature These are both GML constructs Example markup <gpml:SimpleIsochron gml:id=”ISO5218”> <gpml:age> <gml:TimeInstant/> </gpml:age> <gml:centerLineOf> <gml:LineString/> </gml:centerLineOf> </gpml:SimpleIsochron>

  11. TimeInstant and LineString have their own properties Finally we can specify the actual age and geometry of the Isochron Example markup <gpml:SimpleIsochron gml:id=”ISO5218”> <gpml:age> <gml:TimeInstant> <gml:timePosition> 110 </gml:timePosition> </gml:TimeInstant> </gpml:age> <gml:centerLineOf> <gml:LineString> <gml:posList dimension=”2”> 180.34 90.76 180.35 90.60 180.35 90.51 </gml:posList> </gml:LineString> </gml:centerLineOf> </gpml:SimpleIsochron>

  12. Time values need a reference frame Lat,Long values also depend on what CRS was used Example markup <gpml:SimpleIsochron gml:id=”ISO5218”> <gpml:age> <gml:TimeInstant> <gml:timePosition frame=”#myGeoMA”> 110 </gml:timePosition> </gml:TimeInstant> </gpml:age> <gml:centerLineOf> <gml:LineString srsName=”#myGeographicCRS”> <gml:posList dimension=”2” uom=”#latlong”> 180.34 90.76 180.35 90.60 180.35 90.51 </gml:posList> </gml:LineString> </gml:centerLineOf> </gpml:SimpleIsochron>

  13. And that was a simple example • The SimpleIsochron element example has two properties defined by GPML • age, centerLineOf • It also inherits additional properties from higher up in the GPML model • validTime, rotationHistory, oldPlatesHeader • And inherits even more properties from the GML model • gml:name, gml:description, gml:boundedBy, ...

  14. Do not be afraid Be very, very frightened, Arthur Dent • You will not have to actually write this markup yourself. That's the software's job. • The multitude of objects and elements and features and properties and attributes may look scary and bloated... • But it's better to have the ability to keep track of this data rather than forget it

More Related