XMML – a standards-conformant XML language for geology features Simon Cox CSIRO Exploration & Mining
27/10/ Outline Information communities Information models and GML XMML
Information Communities Meaningful discourse requires shared information models
27/10/ “Feature Model” “Features” is a useful meta-model for geospatial data Feature == item of interest in the real world, or a digital representation of one geospatial context with “identity” a description of which you might want to transport Feature-type – fixes the set of properties ISO/TC 211 – Geographic Information ISO – Rules for Application Schema ISO – Feature Cataloguing Methodology
27/10/ Feature Types Borehole collar location shape collar diameter length operator logs … Fault Surface trace Dip Displacement Age … Ore-body Commodity Deposit type Host formation Shell (3-D outline) Resource estimate …
27/10/ Community language … based on the Feature model requires catalogue of feature-types fault, rock-unit natural phenomena borehole, gravity measurement artefacts of exploration activity mineral occurrence intersection of geology & economics descriptors, classifications (vocabularies, etc) lithologies, commodities, stratigraphic units, … Formalised description of this language structure of feature types defined in XML Schema constraints on values of properties defined in schema external dictionaries “GML Application Language”
27/10/ GML 3 Open GIS Consortium XML implementation of ISO Feature model Provides a set of components for building Application Languages Geometry/topology temporal coordinate reference systems (ISO 19107, 19108, 19111) Coverages & grids (ISO 19123), Observations, Dynamic features, Definitions, Units of measure, essential basic datatypes v3.1 imminent N.B. You can’t use GML directly it must be packaged in an Application Language
Feature Model and GML … and the relationship with UML and table models
27/10/ Feature model in UML Basic feature model to be extended for specific applications class name = feature-type e.g. borehole attribute & association names = properties of this feature-type Strong typing consequence of defining feature-type by “set of properties”
27/10/ Information transport Serialised form Based on Geography Markup Language element name == feature-type sub-elements == properties of this feature-type Exploration hole north_r_ Lithology log … <xmml:categoryList property="#lith" codeSpace="#unitcodes“> CANIS FH PL2 PL3 AQ AQL T1 T2 C1 C2 GCWS...
27/10/ Exploration borehole north_r_ Exploration borehole north_r_ UML GML
27/10/ UML profile required for GML UML Classes == GML Features/Objects things with identity UML Associations/attributes == GML properties name indicates relationship between object and value Associations must be labelled rolename == property name rolename must be unique for a class content model for property is fixed
27/10/ Table GML There is no unique table xml mapping Similar problem in Object-Relational mapping
27/10/ Mapping XML table iddescriptionname collarDiameter mm collarLocationshape logs R456 Exploration hole north_r_ #c679 #s679? Exploration hole north_r_ codelabel diam in wellHeadsurvey data commentupdateByupdateDateaccess R456 north_r_679 6 #c679 #s679? Exploration hole RobidaF open
27/10/ Mapping XML table iddescriptionname R456 Exploration hole north_r_679 featurepropertyvaluescale R456 collarDiameter 150mm R456collarLocation#c679 R456shape#s679 Exploration hole north_r_ Yes - schema mapping is required to generate GML that accords to the community model
eXploration & Mining Markup Language A GML Application Language
27/10/ XMML Feature Catalogue Borehole Observation (OGC SensorWeb) Gravity measurement (GA) Geochemistry/Assay result (ADX) Geological material (NORTON) Geological timescale (IUGS) Mineral occurrence (GA, GSC) Procedure, Project, Station, Specimen, Tenement, Instrument (GGIPAC, etc) Point, Curve, Surface, Solid with properties, some structural geology elements (Fractal, pmd*CRC) Time-series (ASEG) Mine components? Finite element model (FLAC, FastFlo) Simulation/model state (pmd*CRC) [General “coverage”, including tensor fields, directly from GML]
27/10/ XMML Borehole model
27/10/ XMML Assay Report
27/10/ XMML Mineral Occurence
27/10/ Design method Iterate between XML instances, XML Schema, UML model, harmonising with current state of suite of schemas Adapt existing standard e.g. GGIPAC, ASEG Private model from dominant data provider e.g. Geoscience Australia Sponsor requirements e.g. Fractal Technologies, CSIRO/pmd*CRC, BGS, Snowdens/WMC/Newmont Consultation with stakeholders TWiki
27/10/
27/10/ Project schedule Commenced at CSIRO 2000 Sponsors joined progressively MERIWA funded phase concluded June 2003 Follow-ups through GGIPAC, pmd*CRC, AcQuire, AusIndustry ADX (assay data exchange) to be widely deployed in mining industry XMML for Australian surveys and mines depts as part of ASDI – 2004 WFS Pilot planned for 2004 AusIndustry, Minerals Council of Australia CSIRO, SCO, GA, PirSA Harmonisation meeting Edinburgh /21 BGS, GSC, USGS, GA, BRGM, BGM XMML vs NADM/NORTON vs ESRI “domain model” Maintenance Schema repository? CSIRO is not stable enough Maintenance agency OGC – requires volunteers IUGS?? ISO 19135
27/10/ Alternatives See also ESML, GeoSciML, …
27/10/ Take-home ISO “Feature Model” is a useful basis for a community language UML XML mapping straightforward but requires use of a simple UML profile table XML mapping not unique Community language will require community agreement and governance …
27/10/ Questions?
27/10/
27/10/ Subsets Different sections through data required for different purposes
27/10/ Different views of information SpecimenAu (ppm) Cu-a (%)Cu-b (%)As (ppm)Sb (ppm) ABC Result/observation view: Each Cell gives the result of a single analysis Database insertion and update Feature view: Each Row gives all properties of one specimen or target Object description Assembled from multiple getResult/getTarget Coverage view: Each Column = variation of a single property across locations Pattern/anomaly detection Assembled from multiple getResult/getLocation
27/10/
27/10/ The UML metamodel and XML schema UML class diagrams classes associations composition aggregation attributes == composition rolename == attribute name inheritance polymorphism/substitutability specialisation == add attributes/associations cardinality stereotypes > XML Schema elements content models == types Complex Types sub-elements attributes sequence, choice derivation - types extension restriction substitution groups - elements content models must be derivation relationship Simple Types literal content complexType/simpleContent
27/10/ GML metamodel Feature/Object == element element name == feature-type UpperCamelCase Prepend “_” if abstract carries a gml:id feature-type fixes content model strongly typed feature content model must be derived from gml:AbstractFeatureType standard properties substitution group chains property == element element name == property name lowerCamelCase value is simple content or complex content by rep – value inline by ref – target of a xlink:href gml:AssociationType provides pattern no derivation requirement
27/10/ UML GML tricks Class hierarchy == element substitution group chain XML Schema type derivation relationships must support this UML multiple inheritance use XML Schema model-groups multiple substitution-group affiliation coming in XML Schema v 1.1? XML Schema use > for Objects/Features use OCL for properties XML Schema derivation-by-restriction OCL If restriction and extension is required do restriction first -> *BaseType then do extension -> *Type
27/10/
27/10/ Feature types in the geosciences Bed, pluton, rock-body Contact, fault Fold Not a discrete object, but may have a name Basin Objects with fuzzy boundaries Specimen Geochemistry measurement Geophysical measurement, geophysical survey/image Drill-hole/borehole/well With logs Mineral deposit Economically significant Mine, pit, stope, driveway …
27/10/ Fault Complex set of properties Geometry – surface in 3-D space, trace on map Age Displacement field – decreases to zero at tip of embedded fault Surface roughness Damage zone, alteration halo
27/10/ Section view Drillhole/Borehole/Well Map view Observations Survey Continuous logs Intervals Horizons Point observations Position is 1-D arc-length from collar Collar Location (Point Property) All these are “logs” Shape (Linestring Property) Samples