Open Geospatial Consortium Inc. Date: 2010-02-10 Reference number of this document: OGC 06-131r6 Version: 1.0.0 Category: OGC® Implementation Standard Editor(s): Frédéric Houbie, Lorenzo Bigagli
OGC® Catalogue Services Standard 2.0 Extension Package for ebRIM Application Profile: Earth Observation Products
Copyright © 2010 Open Geospatial Consortium, Inc. To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.
Warning
Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.
Document type: OGC® Implementation Standard Document subtype: Application Profile Document stage: Approved Document language: English
License Agreement Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement. If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR. THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD. THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY. This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party. Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications. This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it. None of the Intellectual Property or underlying information or technology may be downloaded or otherwise exported or reexported in violation of U.S. export laws and regulations. In addition, you are responsible for complying with any local laws in your jurisdiction which may impact your right to import, export or use the Intellectual Property, and you represent that you have complied with any regulations or registration procedures required by applicable law to make this license enforceable
ii
Copyright © 2012 Open Geospatial Consortium
Open Geospatial Consortium Inc.
Contents
OGC 06-131r6
Page
Introduction ......................................................................................................................... 1 1
Scope ....................................................................................................................... 1
2
Compliance ............................................................................................................. 1 2.1 Conformance to base specifications ................................................................... 1 2.2 Conformance classes of the EO EP .................................................................... 2 2.2.1 Conformance class A.1: The core (EOP support) .......................................... 2 2.2.2 Conformance class A.2: SAR Extension ....................................................... 2 2.2.3 Conformance class A.3: OPT Extension ....................................................... 3 2.2.4 Conformance class A.4: ATM Extension ...................................................... 3 2.3 Conformance requirements ................................................................................ 3
3
Normative references .............................................................................................. 4
4
Terms and definitions ............................................................................................. 5
5 5.1 5.2 5.3
Conventions ............................................................................................................ 8 Abbreviated terms .............................................................................................. 8 UML notation ..................................................................................................... 9 Used parts of other documents ........................................................................... 9
6.1 6.2
System context ........................................................................................................ 9 Application domain .......................................................................................... 10 Essential use cases ............................................................................................ 10
6
7
Catalogue Infrastructure Overview ....................................................................... 10
8
Earth Observation Resource Mapping .................................................................. 12 8.1 General Information ......................................................................................... 12 8.2 EO Products Metadata Mapping ...................................................................... 13 8.2.1 Earth Observation Product Types ................................................................ 13 8.2.2 ebXML Slot Types Definition ..................................................................... 15 8.2.3 Mapping Schema Structure .......................................................................... 17 8.2.4 Acquisition Parameters ................................................................................ 18 8.2.5 Earth Observation Taxonomy ...................................................................... 27 8.2.6 Platform, Product and Archiving Metadata ................................................. 29 8.2.7 Grouping the Complete Mapping Schema into a Registry Package ............ 41 8.2.8 Thematic and Mission-Specific Metadata ................................................... 41 8.3 RegistryPackage Definition .............................................................................. 48 8.3.1 Introduction .................................................................................................. 48 8.3.2 RegistryPackage Role .................................................................................. 48 8.3.3 RegistryPackage Content ............................................................................. 48
9
EO Products Catalogue External Interfaces .......................................................... 55 9.1 Supported Protocol Binding and Available Operations ................................... 55 9.2 Interface Specifications .................................................................................... 56 9.2.1 GetCapabilities Operation ............................................................................ 56
ii
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
9.2.2 9.2.3 9.2.4 9.2.5 9.2.6
GetRecords Operation .................................................................................. 59 DescribeRecord Operation ........................................................................... 69 GetRecordById Operation ........................................................................... 70 GetRepositoryItem Operation ...................................................................... 73 Harvest Operation ........................................................................................ 74
10 Implementation Guidance ..................................................................................... 76 10.1 Use of ParentIdentifier ..................................................................................... 76 Annex A: Abstract test suite (normative) ......................................................................... 77 Annex B: XML Schema Documents (normative) ............................................................ 87 Annex C: SOAP 1.1 Implementation (normative) ............................................................ 88 C.1 Request ............................................................................................................. 88 C.2 Response ........................................................................................................... 88 C.3 Error response................................................................................................... 88 Annex D: Implementation Architectures (informative) .................................................... 89 D.1 Stand-Alone Architecture ................................................................................. 89 D.2 Proxy Architecture............................................................................................ 90 D.2.1 Front-End Architecture ................................................................................ 90 D.2.2 Replication Architecture .............................................................................. 91 D.2.3 ‘Front-End’ vs ‘Replication’ Comparison ................................................... 92 D.3 Distributed Search Implementation .................................................................. 93 D.4 Proxy profile ..................................................................................................... 93 Annex E: Examples (informative) .................................................................................... 95 E.1 Service capabilities document .......................................................................... 95 E.2 GetRecords operation ....................................................................................... 98 E.3 GetRecordById operation............................................................................... 108 Annex F: XML RegistryPackage Documents (informative) .......................................... 112 Annex G: Proposed Filter Syntax Compliance Levels (informative) ............................. 113 G.1 Request Handling ........................................................................................... 114 G.1.1 Part 1: The Collections............................................................................... 116 G.1.2 Part 2: Area of Interest ............................................................................... 117 G.1.3 Part 3: the Earth Observation Products (EOP) queryables. ....................... 119 G.1.4 Part 4: the classification queryables. .......................................................... 124 G.2 Conclusions .................................................................................................... 130 Annex H: Document Change History (informative) ....................................................... 131 H.1 Changes with respect to the 0.1.5 Version ..................................................... 131 H.2 Changes with respect to the 0.1.6 Version ..................................................... 131 H.3 Changes with respect to the 0.1.7 Version ..................................................... 132 H.4 Changes with respect to the 0.1.8 Version ..................................................... 132 H.5 Changes with respect to the 0.1.9 Version ..................................................... 133 H.6 Changes with respect to the 0.2.0 Version ..................................................... 133 H.7 Changes with respect to the 0.2.1 Version ..................................................... 133 H.8 Changes with respect to the 0.2.2 Version ..................................................... 134 H.9 Changes with respect to the 0.2.3 Version ..................................................... 135 H.10 Changes with respect to the 0.2.4 Version ..................................................... 135
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
iii
Open Geospatial Consortium Inc.
Figures
OGC 06-131r6
Page
Figure 1: UML notations ........................................................................................................ 9 Figure 2: General Catalogue Infrastructure ........................................................................10 Figure 3: Earth Observation Oriented Catalogue Infrastructure .....................................11 Figure 4: Relationship between EO Dataset Collections and Datasets ..............................13 Figure 5 : A layered view of GML EO Products data. ........................................................14 Figure 6: EO Product XML Schemas Structure .................................................................14 Figure 7: Pleiades dataset layered structure ........................................................................15 Figure 8: EO Products Mapping Schema Structure ...........................................................17 Figure 9: EO Products instance ............................................................................................18 Figure 10: EO Products instance ..........................................................................................20 Figure 11: EO Product Types Taxonomy.............................................................................27 Figure 12: EO Product classified ..........................................................................................29 Figure 13: EO Products additional information ..................................................................33 Figure 14: EO Products additional information ..................................................................39 Figure 15: Complete EO Products Data Model ...................................................................41 Figure 16: EO Data Layers associated to EO Products ......................................................45 Figure 17: Service Interface (CSW-ebRIM) ........................................................................56 Figure 18: CSW-discovery.xsd (2.0.2) GetRecords complex type ......................................63 Figure 19: CSW-discovery.xsd (2.0.2) Query complex type ...............................................64 Figure 20: CSW-discovery.xsd (2.0.2) GetRecordsResponse complex type ......................65 Figure 21: CSW-discovery.xsd (2.0.2) GetRecordById complex type ...............................71 Figure 22: CSW-discovery.xsd (2.0.2) GetRecordByIdResponse complex type ...............72 Figure 23: Stand-Alone Architecture ...................................................................................89 Figure 24: Front-End Architecture.......................................................................................91 Figure 25: Replication Architecture .....................................................................................92 Figure 26: Implementing distributed search........................................................................93 Figure 27: Proposed Conformance Levels versus query universe ...................................113
iv
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Tables
Page
Table 1 — EOProduct Metadata Levels...............................................................................12 Table 2 — Slot Types Defintion ............................................................................................16 Table 3 — EOProduct ExtrinsicObject Correspondence ...................................................21 Table 4 — EOAcquisitionPlatform ExtrinsicObject Correspondence ..............................34 Table 5 — EOProductInformation ExtrinsicObject Correspondence ..............................36 Table 6 — EOBrowseInformation ExtrinsicObject Correspondence ...............................37 Table 7 — EOMaskInformation ExtrinsicObject Correspondence ..................................38 Table 8 — EOArchivingInformation ExtrinsicObject Correspondence ...........................40 Table 9 — EOProduct ExtrinsicObject Correspondence ...................................................43 Table 10 — EOProduct ExtrinsicObject Correspondence .................................................44 Table 11 — EODataLayer ExtrinsicObject Correspondence ............................................46 Table 12 — Required Operations on ebRIM Catalogue Service .......................................55 Table 13 — Optional Operation on ebRIM Catalogue Service ..........................................56 Table 14 — Permissible Section Names ................................................................................57 Table 15 — GetRecords Operation Parameters ..................................................................60 Table 16 — Allowable Catalogue Record Representation ..................................................64 Table 17 — Registry object views .........................................................................................66 Table 18 — GetRecordById Operation Parameters ...........................................................71 Table 19 — GetRepositoryItem Operation Parameters .....................................................73 Table 20 — ‘Front-End’ vs ‘Replication’ Comparison .......................................................92
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
v
Open Geospatial Consortium Inc.
OGC 06-131r6
Examples Example 1 – GetRecords query, to fetch ClassificationScheme. ........................................27 Example 2 – GetRecords query based on acquisition type. ................................................28 Example 3 – Brief view of the ebRIM Registry Package. ...................................................66 Example 4 – Summary view of an ebRIM registry object. .................................................66 Example 5 – Full view of the ebRIM Registry Package containing a full EO Product ....67 Example 6 – Harvest Operation Definition in the Capabilies ............................................75 Example 7 – GetRecords example. ........................................................................................98 Example 8 – GetRecordsResponse example. ......................................................................100 Example 9 – GetRecords example. ......................................................................................107
vi
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Preface This document describes the mapping of Earth Observation Products – defined in the OGC® GML 3.1.1 Application schema for Earth Observation products [OGC 06080r4] (version 0.9.3) – to an ebRIM structure within an OGC® Catalogue 2.0.2 (Corrigendum 2 Release) [OGC 07-006r1] implementing the CSW-ebRIM Registry Service – part 1: ebRIM profile of CSW [OGC 07-110r4]. This standard defines the way Earth Observation products metadata resources are organized and implemented in the Catalogue for discovery, retrieval and management.
i.
Document terms and definitions
This document uses the specification terms defined in Subclause 5.3 of [OGC 05008], which is based on the ISO/IEC Directives, Part 2. Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this specification.
ii.
Submitting organizations
The following organizations submitted the OGC® Earth Observation Extension Package ebRIM profile of CS-W 1.0 to the OGC. The submission team would like to thank all of the members of the Standards Working Group who helped bring this document to OGC adopted standard status. •
ERDAS (was Ionic Software s.a.)
•
Spacebel s.a.
•
European Space Agency
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
vii
Open Geospatial Consortium Inc.
iii.
OGC 06-131r6
Document contributor contact points
Questions regarding this document should be directed to the editor or the contributors: Name Renato Primavera Frédéric Houbie (Editor) Luc Donea Yves Coene Samuel Dewaele Jolyon Martin Richard Martell Darko Androsevic Jef Vanbockryck Yaman Ustuntas Marie-Lise Vautier Lorenzo Bigagli (Editor) Uwe Voges
iv.
Organization ERDAS ERDAS ERDAS Spacebel s.a. Spacebel s.a. European Space Agency Galdos Systems, Inc Galdos Systems, Inc Cronos nv Cronos nv IGN France CNR Con terra
Email renato.primavera<at>erdas.com frederic.houbie<at>erdas.com luc.donea<at>erdas.com Yves.Coene<at>spacebel.be Samuel.DEWAELE<at>spacebel.be Jolyon.Martin<at>esa.int rmartell<at>galdosinc.com dandrosevic<at>galdosinc.com jef.vanbockryck<at>cronos.be yaman.ustuntas<at>cronos.be marie-lise.vautier<at>ign.fr lorenzo.bigagli<at>cnr.it U.Voges<at>conterra.de
Revision history
Please see the Annex H for a complete Document Change History. Date 18/08/2006 11/09/2006 22/01/2007 15/02/2007 30/04/2007
21/05/2007 0.1.2 04/06/2007 0.1.3
F. Houbie F. Houbie
Sections modified Add content Complete revision Integrate reviews Complete revision Update according EO GML Schemas v0.95 EOProduct table EOProduct table
18/06/2007 0.1.4 21/09/2007 0.1.5
S. Dewaele S. Dewaele
EOResourceMapping EOResourceMapping
29/10/2007 0.1.6 11/12/07 0.1.7
R. Primavera R.Smillie F. Houbie F. Houbie S. Dewaele F. Houbie F. Houbie F. Houbie F. Skivee
Complete revision
29/01/08 14/05/08 25/06/08 23/10/08 12/11/08 20/03/09
viii
Release 0.0.2 0.0.3 0.0.4 0.1.0 0.1.1
0.1.8 0.1.9 0.2.0 0.2.1 0.2.2 0.2.3
Editor R. Primavera R. Primavera R. Primavera R. Primavera F. Houbie
Description Chapter definition, content added. All chapters revised and content added. All chapters revised and content added. All chapters revised and content added. Update of table 3 Add parentIdentifier property Fix mismatch between gml properties and slot names Correct xpath expressions Put the namespace in the xpath expressions and correct some xpath errors. See complete change history in Annex H See complete change history in Annex H See complete change history in Annex H See complete change history in Annex H See complete change history in Annex H5 See complete change history in Annex H6 See complete change history in Annex H7 See complete change history in Annex H8
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
0.2.4
F. Houbie
See complete change history in Annex H9
25/06/09
0.2.5
L. Bigagli
15/01/10
1.0
Carl Reed
See complete change history in Annex H10 Edit and prepare for publication
01/06/09
v.
Various
Changes to the OGC Abstract Specification
The OGC® Abstract Specification does not require changes to accommodate the technical contents of this document.
vi.
Future work
Future work items include reconsidering the 1:1 mapping between the GML EO structure and the EO Extension Package ebRIM registry and to limit the EO Extension Package to the queryable properties only.
vii.
Foreword
This document has been created based on requirements from the European Space Agency and partners as part of the Heterogeneous Missions Accessibility project. This document is conformant with the [OGC 06-080r4] GML Application Schema for EO Products document (and OGC standard) as proposed by the European Space Agency, the French Space Agency, the European Satellite Center, Spacebel s.a. and Spot Image. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium Inc. shall not be held responsible for identifying any or all such patent rights. Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
ix
OpenGIS® Implementation Standard
OGC 06-131r6.
Introduction This standard is part of a suite of OGC documents that describe service interfaces and encodings for managing Earth Observation (EO) data products. The services include collection level and product level catalogues, online-ordering for existing and future products, online access, etc. The service interfaces and operations described in this standard are intended to support the identification of (EO) data products from previously identified data collections. In other words, the search and presentation of metadata from catalogues of EO data products through standard compliant operations. The intent of this profile is to describe a cost-effective interface that can be supported by many data providers (satellite operators, data distributors, etc.), most of whom have existing (and relatively complex) facilities for the management of their EO data. EO data product collections are usually structured to describe data products derived from a single sensor onboard a satellite or series of satellites. Products from different classes of sensors usually require specific product metadata. The following classes of products have been identified so far: radar, optical, atmospheric. The proposed approach is to identify a common set of elements grouped in a common (EOP) schema and extend this common schema to add sensors specific metadata. 1
Scope
This OGC® standard specifies the Earth Observation Products Extension Package for ebRIM (ISO/TS 15000-3) Application Profile of CSW 2.0, based on the [OGC 06080r4] OGC™ GML Application Schema for EO Products. This application profile enables CSW-ebRIM catalogues to handle a variety of metadata pertaining to earth observation, like EO Products defined in [OGC 06080r4]. This application profile standard describes the interfaces, bindings and encodings required to discover, search and present metadata from catalogues of Earth Observation products. The profile presents a minimum specification for catalogue interoperability within the EO domain, with extensions for specific classes of data. 2
Compliance
2.1
Conformance to base specifications
An implementation compliant with to this standard shall conform to one of the two levels of conformance to the ebRIM profile of CS-W defined in OGC 07-110r4. As stated in clause 2 of OGC 07-110r4, this conformance statement concerns: -
The requirements stipulated for the corresponding conformance level of OGC CSW-ebRIM Registry Service - Part 1: ebRIM profile of CSW (1.0.1) [07110r4];
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
1
Open Geospatial Consortium Inc.
2.2
OGC 06-131r6
The applicable requirements in all normative base specifications. Conformance classes of the EO EP
This standard defines four levels of conformance. 2.2.1
Conformance class A.1: The core (EOP support)
This conformance class defines test cases for the ebRIM entities (e.g., extrinsic objects, slots, associations and classifications) supported by all Earth Observation products, i.e. those that are mapped to XML elements in the EOP namespace of GML Application Schema for EO Products [OGC 06-080r4, version 0.9.3]. It defines test cases covering: -
Mandatory support of SOAP 1.2;
-
Availability of the extension package;
-
Correct instantiation of the EOP part of the EO Extension Package;
-
Correct implementations of the mappings between the EOP properties of the EO GML repository items and the ebRIM registry;
-
Correct grouping of the metadata in the EOProduct registry package;
-
Support of the appropriate parameter values for the GetRepositoryItem operation;
-
Support of the appropriate parameter values for the Harvest operation.
NOTE: Support of SOAP 1.2 is optional in the ebRIM profile of CSW (OGC 07110r4). It is mandatory in this Extension Package. Due to the way the ebRIM profile of CSW’s ATS is structured (cf. ATC 26 to 28 in OGC 08-103r2), it is necessary to include a test case in the ATS of this specification verifying that SOAP 1.2 is supported by the implementation being tested. Further testing of SOAP capabilities is specified in the CSW ebRIM ATS and needs not be repeated in the ATS of this specification. 2.2.2
Conformance class A.2: SAR Extension
This conformance class extends the Core conformance class by defining test cases for the slots relevant for the Synthetic Aperture Radar (SAR) Earth Observation products, i.e. those that are mapped to XML elements in the SAR namespace of GML Application Schema for EO Products [OGC 06-080r4, version 0.9.3]. This conformance class defines test cases covering: -
2
Correct instantiation of the SAR slots of the EO Extension Package;
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
-
Correct implementations of the mappings between the SAR properties of the EO GML repository items and the ebRIM registry;
-
Support of the appropriate parameter values for the Harvest operation.
2.2.3
Conformance class A.3: OPT Extension
This conformance class extends the Core conformance class by defining test cases for the slots relevant for Optical (OPT) Earth Observation products, i.e. those that are mapped to XML elements in the OPT namespace of GML Application Schema for EO Products [OGC 06-080r4, version 0.9.3]. This conformance class defines test cases covering: -
Correct instantiation of the OPT slots of the EO Extension Package;
-
Correct implementations of the mappings between the OPT properties of the EO GML repository items and the ebRIM registry;
-
Support of the appropriate parameter values for the Harvest operation.
2.2.4
Conformance class A.4: ATM Extension
This conformance class extends the Core conformance class by defining test cases for the slots relevant for the Atmospheric (ATM) Earth Observation products, i.e. those that are mapped to XML elements in the ATM namespace of GML Application Schema for EO Products [OGC 06-080r4, version 0.9.3]. This conformance class defines test cases covering:
2.3
-
Correct instantiation of the ATM extrinsic object, association and slots of the EO Extension Package;
-
Correct implementations of the mappings between the ATM properties of the EO GML repository items and the ebRIM registry;
-
Support of the appropriate parameter values for the Harvest operation. Conformance requirements
An implementation compliant with this standard shall pass all applicable tests specified in the Abstract Test Suite of the ebRIM profile of CS-W documented in CSW-ebRIM Registry Service – Part 3: Abstract Test Suite (1.0.1) [OGC 08-103]. In complement to this, the implementation shall pass the conformance tests specified in the EO EP Abstract Test Suite (See Annex A) applicable to both the targeted EO EP conformance class and to the conformance level to the ebRIM profile of CS-W, as described in the following table. EO EP Conformance
Conformance levels of the ebRIM profile of CS-W Level 1
Level 2
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
3
Open Geospatial Consortium Inc.
OGC 06-131r6
classes
A.1 – The Core (EOP support)
A.1.1, A.1.2, A.1.3, A.1.4, A.1.5, A.1.6, A.1.7, A.1.8, A.1.9, A.1.10, A.1.11, A.1.12, A.1.13, A.1.14, A.1.15, A.1.16, A.1.17, A.1.18, A.1.19, A.1.20, A.1.21, A.1.22, A.1.23, A.1.24, A.1.26
A.1.1, A.1.2, A.1.3, A.1.4, A.1.5, A.1.6, A.1.7, A.1.8, A.1.9, A.1.10, A.1.11, A.1.12, A.1.13, A.1.14, A.1.15, A.1.16, A.1.17, A.1.18, A.1.19, A.1.20, A.1.21, A.1.22, A.1.23, A.1.24, A.1.25, A.1.26
A.2 – SAR Extension
A.2.1, A.2.2
A.2.1, A.2.2, A.2.3
A.3 – OPT Extension
A.3.1, A.3.2
A.3.1, A.3.2, A.3.3
A.4 – ATM Extension
A.4.1, A.4.2, A.4.3
A.4.1, A.4.2, A.4.3, A.4.4
3
Normative references
Parts of the following normative documents are referenced in this text. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. For undated references, the latest edition of the normative document referred to applies. [ebRIM] OASIS ebXML Registry Information Model Version 3.0 [ISO 19115:2003] Geographic information : Metadata [OGC 04-095] OGC® Filter Encoding Implementation Specification, version 1.1.0, 2005/05/03 [OGC 05-008] OGC® Web Services Common Specification Corrigendum, version 1.0.0, 2005/11/22 [OGC 07-110r4] OGC® CSW-ebRIM Registry Service - Part 1: ebRIM profile of CSW, version 1.0.1, 2009/02/05. [OGC 07-144r4] OGC® CSW-ebRIM Registry Service – Part 2 : Basic extension package, version 1.0.1, 2009/02/05 [OGC 08-103r2] OGC® CSW-ebRIM Registry Service – Part 3: Abstract Test Suite (1.0.1), version 1.0.1, 2009/02/05 [OGC 06-080r4] OGC® GML 3.1.1 Application Schema for Earth Observation Products, version 0.9.3, 2008/07/21
4
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
[OGC 07-006r1] OGC® Catalogue Services Specification, version 2.0.2 (Corrigendum 2 Release), 2007/02/23 [OGC 07-092] OGC® Definition identifier URNs in OGC namespace, version 1.3.0, 2006/01/15. In addition to this document, this specification includes several normative XML Schema Document files as specified in Annex B. 4
Terms and definitions
For the purposes of this specification, the definitions specified in Clause 4 of the [OGC 05-008] OGC® OWS Common Implementation Standard shall apply. In addition, the following terms and definitions apply. 4.1
application profile see the term “profile” in this list. 4.2
client software component that can invoke an operation from a server. data level stratum within a set of layered levels in which data is recorded that conforms to definitions of types found at the application model level [ISO 19101]. 4.3
dataset series (dataset collection 1 ) collection of datasets sharing the same product specification [ISO 19113, ISO 19114, ISO 19115]. In the earth observation context, a collection typically corresponds to datasets (i.e. products) derived from data acquired by a single sensor onboard a satellite or series of satellites. 4.4
datastrip a satellite acquisition. 4.5
geographic dataset dataset with a spatial aspect [ISO 19115]. 4.6
geographic information information concerning phenomena implicitly or explicitly associated with a location relative to the Earth [ISO 19128 draft].
1 Due to historical reasons we will mainly use the term ‘dataset collection’ in this document, although the term ‘dataset series’ is used in the ISO/TC211 Terminology Maintenance Group.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
5
Open Geospatial Consortium Inc.
OGC 06-131r6
4.7
georesource geographic information of a specific type (e.g. geographic dataset, geographic application, geographic service). 4.8
identifier linguistically independent sequence of characters capable of uniquely and permanently identifying that with which it is associated. 4.9
interface named set of operations that characterize the behavior of an entity [ISO 19119]. 4.10
metadata entity set of metadata elements describing the same aspect of data. NOTE 1 May contain one or more metadata entities. NOTE 2 Equivalent to a class in UML terminology [ISO 19115]. 4.11
metadata schema conceptual schema describing metadata. NOTE ISO 19115 describes a standard for a metadata schema. [ISO 19101]. 4.12
metadata section subset of metadata that defines a collection of related metadata entities and elements [ISO 19115]. 4.13
operation specification of a transformation or query that an object may be called to execute [ISO 19119]. 4.14
parameter variable whose name and value are included in an operation request or response [ISO 19119]. 4.15
profile set of one or more base standards and – where applicable – the identification of chosen clauses, classes, subsets, options and parameters of those base standards that are necessary for accomplishing a particular function [ISO 19101, ISO 19106]. NOTE The terms “profile” and “application profile” are used interchangeably in this document.
6
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
4.16
qualified name name that is prefixed with its naming context. 4.17
request invocation of an operation by a client. 4.18
response result of an operation, returned from a server to a client. 4.19
schema formal description of a model [ISO 19101, ISO 19103, ISO 19109, ISO 19118]. 4.20
server service instance a particular instance of a service [ISO 19128]. 4.21
service distinct part of the functionality that is provided by an entity through interfaces [ISO 19119]. 4.22
service interface shared boundary between an automated system or human being and another automated system or human being [ISO 19101]. 4.23
service metadata metadata describing the operations and geographic information available at a server [ISO 19128]. state (of an object) persistent data object reflecting the internal values of all the member attributes or measurable descriptions of an object at a given time. 4.24
NOTE State is usually associated to an object by its identity and to a time by a timestamp [ISO 19132]. 4.25
transfer protocol common set of rules for defining interactions between distributed systems [ISO 19118]. 4.26
version version of an Implementation Specification (document) and XML Schemas to which the requested operation conforms. Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
7
Open Geospatial Consortium Inc.
OGC 06-131r6
NOTE An OWS Implementation Specification version may specify XML Schemas against which an XML encoded operation request or response should be validated.
5
Conventions
5.1
Abbreviated terms
Some more frequently used abbreviated terms: API
Application Program Interface
ATM
Atmospheric Type (Namespace)
BPEL
Business Process Execution Language
COTS
Commercial Off The Shelf
CQL
Common Query Language
CRS
Coordinate Reference System
CSW
Catalogue Service for Web
DC
Dublin Core
DCMI
Dublin Core Metadata Initiative
DCP
Distributed Computing Platform
ebRIM
ebXML Registry Information Model
EO
Earth Observation
EOP
Basic Earth Observation Product Type (Namespace)
GML
Geography Markup Language
HMA
Heterogeneous Missions Accessibility
HTTP
HyperText Transfer Protocol
ISO
International Organization for Standardization
OGC
Open Geospatial Consortium
OPT
Optical Type (Namespace)
PHR
Pleiades High Resolution Type (Namespace)
SAR
Synthetic Aperture Radar Type (Namespace)
SOAP
Simple Object Access Protocol
SQL
Structured Query Language
UML
Unified Modeling Language
URI
Uniform Resource Identifier
URL
Uniform Resource Locator
URN
Uniform Resource Name
UTF-8
Unicode Transformation Format-8
WSDL
Web Service Definition Language
8
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
W3C
World Wide Web Consortium
XML
eXtensible Markup Language
5.2
UML notation
Some of the diagrams in this document are presented using the Unified Modeling Language (UML) static structure diagram. The UML notations used in this document are described in Figure 1, below. Association between classes Association Name
Class #1
role-1
Class #2
role-2
Association Cardinality 1..*
Class
0..*
Class
0..1
Class
Only one n Zero or more
Class
Class
Specific number
Optional (zero or one )
Aggregation between classes
Class Inheritance (subtyping of classes) Superclass
Aggregate Class
Component Class #1
One or more
Component Class #2
Component Class #n
Subclass #1
Subclass #n
Subclass #2
……….
…………..
Figure 1: UML notations In these UML class diagrams, the class boxes with a light background are the primary classes being shown in this diagram, often the classes from one UML package. The class boxes with a gray background are other classes used by these primary classes, usually classes from other packages. 5.3
Used parts of other documents
This document uses significant parts of OGC® GML Application Schema for EO Products document [OGC 06-080r4]. To reduce the need to refer to that document, this standard copies some elements from that document. 6
System context
This section focuses on the purpose, scope and policies of catalogue services that comply with the EO application profile. This section documents special requirements and describes the context of their use. Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
9
Open Geospatial Consortium Inc.
6.1
OGC 06-131r6
Application domain
The catalogue services proposed in this standard are intended to support the retrieval of EO products metadata, possibly in two steps. Step 1: identification of collections of interest through a catalogue of collections metadata. Step 2: identification of EO products of interest within one or several collections through a catalogue of EO products metadata. This standard covers step 2. For the retrieval of EO products metadata, the defined interface should allow to implement both generic clients not aware of sensor specific metadata and more specialized clients aware of sensors specific metadata. 6.2
Essential use cases
The use cases for this standard are the ebRIM profile of CSW use cases applied to Earth Observation. See [OGC 07-110r4]. 7
Catalogue Infrastructure Overview
Catalogues are intended to store metadata describing resources published by providers and allow clients to find these resources. These resources metadata are organized in Catalogues according to specific data models, based on the registry information model.
Figure 2: General Catalogue Infrastructure This schema clearly describes the following: − Resources are described using Metadata, − Metadata are stored in Catalogues, according to a ExtensionPackage defining accurately the mapping of such type of resources (ExtensionPackage is resource-specific),
10
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
− ExtensionPackage is based on a generic model, called the RegistryInformationModel (aka RIM). The RegistryInformationModel is common to all resources within a catalogue, − Applications use Catalogues to discover resources through their metadata. In the Earth Observation context: − Resources are Earth Observation Products (aka EOProducts), − Metadata (describing EOProducts) are typically encoded into GML documents in conformance with [OGC 06-080r4] 2 , − Metadata are stored in Catalogues according to the EOProducts ExtensionPackage, − The EOProducts ExtensionPackage is based on the ebRIM (a RegistryInformationModel used in an Application Profile of CSW 2.0 compliant catalogues),
Figure 3: Earth Observation Oriented Catalogue Infrastructure These standards define: − The way to interact with Catalogues through operations on the service (in this case a Web Service) to publish and query data, − The way to use a registry information model (in this case ebRIM) to allow mapping of resources in Catalogues,
2 In practice, metadata describing EOProducts may be encoded in many formats (DIMAP, HDF, GeoTIFF, etc.)
This extension package models the full set of metadata of the referred GML schema, so the catalogue interface can be used independently of the existence of a GML document – e.g for products with different encodings or as an interface to legacy catalogues. However, for the sake of simplicity, this document assumes the availability of metadata in GML format.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
11
Open Geospatial Consortium Inc.
OGC 06-131r6
− The way to map each kind of metadata to the RIM. A specific kind of resource (e.g., an Earth Observation Product) shall be modeled using the same set of ebRIM objects in all Catalogues. Indeed, discover queries are strongly dependant on the chosen mapping. Even if this strong dependence can be a drawback for client implementation, flexibility can be enhanced and complexity reduced from the client’s point of view using mechanisms like stored queries (see section 16 of [OGC 07-110r4]). A single and common (standardized) mapping ensures interoperability between Catalogue implementations. This document defines the extension package for Earth Observation Products. This document extends the [OGC 07-006r1] OGC® Catalogue Services Specification 2.0.2 (Corrigendum 2 Release) and the [OGC 07-110r4] CSW-ebRIM Registry Service Part 1: ebRIM profile of CSW by adding mandatory support of requests and responses in SOAP. The relevant version of SOAP for OGC standards is 1.2 and is the normative reference for this document. 8
Earth Observation Resource Mapping
8.1 General Information
The scope of the information managed within this profile is the core metadata that are required to distinguish and identify EO resources. As shown in Table 1, two levels of metadata describe the EO resources: the collection level (i.e., dataset collection) and the product level (i.e., dataset). Table 1 — EOProduct Metadata Levels EO resource
Description
EO Product Collection
Mapped to dataset collection in OGC Terminology. Set of metadata that describes an EO Product Collection.
EO Product
Mapped to dataset in OGC Terminology. Set of metadata that describes an EO Product.
These two levels are interrelated according the following schema:
12
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Figure 4: Relationship between EO Dataset Collections and Datasets EO Collection level metadata are defined using the [ISO 19115:2003] ISO/TC211 Metadata Standards. As shown in the above diagram, nested EO Collections are not considered, as far as this document is concerned. Besides, the management of EO Collection metadata is out of the scope of this document. Product level metadata are defined using the [OGC 06-080r4] OGC® GML Application Schema for EO Products (version 0.9.3). This document defines how the EO Product level metadata can be registered smoothly into CS-W Catalogues implementing the ebRIM Application Profile. It also defines the set of fields that are available for efficient discovery. 8.2 EO Products Metadata Mapping 8.2.1 Earth Observation Product Types
The following picture describes the layered structure of the schemas used to define the different classes of product metadata. The layer structure means that the upper layer main element type is defined by extending a type from the lower level schema.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
13
Open Geospatial Consortium Inc.
OGC 06-131r6
Other Specific Mission EO Products description
Specific, tight community
Other Thematic EO Products description
Mission Specific EO Products Viewer
PHR …
Thematic EO Products Viewer
OPT
SAR
ATM
General EO Products Viewer
EOP
Generic GML Viewer
GML
…
Generic, widespread community
Figure 5 : A layered view of GML EO Products data Catalogue metadata for specific EO mission type
sar.xsd
Catalogue metadata for Earth Observation
opt.xsd ohr.xsd
atm.xsd
hma.xsd eop.xsd gmd (ISO 19139)
Generic and geometric catalogue metadata
gml
Namespaces for radar missions
Namespaces for optical missions
Namespaces for atmospheric missions
Figure 6: EO Product XML Schemas Structure The layered approach explained above is extensible. The purpose of the top layer in Figure 6 is to define the most commonly used EO metadata specific to the mission type. This layer can be extended for mission-specific needs as shown in the figure below, e.g. to add Pleiades specific metadata. In this particular example, the optical opt.xsd schema extensions are grouped in an additional schema phr.xsd which is a layer on top of opt.xsd.
14
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
phr.xsd opt.xsd
eop.xsd gml
Figure 7: Pleiades dataset layered structure The element that describes the EO metadata is the “EarthObservation” element which is defined in the SAR (Synthetic Aperture Radar), OPT (Optical), ATM (Atmospheric) specific schemas as an extension of a common EarthObservation element defined in the EOP schema. EO Products are described using one instance of the following types (or possibly of more specific subtypes): − eop:EarthObservation; − sar:EarthObservation, which derives from eop:EarthObservation; − opt:EarthObservation, which derives from eop:EarthObservation; − atm:EarthObservation, which derives from eop:EarthObservation. The eop:EarthObservation element derives from gml:Observation. 8.2.2
ebXML Slot Types Definition
In order to map the EO products to an ebRIM structure, we need to define the range of slot types that will be used in the model. Slot types range should be defined in the CSW-ebRIM Registry Service - Part 1: ebRIM profile of CSW [OGC 07-110r4] , but since its not the case, the definition takes place in this document.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
15
Open Geospatial Consortium Inc.
OGC 06-131r6
The following table defines the types allowed for the slotType attribute of ebXML slots. Several slot types are based on datatypes defined in the XML Schemas scope. Table 2 — Slot Types Defintion Slot Types URI
Definition and representation of the slot values URN: urn:oasis:names:tc:ebxml-regrep:DataType:URI Represent a Uniform Resource Identifier (URI). An URI value can be absolute or relative, and may have an optional fragment identifier (i.e., it may be a URI Reference). This type should be used to specify the intention that the value fulfills the role of a URI as defined by the RFC 2396, as amended by the RFC 2732.
Boolean
URN: urn:oasis:names:tc:ebxml-regrep:DataType:Boolean Defined as the mathematical concept of binary-valued logic. Accepted values are true and false.
DateTime
URN: urn:oasis:names:tc:ebxml-regrep:DataType:DateTime Consist of objects with integer-valued year, month, day, hour and minute properties, a decimal-valued second property, and a boolean timezone property. Each such object also has one decimal-valued method or computed property, timeOnTimeline, whose value is always a decimal number; the values are dimensioned in seconds, the integer 0 is 0001-0101T00:00:00 and the value of timeOnTimeline for other dateTime values is computed using the Gregorian algorithm as modified for leap-seconds. The timeOnTimeline values form two related “timelines”, one for timezoned values and one for non-timezoned values. Lexical representation is ISO 8601. For example, 2002-10-10T12:00:0005:00 (noon on 10 October 2002, Central Daylight Savings Time as well as Estearn Standard Time in the U.S.) is 2002-10-10T17:00:00Z, five hours later than 2002-10-10T12:00:00Z.
Double
URN: urn:oasis:names:tc:ebxml-regrep:DataType:Double Consist of the values m x 2^e where m is an integer whose absolute value is less than 2^53 and e is an integer between -1075 and 970, inclusive. In addition, float also contains the following three special numbers : positive infinity (INF), negative infinity (-INF) and not-a-number (NaN). Positive infinity is greater than all other non-NaN values, negative infinity is smaller than all other non-NaN values. NaN equals itself but is incomparable with any other value. Allowed lexical representations includes -1E4, 1267.43233E12, 17.78e-2, 12, 0, INF, …
Float
URN: urn:oasis:names:tc:ebxml-regrep:DataType:Float Consist of the values m x 2^e where m is an integer whose absolute value is less than 2^24 and e is an integer between -149 and 104, inclusive. In addition, float also contains the following three special numbers : positive infinity (INF), negative infinity (-INF) and not-a-number (NaN). Positive infinity is greater than all other non-NaN values, negative infinity is smaller than all other non-NaN values. NaN equals itself but is incomparable with
16
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Slot Types
Definition and representation of the slot values any other value. Allowed lexical representations includes -1E4, 1267.43233E12, 17.78e-2, 12, 0, INF, …
GM_Object
URN: urn:ogc:def:dataType:ISO-19107:2003:GM_Object Represent a GML geometry, expressed in its XML format.
Integer
URN: urn:oasis:names:tc:ebxml-regrep:DataType:Integer Defined as the mathematical concept of the integer numbers. Accepted values are integers from -2147483648 (inclusive) to +2147483647 (inclusive). Note that if the sign is ommited, “+” is assumed.
String
URN: urn:oasis:names:tc:ebxml-regrep:DataType:String Represent alphanumeric character strings.
8.2.3
Mapping Schema Structure
The following sections describes the ebRIM schema needed to map the Earth Observation metadata onto the eBusiness Registry Information Model (ebRIM). That schema defines the Catalogue discovery abilities and efficiency. The EO schema is composed of three parts: − The main container to store the observation metadata and the acquisition parameters; − The EO Product Types taxonomy (hierarchical) to classify the main container; − Multiple associated metadata containers.
Figure 8: EO Products Mapping Schema Structure
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
17
Open Geospatial Consortium Inc.
8.2.4
OGC 06-131r6
Acquisition Parameters
In an ebRIM Catalogue, each EO Product instance is represented by an ExtrinsicObject with the ‘urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct’ objectType attribute. This ExtrinsicObject is the main object of the EO Product mapping schema. This object contains a set of attributes, matching the queryable metadata coming from the GML document. These attributes characterize directly the product acquisition.
Figure 9: EO Products instance The GML metadata file is linked to the main ExtrinsicObject as content (this is the related RepositoryItem). This can be done either internally if the Catalogue is also a repository (the GML file is stored in the Catalogue), or externally if the Catalogue is only a registry (the GML file is linked, or generated from available up-to-date metadata). These implementation details are further discussed in Annex D. All representative acquisition parameters are available (as fields or slots) for extended search. It allows queries like: - “Give me all EO Product instances intersecting this footprint, measured after this date and acquired with an Accross-Track Pointing Angle less than x degrees”. More formally: - “Give me all ExtrinsicObjects with the objectType equals to ‘urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct’, the extentOf slot value – a geometry – intersecting this box, the beginPosition value – a ISO 8601 date greater than this date and the alongTrackIncidenceAngle slot value – a double - less than x”. Using the CS-W ebRIM request, it gives: <?xml version="1.0" encoding="UTF-8"?> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
18
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:wrs="http://www.opengis.net/cat/wrs/1.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" outputSchema="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" service="CSW" version="2.0.2" resultType="results" startPosition="1" maxRecords="20"> <csw:Query typeNames="rim:ExtrinsicObject"> <csw:ElementSetName typeNames="rim:ExtrinsicObject">full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <!-- This clause means “returned ExtrinsicObjects must represent EOProduct” --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/@objectType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- This clause mean “ExtrinsicObject’s extentOf slot value must intersect with this box” --> <ogc:BBOX> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name=urn:ogc:def:slot:OGC-CSW-ebRIMEO::multiExtentOf’]/wrs:ValueList/wrs:AnyValue</ogc:PropertyName> <gml:Envelope> <gml:lowerCorner>48.86 -124.18</gml:lowerCorner> <gml:upperCorner>51.72 -111.64</gml:upperCorner> </gml:Envelope> </ogc:BBOX> <!-- This clause means “ExtrinsicObject’s acquisition beginPosition slot value must be greater than that date” --> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name=urn:ogc:def:slot:OGC-CSW-ebRIMEO::beginPosition’]/rim:ValueList/rim:Value</ogc:PropertyName> <ogc:Literal>2006-07-15T00:00:00Z</ogc:Literal> </ogc:PropertyIsGreaterThan> <!-- This clause means “ExtrinsicObject’s acquisitionAlongTrackIncidenceAngle must be equals to that value” --> <ogc:PropertyIsLessThan> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name=’urn:ogc:def:slot:OGC-CSW-ebRIMEO::alongTrackIncidenceAngle’]/rim:ValueList/rim:Value </ogc:PropertyName> <ogc:Literal>15.3</ogc:Literal> </ogc:PropertyIsLessThan> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Every EO Product instance shall have the general eop fields in common, plus their theme and mission-specific fields. The main ExtrinsicObject enables searches on the EO Products metadata and acquisition parameters. The following table details the use of predefined attributes and slots, in order to map information coming from the GML metadata file to the ExtrinsicObject representing the EOProduct. Depending on the cardinality, instances of these slots may not be present in a specific EO Product instance. Mandatory slots shall be present. The EO Product identifier is mapped to an ExternalIdentifier linked to this ExtrinsicObject, as shown in Figure 10. Note that the EO Product identifiers are assumed to start with the parentidentifier (see Section 10.1).
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
19
Open Geospatial Consortium Inc.
OGC 06-131r6
Figure 10: EO Products instance
20
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Table 3 — EOProduct ExtrinsicObject Correspondence GML Metadata XPath
EOProduct ExtrinsicObject Attribute
(Slot) Type 3
Query Cardin able 4 ality
“urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct” (fixed value)
/rim:ExtrinsicObject/@objectType 5
/
Yes
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:identifier
/rim:ExternalIdentifier/@value (linked to the EOProduct ExtrinsicObject by the ExternalIdentifier’s registryObject attribute)
/
No
1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:doi
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::doi”]/rim:ValueList/rim:Value[1] 6
String
Yes
0..1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:parentIdentifier
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::parentIdentifier”]/rim:ValueList/rim:Value[1]
String
Yes
0..1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:productType
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::productType”]/rim:ValueList/rim:Value[1]
String
Yes
0..1
3 For the readability of the table, the slot type corresponds to the data type short name defined in section 8.2.2 (Table 2). In the section 8.2.2, the short name is mapped to the full data type URN. In
the ebRIM model, the full URN must be used.
4 This field defines if a property is queryable. Non-queryable metadata cannot appear in query requests, but they are useful in catalog responses to enhance the presentation. By adding these metadata
to the ebXML response to a query, we avoid that a client would have to interface directly to the repository document to receive the full set metadata – ie. making multiple calls to a) get a query response in ebXML, and then b) fetch a GML document for each result.
5 In this document, the rim prefix is associated to the namespace "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0". The wrs prefix is associated to the namespace “http://www.opengis.net/cat/wrs/1.0”. The notations are not meant to be used literally: in particular, since the ebRIM AP specializes ExtrinsicObject, etc., in the wrs namespace, the above expressions may also be expressed in the wrs namespace. 6 The notation /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct”]/rim:Slot[@name=” urn:ogc:def:slot:OGC-CSW-ebRIM-
EO::doi”]/rim:ValueList/rim:Value[1] is used to identify the slots in the correct ExtrinsicObject. This notation cannot be used in a GetRecords query (see §0 for a GetRecord query example).
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
21
Open Geospatial Consortium Inc.
OGC 06-131r6
GML Metadata XPath
EOProduct ExtrinsicObject Attribute
(Slot) Type 3
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:status
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::status”]/rim:ValueList/rim:Value[1]
String
Yes
1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMMetaData/eop:vendorSpecific/eop:SpecificInformation/eop:localAttri EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMbute EO::vendorSpecificAttributes”]/rim:ValueList/rim:Value[*] 7
String
No
0..n
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMMetaData/eop:vendorSpecific/eop:SpecificInformation/eop:localValu EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMe EO::vendorSpecificValues”]/rim:ValueList/rim:Value[*]
String
No
0..n
/eop:EarthObservation/gml:target/eop:Footprint/gml:multiExtentOf
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::multiExtentOf”]/wrs:ValueList/wrs:AnyValue[1] 8
GM_Object Yes (MultiPoly gon)
0..1
/eop:EarthObservation/gml:target/eop:Footprint/gml:centerOf
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::centerOf”]/wrs:ValueList/wrs:AnyValue[1]
GM_Object Yes (Point)
0..1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:acquisitionType
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::acquisitionType”]/rim:ValueList/rim:Value[1]
String
1
Query Cardin able 4 ality
Yes
7 Slots “vendorSpecificAttributes” and “vendorSpecificValues” are intimately linked, since the first one contains all values of eop:localAttribute’s elements (ordered) and the second one all values of
eop:localValue’s elements (ordered). So they are either both present or both missing, and they always have the same number of slot values. Value n of the Slot “vendorSpecificValues” is the localValue corresponding to the localAttribute encoded as the nth value of the Slot “vendorSpecificAttributes”.
8 See section 7.8 (Spatial References) of the doc [OGC 07-110] (ebRIM profile of CSW) to see how to include GML data into ebRIM Slots.
22
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
GML Metadata XPath
EOProduct ExtrinsicObject Attribute
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:acquisitionSubType
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::acquisitionSubType”]/rim:ValueList/rim:Value[1]
(Slot) Type 3
Query Cardin able 4 ality
String
Yes
0..1
/eop:EarthObservation/gml:validTime/gml:TimePeriod/gml:beginPos /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMition EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::beginPosition”]/rim:ValueList/rim:Value[1]
DateTime
Yes
1
/eop:EarthObservation/gml:validTime/gml:TimePeriod/gml:endPositi /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMon EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::endPosition”]/rim:ValueList/rim:Value[1]
DateTime
Yes
1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMMetaData/eop:downlinkedTo/eop:DownlinkInformation/eop:acquisiti EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMonStation EO::acquisitionStation”]/rim:ValueList/rim:Value[1]
String
Yes
0..1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMMetaData/eop:downlinkedTo/eop:DownlinkInformation/eop:acquisiti EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMonDate EO::acquisitionDate”]/rim:ValueList/rim:Value[1]
DateTime
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:orbitNumber EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::orbitNumber”]/rim:ValueList/rim:Value[1]
Integer
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:lastOrbitNumber EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::lastOrbitNumber”]/rim:ValueList/rim:Value[1]
Integer
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:orbitDirection EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::orbitDirection”]/rim:ValueList/rim:Value[1]
String
Yes
0..1
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
23
Open Geospatial Consortium Inc.
GML Metadata XPath
OGC 06-131r6
EOProduct ExtrinsicObject Attribute
(Slot) Type 3
Query Cardin able 4 ality
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:acrossTrackIncidenceA EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMngle EO::acrossTrackIncidenceAngle”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:alongTrackIncidenceAn EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMgle EO::alongTrackIncidenceAngle”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:pitch EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::pitch”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:yaw EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::yaw”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:roll EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::roll”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:ascendingNodeDate EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::ascendingNodeDate”]/rim:ValueList/rim:Value[1]
DateTime
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:startTimeFromAscendi EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMngNode EO::startTimeFromAscendingNode”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:completionTimeFromA EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMscendingNode EO::completionTimeFromAscendingNode”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
24
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
GML Metadata XPath
EOProduct ExtrinsicObject Attribute
(Slot) Type 3
Query Cardin able 4 ality
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:ascendingNodeLongitu EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMde EO::ascendingNodeLongitude”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:orbitDuration EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::orbitDuration”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/eo /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMp:acquisitionParameters/eop:Acquisition/eop:incidenceAngle EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::incidenceAngle”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/ eop:acquisitionParameters/eop:Acquisition/eop:wrsLongitudeGrid
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::wrsLongitudeGrid”]/rim:ValueList/rim:Value[1]
String
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquipment/ eop:acquisitionParameters/eop:Acquisition/eop:wrsLatitudeGrid
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::wrsLatitudeGrid”]/rim:ValueList/rim:Value[1]
String
Yes
0..1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:imageQualityDegradation
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::imageQualityDegradation”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:imageQualityDegradationQuotationMode
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::imageQualityDegradationQuotationMode”]/rim:ValueList/rim:Value[1]
String
Yes
0..1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:processing/eop:ProcessingInformation/eop:composite Type
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::compositeType”]/rim:ValueList/rim:Value[*]
String
No
0..n
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
25
Open Geospatial Consortium Inc.
OGC 06-131r6
GML Metadata XPath
EOProduct ExtrinsicObject Attribute
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:processing/eop:ProcessingInformation/eop:method
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::method”]/rim:ValueList/rim:Value[*]
String
No
0..n
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMMetaData/eop:processing/eop:ProcessingInformation/eop:methodVer EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMsion EO::methodVersion”]/rim:ValueList/rim:Value[*]
String
No
0..n
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMMetaData/eop:processing/eop:ProcessingInformation/eop:processorN EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMame EO::processorName”]/rim:ValueList/rim:Value[*]
String
No
0..n
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMMetaData/eop:processing/eop:ProcessingInformation/eop:processorV EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMersion EO::processorVersion”]/rim:ValueList/rim:Value[*]
String
No
0..n
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:processing/eop:ProcessingInformation/eop:processing Level
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::processingLevel”]/rim:ValueList/rim:Value[*]
String
No
0..n
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObservation MetaData/eop:processing/eop:ProcessingInformation/eop:nativeProd uctFormat
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::nativeProductFormat”]/rim:ValueList/rim:Value[*]
String
No
0..n
26
Copyright © 2010 Open Geospatial Consortium, Inc.
(Slot) Type 3
Query Cardin able 4 ality
OGC 06-131r6
8.2.5
Earth Observation Taxonomy
A taxonomy is needed to distinguish EOProduct types in the ebRIM Catalogue (at the thematic or mission-specific levels). That taxonomy is modeled using a ClassificationScheme object and a hierarchy of ClassificationNodes:
Figure 11: EO Product Types Taxonomy
Each EO Product shall be classified in the taxonomy. The EO Product ExtrinsicObject shall be linked to its corresponding ClassificationNode through a Classification object. This allows EO Products discovery by acquisition type. For example, the following query allows to fetch the EOProducts types ClassificationScheme in order to retrieve all children or descendants ClassificationNodes. Classified ExtrinsicObject representing EOProducts can be discovered through Classifications linked to such ClassificationNodes. Example 1 – GetRecords query, to fetch ClassificationScheme. <?xml version="1.0" encoding="UTF-8"?> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" outputSchema="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" version="2.0.2" resultType="results" startPosition="1" maxRecords="20" service=”CSW”> <csw:Query typeNames="rim:ClassificationScheme"> <csw:ElementSetName typeNames="rim:ClassificationScheme">full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <!-- This clause means “Get the EO_Product_Types ClassificationScheme” --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ClassificationScheme/Name/LocalizedString/@value</ogc:PropertyName> <ogc:Literal>EO_Product_Types</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
27
Open Geospatial Consortium Inc.
OGC 06-131r6
Such relationship allows queries like: - “Give me all EO Products instances of type PHR”. More formally: - “Give me all objects linked to the PHR ClassificationNode through a Classification”. Example 2 – GetRecords query based on acquisition type. <?xml version="1.0" encoding="UTF-8"?> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" outputSchema="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" version="2.0.2" resultType="results" startPosition="1" maxRecords="20" service=“CSW“> <csw:Query typeNames="rim:ExtrinsicObject rim:Classification rim:ClassificationNode"> <csw:ElementSetName typeNames="rim:ExtrinsicObject">full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <!-- This clause means “Select the PHR ClassificationNode” --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ClassificationNode/@code</ogc:PropertyName> <ogc:Literal>PHR</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- This clause means “Get Classification linked to the PHR ClassificationNode” --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Classification/@classificationNode</ogc:PropertyName> <ogc:PropertyName>/rim:ClassificationNode/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <!-- This clause means “Such Classifications must classify ExtrinsicObject” --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Classification/@classifiedObject</ogc:PropertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <!-- This clause means “Classified ExtrinsicObjects must be of type urn:…:EOProduct” --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/@objectType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
28
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Figure 12: EO Product classified 8.2.6
Platform, Product and Archiving Metadata
Additional information is linked to the main EO Product ExtrinsicObject. These additional metadata are stored into specific ExtrinsicObjects, linked to the main one using Associations. Implementations claiming conformance to this specification shall implement all the associations and slots defined in this section. Depending on the cardinality, instances of the associations or slots may not be present in a specific EO Product instance. Mandatory slots and associations shall be instantiated. The Acquisition Platform parameters (i.e., Platform, Instrument and Sensor) are stored in an ExtrinsicObject having the objectType attribute set to ‘urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOAcquisitionPlatform’. It is linked to the main ExtrinsicObject through an Association object, with the associationType attribute equals to ‘urn:ogc:def:associationType:OGC-CSW-ebRIMEO::AcquiredBy’. An Acquisition Platform metadata set may be common to multiple acquisitions, defining therefore a n:1 association from the EO Product ExtrinsicObject to the matching EO Acquisition Platform ExtrinsicObject.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
29
Open Geospatial Consortium Inc.
OGC 06-131r6
Such information ensures EO Products search by acquisition platform, and provides a way to do queries like: - “Give me all EO Product acquired by this kind of Sensor”
More formally: - “Give me all ExtrinsicObjects with objectType equals to ‘urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct’, which are source of an Association of type ‘urn:ogc:def:associationType:OGC-CSW-ebRIMEO::AcquiredBy’ pointing – as target – to an ExtrinsicObject having as objectType ‘urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOAcquisitionPlatform’ and having this as sensorType slot value”.
In ebRIM, the CS-W request is formulated as : <?xml version='1.0' encoding='utf-8' ?> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" outputSchema="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" service="CSW" version="2.0.2" resultType="results" startPosition="1" maxRecords="20"> <csw:Query typeNames="rim:ExtrinsicObject rim:ExtrinsicObject_ACQPLAT rim:Association" > <csw:ElementSetName typeNames="rim:ExtrinsicObject">full</csw:ElementSetName> <csw:Constraint version="1.1.0" > <ogc:Filter> <ogc:And> <ogc:PropertyIsEqualTo > <ogc:PropertyName>/rim:ExtrinsicObject/@objectType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$ACQPLAT/@objectType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOAcquisitionPlatform</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo > <ogc:PropertyName>$ACQPLAT/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::sensorType”]/rim:ValueList/rim:Value[1]</ogc:PropertyName> <ogc:Literal>OPTICAL</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Association/@associationType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::AcquiredBy</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo>
30
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
<ogc:PropertyName>/rim:Association/@sourceObject</ogc:PropertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Association/@targetObject</ogc:PropertyName> <ogc:PropertyName>$ACQPLAT/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Product Information, associated to the EOProduct, are mapped to ExtrinsicObjects (with objectType attribute equals to ‘urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProductInformation’) and linked to the EO Product through Associations having the associationType attribute equals to ‘urn:ogc:def:associationType:OGCCSW-ebRIM-EO::HasProductInformation’. Browse Information, associated to the EOProduct, are mapped to ExtrinsicObjects (with objectType attribute equals to ‘urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOBrowseInformation’) and linked to the EO Product through Associations having the associationType attribute equals to ‘urn:ogc:def:associationType:OGCCSW-ebRIM-EO::HasBrowseInformation’. Mask Information, associated to the EOProduct, are mapped to ExtrinsicObjects (with objectType attribute equals to ‘urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOMaskInformation’) and linked to the EO Product through Associations having the associationType attribute equals to ‘urn:ogc:def:associationType:OGC-CSWebRIM-EO::HasMaskInformation’. Note that ExtrinsicObjects representing Product Information, Browse Information and Mask Information are mainly intended to provide useful information in the ebXML representation of Earth Observation Products (e.g. the response of a getRecords operation). Some of these properties are nevertheless also queryable, as shown in the mapping tables for these additional Information Objects.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
31
Open Geospatial Consortium Inc.
32
OGC 06-131r6
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Figure 13: EO Products additional information The following tables define the use of predefined attributes and slots, in order to map information coming from the GML metadata file to these additional ExtrinsicObjects.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
33
Open Geospatial Consortium Inc.
OGC 06-131r6
Table 4 — EOAcquisitionPlatform ExtrinsicObject Correspondence GML Metadata Xpath “urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOAcquisitionPlatform” (fixed value)
EOAcquisitionPlatform ExtrinsicObject Attribute /rim:ExtrinsicObject/@objectType
(Slot) Type Queryable Cardinality /
Yes
0..1 (the AcquiredBy association is optional)
String
Yes
1
/eop:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- String ment/eop:platform/eop:Platform/eop:serialIdentifier CSW-ebRIMEO::EOAcquisitionPlatform”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIMEO::platformSerialIdentifier”]/rim:ValueList/rim:Value[1]
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- String ment/eop:platform/eop:Platform/eop:orbitType CSW-ebRIMEO::EOAcquisitionPlatform”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIMEO::platformOrbitType”]/rim:ValueList/rim:Value[1]
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- String ment/eop:instrument/eop:Instrument/eop:shortName CSW-ebRIMEO::EOAcquisitionPlatform”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIMEO::instrumentShortName”]/rim:ValueList/rim:Value[1]
Yes
1
/eop:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- String ment/eop:sensor/eop:Sensor/eop:sensorType CSW-ebRIMEO::EOAcquisitionPlatform”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIM-EO::sensorType”]/rim:ValueList/rim:Value[1]
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCment/eop:platform/eop:Platform/eop:shortName CSW-ebRIMEO::EOAcquisitionPlatform”]/rim:Name/rim:LocalizedString/@val ue
34
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
GML Metadata Xpath
EOAcquisitionPlatform ExtrinsicObject Attribute
(Slot) Type Queryable Cardinality
/eop:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- String ment/eop:sensor/eop:Sensor/eop:operationalMode CSW-ebRIMEO::EOAcquisitionPlatform”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIMEO::sensorOperationalMode”]/rim:ValueList/rim:Value[1]
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- Double ment/eop:sensor/eop:Sensor/eop:resolution CSW-ebRIMEO::EOAcquisitionPlatform”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIMEO::sensorResolution”]/rim:ValueList/rim:Value[1]
Yes
0..1
/eop:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCment/eop:sensor/eop:Sensor/eop:swathIdentifier CSW-ebRIM-EO:: EOAcquisitionPlatform”]/rim:Slot[@name=”urn:ogc:def:slot:OGCCSW-ebRIM-EO::swathIdentifier”]/rim:ValueList/rim:Value[1]
Yes
0..1
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
35
String
Open Geospatial Consortium Inc.
OGC 06-131r6
Table 5 — EOProductInformation ExtrinsicObject Correspondence GML Metadata XPath “urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProductInformation” (Fixed value)
EOProductInformation ExtrinsicObject Attribute
/
Yes
0..1 (the HasProductInfo rmation association is optional)
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/eop:product/eop:ProductInformation/eop:referenceSyste CSW-ebRIMmIdentifier EO::EOProductInformation”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIMEO::referenceSystemIdentifier”]/rim:ValueList/rim:Value[1]
String
No
0..1
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/eop:product/eop:ProductInformation/eop:size CSW-ebRIMEO::EOProductInformation”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIM-EO::size”]/rim:ValueList/rim:Value[1]
Integer
Yes
0..1
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/eop:product/eop:ProductInformation/eop:version CSW-ebRIMEO::EOProductInformation”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIM-EO::version”]/rim:ValueList/rim:Value[1]
String
No
0..1
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/eop:product/eop:ProductInformation/eop:fileName CSW-ebRIMEO::EOProductInformation”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIM-EO::fileName”]/rim:ValueList/rim:Value[1]
URI
No
0..1
36
/rim:ExtrinsicObject/@objectType
(Slot) Type Queryable Cardinality
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Table 6 — EOBrowseInformation ExtrinsicObject Correspondence GML Metadata XPath “urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOBrowseInformation” (Fixed value)
EOBrowseInformation ExtrinsicObject Attribute /rim:ExtrinsicObject/@objectType
(Slot) Type Queryable Cardinality Yes
0..n (the HasBrowseInfo rmation association is optional and can be multiple)
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- String sult/eop:browse/eop:BrowseInformation/eop:type CSW-ebRIMEO::EOBrowseInformation”]/rim:Name/rim:LocalizedString/@valu e
Yes
1
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/eop:browse/eop:BrowseInformation/eop:subType CSW-ebRIMEO::EOBrowseInformation”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIM-EO::subType”]/rim:ValueList/rim:Value[1]
String
Yes
0..1
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/eop:browse/eop:BrowseInformation/eop:referenceSyste CSW-ebRIMmIdentifier EO::EOBrowseInformation”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIMEO::referenceSystemIdentifier”]/rim:ValueList/rim:Value[1]
String
No
1
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/eop:browse/eop:BrowseInformation/eop:fileName CSW-ebRIMEO::EOBrowseInformation”]/rim:Slot[@name=”urn:ogc:def:slot:O GC-CSW-ebRIM-EO::fileName”]/rim:ValueList/rim:Value[1]
URI
No
1
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
/
37
Open Geospatial Consortium Inc.
OGC 06-131r6
Table 7 — EOMaskInformation ExtrinsicObject Correspondence GML Metadata XPath “urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOMaskInformation” (Fixed value)
EOMaskInformation ExtrinsicObject Attribute
/
Yes
0..n (the HasMaskInfor mation association is optional and can be multiple)
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/eop:mask/eop:MaskInformation/eop:type CSW-ebRIMEO::EOMaskInformation”]/rim:Name/rim:LocalizedString/@value
String
Yes
1
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/eop:mask/eop:MaskInformation/eop:format CSW-ebRIMEO::EOMaskInformation”]/rim:Slot[@name=”urn:ogc:def:slot:OG C-CSW-ebRIM-EO::format”]/rim:ValueList/rim:Value[1]
String
Yes
1
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/eop:mask/eop:MaskInformation/eop:referenceSystemIde CSW-ebRIMntifier EO::EOMaskInformation”]/rim:Slot[@name=”urn:ogc:def:slot:OG C-CSW-ebRIMEO::referenceSystemIdentifier”]/rim:ValueList/rim:Value[1]
String
No
0..1
/eop:EarthObservation/gml:resultOf/eop:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/eop:mask/eop:MaskInformation/eop:fileName CSW-ebRIMEO::EOMaskInformation”]/rim:Slot[@name=”urn:ogc:def:slot:OG C-CSW-ebRIM-EO::fileName”]/rim:ValueList/rim:Value[1]
URI
No
1
38
/rim:ExtrinsicObject/@objectType
(Slot) Type Queryable Cardinality
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Finally, an object modeling the archiving information is linked to the EOProduct ExtrinsicObject through an Association with associationType attribute equals to ‘urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::ArchivedIn’. This Association has the EOProduct ExtrinsicObject’s objectType as sourceObject and the EOArchivingInformation ExtrinsicObject’s objectType as targetObject :
Figure 14: EO Products additional information
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
39
Open Geospatial Consortium Inc.
OGC 06-131r6
Table 8 — EOArchivingInformation ExtrinsicObject Correspondence GML Metadata XPath
EOArchivingInformation ExtrinsicObject Attribute
(Slot) Type Queryable Cardinality
/rim:ExtrinsicObject/@objectType
/
Yes
0..n (the ArchivedIn association is optional and can be multiple)
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObse /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- / rvationMetaData/eop:archivedIn/eop:ArchivingInformation/e CSW-ebRIMop:archivingCenter EO::EOArchivingInformation”]/rim:Name/rim:LocalizedString/@va lue
Yes
1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObse /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- String rvationMetaData/eop:archivedIn/eop:ArchivingInformation/e CSW-ebRIMop:archivingIdentifier EO::EOArchivingInformation”]/rim:Slot[@name=”urn:ogc:def:slot: OGC-CSW-ebRIMEO::archivingIdentifier”]/rim:ValueList/rim:Value[1]
Yes
0..1
/eop:EarthObservation/gml:metaDataProperty/eop:EarthObse /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- DateTime rvationMetaData/eop:archivedIn/eop:ArchivingInformation/e CSW-ebRIMop:archivingDate EO::EOArchivingInformation”]/rim:Slot[@name=”urn:ogc:def:slot: OGC-CSW-ebRIMEO::archivingDate”]/rim:ValueList/rim:Value[1]
Yes
1
“urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOArchivingInformation” (fixed value)
40
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
8.2.7
Grouping the Complete Mapping Schema into a Registry Package
To allow easier retrieving of the full representation of an EO Product, the objects defines earlier shall be grouped into a Registry Package. In the ebRIM specification [ebRIM], RegistryPackage instances allow for grouping of logically related RegistryObject. This RegistryPackage shall have the property Name set to ‘EOProduct’. A query on the Registry Package element shall return all the objects that represent a full EO Product. The complete schema of this registry package is depicted in the figure below. <<component>> Taxonomy EO_Product_Types:ClassificationScheme
EOP:ClassificationNode
SAR:ClassificationNode
ATM:ClassificationNode
OPT:ClassificationNode
PHR:ClassificationNode
RegistryPackage <<component>> Additional Information
:Classification
ArchivingInformation:ExtrinsicObject
<<component>> Main Object EOProduct:ExtrinsicObject +objectType = urn:...:EOProduct +productType +status +beginPosition +endPosition +extentOf +acquisitionType +acquisitionSubType +orbitNumber +lastOrbitNumber +orbitDirection +imageQualityCode +acrossTrackPointingAngle +alongTrackPointingAngle +pitch +roll +yaw +doi +acquisitionStation +centerOf +... theme specific attributes ...
target source
+associationType = urn:...:ArchivedIn Platform:ExtrinsicObject source
Identifier:ExternalIdentifier
AcquiredBy:Association +associationType = urn:...:AcquiredBy
source
target
HasProductInformation:Association +associationType = urn:...:HasProductInformation
target
+objectType = urn:...:EOAcquisitionPlatform +platformShortName +platformSerialIdentifier +instrumentShortName +sensorType +sensorOperationalMode +sensorResolution +platformOrbitType ProductInformation:ExtrinsicObject
source
+objectType = urn:...:EOProductInformation +size +version +fileName +referenceSystemIdentifier
HasMaskInformation:Association +associationType = urn:...:HasMaskInformation
source
content
ArchivedIn:Association
+objectType = urn:...:EOArchivingInformation +archivingCenter +archivingIdentifier +archivingDate
HasBrowseInformation:Association
MaskInformation:ExtrinsicObject target
+associationType = urn:...:HasBrowseInformation target
GML Metadata File
+objectType = urn:...:EOMaskInformation +type +format +fileName +referenceSystemIdentifier BrowseInformation:ExtrinsicObject +objectType = urn:...:EOBrowseInformation +type +subType +fileName +referenceSystemIdentifier
Figure 15: Complete EO Products Data Model
8.2.8
Thematic and Mission-Specific Metadata
The next sections describe the thematic-specific metadata and their mapping in the complete structure described earlier.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
41
Open Geospatial Consortium Inc.
8.2.8.1
OGC 06-131r6
Synthetic Aperture Radar EarthObservation Product Mapping
The following table defines mapping for SAR specific additional information. Support of these slots is optional. It is mandatory only for those implementations that implement the SAR Extension conformance class (cf. section 2).
42
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Table 9 — EOProduct ExtrinsicObject Correspondence GML Metadata XPath
EOProduct ExtrinsicObject Attribute
(Slot) Type Queryable Cardinality
/sar:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCment/eop:acquisitionParameters/sar:Acquisition/sar:polarisati CSW-ebRIMonMode EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIM-EO::polarisationMode”]/rim:ValueList/rim:Value[1]
String
Yes
1
/sar:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCment/eop:acquisitionParameters/sar:Acquisition/sar:polarisati CSW-ebRIMonChannels EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIM-EO::polarisationChannels”]/rim:ValueList/rim:Value[1]
String
Yes
1
/sar:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCment/eop:acquisitionParameters/sar:Acquisition/sar:antennaL CSW-ebRIMookDirection EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIM-EO::antennaLookDirection”]/rim:ValueList/rim:Value[1]
String
Yes
1
/sar:EarthObservation/gml:using/eop:EarthObservationEquip ment/eop:acquisitionParameters/sar:Acquisition/sar:minimu mIncidenceAngle
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- Double CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIM-EO::minimumIncidenceAngle”]/rim:ValueList/rim:Value[1]
Yes
1
/sar:EarthObservation/gml:using/eop:EarthObservationEquip ment/eop:acquisitionParameters/sar:Acquisition/sar:maximu mIncidenceAngle
/rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGC- Double CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIM-EO::maximumIncidenceAngle”]/rim:ValueList/rim:Value[1]
Yes
1
/sar:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCment/eop:acquisitionParameters/sar:Acquisition/sar:dopplerF CSW-ebRIMrequency EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIM-EO::dopplerFrequency”]/rim:ValueList/rim:Value[1]
Double
Yes
1
/sar:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCment/eop:acquisitionParameters/sar:Acquisition/sar:incidence CSW-ebRIMAngleVariation EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIM-EO::incidenceAngleVariation”]/rim:ValueList/rim:Value[1]
Double
Yes
1
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
43
Open Geospatial Consortium Inc.
8.2.8.2
OGC 06-131r6
Optical EarthObservation Product Mapping
The following table defines mapping for OPT specific metadata. Support of these slots is optional. It is mandatory only for those implementations that implement the OPT Extension conformance class (cf. section 2). Table 10 — EOProduct ExtrinsicObject Correspondence GML Metadata Xpath
EOProduct ExtrinsicObject Attribute
(Slot) Type Queryable Cardinality
/opt:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCment/eop:acquisitionParameters/opt:Acquisition/opt:illuminat CSW-ebRIMionAzimuthAngle EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIMEO::illuminationAzimuthAngle”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/opt:EarthObservation/gml:using/eop:EarthObservationEquip /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCment/eop:acquisitionParameters/opt:Acquisition/opt:illuminat CSW-ebRIMionElevationAngle EO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIMEO::illuminationElevationAngle”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/opt:EarthObservation/gml:resultOf/opt:EarthObservationRes /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCult/opt:cloudCoverPercentage CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIM-EO::cloudCoverPercentage”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
/opt:EarthObservation/gml:resultOf/opt:EarthObservationRes /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCult/opt:snowCoverPercentage CSW-ebRIMEO::EOProduct”]/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIM-EO::snowCoverPercentage”]/rim:ValueList/rim:Value[1]
Double
Yes
0..1
44
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
8.2.8.3
Atmospheric EarthObservation Product Mapping
ATM defines several Data Layers per EO Product. These Data Layers are modeled in an ebRIM Catalogue using ExtrinsicObjects (with objectType attribute equals to ‘urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EODataLayer’) associated to the EOProduct ExtrinsicObject(with objectType attribute equals to ‘urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct’) through an Association with associationType attribute equals to ‘urn:ogc:def:associationType:OGC-CSWebRIM-EO::HasDataLayer’. Support of the HasDataLayer association, EODataLayer ExtrinsicObject and its slots is optional. It is mandatory only for those implementations that implement the ATM Extension conformance class (cf. section 2).
Figure 16: EO Data Layers associated to EO Products
Following table defines mapping for ATM specific metadata:
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
45
Open Geospatial Consortium Inc.
OGC 06-131r6
Table 11 — EODataLayer ExtrinsicObject Correspondence GML Metadata Xpath “urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EODataLayer” (fixed value)
EODataLayer ExtrinsicObject Attribute
/
Yes
0..n (the HasDataLayer association is optional and can be multiple)
/atm:EarthObservation/gml:resultOf/atm:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/atm:dataLayers/atm:DataLayer/atm:specy CSW-ebRIMEO::EODataLayer”]/rim:Name/rim:LocalizedString/@value
/
Yes
1
/atm:EarthObservation/gml:resultOf/atm:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/atm:dataLayers/atm:DataLayer/atm:unit CSW-ebRIM-EO::EODataLayer”]/rim:Slot[@name=” urn:ogc:def:slot:OGC-CSW-ebRIMEO::unit”]/rim:ValueList/rim:Value[1]
String
No
1
/atm:EarthObservation/gml:resultOf/atm:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/atm:dataLayers/atm:DataLayer/atm:highestLocation CSW-ebRIM-EO::EODataLayer”]/rim:Slot[@name=” urn:ogc:def:slot:OGC-CSW-ebRIMEO::highestLocation”]/rim:ValueList/rim:Value[1]
Double
Yes
1
/atm:EarthObservation/gml:resultOf/atm:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/atm:dataLayers/atm:DataLayer/atm:lowestLocation CSW-ebRIM-EO::EODataLayer”]/rim:Slot[@name=” urn:ogc:def:slot:OGC-CSW-ebRIMEO::lowestLocation”]/rim:ValueList/rim:Value[1]
Double
Yes
1
/atm:EarthObservation/gml:resultOf/atm:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/atm:dataLayers/atm:DataLayer/atm:algorithmName CSW-ebRIM-EO::EODataLayer”]/rim:Slot[@name=” urn:ogc:def:slot:OGC-CSW-ebRIMEO::algorithmName”]/rim:ValueList/rim:Value[1]
String
No
1
/atm:EarthObservation/gml:resultOf/atm:EarthObservationRe /rim:ExtrinsicObject[@objectType=”urn:ogc:def:objectType:OGCsult/atm:dataLayers/atm:DataLayer//atm:algorithmVersion CSW-ebRIM-EO::EODataLayer”]/rim:Slot[@name=”
String
No
1
46
/rim:ExtrinsicObject/@objectType
(Slot) Type Queryable Cardinality
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
GML Metadata Xpath
EODataLayer ExtrinsicObject Attribute urn:ogc:def:slot:OGC-CSW-ebRIMEO::algorithmVersion”]/rim:ValueList/rim:Value[1]
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
47
(Slot) Type Queryable Cardinality
Open Geospatial Consortium Inc.
8.3
RegistryPackage Definition
8.3.1
Introduction
OGC 06-131r6
The previous section describes Earth Observation mapping choices –the EO Extension Package – through a list of diagrams, mapping tables and full-text explanations. It allows the reader to understand the structure of the mapped resources and the way these are represented within the ebRIM metamodel, allowing fast search and retrieving through the standardized OGC catalogue interface. This section is intended to provide a more formalized view of this mapping, through a set of XML definitions. 8.3.2
RegistryPackage Role
An Extension Package is represented as a rim:RegistryPackage instance. Package members are RegistryObjects that are subject to the following constraint: a member object may only be deleted if the package as a whole is deleted. This effectively treats an Extension Package as a composition. So the rim:RegistryPackage is a formalized way to represent a Extension Package, through a set of elements and extensibility points offered by ebRIM that enable it to be tailored for specific purposes; these extensibility points include: •
Additional ExtrinsicObject Types: possible value for the ExtrinsicObject.objectType attribute, representing new kinds of resources elements in the ebRIM model,
•
Additional Association Types: possible value for the Association.associationType attribute, representing new kinds of associations that link registry objects,
•
Additional ClassificationSchemes or ClassificationNodes: used to classify and organize objects within the registry,
•
Additional RegistryObject Slots: intended to further characterize particular types of registry objects,
•
Stored Queries: that reflect common search patterns in the context of a specific resource mapping.
8.3.3
RegistryPackage Content
This subsection defines the RegistryPackage identified by: •
48
urn:ogc:def:registryPackage:OGC-CSW-ebRIM-EO::EOProducts
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
It provides Earth Observation extensions to the CSW ebRIM Basic Package, through a list of registry objects in the RegitryObjectList XML element: <?xml version="1.0" encoding="UTF-8"?> <rim:RegistryPackage xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" id="urn:ogc:def:registryPackage:OGC-CSW-ebRIM-EO::EOProducts" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:RegistryPackage">
<rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Earth Observation Products extension package for CSW-ebRIM" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Provides Earth Observation Products extensions to the Basic package of the CSW-ebRIM catalogue profile."/> </rim:Description> <rim:RegistryObjectList> […] </rim:RegistryObjectList> </rim:RegistryPackage>
Note that the whole XML file is available in the Annex B of this document. 8.3.3.1
Additional ExtrinsicObject Types
New objectType are needed to represent: •
EOProduct ExtrinsicObject,
•
EOAcquisitionPlatform ExtrinsicObject,
•
EOProductInformation ExtrinsicObject,
•
EOMaskInformation ExtrinsicObject,
•
EOBrowseInformation ExtrinsicObject,
•
EOArchivingInformation ExtrinsicObject,
•
EODataLayer ExtrinsicObject.
These new objectType are additional ClassificationNode of the canonical objectType scheme. All are children of the ‘ExtrinsicObject’ objectType. <!-- extensions to canonical ObjectType scheme --> <rim:ClassificationNode code="EOProduct" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct" id="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct" parent="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExtrinsicObject"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOProduct" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Represents an Earth Observation Product"/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode code="EOAcquisitionPlatform" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOAcquisitionPlatform" id="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOAcquisitionPlatform" parent="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExtrinsicObject">
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
49
Open Geospatial Consortium Inc.
OGC 06-131r6
<rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOAcquisitionPlatform" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Represents an Earth Observation Acquisition Platform"/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode code="EOProductInformation" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProductInformation" id="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProductInformation" parent="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExtrinsicObject"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOProductInformation" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Represents an Earth Observation Product Information"/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode code="EOMaskInformation" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOMaskInformation" id="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOMaskInformation" parent="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExtrinsicObject"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOMaskInformation" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Represents an Earth Observation Mask Information"/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode code="EOBrowseInformation" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOBrowseInformation" id="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOBrowseInformation" parent="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExtrinsicObject"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOBrowseInformation" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Represents an Earth Observation Browse Information"/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode code="EOArchivingInformation" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOArchivingInformation" id="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOArchivingInformation" parent="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExtrinsicObject"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOArchivingInformation" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Represents an Earth Observation Archiving Information"/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode code="EODataLayer" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EODataLayer" id="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EODataLayer" parent="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExtrinsicObject"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EODataLayer" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Represents an Earth Observation Data Layer"/> </rim:Description> </rim:ClassificationNode>
8.3.3.2
Additional Association Types
New associationType are needed to represent: •
50
AcquiredBy Association (from EOProduct to EOAcquisitionPlatform objects),
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
•
HasProductInformation (from EOProduct to EOProductInformation objects),
•
HasMaskInformation (from EOProduct to EOMaskInformation objects),
•
HasBrowseInformation (from EOProducts to EOBrowseInformation)
•
ArchivedIn (from EOProduct to EOArchivingInformation objects),
•
HasDataLayer (from EOProduct to EODataLayer objects).
These new associationType are additional ClassificationNode of the canonical associationType scheme. All are direct children of the ClassificationScheme object itself. <!-- extensions to canonical AssociationType scheme --> <rim:ClassificationNode code="AcquiredBy" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::AcquiredBy" id="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::AcquiredBy" parent="urn:oasis:names:tc:ebxml-regrep:classificationScheme:AssociationType"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="AcquiredBy" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Associates a EOProduct with a EOAcquisitionPlatform."/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode code="HasProductInformation" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasProductInformation" id="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasProductInformation" parent="urn:oasis:names:tc:ebxml-regrep:classificationScheme:AssociationType"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="HasProductInformation" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Associates a EOProduct with a EOProductInformation."/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode code="HasMaskInformation" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasMaskInformation" id="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasMaskInformation" parent="urn:oasis:names:tc:ebxml-regrep:classificationScheme:AssociationType"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="HasMaskInformation" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Associates a EOProduct with a EOMaskInformation."/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode code="HasBrowseInformation" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasBrowseInformation" id="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasBrowseInformation" parent="urn:oasis:names:tc:ebxml-regrep:classificationScheme:AssociationType"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="HasBrowseInformation" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Associates a EOProduct with a EOBrowseInformation."/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode code="ArchivedIn" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::ArchivedIn" id="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::ArchivedIn" parent="urn:oasis:names:tc:ebxml-regrep:classificationScheme:AssociationType"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="ArchivedIn" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Associates a EOProduct with a EOArchivingInformation."/> </rim:Description>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
51
Open Geospatial Consortium Inc.
OGC 06-131r6
</rim:ClassificationNode> <rim:ClassificationNode code="HasDataLayer" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationNode" lid="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasDataLayer" id="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasDataLayer" parent="urn:oasis:names:tc:ebxml-regrep:classificationScheme:AssociationType"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="HasDataLayer" /> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Associates a EOProduct with a EODataLayer."/> </rim:Description> </rim:ClassificationNode>
Constraints for sourceObject and targetObject attributes of these new kind of Associations are represented through Meta-Associations (which are like classical Association): <!-- Meta-associations to constrain source and target object types by AssociationType --> <rim:Association sourceObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::AcquiredBy" targetObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOAcquisitionPlatform" /> <rim:Association sourceObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasProductInformation" targetObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProductInformation"/> <rim:Association sourceObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasMaskInformation" targetObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOMaskInformation"/> <rim:Association sourceObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasBrowseInformation" targetObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOBrowseInformation"/> <rim:Association sourceObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::ArchivedIn" targetObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOArchivingInformation"/> <rim:Association sourceObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasDataLayer" targetObject="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EODataLayer"/>
8.3.3.3
Additional ClassificationSchemes or ClassificationNodes
The hierarchical taxonomy used in the ebRIM mapping to classify type of EOProduct is defined as following: <!-- ClassificationScheme - Earth Observation Product Types taxonomy --> <rim:ClassificationScheme lid="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes" id="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ClassificationScheme" isInternal="true" nodeType="urn:oasis:names:tc:ebxml-regrep:NodeType:UniqueCode"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOProductTypes"/> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="This is the canonical ClassificationScheme for EO Product Types hierarchy"/> </rim:Description> <rim:ClassificationNode lid="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:EOP" code="EOP" id="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:EOP"> <rim:Name>
52
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
<rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOP"/> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOP General type"/> </rim:Description> <rim:ClassificationNode lid="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:SAR" code="SAR" id="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:SAR"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="SAR"/> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Radar type"/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode lid="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:ATM" code="ATM" id="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:ATM"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="ATM"/> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Atmospheric type"/> </rim:Description> </rim:ClassificationNode> <rim:ClassificationNode lid="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:OPT" code="OPT" id="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:OPT"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="OPT"/> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Optical type"/> </rim:Description> <rim:ClassificationNode lid="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:PHR" code="PHR" id="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:PHR"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="PHR"/> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Spot Pleiades Optical High-Resolution type"/> </rim:Description> </rim:ClassificationNode> </rim:ClassificationNode> </rim:ClassificationNode> </rim:ClassificationScheme>
8.3.3.4
Additional RegistryObjects Slots
The list of slots for each type of objects is defined as following: <!-- Meta-registryObjcts to list allowed slots by objectType --> <rim:RegistryObject objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionStation" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionSubType" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acrossTrackIncidenceAngle" slotType=" urn:oasis:names:tc:ebxmlregrep:DataType:Double "/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::alongTrackIncidenceAngle" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::antennaLookDirection" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::beginPosition" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::centerOf" slotType="urn:ogc:def:dataType:ISO-19107:2003:GM_Object"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::cloudCoverPercentage" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::doi" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::dopplerFrequency" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::endPosition" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"/>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
53
Open Geospatial Consortium Inc.
OGC 06-131r6
<rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::extentOf" slotType="urn:ogc:def:dataType:ISO-19107:2003:GM_Object"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::illuminationAzimuthAngle" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::illuminationElevationAngle" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::imageQualityDegradation" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::imageQualityDegradationQuotationMode" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::lastOrbitNumber" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Integer"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::maximumIncidenceAngle" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::minimumIncidenceAngle" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::orbitDirection" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::orbitNumber" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Integer"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::parentIdentifier" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::pitch" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::polarisationChannels" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::polarisationMode" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::productType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::roll" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::snowCoverPercentage" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::status" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::vendorSpecificAttributes" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::vendorSpecificValues" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::yaw" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"/> </rim:RegistryObject> <rim:RegistryObject objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOAcquisitionPlatform"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::instrumentShortName" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::platformOrbitType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::platformSerialIdentifier" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::sensorOperationalMode" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::sensorResolution" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::sensorType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::swathIdentifier" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> </rim:RegistryObject> <rim:RegistryObject objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProductInformation"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::fileName" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:URI"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::referenceSystemIdentifier" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::size" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Integer"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::version" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> </rim:RegistryObject> <rim:RegistryObject objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOBrowseInformation"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::fileName" slotType=" urn:oasis:names:tc:ebxml-regrep:DataType:URI "/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::referenceSystemIdentifier" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::subType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> </rim:RegistryObjet> <rim:RegistryObject objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOMaskInformation"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::fileName" slotType=" urn:oasis:names:tc:ebxml-regrep:DataType:URI "/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::referenceSystemIdentifier" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::format" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> </rim:RegistryObject> <rim:RegistryObject objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOArchivingInformation"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::archivingDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::archivingIdentifier" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> </rim:RegistryObject> <rim:RegistryObject objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EODataLayer"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::algorithmName" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::algorithmVersion" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::highestLocation" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::lowestLocation" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"/> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::unit" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"/> </rim:RegistryObject>
54
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
9
EO Products Catalogue External Interfaces
This section describes the interactions with the EO ebRIM Catalogue, and the behavior of its CSW interface. It provides some examples of request and response message structures as part of the operation signatures, as specified in [OGC 07-006r1] OGC® Catalogue Service 2.0.2 (Corrigendum 2 Release) and [OGC 07-110r4] CSWebRIM Registry Service - Part 1: ebRIM profile of CSW. It also documents supported query facilities and implementation guidances. The following sections use significant parts of [OGC 07-006r1] OGC™ Catalogue Service 2.0.2 standard (Corrigendum 2 Release) and [OGC 07-110r4] CSW-ebRIM Registry Service - Part 1: ebRIM profile of CSW documents, which are copied here for convenience. 9.1
Supported Protocol Binding and Available Operations
All operations shall support the embedding of requests and responses in SOAP 1.2 (with Attachment Feature for operations which need data transfer), with the exception of GetRepositoryItem, that is only bound to HTTP GET method, as described below. If present, the value of the optional ‘action’ attribute on the ‘application/soap+xml’ media type shall be set to ‘urn:x-ogc:specification:csw-ebrim:EO’ for all requests. Note that the presence of this attribute can be used (e.g. by firewalls) to appropriately filter SOAP request messages. The following table summarizes the required operations on ebRIM Catalogues supporting the EO Extension Package, in order to provide discovery abilities. Table 12 — Required Operations on ebRIM Catalogue Service Operation
Description
GetCapabilities (Description)
Allows a client to retrieve service metadata that describe the computational and non-computational characteristics of the service.
GetRecords (Discovery)
The principal operation used to search Catalogue content and retrieve all or some members of the result set.
DescribeRecord (Discovery)
Allows a client to discover the information model(s) supported by the Catalogue and to retrieve type definitions.
GetRecordById (Discovery)
A simple means of retrieving one or more registry objects by their identifier.
GetRepositoryItem (Discovery) Requests the repository item for some ExtrinsicObject.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
55
Open Geospatial Consortium Inc.
OGC 06-131r6
The following table summarizes optional operations on ebRIM Catalogues supporting EO Extension Package, in order to provide publication abilities.
Table 13 — Optional Operation on ebRIM Catalogue Service Operation Harvest (Publication)
Description Enables a ‘pull’ style of publication whereby a resource is retrieved from some remote location (URL) and inserted into the Catalogue.
The following figure is an UML diagram summarizing the service interfaces. Optional operations are not shown in the schema.
Figure 17: Service Interface (CSW-ebRIM)
9.2
Interface Specifications
This section highlights syntax and semantic details of the interface operations specified in both [OGC 06-007r1] OGC® Catalogue Service 2.0.2 (Corrigendum 2 Release) and [OGC 07-110r4] CSW-ebRIM Registry Service - Part 1: ebRIM profile of CSW. 9.2.1
GetCapabilities Operation
The GetCapabilities operation allows clients to retrieve service metadata from a server. The response to a GetCapabilities request should be an XML document containing service metadata about the server. Here is a list of sections available in CSW ebRIM Capabilities Document:
56
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Table 14 — Permissible Section Names Section Names
Content
ServiceIdentification
General information about the service (type, version, etc.).
ServiceProvider
Information about the organization providing this service.
OperationsMetadata
Summarizes the operational characteristics of the service
Filter_Capabilities
Describes supported OGC filter operations
ServiceFeatures
Information about implemented features
ServiceProperties
Information about general service properties.
9.2.1.1
GetCapabilities Request
The following XML-Schema fragment defines the XML encoding of the GetCapabilities operation request. The value of the mandatory service parameter may be ‘CSW’ or ‘CSW-ebRIM’. In the former case, the server should respond as defined in the baseline CSW standard. In the latter case, the server should respond as defined in the following section.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
57
Open Geospatial Consortium Inc.
9.2.1.2
OGC 06-131r6
GetCapabilities Response
If the request is processed successfully, the body of the response message shall include an XML document where the document element has the following infoset properties: •
A [local name] of ‘Capabilities’;
•
A [namespace name] of ‘http://www.opengis.net/cat/wrs’ (usually represented by the ‘wrs’ prefix).
The response shall advertise supported parentIdentifier (collection name) values in a CSW service capabilities document, through the use of the ows:ExtendedCapabilities element and the parentiIdentifier slot, as demonstrated in the example below: <ows:OperationsMetadata> <!-- other content here --> <ows:ExtendedCapabilities xmlns:rim="urn:oasis:names:tc:ebxmlregrep:xsd:rim:3.0"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::parentIdentifier " slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>urn:ogc:def:EOP:ESA.EECF.ENVISAT_ASA_APx_xS</rim:Value> <rim:Value>urn:ogc:def:EOP:ESA.EECF.ENVISAT_RA2_MWx_2C</rim:Value> </rim:ValueList> </rim:Slot> </ows:ExtendedCapabilities> </ows:OperationsMetadata>
The ows:ExtendedCapabilities element provides an open extensibility point. Any supplementary operational metadata may be added. A WSDL description 9 may be used to complement the metadata provided in an OGC service capabilities document. The <wrs:WSDL-services> element is a simple link element that may be used to include a reference to a WSDL description containing service and binding elements. The value of the xlink:href attribute shall be a resolvable URI that produces the WSDL document when it is the target of a GET request, the xlink:role attribute shall indicate the relevant version of the WSDL specification (by namespace URI). The document element shall be valid against the schema that can be found in the Annex B of the [OGC 07-110r4].
9 The Web Services Description Language (WSDL) is an XML language to describe the computational characteristics of web services in terms of interfaces, protocol bindings, and service endpoints. WSDL 2.0 is currently a W3C Recommendation that defines a component model in terms of an abstract XML infoset.
58
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
9.2.1.3
Examples
An example of capabilities document is provided in Annex E: of this document. 9.2.1.4
Exceptions
If an error condition arises while performing a GetCapabilities request, the service shall return an exception report as specified in [OGC 07-110r4] CSW-ebRIM Registry Service - Part 1: ebRIM profile of CSW. 9.2.2
GetRecords Operation
The mandatory GetRecords operation is the principal operation used to search the catalogue content. Some or all the registry objects in the result set that satisfy the search criteria may be piggy-backed in the response message. The messages are defined in a schema that can be found in the Annex B of [OGC 07-110r4]. The ‘search’ portion of the GetRecords operation is encoded using the Query element. The Query element includes the parameters typeName and Constraint. The typeName parameter is used to specify which entities, from the information model of the catalogue, shall be queried. This parameter should only contain the aliases that are referenced in the filter part. The Constraint parameter is used to specify which query constraints shall be applied to identify the request set. The ‘present’ portion of the GetRecords operation is encoded using the outputSchema parameter and the ElementName/ElementSetName parameter(s). The outputSchema parameter indicates which schema shall be used to generate the response to the GetRecords operation. The ElementName or ElementSetName parameter is used to specify which properties of the outputSchema to include in each record in the GetRecords response. The XML representation of the message body in a request submitted using the POST method shall be a valid csw:GetRecords element. The csw:ResponseHandler and csw:DistributedSearch elements, if present, shall be ignored and the request processed in the normal synchronous manner by the recipient. A csw:GetRecords element shall include a query statement. The following query elements shall be supported by a conforming implementation: a) A csw:Query element as specified in clause 10.8.4 of OGC 07-006r1. The OGC filter grammar (OGC 04-095) shall be supported by all conforming implementations. b) A rim:AdhocQuery element as specified in section 7.3 of ebRIM 3.0. Such an element may invoke a stored query or specify a query to execute; if the latter, the queryLanguage attribute shall identify a supported query language by referring to a node in the canonical query language scheme.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
59
Open Geospatial Consortium Inc.
9.2.2.1
OGC 06-131r6
GetRecords Request
If the Content-Type of the request entity body is an XML content type (application/xml), the document element shall be the ‘csw:GetRecords’ element. The following table specifies attributes of the GetRecords operation message. Table 15 — GetRecords Operation Parameters Parameter
Data type and value
Optionality
Service
Character String. Fixed value of ‘CSW’
Mandatory
Version
Character String. Fixed value of ‘2.0.2’
Mandatory
RequestId
CharacterString.
Not Supported
ResultType
CodeList. One of ‘hits’ (default value) or ‘results’.
Optional
OutputFormat
CharacterString. The only supported value is ‘application/xml’ (default value)
Optional
OutputSchema
CodeList. One of ‘urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0’ (default value) or ‘http://www.opengis.net/cat/csw/2.0.2’.
Optional
StartPosition
PositiveInteger. Default Value is 1
Optional
MaxRecords
PositiveInteger. Default Value is 10
Optional
a
TypeNames List of Character String, white space separated. Unordered (Query@typenames List of object types implicated in the query. ) In the conformance level 1 (see Annex about Conformance Levels), the only required object type is rim:RegistryPackage.
Optional
ElementSetName or ElementName
Optional
CodeList. Unordered List of ebRIM object types or aliases returned by the query. One of ‘brief’, ‘summary’ (default value) or ‘full’.
TypeNames (ElementSetName @typenames)
60
In the conformance level 1 (see Annex about Conformance Levels), the only required object type is rim:RegistryPackage. (See Annex on Conformance Level for full ebRIM requests).
Optional
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Parameter
Data type and value
ConstraintLanguage CodeList. The only supported value is ‘FILTER’ (default value). Note that the support of the 1.1.0 version of OGC Filter Encoding [OGC 04-095] is mandatory.
Optionality Optional
Constraint
String. Optional. The predicate expression specified in the language indicated by the ConstraintLanguage parameter. Default action is to execute an unconstrained query.
SortBy
Optional
DistributedSearch
List of Character String, comma separated Ordered list of names of metadata elements to use for sorting the response. Default action is to present the records in the order in which they are received. 10 Boolean.
HopCount
Integer.
Not Supported
ResponseHandler
URL.
Not Supported
a
a
Not Supported
a a
Not supported yet in the ebRIM Application Profile
The following XML-Schema fragments define the XML encoding of the GetRecords operation request:
10 The CSW specification (OGC07-006r1) defines the syntax of the SortBy parameter in the section 10.8.4.12. In this section, no default sort order is defined but the Table 11 from the Abstract model stipulates that the default sort order is "descending". If the the SortBy parameter is not specified, there is no constraint on the records order. Unsupported properties are ignored without throwing errors.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
61
Open Geospatial Consortium Inc.
62
OGC 06-131r6
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Figure 18: CSW-discovery.xsd (2.0.2) GetRecords complex type
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
63
Open Geospatial Consortium Inc.
OGC 06-131r6
Figure 19: CSW-discovery.xsd (2.0.2) Query complex type
9.2.2.2
GetRecords Response
If the request is processed successfully, the body of the response message shall include an XML document where the document element has the following infoset properties: •
A [local name] of ‘GetRecordsResponse’,
•
A [namespace name] of ‘http://www.opengis.net/cat/csw/2.0.2’ (usually represented by the ‘csw’ prefix).
The search results may include a sequence of either <csw:Record> or <rim:RegistryObject> elements. In any case valid substitution elements may also be included, where these typically correspond to different views or instances of record subtypes. The record representation shall conform to the requested output schema. The value of the outputSchema attribute in the request restricts which elements may appear in the response. If not specified, ebRIM representations are returned. Table 16 — Allowable Catalogue Record Representation OutputSchema
Record representations
http://www.opengis.net/cat/csw/2.0.2
64
csw:Record csw:SummaryRecord csw:BriefRecord
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
OutputSchema urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0
Record representations rim:RegistryObject Any subtype of rim:RegistryObject
The following XML-Schema fragments define the XML format response to a GetRecords operation:
Figure 20: CSW-discovery.xsd (2.0.2) GetRecordsResponse complex type
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
65
Open Geospatial Consortium Inc.
OGC 06-131r6
The OGC Catalogue Services standard (OGC 07-006r1) distinguishes three abstract property sets—or views—that provide differing levels of detail about a catalogue item: brief, summary, and full. These abstract views are mapped to the ebRIM schema as indicated in Table 17. Table 17 — Registry object views View name
ebRIM information items
brief
rim:RegistryObject/@id rim:RegistryObject/@lida rim:RegistryObject/@objectType rim:RegistryObject/@status rim:RegistryObject/rim:VersionInfo
summary
As for Brief view, plus: rim:RegistryObject/rim:Slot rim:RegistryObject/rim:Name (in preferred languages) b rim:RegistryObject/rim:Description (in preferred languages) b
full
Complete representation (all the ExtrinsicObject, Association, Classification elements).
The brief and summary views map to reduced rim:RegistryObject representations for any object type. A full view yields the element information item corresponding to the actual object type. a The value of the @lid attribute implicitly identifies the "version history" resource for a registry object. Its value is set by the service to coincide with the @id value of the original registry object. b As specified by the value of the the Accept-Language request header field (if present).
This mapping is rather ambiguous and lead to different interpretations, some interpretations giving a useless result of response structure. In the EO domain, the use of brief and summary are generally not useful, as they do not contain enough information (the brief view only contains ids and objecttypes; the summary view returns the same attributes than the full view of the products, but associations and classifications are missing). A server compliant with this standard shall keep the real object type encoding for brief and summary representation. For example, should the request return RegistryPackage, the ebXML shall contain <rim:RegistryPackage> element instead of generalized <rim:RegistryObject> element.
Example 3 – Brief view of the ebRIM Registry Package. <rim:RegistryPackage id="urn:uuid:491265a5-3646-4a17-8595-782454ec4e00" objectType="urn:oasis:names:tc:ebxmlregrep:ObjectType:RegistryObject:RegistryPackage"> </rim:RegistryPackage>
Example 4 – Summary view of an ebRIM registry object.
66
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
<rim:RegistryPackage id="urn:uuid:491265a5-3646-4a17-8595-782454ec4e00" objectType="urn:oasis:names:tc:ebxmlregrep:ObjectType:RegistryObject:RegistryPackage"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOProductContainer"/> </rim:Name> </rim:RegistryPackage>
Example 5 – Full view of the ebRIM Registry Package containing a full EO Product <rim:RegistryPackage id="urn:uuid:491265a5-3646-4a17-8595-782454ec4e00" objectType="urn:oasis:names:tc:ebxmlregrep:ObjectType:RegistryObject:RegistryPackage"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOProduct"/> </rim:Name> <rim:RegistryObjectList> <rim:ExtrinsicObject id="urn:xdali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::imageQualityDegradation" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>75.0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::centerOf" slotType="urn:ogc:def:dataType:ISO-19107:2003:GM_Object"> <wrs:ValueList xmlns:wrs="http://www.opengis.net/cat/wrs/1.0"> <wrs:AnyValue xmlns:gml="http://www.opengis.net/gml"> <gml:Point srsName=" urn:ogc:def:crs:EPSG:6.3:4326"> <gml:pos>147.89204939003056 -15.015514612197876</gml:pos> </gml:Point> </wrs:AnyValue> </wrs:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::productType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>Scene</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::beginPosition" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2007-01-10T00:16:31Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::doi" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>urn:xdali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::lastOrbitNumber" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Integer"> <rim:ValueList> <rim:Value>235</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::multiExtentOf" slotType="urn:ogc:def:dataType:ISO-19107:2003:GM_Object"> <wrs:ValueList xmlns:wrs="http://www.opengis.net/cat/wrs/1.0"> <wrs:AnyValue xmlns:gml="http://www.opengis.net/gml"> <gml:Polygon srsName=" urn:ogc:def:crs:EPSG:6.3:4326"> <gml:exterior> <gml:LinearRing srsName=" urn:ogc:def:crs:EPSG:6.3:4326"> <gml:pos>147.49 -15.22700023651123</gml:pos> <gml:pos>148.1592 -15.340299606323242</gml:pos> <gml:pos>148.2935882414475 -14.803518295288086</gml:pos> <gml:pos>147.62540931867474 -14.691240310668945</gml:pos> <gml:pos>147.49 -15.22700023651123</gml:pos>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
67
Open Geospatial Consortium Inc.
OGC 06-131r6
</gml:LinearRing> </gml:exterior> </gml:Polygon> </wrs:AnyValue> </wrs:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::endPosition" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2007-01-10T00:16:31Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::alongTrackIncidenceAngle" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>-25.784143</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>NOMINAL</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::cloudCoverPercentage" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>100.0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acrossTrackIncidenceAngle" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>13.800000190734863</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::snowCoverPercentage" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>100.0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::orbitNumber" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Integer"> <rim:ValueList> <rim:Value>235</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::status" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>ACQUIRED</rim:Value> </rim:ValueList> </rim:Slot> </rim:ExtrinsicObject> <rim:Classification id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:50" classifiedObject="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0" classificationNode="urn:ogc:def:classificationScheme:OGC-CSW-ebRIMEO::EOProductTypes:OPT" classificationScheme="urn:ogc:def:classificationScheme:OGCCSW-ebRIM-EO::EOProductTypes"></rim:Classification> <rim:ExtrinsicObject id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:2" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOArchivingInformation"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::archivingDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2007-01-10T01:04:01Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="AB"/> </rim:Name> </rim:ExtrinsicObject>
68
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
<rim:Association id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:20" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::ArchivedIn" sourceObject="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0" targetObject="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:2"> </rim:Association> <rim:ExtrinsicObject id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:4" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOBrowseInformation"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::fileName" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>http://dev.ionicsoft.com:80/daliproxy/wrs/DALIPROXYLAZY?REQUEST=GetReposito ryItem&Id=urn%3Axdali%3Asat%3AShift0%3Aa21%3A43733800701100016312I%3Adn%3A4377990%3A4</rim:Value> </rim:ValueList> </rim:Slot> </rim:ExtrinsicObject> <rim:Association id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:22" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasBrowseInformation" sourceObject="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0" targetObject="urn:xdali:sat:Shift0:a21:43733800701100016312I:dn:4377990:4"></rim:Association> <rim:ExtrinsicObject id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:3" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOAcquisitionPlatform"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::sensorType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>OPTICAL</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::instrumentShortName" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>HRVIR-Nb2</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::platformSerialIdentifier" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>I</rim:Value> </rim:ValueList> </rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Spot4"/> </rim:Name> </rim:ExtrinsicObject> <rim:Association id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:21" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::AcquiredBy" sourceObject="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0" targetObject="urn:xdali:sat:Shift0:a21:43733800701100016312I:dn:4377990:3"></rim:Association> </rim:RegistryObjectList> </rim:RegistryPackage>
9.2.2.3
Examples
Annex E.2 contains GetRecords request and response examples. 9.2.2.4
Exceptions
If the request is deemed invalid for any reason (e.g. missing a required element), the service shall return an ows:ExceptionReport containing a service exception with the code wrs:InvalidRequest. 9.2.3
DescribeRecord Operation
The DescribeRecord operation allows a client to discover the information model(s) supported by the catalogue and to retrieve record type definitions.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
69
Open Geospatial Consortium Inc.
OGC 06-131r6
The DescribeRecord operation is described in section 9 of [OGC 07-110r4]. The XML representation of the entity body, if present, shall conform to the csw:DescribeRecord element declaration. The TypeName elements, if present, identify the model elements for which type definitions are requested. 9.2.3.1
DescribeRecord Request
The only schema language currently supported by the ebRIM Profile is W3C XML Schema. The corresponding value of the schemaLanguage attribute is given by the following URI: “http://www.w3c.org/2001/XMLSchema” 9.2.3.2
DescribeRecord Response
If the request is processed successfully, the body of the response message shall include an XML document where the document element has the following infoset properties: •
A [local name] of ‘DescribeRecordResponse’,
•
A [namespace name] of ‘http://www.opengis.net/cat/csw/2.0.2’ (usually represented by the ‘csw’ prefix).
If no TypeName elements were provided in the request, the whole schemas defining the information model shall be included within csw:SchemaComponent elements. If there are no matching schema components, the document element shall be empty. The content of a csw:SchemaComponent element may be a complete schema or a fragment of one. If it is a fragment, the parentSchema attribute shall reference the source schema (by identifier). 9.2.3.3
Exceptions
If the request is deemed invalid for any reason (e.g. missing a required element), the service shall return an ows:ExceptionReport containing a service exception with the code wrs:InvalidRequest. 9.2.4
GetRecordById Operation
The GetRecordById operation provides a simple means of retrieving one or more records by identifier; the identifier may be that of some registry object (rim:RegistryObject/@id) or an external identifier (rim:ExternalIdentifier/@value) assigned to a registry object. The messages are defined in a schema that can be found in the Annex B of [OGC 07-110r4]. The GetRecordById operation is described in section 11 of [OGC 07-110r4]. 9.2.4.1
GetRecordById Request
The XML representation of the entity body, if present, shall conform to the csw:GetRecordById element declaration. If using the GET method, all reserved
70
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
characters (e.g., general delimiters) appearing in identifier values shall be suitably percent-encoded in the KVP representation. The value of an Id (message parameter) item identifies a registry object either directly or by an external identifier that corresponds to a child rim:ExternalIdentifier element.
Figure 21: CSW-discovery.xsd (2.0.2) GetRecordById complex type
Table 18 — GetRecordById Operation Parameters Parameter
Data type and value
Optionality
Service
Character String. Fixed value of ‘CSW’
Mandatory
Version
Character String. Fixed value of ‘2.0.2’
Mandatory
OutputFormat
CharacterString. The only supported value is ‘application/xml’ (default value)
Optional
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
71
Open Geospatial Consortium Inc.
Parameter OutputSchema
9.2.4.2
OGC 06-131r6
Data type and value CodeList. One of ‘urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0’ (default value) or ‘http://www.opengis.net/cat/csw/2.0.2’.
Optionality Optional
GetRecordById Response
If the request is processed successfully, the body of the response message shall include an XML document where the document element has the following infoset properties: •
A [local name] of ‘GetRecordByIdResponse’,
•
A [namespace name] of ‘http://www.opengis.net/cat/csw/2.0.2’ (usually represented by the ‘csw’ prefix).
The child elements shall be registry object representations (i.e. rim:RegistryObject or some valid substitution element) corresponding to the requested identifier. If a match for an external identifier is found, the related registry object is included. If there are no matching records, an empty response is returned. The following XML-Schema fragments define the XML format response to a GetRecordById operation:
Figure 22: CSW-discovery.xsd (2.0.2) GetRecordByIdResponse complex type
9.2.4.3
Examples
Annex E.3 contains GetRecordById request and response examples. 9.2.4.4
Exceptions
If the request is deemed invalid for any reason (e.g. missing a required element), the service shall return an ows:ExceptionReport containing a service exception with the code wrs:InvalidRequest.
72
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
9.2.5
GetRepositoryItem Operation
The GetRepositoryItem operation is used to retrieve the repository item corresponding to some extrinsic object. In this context, this operation is used to retrieve the GML document related to the EO Product. If available, the item is included in the body of the response. It shall be an instance of a MIME media type, as indicated by the value of the Content-Type header field. 9.2.5.1
GetRepositoryItem Request
The request is bound only to the GET method. All reserved characters appearing in parameter values shall be suitably percent-encoded. The request parameters are listed in the following table: Table 19 — GetRepositoryItem Operation Parameters Parameter
Data type and value
Optionality
service
Character String. Fixed value of ‘CSW-ebRIM’
request
Character String. Mandatory Fixed value of ‘GetRepositoryItem’ CharacterString. Mandatory Absolute URI that specifies the identifier of the extrinsic object that describes the item.
id
9.2.5.2
Mandatory
GetRepositoryItem Response
If the request is processed successfully and a repository item is accessible, the body of the response message shall include the repository item with status code 200. The Content-Type header shall correctly identify the media type of the enclosed resource. If an additional encoding has been applied to the resource—such as compression using gzip—this shall be indicated by the Content-Encoding entity header. In the context of EO Product Extension Package, a GetRepositoryItem request with an id matching a urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct ExtrinsicObject shall return the EO GML attached to this object, if it is available. 9.2.5.3
Examples
Assuming that the catalog contains an EOProduct with id urn:xdali:sat:Shift0:a21:43733800701100016312I:dn:4377990:4, an example request for the GML file that represents this EO Product is:
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
73
Open Geospatial Consortium Inc.
OGC 06-131r6
http://hostname/daliproxy/wrs/DALIPROXYLAZY?REQUEST=GetRepositoryItem&Id=urn%3Axdali%3Asat%3AShift0%3Aa21%3A43733800701100016312I%3Adn%3A4377990%3A4&SERVICE =CSW-ebRIM
The response shall contain the related GML file in the body of the message. 9.2.5.4
Exceptions
If the request is deemed invalid for any reason (e.g., missing identifier), then the service shall return an ows:ExceptionReport containing a service exception with the code wrs:InvalidRequest. If no repository item is attached or if the id of the request matches another objectType, the service shall return an HTTP 404 error. If the supplied identifier does not match any registry object or if a repository item cannot be located, the response shall include shall include a status code of 404 and an exception with the code wrs:NotFound. 9.2.6
Harvest Operation
The Harvest operation is described in section 14 of [OGC 07-110r4]. It allows a user to request the catalogue to harvest a resource from a specified network location, thereby realizing a ‘pull’ model for publishing registry content. If the catalogue successfully retrieves the resource and successfully processes it, then one or more corresponding registry objects are created or updated. Brief representations (see subclause 14.1 of [OGC 07-110r4]) of all modified records are returned to the client when processing is complete. This publication operation is optional in Earth Observation ebRIM Catalogue. If not implemented, the catalogue is ‘read-only’ and only discovery operations are available. 9.2.6.1
Harvest Request
The csw:Source element specifies a URL from which the resource may be retrieved. The scheme component shall correspond to a protocol supported by the catalogue; support for the ‘http’ scheme is required by all conforming implementations, and ‘HTTP/1.1’ shall be listed in the capabilities document as a value for the ‘harvestprotocols’ system property. If specified, the csw:ResourceType element shall indicate the object type of the corresponding extrinsic object. It may be possible for the catalogue to deduce this from the content of the resource (for example, a data set description that conforms to the ISO 19139 schemas). The value should correspond to a type supported by the catalogue, as identified in the objectType classification scheme.
74
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
The harvest operation definition shall advertise the support for EO Metadata resourceType using the following literal 11 values: − eop:EarthObservation, − sar:EarthObservation − opt:EarthObservation − atm:EarthObservation Example 6 – Harvest Operation Definition in the Capabilies <Operation name="Harvest"> <DCP> <HTTP> <Get xlink:href="http://...." xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> <Post xlink:href="http://..." xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> </HTTP> </DCP> <Parameter name="resourceType"> <Value>eop:EarthObservation</Value> <Value>sar:EarthObservation</Value> <Value>opt:EarthObservation</Value> <Value>atm:EarthObservation</Value> <Value>ISO19139</Value> <Value>Context</Value> <Value>SOS</Value> <Value>WMS</Value> <Value>WCS</Value> <Value>WFS</Value> </Parameter> <Parameter name="source"> </Parameter> </Operation>
9.2.6.2
Harvest Response
If the request is processed successfully, the body of the response message shall include an XML document where the document element has the following infoset properties: •
A [local name] of ‘HarvestResponse’,
•
A [namespace name] of ‘http://www.opengis.net/cat/csw/2.0.2’ (usually represented by the ‘csw’ prefix).
The document element shall include a csw:TransactionResponse element that contains the csw:InsertResults child element; this element shal list all registry objects that were created as a result of the harvesting operation. 9.2.6.3
Exceptions
If the resource cannot be retrieved from the source URL, an exception with the code wrs:NotFound shall be included in an ogc:ExceptionReport. If the resource format is 11 Note that the 3 letters acronyms (eop, sar, opt and atm) are not XML prefixes. ResourceType is not a QName.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
75
Open Geospatial Consortium Inc.
OGC 06-131r6
not supported by the catalogue or the object type is not recognized, an exception with code wrs:NotSupported shall be returned. In the event that the transaction cannot be completed for any reason, an exception with the wrs:TransactionFailed code shall be returned. 10 Implementation Guidance 10.1
Use of ParentIdentifier
Typically, the filter expression passed in the GetRecords request will contain a subexpression <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name=’urn:ogc:def:slot:OGC-CSWebRIM-EO::parentIdentifier’]/rim:ValueList/rim:Value[1]</ogc:PropertyName> <ogc:Literal>collectionid</ogc:Literal> </ogc:PropertyIsEqualTo>
This allows an implementation to search the catalogue for matching products with the same parentIdentifier, typically a collection of EO products. Often EO collections are organized per satellite, instrument or even submode of the instrument. The convention for the parentIdentifier is as defined in "Definition identifier URNs in OGC namespace" [OGC 07-092] i.e. urn:ogc:def:objectType:authority:version:code. where the registered namespace authority is ogc, the objectType is EOP (it cannot be thematic or mission specific acronyms like OPT, ATM, PHR,etc), the authority representing the Ground Segment i.e ESA, SPOT, EUM etc. The version is optional. The code is a unique identifier specified by the authority which corresponds here to the collection name. The ":" will delimit the start of the collection name. The collection name can be defined as required by the Ground Segment but to ensure unique names the following representation is proposed: programme.satellite_instrument_processing example of parentIdentifier: urn:ogc:def:EOP:ESA:EECF.ENVISAT_ASA_APx_xS. The EO Product identifiers shall start with the ParentIdentifier. This convention shall be validated by the EO GML.
76
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Annex A: ABSTRACT TEST SUITE (NORMATIVE) A.1.
Conformance Test Class: The Core (EOP support)
A.1.1 Support of SOAP 1.2 a) Test purpose: The implementation under test supports SOAP 1.2. b) Test method: Verify that the service under test responds to the request encoded in the body of a SOAP 1.2 envelope by generating a SOAP 1.2 message where the expected content is the content of the <soap:Body> element. Pass if the assertion is satisfied; fail otherwise. c) References: OGC 07-006r1 Subclause 10.3.2, OGC 08-103r2 ATC 26; OGC 06131r6 Subclause 7. d) Test type: Capability A.1.2 Package availability e) Test purpose: The EO Products extension package is available as a supported extension package and is complete. f) Test method: Verify that a rim:RegistryPackage element with @id = “urn:xogc:specification:csw-ebrim:package:EOProducts” and Name property set to ‘EOProduct’ is a member of the ‘root’ package, which contains all packages supported by the service, and contains the additional extrinsic objects, association types, classification schemes and nodes, slots and stored queries defined by the standard. Pass if the assertion is satisfied; fail otherwise. g) References: OGC 07-110r4 Subclause 17.1, OGC 06-131r6 Subclause 8.3 (see also Annex F) h) Test type: Capability A.1.3 Collection identifiers advertisement a) Test purpose: The EO Product parent identifiers (i.e. collection names) are advertised in the Capabilities document. b) Test method: Verify that the Capabilities document contains an ows:ExtendedCapabilities element with a slot named urn:ogc:def:slot:OGC-CSWebRIM-EO::parentIdentifier whose values correspond to the EO Product collection names. c) References: OGC 06-131r6 Subclause 9.2.1.2 d) Test type: Capability A.1.4 EOProduct acquisition parameters instantiation e) Test purpose: The EOProduct ExtrinsicObject contains the correct set of ‘EOP’ attributes.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
77
Open Geospatial Consortium Inc.
OGC 06-131r6
f) Test method: Verify that the ExtrinsicObject is valid and contains the mandatory slots specified in Table 3 of the standard. Verify that slots with cardinality 0..1 are not instantiated multiple times. g) References: OGC 06-131r6 Subclause 8.2.4, Table 3 h) Test type: Capability A.1.5 EOProduct acquisition parameters mapping a) Test purpose: The acquisition parameters of a GML document (in EOP namespace) describing an EO Product are correctly mapped to the EOProduct ExtrinsicObject and slots representing the EO Product. b) Test method: Verify that the mappings between the GML document and the EOProduct ExtrinsicObject and its slots correspond to those specified in Table 3 of the standard. Pass if the mappings are correctly applied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.4 and Table 3 d) Test type: Capability A.1.6 EOProduct classification instantiation a) Test purpose: The EOProduct ExtrinsicObject is classified in the EO_Product_Types taxonomy. b) Test method: Verify that the EOProduct ExtrinsicObject is linked through a Classification object to a ClassificationNode belonging to the EO_Product_Types:ClassificationScheme. Pass if the assertion is satisfied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.5 d) Test type: Capability A.1.7 EO_Product_Types classification mapping e) Test purpose: The EOProduct ExtrinsicObject corresponding to an EarthObservation element in the GML EO instance is correctly classified in the EO_Product_Types taxonomy. f) Test method: Verify that the classification node classifying the EOProduct ExtrinsicObject in the EO_Product_Types:ClassificationScheme corresponds to the namespace of the root EarthObservation element in the GML EO instance. Pass if the mappings are correctly applied; fail otherwise. g) References: OGC 06-131r6 Subclause 8.2.5 h) Test type: Capability A.1.8 AcquiredBy association instantiation a) Test purpose: The AcquiredBy association is correctly instantiated. b) Test method: Verify that all EOProductAcquisitionPlatform ExtrinsicObject instances are related to an EOProduct ExtrinsicObject instance through an instance of AcquiredBy. Verify that an EOProduct ExtrinsicObject instance is not related to more than one instance of EOProductAcquisitionPlatform
78
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
ExtrinsicObject through the AcquiredBy association. Pass if the assertion is satisfied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.6 Table 4 d) Test type: Capability A.1.9 EOProductAcquisitionPlatform instantiation a) Test purpose: The EOProductAcquisitionPlatform ExtrinsicObject and its slots are correctly instantiated. b) Test method: Verify that the EOProductAcquisitionPlatform ExtrinsicObject and its slots are instantiated with the correct cardinality, as defined in Table 4. Pass if the assertion is satisfied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.6 Table 4 d) Test type: Capability A.1.10 EOProductAcquisitionPlatform mapping a) Test purpose: The acquisition platforms properties of a GML document (in EOP namespace) describing an EO Product are correctly mapped to the AcquiredBy association, the EOProductAcquisitionPlatform ExtrinsicObject and its slots. b) Test method: Verify that the mappings between the GML document and the AcquiredBy association, the EOProductAcquisitionPlatform ExtrinsicObject and its slots correspond to those specified in Table 4 of the standard. Pass if the mappings are correctly applied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.6 Table 4 d) Test type: Capability A.1.11 HasProductInformation association instantiation a) Test purpose: The HasProductInformation association is correctly instantiated. b) Test method: Verify that all EOProductInformation ExtrinsicObject instances are related to an EOProduct ExtrinsicObject instance through an instance of HasProductInformation. Verify that an EOProduct ExtrinsicObject instance is not related to more than one instance of EOProductInformation ExtrinsicObject through the HasProductInformation association. c) References: OGC 06-131r6 Subclause 8.2.6 Table 5 d) Test type: Capability A.1.12 EOProductInformation instantiation a) Test purpose: The EOProductInformation ExtrinsicObject and its slots are correctly instantiated. b) Test method: Verify that the EOProductInformation ExtrinsicObject and its slots are instantiated with the correct cardinality, as defined in Table 5. Pass if the assertion is satisfied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.6 Table 5 d) Test type: Capability
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
79
Open Geospatial Consortium Inc.
OGC 06-131r6
A.1.13 EOProductInformation mapping a) Test purpose: The product information properties of a GML document (in EOP namespace) describing an EO Product are correctly mapped to the HasProductInformation association, the EOProductInformation ExtrinsicObject and its slots. b) Test method: Verify that the mappings between the GML document and the HasProductInformation association, the EOProductInformation ExtrinsicObject and its slots correspond to those specified in Table 5 of the standard. Pass if the mappings are correctly applied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.6 Table 5 d) Test type: Capability A.1.14 HasBrowseInformation association instantiation a) Test purpose: The HasBrowseInformation association is correctly instantiated. b) Test method: Verify that all EOBrowseInformation ExtrinsicObject instances are related to an EOProduct ExtrinsicObject instance through an instance of HasBrowseInformation. c) References: OGC 06-131r6 Subclause 8.2.6 Table 6 d) Test type: Capability A.1.15 EOBrowseInformation instantiation a) Test purpose: The EOBrowseInformation ExtrinsicObject and its slots are correctly instantiated. b) Test method: Verify that the EOBrowseInformation ExtrinsicObject and its slots are instantiated with the correct cardinality, as defined in Table 6. Pass if the assertion is satisfied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.6 Table 6 d) Test type: Capability A.1.16 EOBrowseInformation mapping a) Test purpose: The browse information properties of a GML document (in EOP namespace) describing an EO Product are correctly mapped to the HasBrowseInformation association, the EOBrowseInformation ExtrinsicObject and its slots. b) Test method: Verify that the mappings between the GML document and the HasBrowseInformation association, the EOBrowseInformation ExtrinsicObject and its slots correspond to those specified in Table 6 of the standard. Pass if the mappings are correctly applied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.6 Table 6 d) Test type: Capability
80
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
A.1.17 HasMaskInformation association instantiation a) Test purpose: The HasMaskInformation association is correctly instantiated. b) Test method: Verify that all EOMaskInformation ExtrinsicObject instances are related to an EOProduct ExtrinsicObject instance through an instance of HasMaskInformation. c) References: OGC 06-131r6 Subclause 8.2.6 Table 7 d) Test type: Capability A.1.18 EOMaskInformation instantiation a) Test purpose: The EOMaskInformation ExtrinsicObject and its slots are correctly instantiated. b) Test method: Verify that the EOMaskInformation ExtrinsicObject and its slots are instantiated with the correct cardinality, as defined in Table 7. Pass if the assertion is satisfied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.6 Table 7 d) Test type: Capability A.1.19 EOMaskInformation mapping a) Test purpose: The mask information properties of a GML document (in EOP namespace) describing an EO Product are correctly mapped to the HasMaskInformation association, the EOMaskInformation ExtrinsicObject and its slots. b) Test method: Verify that the mappings between the GML document and the HasMaskInformation association, the EOMaskInformation ExtrinsicObject and its slots correspond to those specified in Table 7 of the standard. Pass if the mappings are correctly applied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.6 Table 7 d) Test type: Capability A.1.20 ArchivedIn association instantiation a) Test purpose: The ArchivedIn association is correctly instantiated. b) Test method: Verify that all EOArchivingInformation ExtrinsicObject instances are related to an EOProduct ExtrinsicObject instance through an instance of ArchivedIn. c) References: OGC 06-131r6 Subclause 8.2.6 Table 8 d) Test type: Capability A.1.21 EOArchivingInformation instantiation a) Test purpose: The EOArchivingInformation ExtrinsicObject and its slots are correctly instantiated. b) Test method: Verify that the EOArchivingInformation ExtrinsicObject and its slots are instantiated with the correct cardinality, as defined in Table 8. Pass if the assertion is satisfied; fail otherwise.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
81
Open Geospatial Consortium Inc.
OGC 06-131r6
c) References: OGC 06-131r6 Subclause 8.2.6 Table 8 d) Test type: Capability A.1.22 EOArchivingInformation mapping a) Test purpose: The archiving information properties of a GML document (in EOP namespace) describing an EO Product are correctly mapped to the ArchivedIn association, the EOArchivingInformation ExtrinsicObject and its slots. b) Test method: Verify that the mappings between the GML document and the ArchivedIn association, the EOArchivingInformation ExtrinsicObject and its slots correspond to those specified in Table 8 of the standard. Pass if the mappings are correctly applied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.6 Table 8 d) Test type: Capability A.1.23 EO Product metadata grouping e) Test purpose: All the RegistryObjects related to an EOProduct (i.e. all its metadata) are grouped into a RegistryPackage with the property Name set to ‘EOProduct’. f) Test method: Verify that a query on the RegistryPackage element will return all the objects that represent a full EO Product. Pass if the assertion is satisfied; fail otherwise. g) References: OGC 06-131r6 Subclause 8.2.7 h) Test type: Capability A.1.24 GetRepositoryItem id parameter a) Test purpose: EO GML repository items are accessed through to extrinsic objects of type EOProduct only. b) Test method: Verify that a GetRepositoryItem request with an id matching a urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct ExtrinsicObject returns the EO GML attached to this object with status code 200 or an HTTP 404 error if no repository item is available. Verify that a GetRepositoryItem request with an id matching another objectType returns an HTTP 404 error. c) References: OGC 06-131r6 Subclause 9.2.5.2. d) Test type: Capability A.1.25 Harvest operation a) Test purpose: The harvest operation definition advertises the support for EO Products b) Test method: Verify that the harvest operation in the IUT Capabilities document includes the following resourceTypes: -
82
eop:EarthObservation,
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Pass if the assertion is satisfied; fail otherwise c) References: OGC 06-131r6 Subclause 9.2.6.1 d) Test type: Capability A.1.26 EO Product external interface SOAP 1.1 binding a) Test purpose: All operations support the embedding of requests and responses in SOAP 1.1. b) Test method: Verify that the IUT accepts requests encoded in SOAP 1.1 and responds with the expected valid results. Pass if the assertion is satisfied; fail otherwise. c) References: OGC 06-131r6 Annex F d) Test type: Capability
A.2.
Conformance Test Class: SAR Extension
The SAR Extension conformance class extends the Core conformance class (cf. A.1). A.2.1 SAR-specific slots instantiation a) Test purpose: SAR-specific slots in the EOProduct ExtrinsicObject are correctly instantiated. b) Test method: Verify that the SAR slots are instantiated with the correct cardinality, as defined in Table 9. Pass if the assertion is satisfied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.8.1 Table 9 d) Test type: Capability A.2.2 SAR-specific slots mapping a) Test purpose: The SAR properties of a GML document (in SAR namespace) describing an EO Product are correctly mapped to the relevant slots in the EOProduct ExtrinsicObject. b) Test method: Verify that the mappings between the GML document and the SAR slots in the EOProduct ExtrinsicObject correspond to those specified in Table 9 of the standard. Pass if the mappings are correctly applied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.8.1 Table 9 d) Test type: Capability A.2.3 Advertisement of SAR support for Harvest operation in Capabilities document a) Test purpose: The harvest operation definition advertises support for SAR EO Products b) Test method: Verify that the harvest operation in the IUT Capabilities document includes the following resourceTypes:
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
83
Open Geospatial Consortium Inc.
-
OGC 06-131r6
sar:EarthObservation
Pass if the assertion is satisfied; fail otherwise c) References: OGC 06-131r6 Subclause 9.2.6.1 d) Test type: Capability
A.3.
Conformance Test Class: OPT Extension
The OPT Extension conformance class extends the Core conformance class (cf. A.1). A.3.1 OPT-specific slots instantiation a) Test purpose: OPT-specific slots in the EOProduct ExtrinsicObject are correctly instantiated. b) Test method: Verify that the OPT slots are instantiated with the correct cardinality, as defined in Table 9. Pass if the assertion is satisfied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.8.2 Table 10 d) Test type: Capability A.3.2 OPT-specific slots mapping a) Test purpose: The OPT properties of a GML document (in OPT namespace) describing an EO Product are correctly mapped to the relevant slots in the EOProduct ExtrinsicObject. b) Test method: Verify that the mappings between the GML document and the OPT slots in the EOProduct ExtrinsicObject correspond to those specified in Table 9 of the standard. Pass if the mappings are correctly applied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.8.2 Table 10 d) Test type: Capability A.3.3 Advertisement of OPT support for Harvest operation in Capabilities document a) Test purpose: The harvest operation definition advertises support for OPT EO Products b) Test method: Verify that the harvest operation in the IUT Capabilities document includes the following resourceTypes: -
opt:EarthObservation
Pass if the assertion is satisfied; fail otherwise c) References: OGC 06-131r6 Subclause 9.2.6.1 d) Test type: Capability
84
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
A.4.
Conformance Test Class: ATM Extension
The ATM Extension conformance class extends the Core conformance class (cf. A.1). A.4.1 HasDataLayer association instantiation a) Test purpose: The HasDataLayer association is correctly instantiated. b) Test method: Verify that all EODataLayer ExtrinsicObject instances are related to an EOProduct ExtrinsicObject instance through an instance of HasDataLayer. c) References: OGC 06-131r6 Subclause 8.2.8.3 Table 11 d) Test type: Capability A.4.2 EODataLayer instantiation a) Test purpose: The EODataLayer ExtrinsicObject and its slots are correctly instantiated. b) Test method: Verify that the EODataLayer ExtrinsicObject and its slots are instantiated with the correct cardinality, as defined in Table 11. Pass if the assertion is satisfied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.8.3 Table 11 d) Test type: Capability A.4.3 EODataLayer mapping a) Test purpose: The ATM data layers properties of a GML document (in ATM namespace) describing an EO Product are correctly mapped to the HasDataLayer association, the EODataLayer ExtrinsicObject and its slots. b) Test method: Verify that the mappings between the GML document and the HasDataLayer association, the EODataLayer ExtrinsicObject and its slots correspond to those specified in Table 11 of the standard. Pass if the mappings are correctly applied; fail otherwise. c) References: OGC 06-131r6 Subclause 8.2.8.3 Table 11 d) Test type: Capability A.4.4 Advertisement of ATM support for Harvest operation in Capabilities document a) Test purpose: The harvest operation definition advertises support for ATM EO Products b) Test method: Verify that the harvest operation in the IUT Capabilities document includes the following resourceTypes: -
atm:EarthObservation
Pass if the assertion is satisfied; fail otherwise
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
85
Open Geospatial Consortium Inc.
OGC 06-131r6
c) References: OGC 06-131r6 Subclause 9.2.6.1 d) Test type: Capability
86
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Annex B: XML SCHEMA DOCUMENTS (NORMATIVE)
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
87
Open Geospatial Consortium Inc.
OGC 06-131r6
Annex C: SOAP 1.1 IMPLEMENTATION (NORMATIVE) If SOAP 1.1 is used, only SOAP messaging (via HTTP/POST) with document/literal style shall be used, the expected SOAP Actions are: http://www.opengis.net/cat/csw/2.0.2/requests#GetCapabilities http://www.opengis.net/cat/csw/2.0.2/requests#DescribeRecord http://www.opengis.net/cat/csw/2.0.2/requests#GetRepositoryItem http://www.opengis.net/cat/csw/2.0.2/requests#GetRecords http://www.opengis.net/cat/csw/2.0.2/requests#GetRecordsById http://www.opengis.net/cat/csw/2.0.2/requests#Harvest You have below a request/response sample with the SOAP envelope information. C.1
Request
POST /daliproxy/wrs/DALIPROXYLAZY HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/#axisVersion# Host: dev.ionicsoft.com Cache-Control: no-cache Pragma: no-cache SOAPAction: "http://www.opengis.net/cat/csw/2.0.2/requests#GetRecords" Content-Length: 4121 Connection: close <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> .... // Any CSW Request </soapenv:Body> </soapenv:Envelope>
C.2
Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> …. // Any CSW Response </soap:Body> </soap:Envelope>
C.3
Error response
<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ ../../schemas/soap/envelope.xsd"> <soap:Body> <soap:Fault> <soap:faultcode>soap:Server</soap:faultcode> <soap:faultstring>A server exception was encountered.</soap:faultstring> <soap:detail> <ows:ExceptionReport version="1.2.0" xmlns:ows="http://www.opengis.net/ows" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ows ../../schemas/hma/catalogue/0.2.1/ows/1.0.0/owsExceptionReport.xsd"> <ows:Exception exceptionCode="wrs:InvalidRequest" locator="The optional locator attribute may be used to indicate where an exception was encountered in the request that generated the error"> <ows:ExceptionText>Message describing the occurred error.</ows:ExceptionText> </ows:Exception> </ows:ExceptionReport> </soap:detail> </soap:Fault> </soap:Body> </soap:Envelope>
88
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Annex D: IMPLEMENTATION ARCHITECTURES (INFORMATIVE) This standard describes interface and behavior of ebRIM Catalogues able to deal with Earth Observation Product Metadata. Such Catalogues can be deployed to manage EO Resources, in a ‘stand-alone’ mode (the catalogue acts as a registry and a repository where metadata are stored and indexed), or to provide an OGC compliant layer upon legacy catalogues, already deployed and serving existing data. This annex focuses on these two possibilities, and provides some guidance on the way to implement both architectures. D.1
Stand-Alone Architecture
This is the simplest architecture. Catalogue is used as a repository (for storing data) and a registry (for indexing data). It is OGC compliant and provides all capabilities and operations defined in OGC ebRIM Application Profile for CSW document. It is able to map incoming data (in this case EO Products) to objects defined by the Data Model described in this sepcification. Every resource (EarthObservation Product) is stored within the Catalogue and indexed to allow complex queries and fast retrieving. If needed, additional ebRIM associations and classifications (e.g., to additional business-related taxonomies) can extend the EO data model and provide additionnal metadata discovery facilities to implement new use-cases. EO Products might, for example, be linked to an object or structure describing their pricing model, in an eBusiness use-case.
Figure 23: Stand-Alone Architecture
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
89
Open Geospatial Consortium Inc.
D.2
OGC 06-131r6
Proxy Architecture
If Earth Observation Products are already stored in legacy (non OGC-compliant) catalogues, the goal of this architecture is to provide an OGC compliant interface onto existing data. From a very high-level point of view, two modes can be considered: •
The OGC layer is viewed as a front-end layer on the legacy catalogue: incoming requests are linked on the fly to the legacy catalogue, result sets are converted from the legacy format to the OGC CSW ebRIM format and responses are sent back to the user.
•
The OGC layer is viewed as a replication of the legacy catalogue: metadata are harvested from the legacy catalogue, resulting in indexes (and eventually metadata themselves) available for discovery directly in the OGC layer. Queries are processed without querying on the legacy catalogue. Synchronization mechanisms exist between the two catalogues.
D.2.1
Front-End Architecture
In this architecture, OGC queries must be translated to their native version (understandable by legacy catalogues) and executed on proxied catalogue in real time. Native responses must then be translated to be sent to the final user in an OGC compliant way. OGC CSW ebRIM Interface operations must either be directly mapped to operations available on the legacy catalogue, or processed (or emulated) by the CSW front-end. It can result in some limitations; the legacy catalogue might not provide all the functionalities needed to implement a compliant OGC CSW ebRIM interface. Such architecture requires a permanent connection between the legacy catalogue and the front-end, and can considerably increases network traffic. Performance is strongly dependant of the legacy infrastructure. Each required CSW operation should be emulated using a combination of one or more legacy operations. The results will then be processed and formatted to be returned in an OGC compliant way. A source of limitation and complexity appears if the legacy catalogue is not able to serve the metadata in the EO GML format. Indeed, if requested, the EO GML should be generated on-the-fly, and the information available in the legacy catalogue might not be sufficient to fill in the EO GML structure. Moreover, the legacy metadata might be organized in very different way, needing multiple requests to gather needed information. If metadata are rather static in the legacy database, a minimal caching mechanism can be used in the front-end layer to speed up queries, and avoid roundtrips to the legacy catalogue.
90
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Figure 24: Front-End Architecture This architecture avoids replication of data and synchronization mechanism to keep published data updated, indeed nothing is stored in the front-end layer. D.2.2
Replication Architecture
The OGC layer is viewed as a replication of the legacy catalogue: indexes on metadata - and eventually metadata themselves - are available for discovery directly in the OGC layer. Queries are processed without querying in real-time the legacy catalogue. Synchronization (periodical or permanent) is needed between the two catalogues. This synchronization may be bidirectional if the replicated OGC Catalogue allows harvesting and/or transactional operations. Harvest operation provides a publication ability to replicate every EO Products coming from the legacy catalogue to the OGC compliant one. Every resource is periodically submitted to the ebRIM Catalogue for storing and indexing, allowing complex queries and fast retrieving. In this case, the only source of limitation and complexity comes from the quality and organization of the metadata coming from the legacy Catalogue. The legacy catalogue might not able to serve the metadata in the EO GML format. The EO GML should be generated on-the-fly when requested, or generated during the Harvesting operation and stored in the replicated OGC Catalogue. Once again, the information available in the legacy catalogue might not be sufficient to fill in the EO GML structure. Note that, if needed, like for the stand-alone architecture, additional ebRIM associations and classifications (e.g., to additional business-related taxonomies) can extend the EO data model and provide additional metadata discovery facilities to implement new use-cases. EO Products might, for example, be linked to an object or structure describing their pricing model, in an eBusiness use-case.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
91
Open Geospatial Consortium Inc.
OGC 06-131r6
Figure 25: Replication Architecture
D.2.3
‘Front-End’ vs ‘Replication’ Comparison
Following table highlights benefits and disadvantages in both proxied architectures: Table 20 — ‘Front-End’ vs ‘Replication’ Comparison Front-End Architecture ( + ) No database duplication, ( + ) Always ‘synchronized’ with the legacy catalogue,
Replication Architecture ( + ) Full compliance on query requirements can be fulfilled, ( + ) Use of additional classifications or associations if needed, ( + ) No direct access to the legacy database, metadata are available in CSW database,
92
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Front-End Architecture ( - ) Inherits limitations from the legacy database and data access,
Replication Architecture ( - ) Database duplication, ( - ) Synchronization process needed,
( - ) Permanent connection required to access legacy database, ( - ) Time and network-traffic consuming, ( - ) Full power of ebRIM cannot be exploited (additional classifications or associations), D.3
Distributed Search Implementation
Although this extension package does not support DistributedSearch keyword in the GetRecords request, distributed searches can be implemented via a Web service orchestration engine, e.g. using OASIS BPEL as depicted below.
Figure 26: Implementing distributed search
D.4
Proxy profile
Considering the possible limitations related to the implementation of a Proxy architecture (see §D.2), this annex identifies the allowed deviations from the standard described in this document. These deviations are primarily intended to accommodate legacy servers, where the implementation of the full standard would be unpractical or unfeasible, so as to clarify their expected behaviour and maintain the greatest possible extent of interoperability. This profile allows a conforming server to deviate from the EO EP with respect to the following aspects:
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
93
Open Geospatial Consortium Inc.
OGC 06-131r6
o SOAP binding – since many COTS tools and legacy implementations do not fully support SOAP 1.2 and only provide support for SOAP 1.1, these systems shall support SOAP 1.1 and optionally support SOAP 1.2; this behaviour deviates from what required in §9.1; o Queryable properties – since legacy catalogues may not be able to support all the queryable properties, these systems shall ignore unsupported queryables and process the query as far as possible; this behaviour deviates from what required in the correspondence tables in §8.2; o Queries on multiple collections – since legacy catalogues may not be able to support complex Filter expression containing “or” or “and” conditions (used to search several EO collections with a single request, improving the efficiency of the catalogue), these systems shall only support queries on a single collection (i.e. parentiIdentifier); this behaviour is similar to Conformance Level 1 in §G.1.1 and deviates from what required in the baseline OGC standards.
94
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Annex E: EXAMPLES (INFORMATIVE) E.1
Service capabilities document
<?xml version='1.0' encoding='utf-8' ?> <wrs:Capabilities version="1.0.0" xmlns:ionic="http://www.ionicsoft.com/versions/196611" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://www.opengis.net/cat/wrs/1.0 http://achernar:8280/erdaswrs/wrs/WRS/REQUEST/get/DATA/LPR/wrs/1.0.0/wrs-capabilities.xsd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ows="http://www.opengis.net/ows" xmlns:wrs="http://www.opengis.net/cat/wrs/1.0"> <ows:ServiceIdentification xmlns:ows="http://www.opengis.net/ows" xmlns="http://www.opengis.net/ows"> <Title>Ionic Web Registry Service</Title> <Abstract>A catalog service that conforms the HTTPprotocol binding of the OpenGIS Catalog Service Specification Version 2.0.2.</Abstract> <Keywords> <Keyword>CSW</Keyword> <Keyword>ERDAS</Keyword> <Keyword>Geospatial</Keyword> <Keyword>Catalog</Keyword> <Keyword>RedSpider</Keyword> </Keywords> <ServiceType>CSW</ServiceType> <ServiceTypeVersion>2.0.2</ServiceTypeVersion> <Fees>NONE</Fees> <AccessConstraints>NONE</AccessConstraints> </ows:ServiceIdentification> <ows:ServiceProvider xmlns:ows="http://www.opengis.net/ows" xmlns="http://www.opengis.net/ows"> <ProviderName>ERDAS S.A.</ProviderName> <ProviderSite xlink:href="http://www.ionicsoft.com" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> <ServiceContact> <IndividualName>Frédéric Houbie</IndividualName> <PositionName>Catalog Consultant</PositionName> <ContactInfo> <Phone> <Voice>+3243640364</Voice> <Facsimile>+3242534737</Facsimile> </Phone> <Address> <DeliveryPoint>Quai Timmermans, 14</DeliveryPoint> <City>Liege</City> <AdministrativeArea>Liege</AdministrativeArea> <PostalCode>4000</PostalCode> <Country>Belgium</Country> <ElectronicMailAddress>[email protected]</ElectronicMailAddress> </Address> <OnlineResource xlink:href="mailto:[email protected]" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> <HoursOfService>9-18</HoursOfService> <ContactInstructions>Call Me</ContactInstructions> </ContactInfo> </ServiceContact> </ows:ServiceProvider> <ows:OperationsMetadata xmlns:ows="http://www.opengis.net/ows" xmlns="http://www.opengis.net/ows"> <Operation name="GetCapabilities"> <DCP> <HTTP> <Get xlink:href="http://achernar:8280/erdaswrs/wrs/WRS?" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> <Post xlink:href="http://achernar:8280/erdaswrs/wrs/WRS" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> </HTTP> </DCP> <Parameter name="AcceptVersions"> <Value>1.0.0</Value> </Parameter> <Parameter name="service"> <Value>CSW</Value> <Value>CSW-ebRIM</Value> </Parameter> <Parameter name="version"> <Value>2.0.2</Value> <Value>1.0.0</Value> </Parameter> <Parameter name="AcceptFormats"> <Value>text/xml</Value> <Value>application/xml</Value> </Parameter> </Operation> <Operation name="GetRecords"> <DCP> <HTTP> <Get xlink:href="http://achernar:8280/erdaswrs/wrs/WRS?" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> <Post xlink:href="http://achernar:8280/erdaswrs/wrs/WRS" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> </HTTP> </DCP> <Parameter name="resultType">
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
95
Open Geospatial Consortium Inc.
OGC 06-131r6
<Value>hits</Value> <Value>results</Value> <Value>validate</Value> </Parameter> <Parameter name="CONSTRAINTLANGUAGE"> <Value>FILTER</Value> </Parameter> <Parameter name="DistributedSearch"> <Value>FALSE</Value> </Parameter> <Parameter name="outputFormat"> <Value>application/xml</Value> <Value>text/xml</Value> <Value>multipart/related</Value> </Parameter> <Parameter name="outputSchema"> <Value>http://www.opengis.net/cat/csw/2.0.2</Value> <Value>urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0</Value> </Parameter> <Parameter name="typeNames"> <Value>csw:Record</Value> <Value>rim:RegistryObject</Value> </Parameter> </Operation> <Operation name="GetRecordById"> <DCP> <HTTP> <Get xlink:href="http://achernar:8280/erdaswrs/wrs/WRS?" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> <Post xlink:href="http://achernar:8280/erdaswrs/wrs/WRS" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> </HTTP> </DCP> <Parameter name="outputFormat"> <Value>application/xml</Value> <Value>text/xml</Value> <Value>multipart/related</Value> </Parameter> <Parameter name="elementSetName"> <Value>full</Value> <Value>brief</Value> <Value>summary</Value> </Parameter> <Parameter name="outputSchema"> <Value>http://www.opengis.net/cat/csw/2.0.2</Value> <Value>urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0</Value> </Parameter> <Parameter name="TypeName"> <Value>csw:Record</Value> <Value>rim:RegistryObject</Value> </Parameter> </Operation> <Operation name="Harvest"> <DCP> <HTTP> <Get xlink:href="http://achernar:8280/erdaswrs/wrs/WRS?" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> <Post xlink:href="http://achernar:8280/erdaswrs/wrs/WRS" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> </HTTP> </DCP> <Parameter name="resourceType"> <Value>ISO19139</Value> <Value>ISO19139IONIC</Value> <Value>Context</Value> <Value>SOS</Value> <Value>FGDC</Value> <Value>ISO19139-OLD</Value> <Value>WMS</Value> <Value>Phenomenon</Value> <Value>WCS</Value> <Value>GEOPOISO19139</Value> <Value>SensorML</Value> <Value>WFS</Value> </Parameter> </Operation> <Operation name="DescribeRecord"> <DCP> <HTTP> <Get xlink:href="http://achernar:8280/erdaswrs/wrs/WRS?" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> <Post xlink:href="http://achernar:8280/erdaswrs/wrs/WRS" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> </HTTP> </DCP> <Parameter name="outputFormat"> <Value>application/xml</Value> <Value>text/xml</Value> </Parameter> <Parameter name="schemaLanguage"> <Value>http://www.w3.org/TR/xmlschema-1/</Value> </Parameter> <Parameter name="TypeName">
96
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
<Value>csw:Record</Value> <Value>rim:RegistryObject</Value> </Parameter> </Operation> <Operation name="GetRepositoryItem"> <DCP> <HTTP> <Get xlink:href="http://achernar:8280/erdaswrs/wrs/WRS?" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> <Post xlink:href="http://achernar:8280/erdaswrs/wrs/WRS" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> </HTTP> </DCP> </Operation> <Operation name="DeleteResource"> <DCP> <HTTP> <Get xlink:href="http://achernar:8280/erdaswrs/wrs/WRS?" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> </HTTP> </DCP> </Operation> <Operation name="Transaction"> <DCP> <HTTP> <Post xlink:href="http://achernar:8280/erdaswrs/wrs/WRS" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"/> </HTTP> </DCP> </Operation> <Parameter name="service"> <Value>http://www.opengis.net/cat/wrs/1.0</Value> </Parameter> <Parameter name="version"> <Value>1.0.0</Value> </Parameter> <Constraint name="PostEncoding"> <Value>XML</Value> <Value>SOAP</Value> </Constraint> <Constraint name="Content-Type"> <Value>text/xml</Value> <Value>application/xml</Value> <Value>application/soap+xml</Value> </Constraint> <ExtendedCapabilities xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::parentIdentifier" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>urn:ogc:def:EOP:ESA:EECF.ENVISAT_ASA_APx_xS</rim:Value> <rim:Value>urn:ogc:def:EOP:ESA.EECF.ENVISAT_RA2_MWx_2C</rim:Value> </rim:ValueList> </rim:Slot> </ExtendedCapabilities> </ows:OperationsMetadata> <Filter_Capabilities xmlns="http://www.opengis.net/ogc"> <Spatial_Capabilities> <GeometryOperands xmlns:gml="http://www.opengis.net/gml"> <GeometryOperand>gml:Point</GeometryOperand> <GeometryOperand>gml:LineString</GeometryOperand> <GeometryOperand>gml:Polygon</GeometryOperand> <GeometryOperand>gml:Envelope</GeometryOperand> </GeometryOperands> <SpatialOperators> <SpatialOperator name="BBOX"/> <SpatialOperator name="Equals"/> <SpatialOperator name="Disjoint"/> <SpatialOperator name="Intersects"/> <SpatialOperator name="Touches"/> <SpatialOperator name="Crosses"/> <SpatialOperator name="Within"/> <SpatialOperator name="Contains"/> <SpatialOperator name="Overlaps"/> <SpatialOperator name="Beyond"/> <SpatialOperator name="DWithin"/> </SpatialOperators> </Spatial_Capabilities> <Scalar_Capabilities> <LogicalOperators/> <ComparisonOperators> <ComparisonOperator>LessThan</ComparisonOperator> <ComparisonOperator>GreaterThan</ComparisonOperator> <ComparisonOperator>LessThanEqualTo</ComparisonOperator> <ComparisonOperator>GreaterThanEqualTo</ComparisonOperator> <ComparisonOperator>EqualTo</ComparisonOperator> <ComparisonOperator>NotEqualTo</ComparisonOperator> <ComparisonOperator>Like</ComparisonOperator> <ComparisonOperator>Between</ComparisonOperator> <ComparisonOperator>NullCheck</ComparisonOperator> </ComparisonOperators> <ArithmeticOperators> <SimpleArithmetic/>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
97
Open Geospatial Consortium Inc.
OGC 06-131r6
</ArithmeticOperators> </Scalar_Capabilities> <Id_Capabilities> <EID/> </Id_Capabilities> </Filter_Capabilities> </wrs:Capabilities>
E.2
GetRecords operation
The <csw:Query> element is documented in Subclause 10.2.3 of [OGC 07-110r4]. It explains the use of binding variables – or aliases – to avoid ambiguity when specifying complex queries that navigate associations by traversing multiple links between related registry objects. The value of the Query/@typeNames attribute is a whitespace-separated list of object types that constitute the scope of the query. Each value in the list shall be a qualified type name. One or more variables may be bound to a type name. A query like: “Give all EO Product having a begin position greater than 2007-01-01T00:00:00.000 and an acquisition platform sensor type equals to OPTICAL” Is expressed more formally as: “Give all EO Product Registry Package with an ExtrinsicObject of objectType equals to ‘urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct’, having a begin position greater than 2007-01-01T00:00:00.000, which are source of an Association of type ‘urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::AcquiredBy’ pointing – as target – to an ExtrinsicObject having as objectType ‘urn:ogc:def:objectType:OGCCSW-ebRIM-EO::EOAcquisitionPlatform’ and having a sensorType equals to OPTICAL” Example 7 – GetRecords example.
<?xml version="1.0" encoding="UTF-8"?> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" outputSchema="urn:oasis:names:tc:ebxmlregrep:xsd:rim:3.0" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="2"> <csw:Query typeNames="rim:RegistryPackage rim:ExtrinsicObject rim:ExtrinsicObject_ACQPLAT rim:Association"> <csw:ElementSetName typeNames="rim:RegistryPackage">full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <!—This expression makes the link between the Registry Package and the elements it contains -->
<ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:RegistryPackage/rim:RegistryObjectList[*]/rim:RegistryObject/@i d</ogc:PropertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName>
98
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
</ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/@objectType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIM-EO::beginPosition”]/rim:ValueList/rim:Value[1]</ogc:PropertyName> <ogc:Literal>2007-01-10T00:00:00.000</ogc:Literal> </ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$ACQPLAT/@objectType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOAcquisitionPlatform</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$ACQPLAT/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSW-ebRIMEO::sensorType”]/rim:ValueList/rim:Value[1]</ogc:PropertyName> <ogc:Literal>OPTICAL</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Association/@associationType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:associationType:OGC-CSW-ebRIMEO::AcquiredBy</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Association/@sourceObject</ogc:PropertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Association/@targetObject</ogc:PropertyName> <ogc:PropertyName>$ACQPLAT/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> </ogc:And> </ogc:Filter> </csw:Constraint> <csw:SortBy> <ogc:SortProperty> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name=”urn:ogc:def:slot:OGCCSW-ebRIM-EO::beginPosition”]/rim:ValueList/rim:Value[1]</ogc:PropertyName> <ogc:SortOrder>ASC</ogc:SortOrder> </ogc:SortProperty> </csw:SortBy> </csw:Query> </csw:GetRecords>
In this request, four aliases are declared in the typenames attribute of the <csw:query>. One for the Registry Package, two aliases have the rim:ExtrinsicObject type and one have the rim:Association type. The first rim:extrinsicObject alias is
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
99
Open Geospatial Consortium Inc.
OGC 06-131r6
named ‘ACQPLAT’ ; the other one has no name. If no name is used for the alias, it shall be referred to in the request using its type (rim:ExtrinsicObject or rim:Association). If the alias has a name, $AliasName shall be used. A named alias is required as soon as several objects with the same type shall be filtered on. In the example, the acquisitionPlatform object and the EOProduct object have the same ‘ExtrinsicObject’ type so one of them shall be named. In the example, the filter applied to the rim:ExtrinsicObject alias states that it is an EOProduct object with a beginDate greater than ‘2007-01-01T00:00:00.000’. The ACQPLAT alias is then filtered : it shall be an Acquisitionplatform type with a sensor type equals to ‘OPTICAL’. The two objects are then linked together. This is done by a filter on an Association object, which shall have AcquiredBy as its objectType, a sourceObject equals to the EOProduct id and a target Object equals to the AcquisitionPlatform id. Specifying rim:RegistryPackage as the value of the ElementSetName parameter implies that the RegistryPackage structure will be returned. As the RegistryPackage contains all the objects that represent a EOProduct, the full representation of that EO Product will be sent back by the server. This request returns the ‘full’ information (EOProduct, ExternalIdentifier, classification, AcquisitionPlatform and association objects) as shown below: Example 8 – GetRecordsResponse example.
<?xml version="1.0" encoding="UTF-8"?> <csw:GetRecordsResponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/cat/csw/2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://dev.ionicsoft.com:80/daliproxy/wrs/DALIPROXYLAZY/REQUEST/get/DATA/LPR/csw/2.0.2/CSWpublication.xsd"> <csw:SearchStatus/> <csw:SearchResults xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" numberOfRecordsMatched="3128834" numberOfRecordsReturned="2" nextRecord="21" xsi:schemaLocation=""> <rim:RegistryPackage id="urn:uuid:491265a5-3646-4a17-8595-782454ec4e00" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:RegistryPackage"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOProduct"/> </rim:Name> <rim:RegistryObjectList> <rim:ExtrinsicObject id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::imageQualityDegradation" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>75.0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::centerOf" slotType="urn:ogc:def:dataType:ISO-19107:2003:GM_Object"> <wrs:ValueList xmlns:wrs="http://www.opengis.net/cat/wrs/1.0"> <wrs:AnyValue xmlns:gml="http://www.opengis.net/gml">
100
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
<gml:Point srsName=" urn:ogc:def:crs:EPSG:6.3:4326"> <gml:pos>147.89204939003056 -15.015514612197876</gml:pos> </gml:Point> </wrs:AnyValue> </wrs:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::productType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>Scene</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::beginPosition" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2007-01-10T00:16:31Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::doi" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"> <rim:ValueList> <rim:Value>urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::lastOrbitNumber" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Integer"> <rim:ValueList> <rim:Value>235</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::multiExtentOf" slotType="urn:ogc:def:dataType:ISO-19107:2003:GM_Object"> <wrs:ValueList xmlns:wrs="http://www.opengis.net/cat/wrs/1.0"> <wrs:AnyValue xmlns:gml="http://www.opengis.net/gml"> <gml:Polygon srsName=" urn:ogc:def:crs:EPSG:6.3:4326"> <gml:exterior> <gml:LinearRing srsName=" urn:ogc:def:crs:EPSG:6.3:4326"> <gml:pos>147.49 -15.22700023651123</gml:pos> <gml:pos>148.1592 -15.340299606323242</gml:pos> <gml:pos>148.2935882414475 -14.803518295288086</gml:pos> <gml:pos>147.62540931867474 -14.691240310668945</gml:pos> <gml:pos>147.49 -15.22700023651123</gml:pos> </gml:LinearRing> </gml:exterior> </gml:Polygon> </wrs:AnyValue> </wrs:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::endPosition" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2007-01-10T00:16:31Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::alongTrackIncidenceAngle" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
101
Open Geospatial Consortium Inc.
OGC 06-131r6
<rim:Value>-25.784143</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>NOMINAL</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::cloudCoverPercentage" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>100.0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acrossTrackIncidenceAngle" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>13.800000190734863</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::snowCoverPercentage" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>100.0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::orbitNumber" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Integer"> <rim:ValueList> <rim:Value>235</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::status" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>ACQUIRED</rim:Value> </rim:ValueList> </rim:Slot> </rim:ExtrinsicObject> <rim:Classification id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:50" classifiedObject="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0" classificationNode="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:OPT" classificationScheme="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes"/> <rim:ExtrinsicObject id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:2" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOArchivingInformation"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::archivingDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2007-01-10T01:04:01Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="AB"/> </rim:Name> </rim:ExtrinsicObject>
102
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
<rim:Association id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:20" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::ArchivedIn" sourceObject="urn:xdali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0" targetObject="urn:xdali:sat:Shift0:a21:43733800701100016312I:dn:4377990:2"/> <rim:ExtrinsicObject id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:4" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOBrowseInformation"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::fileName" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>http://dev.ionicsoft.com:80/daliproxy/wrs/DALIPROXYLAZY?REQUEST=GetRepositoryItem& amp;Id=urn%3Axdali%3Asat%3AShift0%3Aa21%3A43733800701100016312I%3Adn%3A4377990%3A4</rim:Value> </rim:ValueList> </rim:Slot> </rim:ExtrinsicObject> <rim:Association id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:22" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasBrowseInformation" sourceObject="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0" targetObject="urn:xdali:sat:Shift0:a21:43733800701100016312I:dn:4377990:4"/> <rim:ExtrinsicObject id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:3" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOAcquisitionPlatform"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::sensorType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>OPTICAL</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::instrumentShortName" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>HRVIR-Nb2</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::platformSerialIdentifier" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>I</rim:Value> </rim:ValueList> </rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Spot4"/> </rim:Name> </rim:ExtrinsicObject> <rim:Association id="urn:x-dali:sat:Shift0:a21:43733800701100016312I:dn:4377990:21" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::AcquiredBy" sourceObject="urn:xdali:sat:Shift0:a21:43733800701100016312I:dn:4377990:0" targetObject="urn:xdali:sat:Shift0:a21:43733800701100016312I:dn:4377990:3"/> </rim:RegistryObjectList> </rim:RegistryPackage> <rim:RegistryPackage id="urn:uuid:691265a5-3886-4a17-8565-782124ec4e00" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:RegistryPackage"> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="EOProduct"/> </rim:Name> <rim:RegistryObjectList>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
103
Open Geospatial Consortium Inc.
OGC 06-131r6
<rim:ExtrinsicObject id="urn:x-dali:sat:Shift0:a21:43733810701100016392I:dn:4377990:0" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::imageQualityDegradation" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>75.0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::centerOf" slotType="urn:ogc:def:dataType:ISO-19107:2003:GM_Object"> <wrs:ValueList xmlns:wrs="http://www.opengis.net/cat/wrs/1.0"> <wrs:AnyValue xmlns:gml="http://www.opengis.net/gml"> <gml:Point srsName=" urn:ogc:def:crs:EPSG:6.3:4326"> <gml:pos>147.7709 -15.520999908447266</gml:pos> </gml:Point> </wrs:AnyValue> </wrs:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::productType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>Scene</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::beginPosition" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2007-01-10T00:16:39Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::doi" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"> <rim:ValueList> <rim:Value>urn:x-dali:sat:Shift0:a21:43733810701100016392I:dn:4377990:0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::lastOrbitNumber" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Integer"> <rim:ValueList> <rim:Value>235</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::multiExtentOf" slotType="urn:ogc:def:dataType:ISO-19107:2003:GM_Object"> <wrs:ValueList xmlns:wrs="http://www.opengis.net/cat/wrs/1.0"> <wrs:AnyValue xmlns:gml="http://www.opengis.net/gml"> <gml:Polygon srsName=" urn:ogc:def:crs:EPSG:6.3:4326"> <gml:exterior> <gml:LinearRing srsName=" urn:ogc:def:crs:EPSG:6.3:4326"> <gml:pos>147.3624 -15.726499557495117</gml:pos> <gml:pos>148.0333 -15.840399742126465</gml:pos> <gml:pos>148.1661 -15.312800407409668</gml:pos> <gml:pos>147.497 -15.19950008392334</gml:pos> <gml:pos>147.3624 -15.726499557495117</gml:pos> </gml:LinearRing> </gml:exterior>
104
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
</gml:Polygon> </wrs:AnyValue> </wrs:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::endPosition" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2007-01-10T00:16:39Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::alongTrackIncidenceAngle" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>-25.784143</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>NOMINAL</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::cloudCoverPercentage" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>21.0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acrossTrackIncidenceAngle" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>13.800000190734863</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::snowCoverPercentage" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Double"> <rim:ValueList> <rim:Value>0.0</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::orbitNumber" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Integer"> <rim:ValueList> <rim:Value>235</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::status" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>ACQUIRED</rim:Value> </rim:ValueList> </rim:Slot> </rim:ExtrinsicObject> <rim:Classification id="urn:x-dali:sat:Shift0:a21:43733810701100016392I:dn:4377990:50" classifiedObject="urn:x-dali:sat:Shift0:a21:43733810701100016392I:dn:4377990:0" classificationNode="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:OPT" classificationScheme="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes"/>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
105
Open Geospatial Consortium Inc.
OGC 06-131r6
<rim:ExtrinsicObject id="urn:x-dali:sat:Shift0:a21:43733810701100016392I:dn:4377990:2" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOArchivingInformation"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::archivingDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2007-01-10T01:04:01Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="AB"/> </rim:Name> </rim:ExtrinsicObject> <rim:Association id="urn:x-dali:sat:Shift0:a21:43733810701100016392I:dn:4377990:20" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::ArchivedIn" sourceObject="urn:xdali:sat:Shift0:a21:43733810701100016392I:dn:4377990:0" targetObject="urn:xdali:sat:Shift0:a21:43733810701100016392I:dn:4377990:2"/> <rim:ExtrinsicObject id="urn:x-dali:sat:Shift0:a21:43733810701100016392I:dn:4377990:4" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOBrowseInformation"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::fileName" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>http://dev.ionicsoft.com:80/daliproxy/wrs/DALIPROXYLAZY?REQUEST=GetRepositoryItem& amp;Id=urn%3Axdali%3Asat%3AShift0%3Aa21%3A43733810701100016392I%3Adn%3A4377990%3A4</rim:Value> </rim:ValueList> </rim:Slot> </rim:ExtrinsicObject> <rim:Association id="urn:x-dali:sat:Shift0:a21:43733810701100016392I:dn:4377990:22" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasBrowseInformation" sourceObject="urn:x-dali:sat:Shift0:a21:43733810701100016392I:dn:4377990:0" targetObject="urn:xdali:sat:Shift0:a21:43733810701100016392I:dn:4377990:4"/> <rim:ExtrinsicObject id="urn:x-dali:sat:Shift0:a21:43733810701100016392I:dn:4377990:3" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOAcquisitionPlatform"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::sensorType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>OPTICAL</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::instrumentShortName" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>HRVIR-Nb2</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::platformSerialIdentifier" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>I</rim:Value> </rim:ValueList> </rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="Spot4"/> </rim:Name> </rim:ExtrinsicObject>
106
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
<rim:Association id="urn:x-dali:sat:Shift0:a21:43733810701100016392I:dn:4377990:21" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::AcquiredBy" sourceObject="urn:xdali:sat:Shift0:a21:43733810701100016392I:dn:4377990:0" targetObject="urn:xdali:sat:Shift0:a21:43733810701100016392I:dn:4377990:3"/> </rim:RegistryObjectList> </rim:RegistryPackage> </csw:SearchResults> </csw:GetRecordsResponse>
Another example: “Give all EO Product having an orbitType equals GEO in the area of France” More formally: “Give all EO Product Registry Package with an ExtrinsicObject of objectType equals to ‘urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct’, having an orbitType equals ‘GEO’, and multiExtentOf in the box having a lower left corner of 42.15;-5.2 and an upper right corner of 51.4;8.3” Example 9 – GetRecords example.
<?xml version="1.0" encoding="UTF-8"?> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" outputSchema="urn:oasis:names:tc:ebxmlregrep:xsd:rim:3.0" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="20"> <csw:Query typeNames="rim:RegistryPackage rim:ExtrinsicObject "> <csw:ElementSetName typeNames="rim:RegistryPackage">full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <!—This expression makes the link between the Registry Package and the elements it contains -->
<ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:RegistryPackage/rim:RegistryObjectList[*]/rim:RegistryObject/@i d</ogc:PropertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/@objectType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name=”urn:ogc:def:slot:OGC-CSWebRIM-EO::orbitType”]/rim:ValueList/rim:Value[1]</ogc:PropertyName> <ogc:Literal>GEO</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:BBOX>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
107
Open Geospatial Consortium Inc.
OGC 06-131r6
<ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:def:slot:OGC-CSW-ebRIMEO::multiExtentOf"]/wrs:ValueList/wrs:AnyValue[1]</ogc:PropertyName> <Envelope xmlns="http://www.opengis.net/gml" srsName=" urn:ogc:def:crs:EPSG:6.3:4326"> <lowerCorner>42.15 -5.2</lowerCorner> <upperCorner>51.4;8.3</upperCorner> </Envelope> </ogc:BBOX> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
E.3
GetRecordById operation
The ID of the object corresponds to a Registry Package, so the response contains a RegistryPackage with all the EO objects inside. GetRecordById request <?xml version='1.0' encoding='utf-8' ?> <GetRecordById xmlns="http://www.opengis.net/cat/csw/2.0.2" xmlns:common="http://exslt.org/common" xmlns:gmlns="http://www.opengis.net/gml" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" xmlns:sse="http://www.esa.int/mass" xmlns:wrs="http://www.opengis.net/cat/wrs/1.0" service="CSW" version="2.0.2" outputSchema="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" > <Id>SPOT:SP1-19880924T112704493-PT9.024002075195312S.HVN:RP</Id> </GetRecordById>
GetRecordById response <?xml version='1.0' encoding='utf-8' ?> <csw:GetRecordByIdResponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" xmlns:wrs="http://www.opengis.net/cat/wrs/1.0" xsi:schemaLocation=""> <rim:RegistryPackage id="SPOT:SP1-19880924T112704493-PT9.024002075195312S.HVN:RP" objectType="urn:oasis:names:tc:ebxmlregrep:ObjectType:RegistryObject:RegistryPackage"> <rim:Slot name="PublicationDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2009-01-22T09:11:37Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="urn:ogc:def:registryPackage:OGC-CSW-ebRIM-EO::EOProducts"/> </rim:Name> <rim:RegistryObjectList> <wrs:ExtrinsicObject id="ESR-10312758809241127092X0_1A_NETWORK.ZIP" objectType="urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOArchivingInformation"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::archivingIdentifier" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>10312758809241127092X0_1A_NETWORK.ZIP</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::archivingDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>1988-09-24T11:27:13Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="PublicationDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2009-01-22T09:11:37Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="ESR"/> </rim:Name>
108
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
</wrs:ExtrinsicObject> <rim:Association id="urn:uuid:0b12ea90-4875-49d7-9ed8-654b13e667fb" objectType="urn:oasis:names:tc:ebxmlregrep:ObjectType:RegistryObject:Association" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasMaskInformation" sourceObject="SPOT:SP1-19880924T112704493-PT9.024002075195312S.HVN" targetObject="SPOT:SP1-19880924T112704493PT9.024002075195312S.HVN-MI"> <rim:Slot name="PublicationDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2009-01-22T09:11:37Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="HasMaskInformation"/> </rim:Name> </rim:Association> <wrs:ExtrinsicObject id="SPOT:SP1-19880924T112704493-PT9.024002075195312S.HVN-PI" objectType="urn:ogc:def:objectType:OGCCSW-ebRIM-EO::EOProductInformation"> <rim:Slot name="PublicationDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2009-01-22T09:11:37Z</rim:Value> </rim:ValueList> </rim:Slot> </wrs:ExtrinsicObject> <wrs:ExtrinsicObject id="SPOT:SP1-19880924T112704493-PT9.024002075195312S.HVN-MI" objectType="urn:ogc:def:objectType:OGCCSW-ebRIM-EO::EOMaskInformation"> <rim:Slot name="PublicationDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2009-01-22T09:11:37Z</rim:Value> </rim:ValueList> </rim:Slot> </wrs:ExtrinsicObject> <rim:Association id="urn:uuid:4b5e6932-669b-49bd-8096-a4b9be9dbcc3" objectType="urn:oasis:names:tc:ebxmlregrep:ObjectType:RegistryObject:Association" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::HasProductInformation" sourceObject="SPOT:SP1-19880924T112704493-PT9.024002075195312S.HVN" targetObject="SPOT:SP1-19880924T112704493PT9.024002075195312S.HVN-PI"> <rim:Slot name="PublicationDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2009-01-22T09:11:37Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="HasProductInformation"/> </rim:Name> </rim:Association> <wrs:ExtrinsicObject id="SPOT:SP1-19880924T112704493-PT9.024002075195312S.HVN" objectType="urn:ogc:def:objectType:OGC-CSWebRIM-EO::EOProduct" mimeType="text/xml"> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::vendorSpecificAttribute" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"> <rim:ValueList> <rim:Value>/metadata/mdContact/rpOrgName</rim:Value> <rim:Value>/metadata/mdContact/role</rim:Value> <rim:Value>/metadata/mdDateSt</rim:Value> <rim:Value>/metadata/dataIdInfo/satDom/wrs/track</rim:Value> <rim:Value>/metadata/dataIdInfo/satDom/wrs/frame</rim:Value> <rim:Value>/metadata/dataIdInfo/satDom/eleAng</rim:Value> <rim:Value>/metadata/dataIdInfo/satDom/aziAng</rim:Value> <rim:Value>/metadata/dataIdInfo/idCitation/resTitle</rim:Value> <rim:Value>/metadata/dataIdInfo/dataExt/tempEle/exTemp/beginEnd/end</rim:Value> <rim:Value>/metadata/dqInfo/dqScope/scpLvl</rim:Value> <rim:Value>/metadata/dqInfo/dataLineage/prcStep/stepDesc</rim:Value> <rim:Value>/metadata/dqInfo/dataLineage/prcStep/stepProc/rpOrgName</rim:Value> <rim:Value>/metadata/dqInfo/dataLineage/prcStep/stepProc/role</rim:Value> <rim:Value>/metadata/dqInfo/graphOver/brwType</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>1988-09-24T11:27:04Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::beginPosition" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>1988-09-24T11:27:04Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::productType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>HRV2_X__1P</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="PublicationDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2009-01-22T09:11:37Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::multiExtentOf" slotType="urn:ogc:def:dataType:ISO-19107:2003:GM_Object"> <wrs:ValueList xmlns:wrs="http://www.opengis.net/cat/wrs/1.0"> <wrs:AnyValue xmlns:gml="http://www.opengis.net/gml"> <gml:MultiPolygon srsName="EPSG:4326"> <gml:polygonMember> <gml:Polygon srsName="EPSG:4326"> <gml:exterior> <gml:LinearRing srsName="EPSG:4326"> <gml:pos>37.666 -6.419</gml:pos> <gml:pos>37.551 -5.737</gml:pos> <gml:pos>37.028 -5.916</gml:pos> <gml:pos>37.142 -6.593</gml:pos> <gml:pos>37.666 -6.419</gml:pos> </gml:LinearRing> </gml:exterior>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
109
Open Geospatial Consortium Inc.
OGC 06-131r6
</gml:Polygon> </gml:polygonMember> </gml:MultiPolygon> </wrs:AnyValue> </wrs:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::endPosition" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>1988-09-24T11:27:13Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::parentIdentifier" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>SPOT</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionType" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>NOMINAL</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::vendorSpecificValues" slotType="urn:oasis:names:tc:ebxmlregrep:DataType:String"> <rim:ValueList> <rim:Value>ESR</rim:Value> <rim:Value>002</rim:Value> <rim:Value>2007-10-05T12:51:21.958Z</rim:Value> <rim:Value>031</rim:Value> <rim:Value>275</rim:Value> <rim:Value>50.361</rim:Value> <rim:Value>160.432</rim:Value> <rim:Value>10312758809241127092X0_1A_NETWORK.ZIP</rim:Value> <rim:Value>1988-09-24T11:27:13.517Z</rim:Value> <rim:Value>Dataset</rim:Value> <rim:Value>A</rim:Value> <rim:Value>ESR</rim:Value> <rim:Value>009</rim:Value> <rim:Value>SPVN</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::orbitNumber" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:Integer"> <rim:ValueList> <rim:Value>185</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::status" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>ACQUIRED</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionStation" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String"> <rim:ValueList> <rim:Value>TOU</rim:Value> </rim:ValueList> </rim:Slot> <rim:Classification id="SPOT:SP1-19880924T112704493-PT9.024002075195312S.HVN_Classification" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification" classifiedObject="SPOT:SP1-19880924T112704493PT9.024002075195312S.HVN" classificationNode="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:OPT" classificationScheme="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes"> <rim:Slot name="PublicationDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2009-01-22T09:11:37Z</rim:Value> </rim:ValueList> </rim:Slot> </rim:Classification> <wrs:repositoryItemRef href="http://achernar:8180/erdaswrs/wrs/HMAE?request=GetRepositoryItem&service=CSWebRIM&version=2.0.2&Id=SPOT%3ASP1-19880924T112704493-PT9.024002075195312S.HVN"/> </wrs:ExtrinsicObject> <rim:Classification id="SPOT:SP1-19880924T112704493-PT9.024002075195312S.HVN_Classification" objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification" classifiedObject="SPOT:SP1-19880924T112704493PT9.024002075195312S.HVN" classificationNode="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes:OPT" classificationScheme="urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-EO::EOProductTypes"> <rim:Slot name="PublicationDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2009-01-22T09:11:37Z</rim:Value> </rim:ValueList> </rim:Slot> </rim:Classification> <rim:Association id="urn:uuid:28403417-957a-4e20-9a03-b3e2d49e807a" objectType="urn:oasis:names:tc:ebxmlregrep:ObjectType:RegistryObject:Association" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::ArchivedIn" sourceObject="SPOT:SP1-19880924T112704493-PT9.024002075195312S.HVN" targetObject="ESR10312758809241127092X0_1A_NETWORK.ZIP"> <rim:Slot name="PublicationDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2009-01-22T09:11:37Z</rim:Value> </rim:ValueList> </rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="ArchivedIn"/> </rim:Name> </rim:Association> <rim:Association id="urn:uuid:7da3cae9-8d0e-444b-ad62-3e47fed58243" objectType="urn:oasis:names:tc:ebxmlregrep:ObjectType:RegistryObject:Association" associationType="urn:ogc:def:associationType:OGC-CSW-ebRIM-EO::AcquiredBy" sourceObject="SPOT:SP1-19880924T112704493-PT9.024002075195312S.HVN" targetObject="SPOT-1"> <rim:Slot name="PublicationDate" slotType="urn:oasis:names:tc:ebxml-regrep:DataType:DateTime"> <rim:ValueList> <rim:Value>2009-01-22T09:11:37Z</rim:Value> </rim:ValueList>
110
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
</rim:Slot> <rim:Name> <rim:LocalizedString xml:lang="en-US" charset="UTF-8" value="AcquiredBy"/> </rim:Name> </rim:Association> </rim:RegistryObjectList> </rim:RegistryPackage> </csw:GetRecordByIdResponse>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
111
Open Geospatial Consortium Inc.
OGC 06-131r6
Annex F: XML REGISTRYPACKAGE DOCUMENTS (INFORMATIVE) The XML RegistryPackage document for EO Extension Package is not included anymore in the document but it is provided as a separate file.
112
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Annex G: PROPOSED FILTER SYNTAX COMPLIANCE LEVELS (INFORMATIVE) This Annex provides information about the subset of the Filter Encoding used by the OGC 06-131 catalogue client 12 and proposes a set of conformance levels that could be supported by servers to limit the complexity of filter expressions that might be handled. A catalogue server being able to handle the above type of requests could claim to have a “Conformance Level 1” , “Level 2” or “Level 3”. Conformance level 1 and 2 servers could consider that they will be addressed explicitly for the EO extension package, a conformance Level 3 server could consider that it could be addressed for other extension packages - as explained in the remainder of this annex.
Conformance Level 1 Conformance Level 2 Conformance Level 3 Filter 1.1 queries
Figure 27: Proposed Conformance Levels versus query universe
The following additional definitions are made to help describe the contents of a filter expression Fixed
“Fixed” in this document means that this part of the request is always present when generated by the client, thus a server can assume it always being present.
Optional
“Optional” in this document means that this part of the request may or may not be present when generated by the client, thus a server cannot assume it always being present. This example below illustrates the overall structure of the request sent by the catalogue client. The catalogue client sends “full” as <csw:ElementSetName> for all the operation supported (GetRecords and GetRecordById). This filter is composed of different parts contained in an <ogc:And> structure.
12 This annex is based on the implementation of the catalog client available in the SSE Portal
(http://services.eoportal.org)
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
113
Open Geospatial Consortium Inc.
OGC 06-131r6
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:wrs="http://www.opengis.net/cat/wrs/1.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" version="2.0.2" outputSchema="urn:oasis:names:tc:ebxmlregrep:xsd:rim:3.0" resultType="results" service="CSW" outputFormat="application/xml" maxRecords="10" startPosition="1"> <csw:Query typeNames="rim:RegistryPackage rim:ExtrinsicObject rim:ExtrinsicObject_acquisitionPlatform rim:ExtrinsicObject_dataLayer rim:Association_acquisitionPlatAsso rim:Association_dataLayerAsso rim:Classification rim:ClassificationNode"> <csw:ElementSetName typeNames="rim: RegistryPackage">full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:PropertyIsEqualTo> <ogc:PropertyName> /rim:RegistryPackage/rim:RegistryObjectList[*]/rim:RegistryObjec t/@id </ogc:PropertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id </ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/@objectType</ogc:Property Name> <ogc:Literal>urn:ogc:def:objectType:OGC-CSWebRIM-EO::EOProduct</ogc:Literal> </ogc:PropertyIsEqualTo>
<<PART 1>> <<PART 2>> <<PART 3>> <<PART 4>> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
G.1
Request Handling
Before discussing the filter expression, a server can make a number of assumptions regarding the request •
114
A CONFORMANCE LEVEL 1 and 2 server can assume that the typeName identifiers in the above request are fixed (i.e. have the exact
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
values as shown in the example above in red/italic) and these elements could possibly be ignored; •
A CONFORMANCE LEVEL 3 server should be able to handle variable typeNames identifiers, thus has to interpret the red/italic section in the request above.
Within the filter, the different parts identified as <<Part 1>> ... <<Part 4>> above contain queryables. These queryables can have the following types, each type having its own comparators supported. The catalogue client uses the same comparator on a specific queryable for every request sent on this queryable.
type
Level 1 Comparators supported
String
PropertyIsEqualTo
Double, Integer
PropertyIsEqualTo, PropertyIsGreaterThanOrEqualTo, PropertyIsLessThanOrEqualTo
Date
PropertyIsEqualTo, PropertyIsGreaterThanOrEqualTo, PropertyIsLessThanOrEqualTo
Geometry
BBOX
•
CONFORMANCE LEVEL 1 and 2: A server shall implement a “lazy” behaviour and ignore EO extension package attributes in a filter expression which are not supported by the requested selection. The Catalogue component shall ignore, whenever possible, search parameters that are not relevant. However, the Catalogue component shall not offend in its response the search parameters included in the query (i.e. a response shall not expose a slot whose value contradicts a search parameter targeting that slot). As a consequence (full view being the reference for the exposed slots): - a search parameter on a not relevant slot (i.e. not queryable and not exposed) shall be ignored - a search parameter on an exposed but not queryable slot shall raise an ExceptionReport - a search parameter with an unsupported operation on an exposed and queryable slot shall raise an ExceptionReport;
•
CONFORMANCE LEVEL 3: A server shall implement a “strict” behaviour and implement exception handling as in the OGC standard EO Products Extension Package for ebRIM (ISO/TS 15000-3) Profile of CSW 2.0 (0.1.9) [OGC 06-131r4] when receiving EO extension package
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
115
Open Geospatial Consortium Inc.
OGC 06-131r6
attributes in a filter expression which are not supported by the requested selection. The sections below give details about this sequence of elements.
G.1.1
Part 1: The Collections
<<Part 1>> is FIXED in the request. The collections are identified with the parentIdentifier queryable. For this part, we propose two levels of compliance: •
CONFORMANCE LEVEL 1: the server shall be able to handle single mission requests;
•
CONFORMANCE LEVEL 2: the server shall be able to handle as well multi-mission requests;
•
CONFORMANCE LEVEL 1 & 2 Servers receiving unknown parentIdentifiers shall return an empty response for this unknown, collection (TBC) as if no products for this collection were found.
Single mission (Level 1) For a single mission request (CONFORMANCE Level 1), <<Part 2>> is structured as below using an <ogc:PropertyIsEqualTo> tag. <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::parentIdentifier"]/rim:ValueList/rim:Value[1]</ogc:PropertyN ame> <ogc:Literal>urn:ogc:def:EOP:ESA:EECF.ENVISAT_ASA_APx_xS</ogc:Li teral> </ogc:PropertyIsEqualTo>
Multi mission (Level 2) For a multi-mission request (CONFORMANCE Level 2), <<Part 2>> contains all the parentIdentifiers in a single <ogc:or> expression as shown below.
116
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
<ogc:Or> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::parentIdentifier"]/rim:ValueList/rim:Value[1]</ogc:PropertyN ame> <ogc:Literal>urn:ogc:def:EOP:ESA:EECF.ENVISAT_ASA_APx_xS</ogc:Li teral> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::parentIdentifier"]/rim:ValueList/rim:Value[1]</ogc:PropertyN ame> <ogc:Literal>urn:ogc:def:EOP:ESA.EECF.ENVISAT_RA2_MWx_2C</ogc:Li teral> </ogc:PropertyIsEqualTo> <ogc:Or>
G.1.2
Part 2: Area of Interest
<<Part 2>> is OPTIONAL in a CONFORMANCE LEVEL 1 request. Bounding Box (Level 1) We use in the request the urn:ogc:def:crs:EPSG:6.3:4326 (i.e WGS 84) common coordinates reference system. The coordinates are expressed in Latitude Longitude. The multiExtentOf is used as queryable. It shall be embedded in a <ogc:BBOX> tag. The following example shows the mandatory structure of <<Part 1>> for CONFORMANCE LEVEL 1: <!—This example is not a complete request –> <ogc:BBOX> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc :def:slot:OGC-CSW-ebRIMEO::multiExtentOf"]/wrs:ValueList/wrs:AnyValue[1]</ogc:PropertyN ame> <Envelope xmlns="http://www.opengis.net/gml" srsName=" urn:ogc:def:crs:EPSG:6.3:4326"> <lowerCorner>35.1940 -22.5672</lowerCorner> <upperCorner>63.1343 25.2537</upperCorner>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
117
Open Geospatial Consortium Inc.
OGC 06-131r6
</Envelope> </ogc:BBOX>
•
CONFORMANCE LEVEL 1: Supports urn:ogc:def:crs:EPSG:6.3:4326, i.e; WGS 84;
•
CONFORMANCE LEVEL 2: Supports also the following geometries: Circle, Polygon as shown below.
only
BBOX
with
Polygons (Level 2) For the Polygon geometry 13 : <ogc:Overlaps> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::multiExtentOf"]/wrs:ValueList/wrs:AnyValue[1]</ogc:PropertyN ame> <gml:Polygon srsName="urn:ogc:def:crs:EPSG:6.3:4326"> <gml:exterior> <gml:LinearRing srsName="urn:ogc:def:crs:EPSG:6.3:4326"> <gml:pos>76.28 116.84</gml:pos> <gml:pos>76.16 118.97</gml:pos> <gml:pos>73.27 116.40</gml:pos> <gml:pos>69.80 114.15</gml:pos> <gml:pos>66.31 112.42</gml:pos> <gml:pos>62.81 111.01</gml:pos> <gml:pos>59.30 109.80</gml:pos> <gml:pos>55.79 108.74</gml:pos> <gml:pos>52.27 107.77</gml:pos> <gml:pos>48.75 106.88</gml:pos> <gml:pos>48.41 106.80</gml:pos> <gml:pos>48.50 106.02</gml:pos> <gml:pos>48.83 106.10</gml:pos> <gml:pos>52.36 106.93</gml:pos> <gml:pos>55.87 107.82</gml:pos> <gml:pos>59.39 108.80</gml:pos> <gml:pos>62.89 109.89</gml:pos> <gml:pos>66.39 111.15</gml:pos> <gml:pos>69.89 112.67</gml:pos> <gml:pos>73.37 114.63</gml:pos> </gml:LinearRing> </gml:exterior> </gml:Polygon> </ogc:Overlaps>
13 The term spatially OVERLAPS is used if two geometries intersect and their intersection results in a geometry of
the same dimension but not equal to either of the given geometries. Instead the INTERSECT operation would include results that have also have a precise overlap. However, since the examples in Annex G have been widely used and implemented (without the distinction of the precise overlap), both OVERLAP and INTERSECT could be implemented with the same semantic. In a future major revision, this difference could be re-addressed.
118
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Circle (Level 2) For the CircleByCenterPoint geometry: <ogc:Overlaps> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::multiExtentOf"]/wrs:ValueList/wrs:AnyValue[1]</ogc:PropertyN ame> <gml:Curve> <gml:segments> <gml:CircleByCenterPoint numArc="1"> <gml:pos srsName=" urn:ogc:def:crs:EPSG:6.3:4326">42.5463 73.2512</gml:pos> <gml:radius uom="urn:EPSG:uom:9001">850.24</gml:radius> </gml:CircleByCenterPoint> </gml:segments> </gml:Curve> </ogc:Overlaps>
G.1.3
Part 3: the Earth Observation Products (EOP) queryables.
<<Part 3>> is OPTIONAL in the request. A basic EOP request means that it only contains queryables of the EOP classification. This classification is the default one. The list of Ebrim queryables below constitutes a ”Level 1” compliance of the 06-131 catalogue client regarding the queryables. For the ExtrinsicObjects of type EOProduct:
Queryable
Type
Fixed/Optional
CONFORMANCE LEVEL
beginPosition
Date
Optional
1
endPosition
Date
Optional
1
imageQualityDegradation
Double
Optional
2
acquisitionType
String
Optional
2
acquisitionSubType
String
Optional
2
orbitDirection
String
Optional
1
status
String
Optional
1
orbitNumber
Integer
Optional
1
productType
String
Optional
1
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
119
Open Geospatial Consortium Inc.
OGC 06-131r6
acquisitionStation
String
Optional
2
lastOrbitNumber
Integer
Optional
2
For the ExtrinsicObjects of type EOAcquisitionPlatform:
Queryable
Type
Fixed/Optional
CONFORMANCE LEVEL
instrumentShortName
String
Optional
1
platformSerialIdentifier
String
Optional
1
rim:Name (mapped with the Eop:Platform/eop:shortName of the GML Metadata)
String
Optional
1
sensorType
String
Optional
1
sensorOperationalMode
String
Optional
1
sensorResolution
Double
Optional
1
swathIdentifier
String
Optional
1
For the ExtrinsicObjects of type EOArchivingInformation:
Queryable
Type
Fixed/Optional
CONFORMANCE LEVEL
Rim:Name (mapped with the archivingCenter of the GML Metadata)
String
Optional
2
You have below the structure of <<Part 3>>. It shows how the EOP queryables appear in the request. Note that sections (e.g. Filter subexpressions) corresponding to “mandatory” queryables have to be present in <<Part 3>>. Sections corresponding to “optional” queryables (as indicated in the tables above) are not necessarily present in <<Part 3>>. <!-- startDate & endDate --> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIM-
120
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
EO::beginPosition"]/rim:ValueList/rim:Value[1]</ogc:PropertyName > <ogc:Literal>2008-05-15T23:59:59.000</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::endPosition"]/rim:ValueList/rim:Value[1]</ogc:PropertyName> <ogc:Literal>2008-05-15T00:00:00.000</ogc:Literal> </ogc:PropertyIsGreaterThanOrEqualTo> <!-- Image quality Degradation --> <ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::imageQualityDegradation"]/rim:ValueList/rim:Value[1]</ogc:Pr opertyName> <ogc:Literal>70</ogc:Literal> </ogc:PropertyIsGreaterThanOrEqualTo> <!-- Acquisition type --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::acquisitionType"]/rim:ValueList/rim:Value[1]</ogc:PropertyNa me> <ogc:Literal>CALIBRATION</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- Acquisition subtype --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::acquisitionSubType"]/rim:ValueList/rim:Value[1]</ogc:Propert yName> <ogc:Literal>OTHER</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- Orbit direction --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::orbitDirection"]/rim:ValueList/rim:Value[1]</ogc:PropertyNam e> <ogc:Literal>ASCENDING</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- Status --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::status"]/rim:ValueList/rim:Value[1]</ogc:PropertyName>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
121
Open Geospatial Consortium Inc.
OGC 06-131r6
<ogc:Literal>ACQUIRED</ogc:Literal> </ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo> <ogc:PropertyName>$acquisitionPlatform/@objectType</ogc:Property Name> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOAcquisitionPlatform</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$acquisitionPlatAsso/@sourceObject</ogc:Proper tyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$acquisitionPlatAsso/@associationType</ogc:Pro pertyName> <ogc:Literal>urn:ogc:def:associationType:OGC-CSW-ebRIMEO::AcquiredBy</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$acquisitionPlatAsso/@targetObject</ogc:Proper tyName> <ogc:PropertyName>$acquisitionPlatform/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <!-- Instrument Short Name --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$acquisitionPlatform/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::instrumentShortName"]/rim:ValueList/rim:Value[1]</ogc:Proper tyName> <ogc:Literal>HRVIR</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- Platform Serial Identifier --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$acquisitionPlatform/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::platformSerialIdentifier"]/rim:ValueList/rim:Value[1]</ogc:P ropertyName> <ogc:Literal>I</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- Platform Short Name -->
122
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
<ogc:PropertyIsEqualTo> <ogc:PropertyName>$acquisitionPlatform/rim:Name/rim:LocalizedStr ing/@value</ogc:PropertyName> <ogc:Literal>Spot4</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- Sensor type --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$acquisitionPlatform/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::sensorType"]/rim:ValueList/rim:Value[1]</ogc:PropertyName> <ogc:Literal>ALTIMETRIC</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- Sensor Operational Mode --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$acquisitionPlatform/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::sensorOperationalMode"]/rim:ValueList/rim:Value[1]</ogc:Prop ertyName> <ogc:Literal>PA</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- Image Quality Code --> <ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyName>$acquisitionPlatform/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::sensorResolution"]/rim:ValueList/rim:Value[1]</ogc:PropertyN ame> <ogc:Literal>70.9</ogc:Literal> </ogc:PropertyIsGreaterThanOrEqualTo>
•
CONFORMANCE LEVEL 1, 2: the red/italic part of the request above can be ignored and does not have to be interpreted by the server. It is however present in the request for ebRIM AP compliance reasons;
•
CONFORMANCE LEVEL 3: the red/italic part above is to be interpreted by the server.
The request can also contains expressions with multiple conditions for same queriable. The purpose of this definition is to allow queries like: •
give me all products acquired on swaths I1, I2, I4, …
•
give me all products acquired on orbits 1000, 1501, 2002, …
In a more formal notation, the Part 3 is a structured in this way: <<Part 3>> := {<<queriable condition>>}0-N
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
123
Open Geospatial Consortium Inc.
OGC 06-131r6
<<queriable condition>> := <<single <<multiple queriable condition>>
queriable
condition>>
|
<<single queriable condition>> := it contains one condition on one property
(e.g. orbitDirection, status, etc.) applying the corresponding comparison operator (e.g. PropertyIsEqualTo, PropertyIsGreaterThanOrEqualTo, etc.). <<multiple queriable condition>> := ogc:Or { <<single equal queriable condition>> }2-N <<single equal queriable condition>> := it contains one condition on one
property (e.g. orbitDirection, status, swath, etc.) applying the PropertyIsEqualTo comparison operator. Note that all <<single equal queriable condition>> within a <<multiple queriable condition>> shall be related to the same property. The following sample shows a multiple queryable condition for searching on orbitNumber queryable equals to 1001, 1501 or 2002. <ogc:Or> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::orbitNumber"]/rim:ValueList/rim:Value[1]</ogc:PropertyName> <ogc:Literal>1001</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::orbitNumber"]/rim:ValueList/rim:Value[1]</ogc:PropertyName> <ogc:Literal>1501</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::orbitNumber"]/rim:ValueList/rim:Value[1]</ogc:PropertyName> <ogc:Literal>2002</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:Or>
G.1.4
Part 4: the classification queryables.
<<Part 4>> is OPTIONAL in the request. This document defines queryables for the following classifications: ATM, OPT, SAR. These queryables constitute a first level of compliance for the OGC 06-131 catalogue server.
124
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Queryables for the Optical (OPT) classification The OGC 06-131 catalogue client is able to send the following ebRIM OPT queryables: Queryable
Type
Fixed/Optional
CONFORMANCE LEVEL
cloudCoverPercentage
Double
Optional
1
snowCoverPercentage
Double
Optional
1
illuminationAzimuthAngle
Double
Optional
1
illuminationElevationAngle
Double
Optional
1
You have below of the structure of <<Part 4>> for an OPT (Optical) request according to CONFORMANCE LEVEL 1. An OPT request means that it can contain queryables of the EOP classification plus the ones associated to the OPT classification. Sections corresponding to “optional” queryables (as indicated in the table above) are not necessarily present in <<Part 4>>. <!-- Select the OPT classification--> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ClassificationNode/@code</ogc:PropertyNam e> <ogc:Literal>OPT</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- get classification linked to the OPT classification --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Classification/@classificationNode</ogc:P ropertyName> <ogc:PropertyName>/rim:ClassificationNode/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <!-- such classification must classify the ExtrinsicObject --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Classification/@classifiedObject</ogc:Pro pertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo>
<!-- Cloud Cover Percentage --> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIM-
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
125
Open Geospatial Consortium Inc.
OGC 06-131r6
EO::cloudCoverPercentage"]/rim:ValueList/rim:Value[1]</ogc:Prope rtyName> <ogc:Literal>50</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo> <!-- Snow Cover Percentage --> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::snowCoverPercentage"]/rim:ValueList/rim:Value[1]</ogc:Proper tyName> <ogc:Literal>30</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo> <!-- Illimunation Azimuth angle--> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::illuminationAzimuthAngle"]/rim:ValueList/rim:Value[1]</ogc:P ropertyName> <ogc:Literal>90</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo> <!-- Illumination Elevation angle --> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::illuminationElevationAngle"]/rim:ValueList/rim:Value[1]</ogc :PropertyName> <ogc:Literal>40</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo>
•
CONFORMANCE LEVEL 1, 2: the red/italic part of the request above can be ignored and does not have to be interpreted by the server. It is however present in the request for ebRIM AP compliance reasons;
•
CONFORMANCE LEVEL 3: the red/italic part above is to be interpreted by the server.
Queryables for the Radar (SAR) classification The OGC 06-131 catalogue client is able to send the following ebRIM SAR queryables: Type
Fixed/Optional
CONFORMANCE LEVEL
polarisationMode
String
Optional
1
polarisationChannel
String
Optional
1
Queryable
126
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
minimumIncidenceAngle
Double
Optional
1
maximumIncidenceAngle
Double
Optional
1
You have below of the structure of <<Part 4>> for a SAR (Radar product) request according to CONFORMANCE LEVEL 1.. A SAR request means that it can contain queryables of the EOP classification plus the ones associated to the SAR classification. Sections corresponding to “optional” queryables (as indicated in the table above) are not necessarily present in <<Part 4>>. <!-- Select the SAR classification--> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ClassificationNode/@code</ogc:PropertyNam e> <ogc:Literal>SAR</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- get classification linked to the SAR classification --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Classification/@classificationNode</ogc:P ropertyName> <ogc:PropertyName>/rim:ClassificationNode/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <!-- such classification must classify the ExtrinsicObject --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Classification/@classifiedObject</ogc:Pro pertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::polarisationMode"]/rim:ValueList/rim:Value[1]</ogc:PropertyN ame> <ogc:Literal>D</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::polarisationChannels"]/rim:ValueList/rim:Value[1]</ogc:Prope rtyName> <ogc:Literal>HH</ogc:Literal> </ogc:PropertyIsEqualTo>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
127
Open Geospatial Consortium Inc.
OGC 06-131r6
<ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/Slot[@name="urn:ogc:def:s lot:OGC-CSW-ebRIMEO::minimumIncidenceAngle"]/rim:ValueList/rim:Value[1]</ogc:Prop ertyName> <ogc:Literal>60</ogc:Literal> </ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:d ef:slot:OGC-CSW-ebRIMEO::maximumIncidenceAngle"]/rim:ValueList/rim:Value[1]</ogc:Prop ertyName> <ogc:Literal>70</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo>
•
CONFORMANCE LEVEL 1, 2: the red/italic part of the request above can be ignored and does not have to be interpreted by the server. It is however present in the request for ebRIM AP compliance reasons;
•
CONFORMANCE LEVEL 3: the red/italic part above is to be interpreted by the server.
Queryables for the Atmospheric (ATM) classification The OGC 06-131 catalogue client is able to send the following ebRIM ATM queryables: For the ExtrinsicObjects of type EODataLayer:
Queryable
Type
Fixed/Optional
CONFORMANCE LEVEL
Rim:Name (mapped with the Specy of the GML Metadata)
String
Optional
1
highestLocation
Double
Optional
1
lowestLocation
Double
Optional
1
You have below of the structure of <<Part 4>> for an ATM request according to CONFORMANCE LEVEL 1.. An ATM request means that it can contain queryables of the EOP classification plus the one associated to the ATM classification. Sections corresponding to “optional” queryables (as indicated in the table above) are not necessarily present in <<Part 4>>.
128
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
<!-- Select the ATM classification--> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ClassificationNode/@code</ogc:PropertyNam e> <ogc:Literal>ATM</ogc:Literal> </ogc:PropertyIsEqualTo> <!-- get classification linked to the ATMOSPHERIC classification --> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:Classification/@classificationNode</ogc:P ropertyName> <ogc:PropertyName>/rim:ClassificationNode/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <!-- such classification <ogc:PropertyIsEqualTo>
must classify the ExtrinsicObject -->
<ogc:PropertyName>/rim:Classification/@classifiedObject</ogc:Pro pertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$dataLayer/@objectType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EODataLayer</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$dataLayerAsso/@sourceObject</ogc:PropertyName > <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$dataLayerAsso/@associationType</ogc:PropertyN ame> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EODataLayer</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$dataLayerAsso/@targetObject</ogc:PropertyName > <ogc:PropertyName>$dataLayer/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>$dataLayer/rim:Name/rim:LocalizedString/@value </ogc:PropertyName> <ogc:Literal>NO2</ogc:Literal>
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
129
Open Geospatial Consortium Inc.
OGC 06-131r6
</ogc:PropertyIsEqualTo> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>$dataLayer/rim:Slot[@name="urn:ogc:def:slot:OG C-CSW-ebRIMEO::highestLocation"]/rim:ValueList/rim:Value[1]</ogc:PropertyNa me> <ogc:Literal>30000.0</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyName>$dataLayer/rim:Slot[@name="urn:ogc:def:slot:OG C-CSW-ebRIMEO::lowestLocation"]/rim:ValueList/rim:Value[1]</ogc:PropertyNam e> <ogc:Literal>27000.0</ogc:Literal> </ogc:PropertyIsGreaterThanOrEqualTo>
•
CONFORMANCE LEVEL 1, 2: the red/italic part of the request above can be ignored and does not have to be interpreted by the server. It is however present in the request for ebRIM AP compliance reasons;
•
CONFORMANCE LEVEL 3: the red/italic part above is to be interpreted by the server.
G.2
Conclusions
This annex is a first attempt to reduce the complexity of the requests that an OGC 06131 catalogue is expected to handle. At the moment, it is not possible for a catalogue to restrict the search space using the GetCapabilities document. Therefore, we propose to define CONFORMANCE LEVELS to allow for server implementations the complexity of which can be limited. This is of particular importance for implementers of OGC 06-131 gateways towards legacy catalogues.
130
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
Annex H: DOCUMENT CHANGE HISTORY (INFORMATIVE) H.1
Changes with respect to the 0.1.5 Version
1. Introduce the Annex F, Document Change History, to keep track of all changes made between document revisions. 2. Align document dependency in §3 (Normative References) to OGC 06-080r2 v0.1.4r5 (OGC™ GML Application Schema for EO Products). 3. Align document dependency in §3 (Normative References) to [OGC 07-006r1] OGC™ Catalogue Services Standard 2.0.2 (Corrigendum 2 Release). 4. Replace Ionic Software references by Leica Geosystems Geospatial Imaging. 5. Add EOP and OPT abbreviated terms at §5.1. 6. Replace all occurrences of ‘hma’ prefix by ‘eop’ in XPath, samples, mapping tables and diagrams. This is due to a change in the document OGC 06-080r2 v0.1.4r5. 7. Replace all occurrences of ‘ohr’ prefix by ‘opt’ in XPath, samples, mapping tables and diagrams. This is due to a change in the document OGC 06-080r2 v0.1.4r5. 8. Resolve contradiction regarding queryables for ExtrinsicObjects representing Product Information, Browse Information and Mask Information in §7.2.6. 9. Add Slots for storing vendor specific information in the ebRIM structure (on the EOProduct Object). See mapping in Table #3. 10. Specify value of the SOAPAction HTTP Header Information in §8.1 11. Replace Slot ‘extentOf’ by ‘multiExtentOf’ in EOProduct mapping table (Table #3), to store the ‘multiExtentOf’ property added in EarthObservation object in OGC 06-080r2 v0.1.4r5. 12. Align samples in §8 to CSW 2.0.2 Standard (namespace, parameters). H.2
Changes with respect to the 0.1.6 Version
1. Added section 9 Implementation Guidance. Change made by R.Smillie, Spacebel 29/11/07. 2. Update reference from 06-080 document to 06-080r3 v 0.9.1. 3. Transform slot names as full URI as stated in [07-110r4] document.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
131
Open Geospatial Consortium Inc.
H.3
OGC 06-131r6
Changes with respect to the 0.1.7 Version
1. Extract acquisitionDate attribute for EOP product type. 2. Extract processingInformation attributes (compositeType, method, methodVersion, processorName, processorVersion, processingLevel, nativeProductFormat) for EOP product type. 3. Extract ascendingNodeDate, startTimeFromAscendingNode, completionTimeFromAscendingNode, ascendingNodeLongitude orbitDuration, incidenceAngle for EOP product type. 4. Extract incidenceAngleVariation for SAR product type. 5. Add full sample for ebRIM brief,summary,full view coming from DALI. 6. Add sample for ebRIM request usage with alias (§7.2.4 & §7.2.6). H.4
Changes with respect to the 0.1.8 Version
1. §9.2.1.2 Advertising of collection for discovery. 2. §10.1
Explain the parentIdentifier format.
3. §9.2.2.3, §9.2.4.3, Add request/response examples for the GetRecords and GetRecordById and some guidance on it. 4. §9.2.4 Add parameter table, picture of the schema file for the GetRecordById operation. 5. §8.2.4, §8.2.5, §8.2.6, §9.2.2.3, §8.2.8.3 Move some text, correct errors on the example, put text more precise for the request expressed in text mode. 6. §9.2.1.2, § 9.2.4, §9.2.2 refresh the schema links. 7. §9.2.2.1, §9.2.2.2, §9.2.4 Pictures of the schema file. 8. §9.2.5.1, §9.2.2.1 Correct error on the service attribute. 9. §i (preface), §3, §7, §8.2.2, §9, §9.2, §9.2.1.4, §9.2.2.3, §9.2.3.1, §9.2.4.1, §9.2.6 Change the document reference of 07-110 into 07-110r4. 10. Introduction, §3 Change the “[NR3]” text into “[HMA TN]”. 11. Introduction, §3 Remove “in SOA context”. 12. §3
Add a normative reference for the URN definition document.
13. §9.2.2.2 Correct a table reference number.
132
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
14. Introduction, §1, §6, §8 Add readable text from the old 06-079 document. 15. §3
Add the normative document version and date.
16. Annex F Add samples with the full SOAP message. 17. §9.2.2.2 Modify the response for the full view.
H.5
Changes with respect to the 0.1.9 Version
1. §8.2.7 : Grouping objects in a Registry Package. 2. Figure 15 : Updated with Registry Package representation. 3. §9.2.2 Add information about the attributes of the GetRecords request. 4. §9.2.2.1 Update ResultType parameter, add details to TypeNames parameters. 5. §9.2.2.2 Updated examples. 6. §9.2.2.3 Update samples to use Registry Package query. 7. §9.2.5.2 Add GetRepository details. 8. §9.2.5.4 Add GetRepositoryItem sample. 9. Annex F Update sample.
H.6
Changes with respect to the 0.2.0 Version
1. §7 Editorial clarifications, added footnotes for better explanation of GML document. 2. §7 Annex F: SOAP 1.1 conformance clarifications. 3. Inclusion of Annex G for Filter Syntax Conformance levels. H.7
Changes with respect to the 0.2.1 Version
1. Fixed sample in section 8.2.4 Acquisitions Parameters. 2. Add XML Schemas diagrams. 3. Fixed HMAÆEOP & OHR Æ OPT in Figure 15.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
133
Open Geospatial Consortium Inc.
H.8
OGC 06-131r6
Changes with respect to the 0.2.2 Version
1. Remove the reference to RepositoryItemFor (trace of the old ebRIM specification; Issue 167 from the OGC Portal). 2. Replace the last occurrence of ‘hma’ prefix by ‘eop’ in XPath (Issue 174 from the OGC Portal). 3. Add a footnote in the Table 3 to indicate that the rim prefix refers to the namespace rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" (Issue 175 from the OGC Portal). 4. Replace the coordinate reference system shorthand “EPSG:4326” by the standardized definition “urn:ogc:def:crs:EPSG:6.3:4326” (Issue 190 from the OGC Portal). 5. Fix Annex C to validate against ebRIM 3.0 schema. Fix Erroneous @charset around line 269. Replace 15 occurrences of right curly quote (”) with double quote ("). Add missing required id attribute (rim:Association and rim:RegistryObject). Add missing required Slot/ValueList (empty if no values) (Issue 177 from the OGC Portal). 6. Fix parentIdentifier in samples that do not respect the parentIdentifier convention (Issue 196). 7. In the Section 10.1, state explicitly that the ObjectType in the Parentidentifier naming convention is always EOP and not OPT, SAR etc. (Issue 197). 8. Change data type of slots roll, pitch, yaw from integer to double (Issue 203). 9. Add the RegistryPackage clause to the first request sample in Annex G page 123 (Issue 202). 10. In section 10.1 and 8.2.4, add a paragraph on product identifiers that are assumed to start with the parentidentifier. This issue must also be included in the EO GML (Issue 198). 11. In Annex G, add the suggested improvement for multiple conditions for same queryable (Issue 193). 12. Include Annex in the Table of Content (Issue 178). 13. Add sample of GetRecordById with RegistryPackage and move the GetRecordById samples to Annex E (Issue 204). 14. Clarify the sortBy clause if the properties are unsupported or not defined (Issue 199). 15. Clarify the usage of Overlaps (Issue 192).
134
Copyright © 2010 Open Geospatial Consortium, Inc.
OGC 06-131r6
16. Add a footnote to clarify the slot notation in the Table 3 (Issue 200). H.9
Changes with respect to the 0.2.3 Version
1. Fix wrong association name in Figure 13 & 14. 2. Update reference to ebRIM profile of CS-W 07-110r4. 3. In G1, support of operator PropertyIsEqualTo for int & double. 4. Clarify behavior with GetRepositoryItem request in 9.2.5.2. 5. Add Error response using SOAP 1.1. 6. Add SortBy clause in Example 6. 7. Add Annex A content, ATS. 8. Clarify the representation of brief and summary value for elementSetName. 9. Update Capabilities response to fix schema. H.10
Changes with respect to the 0.2.4 Version
1. Reshuffling of some sections (switched Annex C and F). 2. Update Normative references (ebRIM AP). 3. Clarification on EO Resources (§8.1). 4. Clarification on usage of rim and wrs prefixes in correspondence tables (e.g. Table 3). 5. Removed constraint on SOAP binding to getRepositoryItem, since it is unconsistent with a subsequent section, and with ebRIM AP (§9). 6. Clarified usage of the optional ‘action’ attribute in SOAP 1.2 (§9.1). 7. Removed paragraph on SOAPAction values, that is unconsistent with Annex C (§9.1). 8. Clarified behaviour wrt to getCapabilities?service=CSW and getCapabilities?service=CSW-ebRIM (§9.2.1.1). 9. Section on WSDL merged into section on getCapabilities response (9.2.1.2). 10. Rephrased expected behaviour wrt brief/summary representations of records (§9.2.2.2). 11. Moved note on distributed search implementation to the annex on implementation architectures.
Copyright © 2010 Open Geospatial Consortium, Inc.Copyright © 2010 Open Geospatial Consortium, Inc.
135
Open Geospatial Consortium Inc.
OGC 06-131r6
12. Added annex on proxy profile. 13. Consolidated request/response examples. 14. Minor edits (terminology harmonization, typos, etc.) 15. Changed URN to be compliant with OGC Naming Authority: urn:ogc:def:<definitionType>:OGC-CSW-ebRIM-EO:: where <definitionType> could slot, associationType,classificationScheme, objectType, dataType, registryPackage, query. 16. Changed Data types to URN to be aligned with Basic Extension Package and ebXML data types. 17. Merged Annex E and F.
136
Copyright © 2010 Open Geospatial Consortium, Inc.