GeoSciML- a geoscience specific GML application to support interchange of geoscience information
GeoSciML/Brighton March 2007 GeoSciML – an introduction Simon Cox Boyan Brodaric Brighton, UK –...
-
Upload
cristina-spafford -
Category
Documents
-
view
220 -
download
4
Transcript of GeoSciML/Brighton March 2007 GeoSciML – an introduction Simon Cox Boyan Brodaric Brighton, UK –...
GeoSciML/Brighton March 2007
GeoSciML – an GeoSciML – an introductionintroduction
Simon CoxBoyan Brodaric
Brighton, UK – 16 March 2007
GeoSciML/Brighton March 2007
Objectives of GeoSciMLObjectives 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 teamGeoSciML 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
Client
GeoSciML Testbed 2006GeoSciML Testbed 2006
WMS WFS
WMSWFS
WMSWFS
WMSWFS
WMSWFS
WMSWFS
USGS
schema
BRGM
schema
GSC
schema
BGS
schema
SGU
schema
GA
schema
GeoSciML
GeoSciML
GeoSciML
GeoSciML
GeoSciML
GeoSciML
GAOracle, ESRI
SGU
BGS
BRGM
USGSESRI
GSCOracle,
ESRI
GeoSciML/Brighton March 2007
Brief demoBrief demo
GeoSciML/Brighton March 2007
OutlineOutline
• 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 servicesBrief intro to web services
GeoSciML/Brighton March 2007
Web-pages Web-pages ≠≠ Web-services 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 & WFSWMS & 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
<?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>
–Extra: query picture with getFeatureInfoExtra: query picture with getFeatureInfo
GeoSciML/Brighton March 2007
Pictures vs dataPictures 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
Web Feature ServiceWeb Feature Service
XML WFSServer
• Data-source organised for custodian’s requirements
• Community-specific GML application language– TigerGML, LandGML, CityGML, NRML, GeoSciML, ADX, GPML, CSML, MarineXML etc
• private public boundaryschema transformation here
PortrayalClient
HTML
GeoSciML/Brighton March 2007
Many clients for re-usable Many clients for re-usable datadata
GML WFSServer
Mechanics Client
FEM results
GML WFSServer
EcologicalModelling
Client
Population estimates
GML WFSServer
PortrayalClient
HTML
GeoSciML/Brighton March 2007
Standards allow use of multiple Standards allow use of multiple sourcessources
WFSClient
WFSServer
WFSServer
B
WFSServer
C
GeoSciML/Brighton March 2007
• Web-services support chaining
Service composition & Service composition & interoperabilityinteroperability
• 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
WFS service
Transfor-mation Service
Aggre-gation
Service
WFS Client
WFS service
GeoSciML/Brighton March 2007
Review & feedbackReview & feedback
• Web services– WMS vs WFS, Pictures vs Data– Web Feature Service– Service-oriented architectures
GeoSciML/Brighton March 2007
Standardization frameworkStandardization framework
GeoSciML/Brighton March 2007
We are not working aloneWe are not working alone
• Technology standards• Legal requirements
GeoSciML/Brighton March 2007
Standardization framework Standardization framework (1)(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 Standardization framework (2)(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 Standardization framework (3)(3)
• Domain-specific:– IUGS Commission for Geoscience Information –
GeoSciML
• Cross-domain– CGMW, GlobalMap
• Jurisdictional– INSPIRE, ICSM etc.
GeoSciML/Brighton March 2007
Review & feedbackReview & feedback
• Standardization:– ISO, OGC– IUGS, CGMW, INSPIRE etc
GeoSciML/Brighton March 2007
Standard methodologyStandard methodology
GeoSciML/Brighton March 2007
Conceptual model firstConceptual model first
• Justanother file-format? NO!
• ISO 19101
GeoSciML/Brighton March 2007
Rules for Application SchemaRules 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
• 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
Conceptual object model: featuresConceptual object model: features
GeoSciML/Brighton March 2007
class Specimen
Specimen
+ currentLocation: Location [0..1]+ currentSize: Measure [0..1]+ materialClass: GenericName
SamplingFeature
LocatedSpecimen
+ samplingLocation: GM_Object+ samplingMethod: Procedure [0..1]+ samplingTime: TM_GeometricPrimitive
Process
Observ ation
AnyFeature
relatedObservation
0..*
processingDetails
0..*
Intention
sampledFeature
1..*
Formalization in UMLFormalization 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
Serialization in XML (GML)Serialization in XML (GML)UMLUMLGML encoding ruleGML 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
<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>
class Specimen
Specimen
+ currentLocation: Location [0..1]+ currentSize: Measure [0..1]+ materialClass: GenericName
SamplingFeature
LocatedSpecimen
+ samplingLocation: GM_Object+ samplingMethod: Procedure [0..1]+ samplingTime: TM_GeometricPrimitive
Process
Observ ation
AnyFeature
relatedObservation
0..*
processingDetails
0..*
Intention
sampledFeature
1..*
GeoSciML/Brighton March 2007
Geology domain - feature type Geology domain - feature type cataloguecatalogue
Borehole collar location shape collar diameter length operator logs related observations …
Fault shape surface trace displacement age …
Ore-body commodity deposit type host formation shape resource estimate …
• Conceptual classification• Natural features + artefacts• Some have multiple spatial
properties
Geologic Unit classification shape sampling frame age dominant
lithology …
License area issuer holder interestedParty shape(t) right(t) …
GeoSciML/Brighton March 2007
Review & feedbackReview & feedback
• Methodology:– Conceptual modelling– Feature types– UML Formalization– UML-XML encoding rule
GeoSciML/Brighton March 2007
GeoSciML scope & processGeoSciML scope & process
GeoSciML/Brighton March 2007
What to standardizeWhat 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 standardizeWhat 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: Scope: information required for information required for production and maintenance of production and maintenance of
geologic mapsgeologic 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
PrecursorsPrecursors
• 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 processInclusive 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 processModelling process
1. Design using pictures• UML class diagrams• adopt and adapt existing & external standards,
influence if possible
2. Prove it with Code• Use sample XML documents to test the model as you
go
3. Generate code (XML Schema) automatically• maintain the model using the diagrams, not the
validation tooling
GeoSciML/Brighton March 2007
Review & feedbackReview & feedback
• GeoSciML scope and process:– Scope– History– Methodology
GeoSciML/Brighton March 2007
GeoSciML detailGeoSciML detail
GeoSciML/Brighton March 2007
Descriptions and occurrencesDescriptions and occurrences
«FeatureType»GeologicFeature
+ age: GeologicAge [1..*]+ physicalProperty: CGI_PhysicalDescription [0..*]+ purpose: DescriptionPurpose = instance
«FeatureType»MappedFeature
«CodeList»DescriptionPurpose
+ definingNorm: + instance: + typicalNorm:
«FeatureType»SamplingFeature
+ responsible: CI_ResponsibleParty [0..1]
«Type»GM_Object
«FeatureType»GeologicUnit
«FeatureType»GeologicStructure
+ genesis: CGI_TermValue [0..1]
«ObjectType»ControlledConcept
+ preferredName: CharacterString
0..*
AlternativeClassification
+alternativeClassifier
0..*
+specification1
Description
+occurrence 0..*
0..*
PrimaryClassification
+classifier 1
+shape 1
+samplingFrame
1
Map polygon
Legend itemObservational setting
GeoSciML/Brighton March 2007
«ObjectType»GeologicVocabulary
Definition
«ObjectType»ControlledConcept
+ preferredName: CharacterString
«ObjectType»StratigraphicLexicon
Definition
«ObjectType»VocabRelation
+ role: ScopedName
«Union»GeologicEntity
+ featureEntity: GeologicFeature+ objectEntity: GeologicObject
Definition
«ObjectType»dictionary::Dictionary«Union»
VocabItem
+ conceptMember: ControlledConcept+ relationMember: VocabRelation
+vocabulary
11..*
+member 1..*
+vocabulary1
0..*
0..*{0..1 per vocabulary}
Definition
+prototype 0..1
+target
1
+source1
Controlled vocabularyControlled vocabularyVocabRelation is part of vocabulary
Link to prototype instance is explicit
GeoSciML/Brighton March 2007
Geologic TimescaleGeologic Timescale
• Cox & Richard, Geosphere
GeoSciML/Brighton March 2007
«DataType»CGI_TermValue
+ value: ScopedName
«DataType»CGI_TermRange
«DataType»CGI_NumericValue
+ minusDelta: Measure+ plusDelta: Measure+ principalValue: Measure
«DataType»CGI_Value
+ qualifier: ValueQualifierCode [0..1] = equalTo
«DataType»CGI_NumericRange
«DataType»CGI_PrimitiveValue
«DataType»CGI_Range
«Union»CGI_Term
+ range: CGI_TermRange+ value: CGI_TermValue
«Union»CGI_Numeric
+ range: CGI_NumericRange+ value: CGI_NumericValue
+upper 1 +lower 1
+lower 1+upper 1
+lower 1+upper
1
Descriptive valuesDescriptive values
e.g. “Usually 2mm to boulder-sized”
ScopedName = label + vocabulary reference Measure = number + uom
GeoSciML/Brighton March 2007
Vocabulary standardizationVocabulary standardization
– GeoSciML standardizes feature-types– Attribute values not standardized, but must advertise their source
<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/Brighton March 2007
Observations and SamplingObservations and Sampling
• OGC Sensor Web EnablementObservation
Procedure
AnyIdentifiableFeature
PhenomenonEvent
+generatedObservation
0..*
+procedure 1
+propertyValueProvider
0..*
+featureOfInterest1
+observedProperty
Station
SamplingFeature
Profile SurfaceOfInterest SolidOfInterest
Specimen
GeoSciML/Brighton March 2007
Review & feedbackReview & feedback
• GeoSciML detail:– Geologic concepts– Descriptive values– Sampling
GeoSciML/Brighton March 2007
GeoSciML projectGeoSciML project
GeoSciML/Brighton March 2007
DocumentationDocumentation
– 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
GeoSciML 1.x defined (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
ChronostratigraphicUnit
BiostratigraphicUnitLithodemicUnit
LithostratigraphicUnit
AllostratigraphicUnit PedostratigraphicUnit
MagnetostratigraphicUnit
LithotectonicUnitPedoderm GeomorphologicUnit
GUPRelationRole
or
CompoundMaterial
GUPRelation
Proportion
GURole
GeologicUnitPart
<<IsA>>
0..*
2..n
0..*
2..n1..11..1
1..11..1
Rank
WeatheringCharacter
OutcropCharacter
GUGenesis
GeologicAge
Extent
Morphology
Color
MetamorphicGrade
GeologicUnit
<<IsA>>
0..10..1
0..10..1
0..10..1
0..*
2
0..*
2
0..*0..1
0..*0..1
1..11..1
0..10..1
0..*0..*
0..10..1
GeologicProcess
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
cd Unit
AbstractFeature
«FeatureType»CGI_Top::GeologicFeature
+ age: GeologicAge [1..*]+ purpose: DescriptionPurpose
«FeatureType»GeologicUnit
+ bodyMorphology: CGI_TermValue [1..*]+ exposureColor: CGI_TermValue [1..*]+ genesis: CGI_TermValue [1..*]+ grossChemistry: ChemicalCompositionClass+ outcropCharacter: CGI_TermValue [1..*]
«FeatureType»LithostratigraphicUnit
+ unitThickness: CGI_Numeric [1..*]+ beddingStyle: CGI_TermValue [1..*]+ beddingPattern: CGI_TermValue [1..*]+ beddingThickness: CGI_Value [1..*]
«FeatureType»LithodemicUnit
«FeatureType»LithologicUnit
+ rank: ScopedName+ weatheringCharacter: CGI_TermValue [1..*]+ structurePresent: CGI_TermValue [0..*]+ metamorphicGrade: CGI_Term [0..*]
logical model: GML-UML
<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>physical model: GML-XML
conceptual model: no GML
GeoSciML 1.1
Progress to dateProgress to date
GeoSciML/Brighton March 2007
SummarySummary
• 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/Geo
SciML
CSIRO Exploration and MiningName Simon CoxTitle Research ScientistPhone +61 8 6436 8639Email [email protected] www.seegrid.csiro.au
GeoSciML/Brighton March 2007
Demo of GeoSciML Testbed 2Demo of GeoSciML Testbed 2