HMA FO Task 1 : EO Metadata Extensions Frédéric Houbie, ERDAS Steven Smolders, GIM Andrew Woolf, STFC Dominic Lowe, STFC
Overview Planning Task description Deliverables EO Product Extensions XML Schemas for EO Products Cataloguing of EO Product OGC standardisation status Slide 2
Task 1 Planning We are here Slide 3
Tasks description EO Metadata OGC Process Analysis of the extensions update of the EO Metadata, update of the cataloguing model OGC Process EO Metadata v2 Cataloguing of EO Metadata v2 using ebRIM model Slide 4
MTR deliverables Analysis of the extensions (HMAFOT1-TN-0002-ERDAS-15.doc) http://wiki.services.eoportal.org/tiki-download_wiki_attachment.php?attId=830&download=y O&M Extension for EO Product http://wiki.services.eoportal.org/tiki-download_wiki_attachment.php?attId=831&download=y UML Model & Documentation http://wiki.services.eoportal.org/tiki-download_wiki_attachment.php?attId=833&download=y Should be upload as a web site instead of an archive Currently on http://projects-eu.erdas.com/HMAFO/doc/ ebRIM Cataloguing for EO Products http://wiki.services.eoportal.org/tiki-download_wiki_attachment.php?attId=832&download=y Slide 5
EO Product Types Base EO Product Optical Radar Atmospheric Altimetry Limb Looking Synthesis & Systematic Products Slide 6
EO GML extension : schemas Current version based on GML 3.1.1 Schema implementation options straightforward migration to GML 3.2.1 model-driven approach to GML 3.2.1 O&M more extensive refactoring
Feedback by questionnaire First list of requirements, then questionnaire Purpose : get input from stakeholders End of April, distributed to all HMA people involved in the task (consortium, agencies, MD workshop participants) Set of responses received end of May The question about schemas was solved mid of June during the HMA AWG at DLR Slide 8
Model-driven approach Agreed to follow model-driven approach UML model is the main artefact Schemas, documentation, etc. ‘auto’-exported Follows UML→GML encoding rules (ISO 19136:2007 Annex E) Implications Must not ‘design at XML level’ (instead at UML level) E.g. can’t add XML attributes to schema The tools are integral – UML model is shared and may be updated by any approved committers to svn (via Enterprise Architect) Something of a culture change * Need to think about whether HMA should maintain its own svn for maintaining the model – currently rely on OGC Slide 9
UML Model http://projects-eu.erdas.com/HMAFO/doc/ Slide 10
O&M: status, implications (1/3) Published 4-Jun-2010 as ISO/DIS 19156 Mature – now available for purchase! Agreed by stakeholders and AWG to base HMA on OM_Observation rather than gml:Observation Some differences with respect to GML model (next slide), BUT... HMA uses only very small ‘core’ of O&M, THEREFORE... ISO/DIS 19156 very unlikely to change in a way that impacts HMA Slide 11
O&M: status, implications (2/3) <eop:EarthObservation .... gml:id="DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234"> <om:phenomenonTime> <gml:TimePeriod gml:id="ID00001"> .... </gml:TimePeriod> </om:phenomenonTime> <om:resultTime> <gml:TimeInstant gml:id="ID00008"> <gml:timePosition indeterminatePosition="unknown"/> </gml:TimeInstant> </om:resultTime> <om:procedure> <eop:EarthObservationEquipment gml:id="ID00002"> .... </eop:EarthObservationEquipment> </om:procedure> <om:observedProperty xsi:nil="true" nilReason="unknown"/> <om:featureOfInterest> <eop:Footprint gml:id="ID00003"> .... </eop:Footprint> </om:featureOfInterest> <om:result> <eop:EarthObservationResult gml:id="ID00007"> .... </eop:EarthObservationResult> </om:result> <eop:metaDataProperty> <eop:EarthObservationMetaData> .... </eop:EarthObservationMetaData> </eop:metaDataProperty> <eop:version>1.2.1</eop:version> </eop:EarthObservation> The majority of changes occur with adoption of GML 3.2.1: change of namespace on all GML elements addition of gml:id in many places move of EarthObservationMetadata Only six additional changes for O&M: gml:validTime om:PhenomenonTime mandatory om:resultTime but could provide standardised replacement for eop:ProcessingDate, or set to ‘unknown’ gml:using om:procedure mandatory om:observedProperty but provides standardised slot for ‘physical parameter’ info (LIM, ALT, OPT), and is nillable gml:target om:featureOfInterest gml:resultOf om:result Slide 12 12
om:featureOfInterest om:result GML3.2 changes namespace changes (30) <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="schematron_result_for_eop.xsl"?> <eop:EarthObservation version="1.2.1" gml:id="DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234" xmlns:gml="http://www.opengis.net/gml" xmlns:eop="http://earth.esa.int/eop" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://earth.esa.int/eop ../../eop/1.2.1/eop.xsd"> <gml:metaDataProperty> <eop:EarthObservationMetaData> <eop:identifier>DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234</eop:identifier> <eop:acquisitionType>NOMINAL</eop:acquisitionType> <eop:productType>TBD</eop:productType> <eop:status>ACQUIRED</eop:status> <eop:downlinkedTo> <eop:DownlinkInformation> <eop:acquisitionStation codeSpace="urn:eop:PHR:stationCode">TLS</eop:acquisitionStation> </eop:DownlinkInformation> </eop:downlinkedTo> <eop:archivedIn> <eop:ArchivingInformation> <eop:archivingCenter codeSpace="urn:eop:PHR:stationCode">TLS</eop:archivingCenter> <eop:archivingDate>2001-08-22T11:02:47.999</eop:archivingDate> </eop:ArchivingInformation> </eop:archivedIn> <eop:processing> <eop:ProcessingInformation/> </eop:processing> </eop:EarthObservationMetaData> </gml:metaDataProperty> <gml:validTime> <gml:TimePeriod> <gml:beginPosition>2001-08-22T11:02:47.000</gml:beginPosition> <gml:endPosition>2001-08-22T11:02:47.999</gml:endPosition> </gml:TimePeriod> </gml:validTime> <gml:using> <eop:EarthObservationEquipment> <eop:platform> <eop:Platform> <eop:shortName>PHR</eop:shortName> <eop:serialIdentifier>1A</eop:serialIdentifier> </eop:Platform> </eop:platform> <eop:instrument> <eop:Instrument> <eop:shortName>PHR</eop:shortName> </eop:Instrument> </eop:instrument> <eop:sensor> <eop:Sensor> <eop:sensorType>OPTICAL</eop:sensorType> <eop:operationalMode codeSpace="urn:eop:PHR:sensorMode">PX</eop:operationalMode> <eop:resolution uom="m">0.7</eop:resolution> </eop:Sensor> </eop:sensor> <eop:acquisitionParameters> <eop:Acquisition> <eop:orbitNumber>12</eop:orbitNumber> <eop:lastOrbitNumber>12</eop:lastOrbitNumber> <eop:orbitDirection>ASCENDING</eop:orbitDirection> <eop:wrsLatitudeGrid>12</eop:wrsLatitudeGrid> <eop:acrossTrackIncidenceAngle uom="deg">-14.0</eop:acrossTrackIncidenceAngle> <eop:alongTrackIncidenceAngle uom="deg">-13.9</eop:alongTrackIncidenceAngle> <eop:pitch uom="deg">0</eop:pitch> <eop:roll uom="deg">0</eop:roll> <eop:yaw uom="deg">0</eop:yaw> </eop:Acquisition> </eop:acquisitionParameters> </eop:EarthObservationEquipment> </gml:using> <gml:target> <eop:Footprint> <gml:multiExtentOf> <gml:MultiSurface srsName="EPSG:4326"> <gml:surfaceMembers> <gml:Polygon> <gml:exterior> <gml:LinearRing> <gml:posList>2.1025 43.516667 2.861667 43.381667 2.65 42.862778 1.896944 42.996389 2.1025 43.516667</gml:posList> </gml:LinearRing> </gml:exterior> </gml:Polygon> </gml:surfaceMembers> </gml:MultiSurface> </gml:multiExtentOf> <gml:centerOf> <gml:Point srsName="EPSG:4326"> <gml:pos>2.374167 43.190833</gml:pos> </gml:Point> </gml:centerOf> </eop:Footprint> </gml:target> <gml:resultOf> <eop:EarthObservationResult> <eop:browse> <eop:BrowseInformation> <eop:type>QUICKLOOK</eop:type> <eop:referenceSystemIdentifier codeSpace="EPSG">epsg:4326</eop:referenceSystemIdentifier> <eop:fileName>http://eop.cnes.fr/catalog/DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234.jpg</eop:fileName> </eop:BrowseInformation> </eop:browse> <eop:mask> <eop:MaskInformation> <eop:type>CLOUD</eop:type> <eop:format>VECTOR</eop:format> <eop:fileName>http://eop.cnes.fr/catalog/DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234.gml</eop:fileName> </eop:MaskInformation> </eop:mask> </eop:EarthObservationResult> </gml:resultOf> </eop:EarthObservation> <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="schematron_result_for_eop.xsl"?> <eop:EarthObservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://earth.esa.int/eop ../schemas%20(reverse-engineered%2006-080r4%20with%20O%26M%20replacement)/eop.xsd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:om="http://www.opengis.net/om/2.0" xmlns:eop="http://earth.esa.int/eop" gml:id="DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234"> <om:phenomenonTime> <gml:TimePeriod gml:id="ID00001"> <gml:beginPosition>2001-08-22T11:02:47.000</gml:beginPosition> <gml:endPosition>2001-08-22T11:02:47.999</gml:endPosition> </gml:TimePeriod> </om:phenomenonTime> <om:resultTime> <gml:TimeInstant gml:id="ID00008"> <gml:timePosition indeterminatePosition="unknown"/> </gml:TimeInstant> </om:resultTime> <om:procedure> <eop:EarthObservationEquipment gml:id="ID00002"> <eop:platform> <eop:Platform> <eop:shortName>PHR</eop:shortName> <eop:serialIdentifier>1A</eop:serialIdentifier> </eop:Platform> </eop:platform> <eop:instrument> <eop:Instrument> <eop:shortName>PHR</eop:shortName> </eop:Instrument> </eop:instrument> <eop:sensor> <eop:Sensor> <eop:sensorType>OPTICAL</eop:sensorType> <eop:operationalMode codeSpace="urn:eop:PHR:sensorMode">PX</eop:operationalMode> <eop:resolution uom="m">0.7</eop:resolution> </eop:Sensor> </eop:sensor> <eop:acquisitionParameters> <eop:Acquisition> <eop:orbitNumber>12</eop:orbitNumber> <eop:lastOrbitNumber>12</eop:lastOrbitNumber> <eop:orbitDirection>ASCENDING</eop:orbitDirection> <eop:wrsLatitudeGrid>12</eop:wrsLatitudeGrid> <eop:acrossTrackIncidenceAngle uom="deg">-14.0</eop:acrossTrackIncidenceAngle> <eop:alongTrackIncidenceAngle uom="deg">-13.9</eop:alongTrackIncidenceAngle> <eop:pitch uom="deg">0</eop:pitch> <eop:roll uom="deg">0</eop:roll> <eop:yaw uom="deg">0</eop:yaw> </eop:Acquisition> </eop:acquisitionParameters> </eop:EarthObservationEquipment> </om:procedure> <om:observedProperty xsi:nil="true" nilReason="unknown"/> <om:featureOfInterest> <eop:Footprint gml:id="ID00003"> <eop:multiExtentOf> <gml:MultiSurface srsName="EPSG:4326" gml:id="ID00004"> <gml:surfaceMembers> <gml:Polygon gml:id="ID00005"> <gml:exterior> <gml:LinearRing> <gml:posList>2.1025 43.516667 2.861667 43.381667 2.65 42.862778 1.896944 42.996389 2.1025 43.516667</gml:posList> </gml:LinearRing> </gml:exterior> </gml:Polygon> </gml:surfaceMembers> </gml:MultiSurface> </eop:multiExtentOf> <eop:centerOf> <gml:Point srsName="EPSG:4326" gml:id="ID00006"> <gml:pos>2.374167 43.190833</gml:pos> </gml:Point> </eop:centerOf> </eop:Footprint> </om:featureOfInterest> <om:result> <eop:EarthObservationResult gml:id="ID00007"> <eop:browse> <eop:BrowseInformation> <eop:type>QUICKLOOK</eop:type> <eop:referenceSystemIdentifier codeSpace="EPSG">epsg:4326</eop:referenceSystemIdentifier> <eop:fileName>http://eop.cnes.fr/catalog/DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234.jpg</eop:fileName> </eop:BrowseInformation> </eop:browse> <eop:mask> <eop:MaskInformation> <eop:type>CLOUD</eop:type> <eop:format>VECTOR</eop:format> <eop:fileName>http://eop.cnes.fr/catalog/DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234.gml</eop:fileName> </eop:MaskInformation> </eop:mask> </eop:EarthObservationResult> </om:result> <eop:metaDataProperty> <eop:EarthObservationMetaData> <eop:identifier>DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234</eop:identifier> <eop:acquisitionType>NOMINAL</eop:acquisitionType> <eop:productType>TBD</eop:productType> <eop:status>ACQUIRED</eop:status> <eop:downlinkedTo> <eop:DownlinkInformation> <eop:acquisitionStation codeSpace="urn:eop:PHR:stationCode">TLS</eop:acquisitionStation> </eop:DownlinkInformation> </eop:downlinkedTo> <eop:archivedIn> <eop:ArchivingInformation> <eop:archivingCenter codeSpace="urn:eop:PHR:stationCode">TLS</eop:archivingCenter> <eop:archivingDate>2001-08-22T11:02:47.999</eop:archivingDate> </eop:ArchivingInformation> </eop:archivedIn> <eop:processing> <eop:ProcessingInformation/> </eop:processing> </eop:EarthObservationMetaData> </eop:metaDataProperty> <eop:version>1.2.1</eop:version> </eop:EarthObservation> extra O&M changes om:PhenomenonTime om:resultTime om:procedure om:observedProperty om:featureOfInterest om:result <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="schematron_result_for_eop.xsl"?> <eop:EarthObservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://earth.esa.int/eop ../../../OGC-06-080%20(GML%20EO%20App%20Schema)/reverse-engineered_06-080r4/xsd_gml3.2/eop.xsd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:eop="http://earth.esa.int/eop" gml:id="DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234"> <gml:validTime> <gml:TimePeriod gml:id="ID00001"> <gml:beginPosition>2001-08-22T11:02:47.000</gml:beginPosition> <gml:endPosition>2001-08-22T11:02:47.999</gml:endPosition> </gml:TimePeriod> </gml:validTime> <gml:using> <eop:EarthObservationEquipment gml:id="ID00002"> <eop:platform> <eop:Platform> <eop:shortName>PHR</eop:shortName> <eop:serialIdentifier>1A</eop:serialIdentifier> </eop:Platform> </eop:platform> <eop:instrument> <eop:Instrument> <eop:shortName>PHR</eop:shortName> </eop:Instrument> </eop:instrument> <eop:sensor> <eop:Sensor> <eop:sensorType>OPTICAL</eop:sensorType> <eop:operationalMode codeSpace="urn:eop:PHR:sensorMode">PX</eop:operationalMode> <eop:resolution uom="m">0.7</eop:resolution> </eop:Sensor> </eop:sensor> <eop:acquisitionParameters> <eop:Acquisition> <eop:orbitNumber>12</eop:orbitNumber> <eop:lastOrbitNumber>12</eop:lastOrbitNumber> <eop:orbitDirection>ASCENDING</eop:orbitDirection> <eop:wrsLatitudeGrid>12</eop:wrsLatitudeGrid> <eop:acrossTrackIncidenceAngle uom="deg">-14.0</eop:acrossTrackIncidenceAngle> <eop:alongTrackIncidenceAngle uom="deg">-13.9</eop:alongTrackIncidenceAngle> <eop:pitch uom="deg">0</eop:pitch> <eop:roll uom="deg">0</eop:roll> <eop:yaw uom="deg">0</eop:yaw> </eop:Acquisition> </eop:acquisitionParameters> </eop:EarthObservationEquipment> </gml:using> <gml:target> <eop:Footprint gml:id="ID00003"> <eop:multiExtentOf> <gml:MultiSurface srsName="EPSG:4326" gml:id="ID00004"> <gml:surfaceMembers> <gml:Polygon gml:id="ID00005"> <gml:exterior> <gml:LinearRing> <gml:posList>2.1025 43.516667 2.861667 43.381667 2.65 42.862778 1.896944 42.996389 2.1025 43.516667</gml:posList> </gml:LinearRing> </gml:exterior> </gml:Polygon> </gml:surfaceMembers> </gml:MultiSurface> </eop:multiExtentOf> <eop:centerOf> <gml:Point srsName="EPSG:4326" gml:id="ID00006"> <gml:pos>2.374167 43.190833</gml:pos> </gml:Point> </eop:centerOf> </eop:Footprint> </gml:target> <gml:resultOf> <eop:EarthObservationResult gml:id="ID00007"> <eop:browse> <eop:BrowseInformation> <eop:type>QUICKLOOK</eop:type> <eop:referenceSystemIdentifier codeSpace="EPSG">epsg:4326</eop:referenceSystemIdentifier> <eop:fileName>http://eop.cnes.fr/catalog/DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234.jpg</eop:fileName> </eop:BrowseInformation> </eop:browse> <eop:mask> <eop:MaskInformation> <eop:type>CLOUD</eop:type> <eop:format>VECTOR</eop:format> <eop:fileName>http://eop.cnes.fr/catalog/DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234.gml</eop:fileName> </eop:MaskInformation> </eop:mask> </eop:EarthObservationResult> </gml:resultOf> <eop:metaDataProperty> <eop:EarthObservationMetaData> <eop:identifier>DS_PHR1A_20010822110247_TLS_PX_E123N45_0101_01234</eop:identifier> <eop:acquisitionType>NOMINAL</eop:acquisitionType> <eop:productType>TBD</eop:productType> <eop:status>ACQUIRED</eop:status> <eop:downlinkedTo> <eop:DownlinkInformation> <eop:acquisitionStation codeSpace="urn:eop:PHR:stationCode">TLS</eop:acquisitionStation> </eop:DownlinkInformation> </eop:downlinkedTo> <eop:archivedIn> <eop:ArchivingInformation> <eop:archivingCenter codeSpace="urn:eop:PHR:stationCode">TLS</eop:archivingCenter> <eop:archivingDate>2001-08-22T11:02:47.999</eop:archivingDate> </eop:ArchivingInformation> </eop:archivedIn> <eop:processing> <eop:ProcessingInformation/> </eop:processing> </eop:EarthObservationMetaData> </eop:metaDataProperty> <eop:version>1.2.1</eop:version> </eop:EarthObservation> GML3.2 changes namespace changes (30) mandatory gml:id (7) move EarthObservationMetadata example eop instance (06-080r4) * Three versions shown here, with incremental changes highlighted: - 06-080r4 eop instance - GML 3.2 version - O&M version 13
O&M XML (1/2) XML schemas proposed in OGC document 10-025 ‘Observations and Measurements – XML Implementation’ Most of the document irrelevant for HMA Only one of the 18 requirements/conformance classes is relevant: Requirements class: Generic observation data: http://www.opengis.net/spec/OMXML/2.0/req/observation Target type Data instance Dependency http://www.opengis.net/doc/IS/GML/3.2/clause/2.4 urn:iso:ts:iso:19139:clause:6 Requirement http://www.opengis.net/spec/OMXML/2.0/req/observation/observation-valid Any XML element in the substitution group of om:OM_Observation SHALL be well-formed and valid http://www.opengis.net/spec/OMXML/2.0/req/observation/result-type- consistent The content model of any om:result element shall be consistent with the value of the xlink:href attribute of the om:type element if one is present as a sub-element of the parent om:OM_Observation, according to the mapping given in Table 5. Must be schema valid for OM_Observation Must have correct ‘result’ type for O&M specialised observations (irrelevant for HMA) * There is only one O&M XML requirements clause relevant for HMA: the eop:EarthObservation XML must be schema valid with respect to the om:OM_Observation schema (i.e. must derive from it). The only practical implication is that we must use the O&M sub-elements for an EarthObservation (om:PhenomenonTime, om:observedProperty, om:result, om:featureOfInterest, om:procedure etc.) Slide 14
O&M XML (2/2) Changes incorporated into O&M XML for HMA: Observation ‘procedure’ (EarthObservationEquipment) may be inline Previously, was by-reference only observedProperty is nillable Thus, for the two new mandatory elements, may use (if necessary): ‘unknown’ resultTime ‘nill’ observedProperty <om:resultTime> <gml:TimeInstant gml:id="ID0000xxx"> <gml:timePosition indeterminatePosition="unknown"/> </gml:TimeInstant> </om:resultTime> <om:observedProperty xsi:nil="true" nilReason="unknown"/> * We achieved changes to the proposed O&M XML schemas – with the kind agreement and assistance of Simon Cox – in order to minimise the migration burden for HMA. Slide 15
Tools support (1/2) Model-driven approach means automated schema generation from UML model Two open-source tools available: FullMoon Java, based on Xquerys over XML (stored in eXist database) Available from: http://projects.arcs.org.au/trac/fullmoon/ O&M XML now supported ShapeChange Java, based on EA ‘Automation API’ Available from: http://www.interactive-instruments.de/index.php?id=28&L=1 Significant ongoing development in context of INSPIRE used for Annex I will eventually support O&M XML since it will be used for Annex II/III * Support for O&M XML already available in FullMoon, and will be sometime soon for ShapeChange. Slide 16
Tools support (2/2) Tool differences Both tools used during HMA-FO Currently using FullMoon Slight differences in model stereotypes (e.g. «FeatureType» instead of «featureType») and tagged values Maybe 1-2 day’s effort required to migrate a model from one to the other No substantive differences in schemas produced Slide 17
Schema issues (1/4) Circular geometry Overall quality flag Use gml:CircleByCenterPoint {instead of | in addition to} existing Footprint geometry Overall quality flag Use EOMetadata.status and extend StatusValue (ACQUIRED, ARCHIVED, CANCELLED, FAILED, PLANNED, POTENTIAL, REJECTED, QUALITYNOTACCEPTABLE)? Also, O&M provides an EarthObservation.resultQuality element ATM ‘error’ in DataLayer Propose to correct English: ‘specy’ → ‘species’ Then, include new attribute speciesError:Measure Four slides of remaining schema issues…. * Need to discuss circular geometry issue at MTR * Need to discuss ‘overall quality’ flag; could possibly use ‘resultQuality’ element already available on EarthObservation (but this uses DQ_DataQuality from ISO 19115) * For ATM – need to correct the element name, and also add a speciesError element (with value and units of measure) Slide 18
Schema issues (2/4) Parameter information OWS Service Reference Not quite finalised Use SWE Common v1.0 ‘Phenomenon’ model gml:ReferenceType for referring to external parameter definitions (e.g. CF Standard names) OWS Service Reference No standardised UML available Implementing direct mapping in FullMoon tool * Finalising approach for including parameter information; this will be based on the old SWE Common Phenomenon model (e.g. provides CompositeProperty to be defined as a composite of individual parameters) * Including OWS Service Reference, but for model-driven approach need a UML for this; and to ‘hard-code’ the UML->XML mapping in FullMoon (since it is not part of the ISO standards) Slide 19
Schema issues (3/4) Schematrons being finalised Need to add ALT, LMB, SSP Schematron support now pretty good (e.g. within <oXygen/> editor), TeamEngine “should” have support for schematron SSP Footprint uses geographicalName attribute Probably should use gml:locationName Class names distinguished by namespace Nevertheless, is there a case to use product prefixes, e.g. ATM_EarthObservationResult? * Finalising schematrons – mostly just need to add schematrons for new product types * Change ‘ssp:geographicalName’ element to ‘gml:locationName’ element in SSP * What do people think about adding a prefix to class names? (Not strictly necessary if namespaces are respected, but could help in practice?) Slide 20
ATS/ETS Linked to requirements in the documents ATS/ETS Linked to requirements in the documents Requirements for Schemas can be as easy as validation against XML Schemas & Schematron rules (J. Herring, S. Cox) Extract from OMXML Requirement Class http://www.opengis.net/spec/OMXML/2.0/req/observation Target type Data instance Requirement http://www.opengis.net/spec/OMXML/2.0/req/observation/observation-valid Any XML element in the substitution group of om:OM_Observation SHALL be well-formed and valid http://www.opengis.net/spec/OMXML/2.0/req/observation/result-type-consistent The content model of any om:result element shall be consistent with the value of the xlink:href attribute of the om:type element if one is present as a sub-element of the parent om:OM_Observation, according to the mapping given in Table 5. * Mission-specific schemas: 06-080r4 proposed use of ‘eop:type’ attribute to indicate inheritance. This is not strictly necessary (information available through schemas), and not consistent with best practice. Is it required (no problem to retain this if necessary). Slide 22
ATS/ETS (2) Conformance Class ATS/ETS (2) Conformance Class * Mission-specific schemas: 06-080r4 proposed use of ‘eop:type’ attribute to indicate inheritance. This is not strictly necessary (information available through schemas), and not consistent with best practice. Is it required (no problem to retain this if necessary). Slide 23
EO Product Cataloguing Current version is OGC Standard 1.0 EO Product Extension Package of ebRIM 3.0 Used with CS-W 2.0.2 & ebRIM AP 1.0 Slide 25
Current Model (EOP) Slide 26
Issues of the current model Complexity of the model structure Maintainability and extensibility of the EO EP Full mapping = EO GML duplication Simple change in cardinality impacts the model Adding new metadata element – even if they are not queryable (ex : add several product locations with different formats) – impacts the model Slide 27
Retrieving Metadata Number of requests to display 100 results: 1 GetRecords + 100 GetRepositoryItem = 101 requests Slide 28
Improvements Simplify model Improve GetRecords operation Slide 29
Simplify model O&M File Slide 30
Improved GetRecords operation Slide 31
OGC Catalog structure OGC Abstract Specification Topic 13: Catalogue Services OGC Catalogue Services Specification 2.0.2 (OGC07-006) OGC Catalogue Services for the web (CSW) (Chapter 10 of 07-006) ISO Metadata Application Profile of CSW (OGC07-045) ebRIM profile of CSW (OGC07-110) Basic Extension Package (OGC07-144) CIM Extension Package (OGC07-038) EOP Extension Package (OGC06-131) sensorML Extension Package (OGC 09-163)
OGC standardisation targets O&M Extension for EO Products New name : Earth Observation Metadata profile of Observations & Measurements Profile of O&M Keep 06-080 ? No ebRIM Cataloguing for EO Products Profile of ebRIM No direct link with CS-W, could be used without Slide 33
Proposed OGC Fast Track process Ability to have approval of a candidate standard facilitated without formation of a Standards Working Group. The objective is to shorten the approval time but still have TC consensus. For profiles of existing OGC encoding standards (such as GML and SensorML) For widely implemented de-facto standards developed external from the OGC.
Two forms of Fast Track process Short No public comment period OGC Members can provide comments. Slightly longer 30 day public comment period If comments, comments shall be responded to. Good candidates ?
What’s next Finalizing model & schemas Testings Team Engine HMA Skeleton CITE Tests update Team Engine OGC Trunk ERGO branch with SOAP support Copy of ERGO branch in HMA SVN with asynchronous support Local Erdas copy with logging Needs cleaning Slide 36