510 likes | 526 Views
GeoSciML – an introduction. Simon Cox Boyan Brodaric Brighton, UK – 16 March 2007. Objectives of GeoSciML. Develop an open exchange format for geology data Oriented towards enabling re-use of technical content, not just pictures Compatible with standard web-service interfaces (OGC-WMS,WFS)
E N D
GeoSciML – an introduction Simon CoxBoyan Brodaric Brighton, UK – 16 March 2007 GeoSciML/Brighton March 2007
Objectives of GeoSciML • Develop an open exchange format for geology data • Oriented towards enabling re-use of technical content, not just pictures • Compatible with standard web-service interfaces (OGC-WMS,WFS) • Designed using collaborative consensus process • Built on existing analysis (NADM, XMML) • Published through IUGS-CGI • Test through multi-jurisdictional demonstrators GeoSciML/Brighton March 2007
GeoSciML design team • Boyan Brodaric, Eric Boisvert – GSC • Steve Richard – Arizona GS • Bruce Johnson – USGS • John Laxton, Tim Duffy, Marcus Sen – BGS • Bruce Simons, Alistair Ritchie – GSVic • Ollie Raymond, Lesley Wyborn – GA • Simon Cox – CSIRO • Francois Robida, Jean-Jacques Serrano, Christian Bellier, Dominique Janjou – BRGM • Lars Stolen, Jonas Holmberg, Thomas Lundberg – SGU GeoSciML/Brighton March 2007
WMS WFS GSC schema GeoSciML WMS WFS USGS schema GeoSciML WMS/WFS Client WMS WFS BRGM schema GeoSciML GeoSciML BGS schema WMS WFS GeoSciML GeoSciML SGU schema WMS WFS WMS WFS GA schema GeoSciML Testbed 2006 GSC Oracle, ESRI USGS ESRI BRGM BGS SGU GAOracle, ESRI GeoSciML/Brighton March 2007
Brief demo GeoSciML/Brighton March 2007
Outline • Intro to web-services • 1G Level 1, Level 2 conformance • Standardization framework • Standard methdology • GeoSciML scope and process • GeoSciML detail • GeoSciML project • GeoSciML testbed demo • Not • Instructions for deploying oneGeology services • Introduction to XML • Introduction to UML • Introduction to GML! GeoSciML/Brighton March 2007
Brief intro to web services GeoSciML/Brighton March 2007
Web-pages ≠ Web-services • Web-page = HTML data from the http server • HTML tags do formatting + embedded images • Conveys meaning using graphical and layout conventions • Directly human-usable • Data re-use only through “screen-scraping” • Web-service ≈ XML data from the http server • XML provides for custom tags and structure • Enables rich data description ⇒direct data re-use • Processing required (e.g. styling) to make human-usable GeoSciML/Brighton March 2007
WMS & WFS • Web Map Service (WMS) • Data Request • getMap(area-of-interest, resolution, layers) • Response • A picture • Web Feature Service (WFS) • Data Request • getFeature(featureType, filter-condition) • Response • An XML document describing features • Filter≈ SQL “where” clause • Scoped by data-model • Extra: query picture with getFeatureInfo <?xml version="1.0"?><sa:LocatedSpecimen gml:id="s456dfg" xmlns:sa="http://www.opengis.net/sampling/0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/sampling/0.0 ../sampling.xsd"> <gml:name codeSpace="http://www.ietf.org/rfc/rfc4122">150497c8-d24c-11db-8314-0800200c9a66</gml:name> <gml:name>Sample 456dfg</gml:name> <sa:sampledFeature xlink:href="http://www.oneGeology.org/geologicUnits/xyz123"/> <sa:materialClass codeSpace="http://www.oneGeology.org/def:materialClasses">rock</sa:materialClass> <sa:samplingLocation> <gml:Point> <gml:pos srsName="urn:ogc:def:crs:EPSG:6.12:62836405">115.82 -31.933</gml:pos> </gml:Point> </sa:samplingLocation> <sa:samplingTime> <gml:TimeInstant> <gml:timePosition>2007-03-01T15:15:00.00+09:00</gml:timePosition> </gml:TimeInstant> </sa:samplingTime></sa:LocatedSpecimen> GeoSciML/Brighton March 2007
Pictures vs data • Pictures are immediately useable • … by someone who understands the content and notation • oneGeology Level 1 • Data must be transformed to display for human consumption • … but can be used for other purposes as well • oneGeology Level 2 <?xml version="1.0"?><sa:LocatedSpecimen gml:id="s456dfg" xmlns:sa="http://www.opengis.net/sampling/0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/sampling/0.0 ../sampling.xsd"> <gml:name codeSpace="http://www.ietf.org/rfc/rfc4122">150497c8-d24c-11db-8314-0800200c9a66</gml:name> <gml:name>Sample 456dfg</gml:name> <sa:sampledFeature xlink:href="http://www.oneGeology.org/geologicUnits/xyz123"/> <sa:materialClass codeSpace="http://www.oneGeology.org/def:materialClasses">rock</sa:materialClass> <sa:samplingLocation> <gml:Point> <gml:pos srsName="urn:ogc:def:crs:EPSG:6.12:62836405">115.82 -31.933</gml:pos> </gml:Point> </sa:samplingLocation> <sa:samplingTime> <gml:TimeInstant> <gml:timePosition>2007-03-01T15:15:00.00+09:00</gml:timePosition> </gml:TimeInstant> </sa:samplingTime></sa:LocatedSpecimen> GeoSciML/Brighton March 2007
private public boundaryschema transformation here WFS Server Portrayal Client HTML XML • Data-source organised for custodian’s requirements • Community-specific GML applicationlanguage • TigerGML, LandGML, CityGML, NRML, GeoSciML, ADX, GPML, CSML, MarineXML etc Web Feature Service GeoSciML/Brighton March 2007
Mechanics Client FEM results WFS Server WFS Server WFS Server HTML GML Portrayal Client GML GML EcologicalModelling Client Population estimates Many clients for re-usable data GeoSciML/Brighton March 2007
WFS Server B WFS Server WFS Client WFS Server C Standards allow use of multiple sources GeoSciML/Brighton March 2007
WFS service WFS Client Aggre-gation Service Transfor-mation Service WFS service Service composition & interoperability • Web-services support chaining • All may be in different places • Output of one stage must match the required input of the next • … easiest if the transfer conforms to a standard GeoSciML/Brighton March 2007
Review & feedback • Web services • WMS vs WFS, Pictures vs Data • Web Feature Service • Service-oriented architectures GeoSciML/Brighton March 2007
Standardization framework GeoSciML/Brighton March 2007
We are not working alone • Technology standards • Legal requirements GeoSciML/Brighton March 2007
Standardization framework (1) • ISO/TC 211 - Geographic information • 40+ standards and specifications relating to Spatial Data Infrastructures • Feature model, coverage model, spatial schema, temporal schema, coordinate reference systems … • Rules for application schema, conceptual modelling language (UML), encoding rule (UMLXML), Geography Markup Language (GML) • Metadata model and encoding GeoSciML/Brighton March 2007
Standardization framework (2) • Open Geospatial Consortium (OGC) • Vendor-led consortium, close liaison with ISO/TC 211 • Service interface definitions: WFS, WMS, WCS, CS/W, SOS • GML • Some cross-domain components: e.g. Observations, Sensor Model Language, Sampling Features GeoSciML/Brighton March 2007
Standardization framework (3) • Domain-specific: • IUGS Commission for Geoscience Information – GeoSciML • Cross-domain • CGMW, GlobalMap • Jurisdictional • INSPIRE, ICSM etc. GeoSciML/Brighton March 2007
Review & feedback • Standardization: • ISO, OGC • IUGS, CGMW, INSPIRE etc GeoSciML/Brighton March 2007
Standard methodology GeoSciML/Brighton March 2007
Conceptual model first • Justanotherfile-format? NO! • ISO 19101 GeoSciML/Brighton March 2007
Rules for Application Schema • Develop a “model” of the domain of discourse (geology) using the General Feature Model - ISO 19109 • Represent it using a formal notation (UML) - ISO 19103 • Re-use primitive types + cross-domain types; profile pre-existing models, as appropriate • The Feature Type Catalogue defines the “nouns” in the language - ISO 19110 • Convert the model to XML using a regular encoding rule - ISO 19118, ISO 19136 • Publish model in a registry - ISO 19135 GeoSciML/Brighton March 2007
Conceptual object model: features • Specimen • sampled feature • sampling location • sampling time • material class • size • current location • processing details • related observation • … • A feature is a digital object corresponding with identifiable, typed, object in the real world • mountain, road, specimen, event, tract, catchment, wetland, farm, bore, reach, property, license-area, station • Feature-type is characterised by a specific set of properties GeoSciML/Brighton March 2007
Formalization in UML • Feature-type = UML class • Feature property = UML class attribute or UML association-role • Primitive types provided by ISO 19100 “Harmonized Model” • Class-inheritance implies substitutability GeoSciML/Brighton March 2007
<sa:LocatedSpecimen gml:id="s456dfg" …><gml:name codeSpace="http://www.ietf.org/rfc/rfc4122“>150497c8-d24c-11db-8314-0800200c9a66</gml:name><gml:name>Sample 456dfg</gml:name><sa:sampledFeature xlink:href="http://www.oneGeology.org/geologicUnits/xyz123"/><sa:materialClass codeSpace="http://www.oneGeology.org/def:materialClasses">rock</sa:materialClass><sa:samplingLocation><gml:Point><gml:pos srsName="urn:ogc:def:crs:EPSG:6.12:62836405">115.82 -31.933</gml:pos></gml:Point></sa:samplingLocation><sa:samplingTime><gml:TimeInstant><gml:timePosition>2007-03-01T15:15:00.00+09:00</gml:timePosition></gml:TimeInstant></sa:samplingTime> </sa:LocatedSpecimen> Serialization in XML (GML) UMLGML encoding rule • Every class + every property is an XML element • Property values may be simple, complex, or by reference • Properties are nested inside features • Multiple XML namespaces GeoSciML/Brighton March 2007
Geology domain - feature type catalogue Borehole • collar location • shape • collar diameter • length • operator • logs • related observations • … • Conceptual classification • Natural features + artefacts • Some have multiple spatial properties Fault • shape • surface trace • displacement • age • … License area • issuer • holder • interestedParty • shape(t) • right(t) • … Ore-body • commodity • deposit type • host formation • shape • resource estimate • … Geologic Unit • classification • shape • sampling frame • age • dominant lithology • … GeoSciML/Brighton March 2007
Review & feedback • Methodology: • Conceptual modelling • Feature types • UML Formalization • UML-XML encoding rule GeoSciML/Brighton March 2007
GeoSciML scope & process GeoSciML/Brighton March 2007
What to standardize • Transfer model (“schematic interoperability”) • High-level concepts like “Geologic Unit”, “Fault”, “Earth Material” • The names of their key properties, and associations i.e. data structures • Generally accepted classification schemes • E.g. ICS time scale, IUGS-CSP petrology classification GeoSciML/Brighton March 2007
What not to standardize • Genetic concepts • Other classification systems • Lithostratigraphic • Fine-grained and local stratigraphy • etc … but have a standard way to advertise the scheme used • Storage model (table schema) GeoSciML/Brighton March 2007
Scope: information required for production and maintenance of geologic maps • Mapped Features • units, structures • Legend • unit description • stratigraphic column, other classifications • Geologic timescales • Borehole data • Field observations & measurements • structure measurements, material descriptions … • Lab measurements • geochem, geochronology GeoSciML v1.1(“Testbed2”) GeoSciML v2 GeoSciML/Brighton March 2007
Precursors • NADM – US/Canada • geologic instances and classifications – UML • BRGM – France • Boreholes, solid geology • BGS – DGSM – UK • 3D geology • XMML - eXploration and Mining Markup Language • Mineral exploration data – GML GeoSciML/Brighton March 2007
Inclusive process • IUGS Mandate • “Regular” meetings • Edinburgh, 2003 • Ottawa, Perth, 2004 • Ottawa, 2005 • Orleans, Bruxelles, 2006 • Edinburgh, Tucson, Melbourne, 2007 • New participants added • GA, BRGM, SGU in 2006 • Web collaboration tools • Interoperability Testbeds • includes COTS software • industry partnerships GeoSciML/Brighton March 2007
Modelling process • Design using pictures • UML class diagrams • adopt and adapt existing & external standards, influence if possible • Prove it with Code • Use sample XML documents to test the model as you go • Generate code (XML Schema) automatically • maintain the model using the diagrams, not the validation tooling GeoSciML/Brighton March 2007
Review & feedback • GeoSciML scope and process: • Scope • History • Methodology GeoSciML/Brighton March 2007
GeoSciML detail GeoSciML/Brighton March 2007
Map polygon Observational setting Legend item Descriptions and occurrences GeoSciML/Brighton March 2007
VocabRelation is part of vocabulary Link to prototype instance is explicit Controlled vocabulary GeoSciML/Brighton March 2007
Geologic Timescale • Cox & Richard, Geosphere GeoSciML/Brighton March 2007
ScopedName = label + vocabulary reference Measure = number + uom Descriptive values e.g. “Usually 2mm to boulder-sized” GeoSciML/Brighton March 2007
Vocabulary standardization <LithostratigraphicUnit gml:id="LS1"><age><GeologicAge><value codeSpace="http://www.iugs-cgi.org/geologicAgeVocabulary">Cretaceous</value><event xlink:href="urn:x-ogc:def:nil:OGC:unknown"/></GeologicAge></age><classifier xlink:href="urn:x-cgi:def:exception:CGI:2006:nil:informal"/><metadata/><outcropCharacter><CGI_TermValue><value codeSpace="http://www.iugs-cgi.org/outcropCharacterVocabulary">pristine</value></CGI_TermValue></outcropCharacter><rank codeSpace="http://www.iugs-cgi.org/rankVocabulary">Group</rank><metamorphicGrade><CGI_TermValue><value codeSpace="http://www.iugs-cgi.org/metamorphicGradeVocabulary">amphibolite</value></CGI_TermValue></metamorphicGrade></LithostratigraphicUnit> • GeoSciML standardizes feature-types • Attribute values not standardized, but must advertise their source GeoSciML/Brighton March 2007
Observations and Sampling • OGC Sensor Web Enablement GeoSciML/Brighton March 2007
Review & feedback • GeoSciML detail: • Geologic concepts • Descriptive values • Sampling GeoSciML/Brighton March 2007
GeoSciML project GeoSciML/Brighton March 2007
Documentation • to be developed in 2006/07 • to include conformance tests as guide to software developers • to be submitted for formal adoption by IUGS GeoSciML/Brighton March 2007
<LithodemicUnit gml:id="GSV53"> <gml:description>Granite, syenite, volcanogenic sandstone, conglomerate, minor trachyte lava</gml:description> <gml:name>Mount Leinster Igneous Complex</gml:name> <purpose>typicalNorm</purpose> <age> <GeologicAge> <value> <CGI_TermRange> <lower> <CGI_TermValue> <value codeSpace="http://www.iugs- cgi.org/geologicAgeVocabulary">Triassic</value> </CGI_TermValue> </lower> <upper> <CGI_TermValue> <value codeSpace="http://www.iugs- cgi.org/geologicAgeVocabulary">Triassic</value> </CGI_TermValue> </upper> </CGI_TermRange> </value> <event> <CGI_TermValue> <value codeSpace="http://www.iugs- cgi.org/geologicAgeEventVocabulary">intrusion</value> GeoSciML 1.1 conceptual model: no GML logical model: GML-UML physical model: GML-XML Progress to date • GeoSciML 1.xdefined (but not documented) • Testbed 1 implemented (2 countries, 2 sites) • Testbed 2 implemented(6 countries, 8 sites) • GeoSciML 2.0 design commenced • Concept Definitions commenced • Testbed 3 scheduled for IGC GeoSciML/Brighton March 2007
Summary • GeoSciML == GML Application Language for geoscience data • Logical model, supports cartographic portrayal alongside other uses • Model-driven design methodology, building on best predecessor projects • Implementation technology consistent with emerging standards for Spatial Data Infrastructures GeoSciML/Brighton March 2007
More Information: https://www.seegrid.csiro.au/twiki/bin/view/CGIModel/GeoSciML CSIRO Exploration and Mining Name Simon Cox Title Research Scientist Phone +61 8 6436 8639 Email Simon.Cox@csiro.au Web www.seegrid.csiro.au GeoSciML/Brighton March 2007