Transcript Document

GeoSciML – an introduction
Simon Cox
Boyan 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 (OGCWMS,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
GeoSciML Testbed 2006
GSC
Oracle,
ESRI
GSC
schema
USGS
USGS
ESRI
schema
BRGM
BRGM
schema
BGS
BGS
schema
SGU
SGU
schema
GA
Oracle, ESRI
GA
schema
GeoSciML/Brighton March 2007
WMS
WFS
WMS
WFS
WMS
WFS
WMS/WFS
Client
WMS
WFS
WMS
WFS
WMS
WFS
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 –Extra: query picture with getFeatureInfo
• 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
GeoSciML/Brighton March 2007
<?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-11db8314-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>
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
GeoSciML/Brighton March 2007
<?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-11db8314-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>
Web Feature Service
• private  public boundary
schema transformation here
HTML
Portrayal
Client
XML
WFS
Server
•
•
Data-source organised for
custodian’s requirements
Community-specific GML application language
– TigerGML, LandGML, CityGML, NRML, GeoSciML, ADX, GPML, CSML, MarineXML etc
GeoSciML/Brighton March 2007
Many clients for re-usable data
FEM
results
HTML
Mechanics
Client
Portrayal
Client
GML
Population
estimates Ecological
Modelling
Client
GeoSciML/Brighton March 2007
GML
WFS
Server
WFS
Server
GML
WFS
Server
Standards allow use of multiple sources
WFS
Server
B
WFS
Client
WFS
Server
WFS
Server
C
GeoSciML/Brighton March 2007
Service composition & interoperability
• Web-services support chaining
WFS
service
WFS
Client
Aggregation
Service
Transformation
Service
WFS
service
• 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 (UMLXML), 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
• Justanother file-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
• 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, licensearea, station
• Feature-type is
characterised by a
specific set of properties
GeoSciML/Brighton March 2007
•
Specimen
–
–
–
–
–
–
–
–
–
sampled feature
sampling location
sampling time
material class
size
current location
processing details
related observation
…
Formalization in UML
class Specimen
•
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
sampledFeature
SamplingFeature
AnyFeature
1..*
Intention
relatedObservation
Observ ation
Specimen
0..*
+
+
+
currentLocation: Location [0..1]
currentSize: Measure [0..1]
materialClass: GenericName
processingDetails
Process
0..*
LocatedSpecimen
+
+
+
GeoSciML/Brighton March 2007
samplingLocation: GM_Object
samplingMethod: Procedure [0..1]
samplingTime: TM_GeometricPrimitive
Serialization
XML (GML)
UMLGMLinencoding
rule
class Specimen
<sa:LocatedSpecimen gml:id="s456dfg" …>
sampledFeature
SamplingFeature
<gml:name codeSpace="http://www.ietf.org/rfc/rfc4122“
Intention
AnyFeature
1..*
>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
relatedObservation
codeSpace="http://www.oneGeology.org/def:materialClasses">rock</sa:materialClass>
Specimen
<sa:samplingLocation>
0..*
Observ ation
+ currentLocation: Location [0..1]
<gml:Point>
+ currentSize: Measure [0..1]
+ materialClass:
GenericName
<gml:pos srsName="urn:ogc:def:crs:EPSG:6.12:62836405">115.82
-31.933</gml:pos>
</gml:Point>
</sa:samplingLocation>
processingDetails
<sa:samplingTime>
0..*
<gml:TimeInstant>
Process
LocatedSpecimen
<gml:timePosition>2007-03-01T15:15:00.00+09:00</gml:timePosition>
+ samplingLocation: GM_Object
+ samplingMethod: Procedure [0..1]
</gml:TimeInstant>
+ samplingTime: TM_GeometricPrimitive
</sa:samplingTime>
</sa:LocatedSpecimen>
• Every class + every property is an XML element
• Property values may be simple, complex, or by reference
• Properties are nested inside features
GeoSciML/Brighton
2007 XML namespaces
• March
Multiple
Geology domain - feature type catalogue
Borehole
• Conceptual classification
• Natural features + artefacts
• Some have multiple spatial
properties
 collar location
 shape
 collar diameter
Fault
 length
 shape
 operator
 surface trace
 logs
License
 displacement
 related area
observations
 age
 …  issuer
Ore-body
 …
 holder
 commodity
 interestedParty
 deposit type
 shape(t)
 host formation
Geologic Unit
 right(t)
 shape
 classification
 …
 resource estimate
 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
GeoSciML v1.1
(“Testbed2”)
GeoSciML v2
• Legend
– unit description
– stratigraphic column, other classifications
– Geologic timescales
• Borehole data
• Field observations & measurements
– structure measurements, material descriptions …
• Lab measurements
– geochem, geochronology
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
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 & feedback
• GeoSciML scope and process:
– Scope
– History
– Methodology
GeoSciML/Brighton March 2007
GeoSciML detail
GeoSciML/Brighton March 2007
Descriptions and occurrences
«Type»
GM_Obj ect
+shape
«FeatureType»
SamplingFeature
+
1
«FeatureType»
MappedFeature
+samplingFrame
responsible: CI_ResponsibleParty [0..1] 1
«ObjectType»
ControlledConcept
+occurrence
0..*
+
preferredName: CharacterString
Description
+classifier
1
PrimaryClassification
«FeatureType»
GeologicFeature
«CodeList»
DescriptionPurpose
+
+
+
+specification
+
+
+
definingNorm:
instance:
typicalNorm:
1
0..*
+alternativeClassifier
AlternativeClassification
age: GeologicAge [1..*]
0..*
physicalProperty: CGI_PhysicalDescription [0..*]
purpose: DescriptionPurpose = instance
Map polygon
0..*
Observational setting
Legend item
«FeatureType»
GeologicStructure
«FeatureType»
GeologicUnit
+
GeoSciML/Brighton March 2007
genesis: CGI_TermValue [0..1]
Controlled vocabulary
VocabRelation is
part of vocabulary
«Union»
GeologicEntity
+
+
Definition
«ObjectType»
VocabRelation
featureEntity: GeologicFeature
objectEntity: GeologicObject
+prototype
+
0..1
role: ScopedName
0..*
Definition
Definition
0..*
{0..1 per vocabulary}
+source
1
Definition
«Union»
VocabItem
+target
1
+
+
conceptMember: ControlledConcept
relationMember: VocabRelation
+member
«ObjectType»
ControlledConcept
+
«ObjectType»
dictionary::
Dictionary
preferredName: CharacterString
1..*
+vocabulary
1
1..*
1
«ObjectType»
GeologicVocabulary
+vocabulary
Link to prototype
instance is explicit
GeoSciML/Brighton March 2007
«ObjectType»
StratigraphicLexicon
Geologic Timescale
GeoSciML/Brighton March 2007
• Cox & Richard, Geosphere
Descriptive values
«DataType»
CGI_Value
+
qualifier: ValueQualifierCode [0..1] = equalTo
e.g. “Usually 2mm to boulder-sized”
«DataType»
CGI_TermRange
«DataType»
CGI_Range
«DataType»
CGI_NumericRange
+upper +lower
1
+upper
1 +lower
1
1
«DataType»
CGI_PrimitiveValue
+upper
+
+
+
value: ScopedName
«Union»
CGI_Term
+
+
range: CGI_TermRange
value: CGI_TermValue
ScopedName = label + vocabulary reference
GeoSciML/Brighton March 2007
1
«DataType»
CGI_NumericValue
«DataType»
CGI_TermValue
+
1 +lower
minusDelta: Measure
plusDelta: Measure
principalValue: Measure
«Union»
CGI_Numeric
+
+
range: CGI_NumericRange
value: CGI_NumericValue
Measure = number + uom
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
GeoSciML/Brighton
Marchvalues
2007
– Attribute
not standardized, but must advertise their source
Observations and Sampling
Procedure
Event
Phenomenon
+procedure
1
+observedProperty
+generatedObservation
0..*
Observ ation
• OGC Sensor Web Enablement
0..*
SamplingFeature
+propertyValueProvider
1
+featureOfInterest
AnyIdentifiableFeature
Specimen
Station
GeoSciML/Brighton March 2007
Profile
SurfaceOfInterest
SolidOfInterest
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
Progress to date






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
<LithodemicUnit gml:id="GSV53">
<gml:description>Granite, syenite, volcanogenic sandstone,
conglomerate, minor trachyte lava</gml:description>
«FeatureT ype»
GUGenesis
GeologicProcess
Rank
CGI_Top::GeologicFeature
<gml:name>Mount
Leinster Igneous Complex</gml:name>
0..*
0..1
+ age: GeologicAge [1..*]
0..*
0..*
<purpose>typicalNorm</purpose>
+ purpose: DescriptionPurpose
WeatheringCharacter
GURole
<age>
0..1
0..* 0..*
2
1..1
<GeologicAge>
GeologicUnit
0..1
GeologicUnitPart
OutcropCharacter
<value>
0..*
«FeatureT ype»
2..n
<<IsA>>
<CGI_TermRange>
0..1
GeologicUnit
<<IsA>>
Proportion
1..1
or
GeologicAge
<lower>
+ bodyMorphology: CGI_T ermValue [1..*]
+ exposureColor: CGI_T ermValue [1..*]
<CGI_TermValue>
CompoundMaterial + genesis: CGI_T ermValue [1..*]
GUPRelationRole
Extent
1..1
+ grossChemistry: ChemicalCompositionClass
<value codeSpace="http://www.iugs+ outcropCharacter: CGI_T ermValue [1..*]
cgi.org/geologicAgeVocabulary">Triassic</value>
0..*
Morphology
0..1
GUPRelation
</CGI_TermValue>
</lower>
0..*
Color
<upper>
«FeatureT ype»
LithologicUnit
<CGI_TermValue>
+ rank: ScopedName
MetamorphicGrade 0..1
<value codeSpace="http://www.iugs+ weatheringCharacter: CGI_T ermValue [1..*]
+ structurePresent: CGI_T ermValue [0..*]
cgi.org/geologicAgeVocabulary">Triassic</value>
CGI_T
erm [0..*]
Pedoderm + metamorphicGrade:
LithotectonicUnit
GeomorphologicUnit
</CGI_TermValue>
</upper>
</CGI_TermRange>
«FeatureT ype»
</value>
LithodemicUnit
LithostratigraphicUnit
ype»
BiostratigraphicUnit«FeatureT
AllostratigraphicUnit
PedostratigraphicUnit
LithodemicUnit
<event>
+ unitT hickness: CGI_Numeric [1..*]
+ beddingStyle: CGI_T ermValue [1..*]
<CGI_TermValue>
+
beddingPattern:
CGI_T
ermValue
[1..*]
LithostratigraphicUnit
ChronostratigraphicUnit March 2007
MagnetostratigraphicUnit
GeoSciML/Brighton
conceptual
model:
+ beddingT hickness: CGI_Value [1..*]
<value codeSpace="http://www.iugslogical model: GML-UML
physical model: GML-XML
no GML
cgi.org/geologicAgeEventVocabulary">intrusion</value>
cd Unit
AbstractFeature
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
Title
Phone
Email
Web
GeoSciML/Brighton March 2007
Simon Cox
Research Scientist
+61 8 6436 8639
[email protected]
www.seegrid.csiro.au
Demo of GeoSciML Testbed 2
GeoSciML/Brighton March 2007