OGC 13-026r9 - OpenSearch Extension for EO
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.
i. Abstract
This document is the specification for the OpenSearch extension for Earth Observation collections and products search.
This standard is intended to provide a very simple way to make queries to a repository that contains Earth Observation information and to allow syndication of repositories.
ii. Keywords
The following are keywords to be used by search engines and document catalogues.
ogcdoc, OGC document, OpenSearch, Earth Observation Extension, OpenSearch Earth Observation Service, EO Collection, EO Product, ISO19115, INSPIRE, OGC O&M EOP
iii. History
The first release of the document was the result of work undertaken within the GENESI-DR (Ground European Network for Earth Science Interoperations - Digital Repositories) project funded by the 7th Framework program of the European (EC Grant Agreement no. 212073), the follow-up project GENESI-DEC (Ground European Network for Earth Science Interoperations -Digital Earth Community) funded by the same program (Contract nº RI-261623). This document was initially produced during the ESA HMA (Heterogeneous Missions Accessibility) initiative [RD.25] and related projects.
iv. Preface
The recent release of the document is the result of work sponsored by EUMETSAT and ESA in the context of the continuation of the ESA HMA (Heterogeneous Missions Accessibility) initiative [RD.25].
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 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.
v.  Submitting organizations
The following organizations submitted this Document to the Open Geospatial Consortium (OGC):
EUMETSAT
European Space Agency (ESA)
con terra GmbH
Spacebel s.a.
Terradue SRL
The editors would like to acknowledge that this work is the result of collaboration and review of many organizations and would like to thank for the comments and contributions from:
CEOS/WGISS
NASA
AIRBUS
CGI
EOX GmbH
Luciad
Terradue
VITO
Note: this collaboration not imply a complete endorsement by these organizations.
vi.  Submitters
All questions regarding this submission should be directed to the editor or the submitters:
Name
Affiliation
OGC Member?
Uwe Voges
con terra GmbH
Yes
Yves Coene
Spacebel s.a.
Yes
Pedro Gonçalves
Terradue Srl
Yes
Andrea della Vecchia
ESA
Yes
Olivier Barois
ESA
Yes
Michael Schick
EUMETSAT
Yes
John Taylor
CGI
Yes
vii.  Future Work
In a future release of OGC 10-032, that standard should include things which are specified for the time being within this document:
Encoding of paging (using atom:link rel="prev", rel="next",…) and OS metadata (such as os:totalResults).
1.    Scope
The OpenSearch specification originated in a community effort built around Amazon's A9.com. The specification was intended to allow syndication of search results that could then be aggregated by one large index. OpenSearch provides a simple to use description of the search interface, which is called an OpenSearch Description document (OSDD). A client (e.g., a browser) can use this description to check which response formats are supported and how a query/filter can be formulated.
The OpenSearch specification [RD.15] is made available under the Creative Commons Attribution-Sharealike 2.5 license (http://www.opensearch.org/Specifications/License).
Earth Observation (EO) products have specific characteristics that follow a specific logic inherent to the EO community of users of satellite datasets. Typically, an EO product contains information regarding:
The platform or satellite from where it originates (e.g. SPOT, ENVISAT);
The sensor used to acquire the data;
The processing centre responsible for its elaboration together with the date and software used for the processing; and
Specific satellite orbit information like the orbit number, wrsLatitudeGrid, and direction.
The OSDD format permits the use of extensions that allow search engines to inform clients about specific and contextual query parameters and response formats. This OGC standard specifies an Earth Observation extension to OpenSearch that defines query parameters that permit the filtering of search results with those fields and a search response model supporting different search response encodings.
This specification is complementary to the OpenSearch Geo and Time Extensions (OGC 10-032 [RD.3]) and recommends its use for spatial and temporal queries. Further the standard defines a default response encoding based on Atom 1.0/XML [RD.22].
Other formats may be supported by the server as well. One of these formats is GeoJSON(-LD) as defined in the document OGC 17-047 [RD.6]. The document does not (re)define the OpenSearch search parameters as these are already defined in this specification. Their mapping to the GeoJSON response format is included that document.
This document incorporates feedback from developers in the open source geospatial community and includes several annexes showing result sets in several possible formats and giving details that reflect a sample implementation.
Services that support the OpenSearch Specification and the Earth Observation extension defined in this document are called OpenSearch Earth Observation Services (OpenSearch-EO).
2.    Conformance
Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. Annex C presents the different RELAX-NG schemas for the OpenSearch Description and the Atom Response Documents. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site
[1]
To conform to this OGC standard, a software implementation shall implement the Core conformance class and may implement any other of the conformance classes specified in Table 1. The implementation can be validated with the conformance tests defined in Annex A (normative). An implementation candidate to conformance shall minimally pass all applicable tests specified in the Abstract Test Suite belonging to core conformance class (minimal support).
The mappings between the conformance classes and the requirement classes are shown in Table 1.
Note 1: If a requirement class r11 depends on another requirement class r1 then also r1 must be implemented.
Note 2: Every requirement class (except the Core requirement class) depends on the Core requirement class.
All requirements-classes, conformance-classes and conformance tests described in this document are owned by the specification identified as http://www.opengis.net/spec/opensearcheo/1.0.
For each conformance class listed in Table 1 there is a corresponding requirement class with the same name. Table 2 lists each requirement classes and the set of requirements that correspond to each requirement class. Furthermore, each requirement in Table 2 is covered by a test in the conformance tests defined in Annex A: Abstract Test Suite (Normative).
Table
: Conformance Classes
Conformance Class Name
Conformance Class URI
Requirements Classes (URI's)
Core
/conf/Core
/req/Core
Core
/conf/Core
/req/Core
INSPIRE
/conf/INSPIRE
/req/INSPIRE
ParameterExtension
/conf/ParameterExtensio
n /req/ParameterExtension
CustomSearch
/conf/CustomSearch
/req/CustomSearch
SetsAndRanges
/conf/SetsAndRanges
/req/SetsAndRanges
LinkTypeAttribute
/conf/LinkTypeAttribute
/req/LinkTypeAttribute
OSGeoTempParameters
/conf/OSGeoTempParameters
/req/OSGeoTempParameters
OSGeoNameParamete
/conf/OSGeoNameParameter
/req/OSGeoNameParameter
GeometryTypes
/conf/GeometryTypes
/req/GeometryTypes
Paging
/conf/Paging
/req/Paging
SpecReference
/conf/SpecReference
req/SpecReference
Spatial Extent
/conf/SpatialExtent
/req/SpatialExtent
Data Access
/conf/DataAccess
/req/DataAccess
TwoStepSearch
/conf/TwoStepSearch
/req/TwoStepSearch
MetadataLink
/conf/MetadataLink
/req/MetadataLink
InlineMetadata
/conf/InlineMetadata
/req/InlineMetadata
ImagesByLink
/conf/ImagesByLink
/req/ImagesByLink
ImagesByMediaRSS
/conf/ImagesByMediaRSS
/req/ImagesByMediaRSS
EntrySummary
/conf/EntrySummary
/req/EntrySummary
Offerings
/conf/Offerings
/req/Offerings
Exception
/conf/Exceptions
/req/Exceptions
The mappings between the requirements and the associated requirement class are shown in the table below.
Table
: Requirements Classes
Requirements Class Name / URI
Dependendcy
Requirements URIs
Core
/req/Core
OpenSearch-Geo [RD.3]
/req/osdd
/req/osdd/namespaces
/req/osdd/atom
/req/request/parameters
/req/request/kvpget
/req/osdd/optionalTemplateParameters
/req/response/ATOM
/req/response/ATOM/model
/req/response/ATOM/feed
/req/response/ATOM/entry
/req/response/ATOM/entry/identifier
/req/request/osParameters
/req/request/multiWordsSearchTerms
/req/request/stringParameters
ParameterExtension
/req/ParameterExtension
/req/Core
/req/osdd/parameterExtension
CustomSearch
/req/CustomSearch
/req/Core
/req/ParameterExtension
/req/osdd/customSearch
SetsAndRanges
/req/SetsAndRanges
/req/Core
/req/ParameterExtension
/req/osdd/setsAndRanges
LinkTypeAttribute
/req/LinkTypeAttribute
/req/Core
/req/response/ATOM/entry/linkTypeAttribute
OSGeoTempParameters
/req/osGeoTempParameters
/req/Core
/req/request/osGeoTempParameters
OSGeoNameParameter
/req/osGeoNameParameter
/req/Core
/req/request/osGeoNameParameter
GeometryTypes
/req/GeometryTypes
/req/Core
/req/ParameterExtension
/req/osdd/supportedGeometryTypes
Paging
/req/Paging
/req/Core
/req/response/ATOM/entry/resultSetNavigation
/req/response/ATOM/feed/useOfStartIndexOverStartPage
SpecReference
/req/SpecReference
/req/Core
req/response/ATOM/feed/specReference
Spatial Extent
/req/spatialExtent
/req/Core
/req/response/ATOM/feed/extent
/req/response/ATOM/entry/extent
req/response/ATOM/entry/GeoRSSMultiPolygonFootprint
/req/response/ATOM/entry/GeoRSSMultiPointFootprint
/req/response/ATOM/entry/GeoRSSMultiLineFootprint
Data Access
/req/DataAccess
/req/Core
/req/response/ATOM/entry/datalink
/req/response/ATOM/entry/ordering
/req/response/ATOM/entry/documentationLink
TwoStepSearch
/req/TwoStepSearch
/req/Core
/req/LinkTypeAttribute
/req/response/ATOM/entry/searchContextLink
/req/response/ATOM/entry/parentIdentifier
/req/osdd/relAttributeOfURL
/req/osdd/queryElement
MetadataLink
/req/MetadataLink
/req/Core
/req/LinkTypeAttribute
/req/response/ATOM/entry/metadataLink
InlineMetadata
/req/InlineMetadata
/req/Core
/req/ParameterExtension
/req/response/ATOM/entry/inlineMetadata
/req/osdd/inlineMetadataSchemas
ImagesByLink
/req/ImagesByLink
/req/Core
/req/LinkTypeAttribute
/req/response/ATOM/entry/imagesByLink
ImagesByMediaRSS
/req/ImagesByMediaRSS
/req/Core
/req/response/ATOM/entry/imagesByMediaRSS
EntrySummary
/req/EntrySummary
/req/Core
/req/response/ATOM/entry/atomSummary
Offerings
/req/Offerings
/req/Core
/req/response/ATOM/entry/offerings
INSPIRE
/req/INSPIRE
/req/Core
/req/request/INSPIREParameters
Exceptions
/req/Exceptions
/req/Core
/req/exceptions
3.    References
3.1 Normative References
The following normative documents contain provisions that, through reference in this text, constitute provisions of this document. 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.
[RD.1] OGC:
OGC 06-121r9 - OpenGIS® Implementation Standard: OGC Web Services Common Standard, 2010
[RD.2] OASIS:
OASIS OpenSearch - searchRetrieve: Part 4. APD Binding for OpenSearch Version 1.0, OASIS Standard, 2013, http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/searchRetrieve-v1.0-part4-opensearch.html
[RD.3] OGC:
OGC 10-032r8 - OpenGIS® Implementation Standard: OpenSearch Geo and Time Extensions, 2014
[RD.4] OGC:
OGC 10-157r3 – OpenGIS® Implementation Standard: Earth Observation Metadata profile of Observations & Measurements, V 1.0, 2012
[RD.5] OGC:
OGC 10-157r4 – OpenGIS® Implementation Standard: Earth Observation Metadata profile of Observations & Measurements, V 1.1, 2016
[RD.6] OGC:
OGC 17-047 – OGC OpenSearch-EO GeoJSON(-LD) Response Encoding Standard, 2019
[RD.7] OGC:
OGC 17-003 – OGC EO Dataset Metadata GeoJSON(-LD) Encoding Standard, 2019
[RD.8] W3C:
Linked Data Platform Paging 1.0, W3C Working Group Note, 2015, http://www.w3.org/TR/ldp-paging/
[RD.9] CEOS:
CEOS OpenSearch Best Practice, Issue 1.2, 2017.
[RD.10] The Library of Congress –
Information Resource Retrieval Protocols: SRU/SRW (Search and Retrieve URL/Web Service) DC Schema for SRU (http://www.loc.gov/standards/sru/recordSchemas/dc-schema.html)
[RD.11] OGC:
OGC 12-084r2 – OGC OWS Context Atom Encoding Standard, V 1.0, 2013
[RD.12] OGC:
OGC 13-043 – OGC Download Service for Earth Observation Products, OGC Best Practice, V 1.0, 2014
[RD.13] OGC:
OGC 06-141r6 - Ordering Services Framework for Earth Observation Products Interface Standard (OSEO), V 1.0, 2012
[RD.14] OGC:
OGC 13-043 – OGC Download Service for Earth Observation Products Best Practice (ROSEO), V 1.0, 2014
[RD.15] OpenSearch.org:
OpenSearch - http://www.opensearch.org/Specifications/OpenSearch/1.1, 2018
[RD.16] OGC:
OGC GeoRSS Community standard, V 1.0, OGC 17-002r1, 2017 http://www.opengeospatial.org/standards/georss.
[RD.17] OpenSearch.org:
OpenSearch Parameter Extension - http://www.opensearch.org/Specifications/OpenSearch/Extensions/Parameter/1.0/Draft_2
[RD.18] OpenSearch.org:
OpenSearch SRU Extension - http://www.opensearch.org/Community/Proposal/Specifications/OpenSearch/Extensions/SRU/1.0/Draft_1
[RD.19] European Commission:
INSPIRE Metadata Implementing Rules: Technical Guidelines based on EN ISO 19115 and EN ISO 19119, 2013 (http://inspire.ec.europa.eu/Technical-Guidelines2/Metadata/6541)
[RD.20] European Commission:
Technical Guidance for the implementation of INSPIRE Discovery Services, 2011 (http://inspire.ec.europa.eu/documents/technical-guidance-implementation-inspire-discovery-services-0)
[RD.21] RSS Advisory Board:
Media RSS Specification, Version 1.5.1, 2009 http://www.rssboard.org/media-rss
[RD.22] IETF:
Atom - The Atom Syndication Format (IETF RFC4287), 2005
[RD.23]
no longer assigned.
[RD.24]
no longer assigned.
[RD.25]
ESA HMA (Heterogeneous Missions Accessibility). http://www.esa.int/About_Us/ESA_Publications/ESA_TM-21_Heterogeneous_Missions_Accessibility
[RD.26] ISO:
ISO 19115:2003, Geographic Information – Metadata, 2003
[RD.27] ISO:
ISO/TS 19139:2007, Geographic information -- Metadata -- XML schema implementation, 2007
[RD.28] ISO:
ISO19115-2:2009, Geographic information – Metadata – Part 2: Extensions for imagery and gridded data, 2009
[RD.29] ISO:
ISO/TS 19139-2:2012, Geographic information - Metadata - XML schema implementation - Part 2: Extensions for imagery and gridded data, 2012
[RD.30] ISO:
ISO 19115-1:2014, Geographic information -- Metadata -- Part 1: Fundamentals, 2014
[RD.31] ISO:
ISO/TS 19115-3, Geographic information -- Metadata -- Part 3: XML schema implementation for fundamental concepts, 2016
3.2 Other References
Dublin Core Metadata Initiative term declarations represented in RDF schema language, http://dublincore.org/schemas/rdfs/.
ESA:
HMA - Heterogeneous Missions Accessibility – Design Methodology, Architecture and Use of Geospatial Standards for the Ground Segment Support of Earth Observation missions ESA TM-21, 2012 http://www.esa.int/About_Us/ESA_Publications/ESA_TM-21_Heterogeneous_Missions_Accessibility
ISO:
ISO 19115:2003/Cor 1:2006, Geographic information – Metadata - Corrigendum 1, 2006
W3C:
RDF 1.1 Concepts and Abstract Syntax - Richard Cyganiak, David Wood, Markus Lanthaler, Editors. 2014. W3C Proposed Recommendation. URL: http://www.w3.org/TR/rdf11-concepts/.
RDFS
- http://schema.rdfs.org/
IETF:
RFC 3339 - Date and Time on the Internet: Timestamps. Internet profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar, 2002 http://www.ietf.org/rfc/rfc3339.txt
IETF:
RFC 5646 - Tags for Identifying Languages, 2009 http://tools.ietf.org/html/rfc5646
IETF:
RFC 5988 - Web Linking, 2010 http://tools.ietf.org/html/rfc5988, http://www.iana.org/assignments/link-relations/link-relations.xhtml
4.    Terms and Definitions
This document uses the terms defined in Sub-clause 5.3 of [RD.1], 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 standard.
For the purposes of this document, the following additional terms and definitions apply.
4.1
Collection
A Collection or a Dataset Series (in short
Series
) defines a container for a list of Products (or datasets) that have common properties. Products inherit all the Collection properties that are not explicitly overridden.
4.2
Product
A Product or a Dataset corresponds to an identifiable collection of data under one single identifier. It is independent of a physical form or an encoding even if it is normally distributed in a single file.
4.3
OpenSearch
Draft specification for web search syndication, originating from Amazon’s A9 project and given a corresponding interface binding by the OASIS Search Web Services working group.
4.4
OpenSearch Geospatial Service
Defines services that comply with the OpenSearch Specification and the Geo extension defined in OGC 10-032 [RD.3]
4.5
OpenSearch GeoTemporal Service
Defines services that comply with the OpenSearch Specification, the Geo and Time extensions defined in OGC 10-032 [RD.3]
4.6
OpenSearch Description Document (OSDD)
An XML document available at a consistent location describing metadata for the service and providing templates for queries.
4.7
OpenSearch Earth Observation Service
Defines services that comply with the OpenSearch Specification and the Earth Observation extension defined in this document.
4.8
Search feed
The response document of search service request containing zero or several entries.
4.9
Entry
An element of the search response representing a catalogued resource.
5.    Conventions
5.1    Abbreviated terms
Some of the abbreviated terms listed in Subclause 5.1 of the OWS Common Implementation Specification [RD.1] apply to this document, plus the following:
ATS                   Abstract Test Suite
CEOS                   Committee on Earth Observation Satellites
DM                   Download Manager
EC                  European Commission
EO                  Earth Observation
EOP                Earth Observation Product
ESA                European Space Agency
GML                   Geography Markup Language
HMA                   Heterogeneous Missions Accessibility
HTTP                   HyperText Transfer Protocol
IRI                   Internationalised Resource Identifier
ISO                   International Organisation for Standardisation
OASIS                   Advancing Open Standards for the Information Society
OGC                   Open Geospatial Consortium
OSDD                  OpenSearch Description Document
O&M                  Observations and Measurements
OWC                   OGC Web Services Context
RDF                   Resource Description Framework
RDFS                  RDF Schema
REST                   Representational State Transfer
SRU                  Search/Retrieval via URL
SWS                  Search Web Services
UML                   Unified Modelling Language
UMM                   Unified Metadata Model
URI                   Uniform Resource Identifier
URL                   Uniform Resource Locator
URN                   Uniform Resource Name
W3C                   World Wide Web Consortium
WGISS                   Working Group on Information Systems and Services
WKT                   Well-Known Text
WMC                   Web Map Context
WMS                   Web Map Service
XML                   eXtensible Markup Language
XSD                   XML Schema Definition Language
5.2    Namespace prefix conventions
Table 3 lists the namespaces used in this document and the specifications in which they are defined. The prefixes are
not
normative and are merely chosen for convenience; they may appear in examples without being formally declared, and have no semantic significance. The namespaces to which the prefixes correspond are normative, however.
Table
: Namespace mappings
Prefix
Namespace URI
Specification
atom
The Atom Syndication Format [RD.22]
dc
Namespace Policy for the DCMIa
dct
Namespace Policy for the DCMIa
eo
OpenSearch Extension for EO V 1.0 (this document)
eop
EO product schema namespace defined in OGC 10-157r3 [RD.4] or
EO product schema namespace defined in OGC 10-157r4 [RD.5]
geo
OpenSearch Geo Extension [RD.3]
georss
GeoRSS Specification b [RD.16]
gmd
ISO19115/ISO19139 [RD.26][RD.27]
gmi
ISO19115-2/ISO19139-2 [RD.28][RD.29]
lmb
[RD.5]
mdb
ISO19115-1/ISO19115-3 [RD.30][RD.31]
media
Media RSS [RD.21]
os
OpenSearch 1.1 Specification [RD.2]
owc
OGC OWS Context Atom Encoding Standard [RD.11]
param
OpenSearch parameter extension [RD.17]
rdfs
RDF Schema c
sru
OpenSearch SRU Extension [RD.18]
srw_dc
info:srw/schema/1/dc-schema
Dublin Core Schema for SRU [RD.10]
time
OpenSearch Time Extension [RD.3]
a See http://dublincore.org/documents/dcmi-namespace/
b See http://www.georss.org/
c See https://www.w3.org/TR/rdf-schema/
6.   OpenSearch-EO - Overview
As the OpenSearch specification [RD.15] is defined in the OASIS SWS bindings [RD.2], this document is confined to the OpenSearch Earth Observation extension (OpenSearch-EO). This standard is complementary to the OpenSearch Geo and Time Extensions (OGC 10-032 [RD.3]) and recommends its use for spatial and temporal queries especially for EO collection and EO product metadata. Further it defines a default response encoding based on Atom 1.0/XML [RD.22].
OpenSearch-EO specifies a series of parameters that can be used to constrain search results. These are discussed in more detail in section 7.2. In short, provision is made to filter results by sensor information, acquisition, processing parameters and other information. The purpose of OpenSearch-EO is to make sure that OpenSearch parameters are aligned with OGC 10-157r4 [RD.5] that describes EO products metadata and with ISO19115(-1) [RD.26, RD.30]/ISO19115-2 [RD.28] that is used for describing EO collection metadata (see 6.1). An OpenSearch Earth Observation Service is not expected to support all the elements defined here, but use them in accordance with a given use case and search service contents.
Further an important aspect is the definition of search responses supporting best practices which are relevant in the context hypermedia web guidelines such as HATEOAS (Hypermedia As The Engine Of Application State).
6.1    Collections and Products
An EO Collection (i.e., dataset series) is defined as a set of EO Products (i.e., datasets), sharing a common specification or characteristics. Below are a few examples on how to define an EO Collection:
EO products of the same platform (e.g.; Sentinel-1) and the same instrument (C-SAR sensor) acquired over a specific Area of Interest (AOI) and Time of Interest (TOI);
EO products of several SAR instruments over AOI and TOI (e.g., Time series with ENVISAT ASAR, Sentinel-1A/b, TSX); and
EO products acquired from a combination of platforms/instrument (e.g., Sentinel-1/SAR, Sentinel-2/MSI and SMOS/MIRAS) over AOI and TOI to address specific purposes. Definition of a "Thematic Collection" would permit the users to get direct access to EO products, necessary for specific application domains (e.g., Forestry, land monitoring, Emergency, ice monitoring, etc.), instead of searching in all the collections for different satellite products.
Definition of flexible EO collections that are as close as possible to users’ needs requires the possibility to associate a specific EO product to more than one EO Collection.
6.2 Two Step Search
In a typical search scenario, a client will first request for a catalogue´s OpenSearch Description Document - OSDD (see Figure 1), which will detail the catalogue’s support for searching for collections. Then, the client will submit a query searching for EO collections, according to allowed search parameters specified in this OSDD (See 7.2), and will receive the results in XML encoding (e.g., atom). In the search response, the user will find the details of the collections that match the search, these can be used to select a collection of interest and to identify how to request its specific search support (e.g., via the identifier or the hyperlink to the OSDD for the collection). This OSDD can then be retrieved and used to search for products of interest in this EO products collection.
Figure:
: Two Step Search
7.    OpenSearch-EI Search Service
The OpenSearch Description Document (OSDD) allows clients to retrieve service metadata from a server. The response to a request for a Description shall be an XML document in the form specified by the SWS OpenSearch bindings published by OASIS. A brief summary of the Description’s requirements is provided in OGC 10-032 [RD.3].
The OpenSearch Earth Observation Extension is designed to provide a search facility of Earth Observation metadata to the OpenSearch protocol. One namespace is provided for use in URL templates that form part of the OSDD (see Example 1, below), published by the server in XML at a stable URL.
A server provides an OSDD that a client reads to determine the response formats available and how to formulate a search/retrieve request. The OSDD includes a mandatory URL element containing a mandatory request template. Where several request templates are provided, a client may choose the one offering the most useful format (specified by MIME-type defined in the
type
attribute of the element) as shown in Example 1 below.
Requirement /req/osdd
An OpenSearch Earth Observation Service shall return (upon request) a valid OpenSearch description document (OSDD).
Requirement Class /req/Core

Requirement /req/osdd/namespaces
The namespace below and a corresponding namespace prefix shall be included when parameters from the EO Extension are used in an OpenSearch Description document:
Requirement Class /req/Core

Requirement /req/osdd/atom
Any server supporting the Earth Observation extension shall provide an access point returning documents complying with the rules specified in [RD.22] (Atom 1.0).
Requirement Class /req/Core
Requirement 1
/req/osdd
An OpenSearch Earth Observation Service shall return (upon request) a valid OpenSearch description document (OSDD).
Requirement Class
/req/Core
Requirement 2
/req/osdd/namespaces
This namespace and a corresponding namespace prefix
shall
be included when parameters from the EO Extension are used in an OpenSearch Description document:
·      http://a9.com/-/opensearch/extensions/eo/1.0/
Requirement Class
/req/Core
Requirement 3
/req/osdd/atom
Any server supporting the Earth Observation extension shall provide an access point returning documents complying with the rules specified in [RD.22] (Atom 1.0).
Requirement Class
/req/Core
EXAMPLE 1        The following XML document provides a sample response to a request for an OpenSearch Description Document from a repository supporting the Earth Observation Extension. Note that the response type is given in the type attribute and not implicitly on the URL path

Web Search
Use Example.com to search the Web.
admin@example.com



Example.com Web Search

Copyright 2005, Example.com, Inc.
open

Requirement 4
/req/osdd/relAttributeOfURL
The rel attribute of the Url element shall be used in the following manner:
rel="collection" to advertise collection level search query URL
rel="results" (default) to mean product (granule) level search query URL
If rel attribute is not specified, it assumes that its value is "results".
Please note that it is strictly forbidden to provide more than one URL template for a given "rel" / "type" combination
Requirement Class
/req/TwoStepSearch
Requirement 5
/req/osdd/queryElement
For testability purposes, it is recommended that an OSDD at least contains one
element defining a search query with Atom response which does return representative results.
In case the OSDD contains multiple
templates or
templates for both collection and granule level search, the Query element shall refer to a collection level search with Atom response.
In case the OSDD contains only
templates for collection level search, the Query element shall refer to a collection level search with Atom response.
In case the OSDD contains only
templates for granule level search, the Query element shall refer to a granule level search with Atom response.
Requirement Class
/req/TwoStepSearch
7.2 Search operation request
7.2.1 Fundamental search request parameters to search by time and space
The time and geo extensions defined in OGC10-032 [RD.3] give a list of fundamental search parameters sufficient to constrain a search by time and space. This OpenSearch Extension for EO complements those extensions with optional parameters specific to EO data.
Requirement 6
/req/request/osParameters
From OpenSearch the implementation shall support the following minimum set of search parameters for both "collection" and "granule" levels:
count
searchTerms (optional for "granule level" search)
startIndex or startPage
Requirement Class
/req/Core
Requirement 7
/req/request/osGeoTempParameters
From the time and geo extensions (OGC10-032 [RD.3]) an OpenSearch-EO implementation is recommended to support the following minimum set of search parameters for both "collection" and "granule" levels:
geo:uid
geo:box
time:start
time:end
Requirement Class
/req/OSGeoTempParameters
Requirement 8
/req/request/osGeoNameParameter
It is recommend to support geo:name and optionally, geo:radius (see (OGC10-032 [RD.3])). If geo:name is supported but geo:radius is not, it is recommended that the search be interpreted as a point search .
When a server supports geo:radius the default value should be specified in the OSDD within the "title" attribute of the corresponding Parameter element.
Example:

Requirement Class
/req/OSGeoNameParameter
7.2.2 Concept of search request parameters for the Earth Observation Extension
This Earth Observation Extension defines in Table 4, Table 5, Table 6 and Table 7 an extensive list of OpenSearch parameters that can (all parameters are optional) be supported by a search engine when searching via EO-related attributes. It is not expected or advisable for an OpenSearch Earth Observation Service to support all the parameters. Their use is largely dependent on the search engine contents and capabilities.
If a search engine use case is for the discovery of collections, typically the parameters of tables 4-6 are relevant. Those tables include parameters like: platform, orbitType, instrument, sensorType, spectralRange, processingLevel or compositeType. Table 6 includes the parameters which are aligned with the INSPIRE requirements like title, topicCategory, organisationName, useLimitation or accessConstraint.
Conversely, if the search engine use case is for the discovery of products (usually when a collection was already identified and afterwards a subset of interesting products of that collection shall be selected), it is recommended to select relevant parameters e.g., from:
orbitNumber, orbitDirection, wrsLatitudeGrid, archivingCenter, processingCenter, processingSoftware, processingDate, cloudCover, snowCover
as defined in
Table 7
In some situations, it may happen that for the selection of a subset of interesting products all parameters of tables 4-7 may become relevant. This is the case for example:
when there is no strict separation between collections and products (e.g., because products are described and indexed by parameters which include those which are typically only used for collections); and
for "thematic collections" in cases where:
products in a collection are of various types/sensors/missions/... ("a logical collection could be defined as a group of products from a given number of collections…"); and
the same product belongs to several collections.
Requirement 9
/req/request/parameters
An OpenSearch-EO implementation shall support the OpenSearch-EO Parameters (all optional) as specified in:
Table 4
Table 5
Table 6
and
Table 7
Requirement Class
/req/Core
7.2.3 Informing clients about constraints on search request parameters
To inform clients about permitted values (supported value list, range, ...) for a given parameter an OpenSearch Earth Observation Service should make use of the OpenSearch Parameter Extension [RD.17]. The Parameter Extension explicitly advertises the valid lists and ranges of search parameters. Thus, it allows reducing ambiguities and errors dramatically.
Requirement 10
/req/osdd/parameterExtension
It is
recommended
to support the OpenSearch Parameter Extension with the following constraints:
the "value" attribute
shall
always be set to facilitate the client task (i.e. avoid parsing the
templates)
other attributes (i.e. "minimum", "maximum") and options (e.g. param:Option)
should
be provided only when it makes sense
pattern
should
be provided when options are not provided (or when options only provide a subset of the possible values).
In case of inconsistency
between the Parameter extension annotations and the
template in the OSDD, the
template prevails.
Requirement Class
/req/parameterExtension
Examples of "inconsistencies" are when the
template includes a parameter for which no
is specified or when a search parameter is mandatory or optional in the
template, but the corresponding
element does not have a corresponding "minimum" or "maximum" attribute or such attributes with contradicting values.
The following example provides a sample response to a request for an OpenSearch Description from a repository supporting the Earth Observation and Temporal Extensions. The OpenSearch Parameter extension elements are used to suggest to clients the possible values for temporal range and acquisition station names
Example 2: OpenSearch Desction Document supporting the OpenSearch Parameter extension

xmlns:eo="http://a9.com/-/opensearch/extensions/eo/1.0/"
xmlns:param="http://a9.com/-/spec/opensearch/extensions/parameters/1.0/"
xmlns:time="http://a9.com/-/opensearch/extensions/time/1.0/">

Web Search
Example.com Web Search
Use Example.com to search the Web.
example web
admin@example.com

minInclusive="2011-01-01T00:00:00Z" maxExclusive="2012-01-01T00:00:00Z"/>

minInclusive="2011-01-01T00:00:00Z" maxExclusive="2012-01-01T00:00:00Z"/>

title="Acquisition Station">




Copyright 2005, Example.com, Inc.
open

For conveying the server’s search support condition on ranges and sets (used in request parameters to express that a set or a whole range of values are accepted) the Parameter Extension can be used as well.
Requirement 11
/req/osdd/setsAndRanges
It is recommended that the server suggests the support for range and/or set notations in the OSDD using the Parameter Extension with the EO specific attributes eo:rangeAllowed and/or eo:setAllowed.
If "pattern attribute" is provided in the Parameter Extension, it shall describe the syntax of each one of the n* values (i.e., n1, n2, …) used in the range or set notation.
Requirement Class
/req/SetsAndRanges
8.    OpenSearch Earth Observation operation
8.1    Search operation request
8.1.1    Search request parameters
An OpenSearch Earth Observation Service should use the time and geo extensions defined in OGC10-032 when supporting the search respectively by acquisition times and acquisition footprint. This Earth Observation Extension defines in Table 3, Table 4, Table 5 and Table 6 an extensive list of OpenSearch parameters that can be supported by a search engine.
It is not expected or advisable for an OpenSearch Earth Observation Service to support all the elements defined in this specification. The elements defined should be used to constrain search results and their use is largely dependent on the search engine contents and capabilities (see also 6).
If a search engine use case is for the discovery of
collections
, it is recommended to use the elements of Table 3 and Table 4 that include parameters like:
platform, orbitType
instrument
sensorType
spectralRange, processingLevel, compositeType, organisationName, useLimitation or accessConstraint.
If the search engine is obliged to be aligned with
INSPIRE
requirements it SHALL support the elements of Table 4.
Conversely, if the search engine use case is for the discovery of
products
[2]
associated to a single collection, it is recommended to select additional relevant parameters e.g. from:
orbitNumber
orbitDirection
track
frame
archivingCenter
processingCenter
processingSoftware
processingDate
cloudCover
and
snowCover
as shown in Table 5. The specific parameters related to the acquisition of Earth Observation products are shown on Table 6.
Requirement 4 /req/request/parameters
The eo OpenSearch Parameters shall be used as specified in Table 3, Table 5 and Table 6
Table
: OpenSearch Parameters for Collection Search
OpenSearch
Parameter
Definition
Data
Type
productType
A string identifying the entry type (e.g.
ER02_SAR_IM__0P, MER_RR__1P, SM_SLC__1S, GES_DISC_AIRH3STD_V005)
String
doi
Digital Object Identifier identifying the product
(see http://www.doi.org)
String
platform
A string with the platform short name (e.g.
Sentinel-1)
String
platformSerialIdentifier
A string with the Platform serial identifier
String
instrument
A string identifying the instrument (e.g. MERIS,
AATSR, ASAR, HRVIR. SAR).
String
sensorType
A string identifying the sensor type. Suggested
values are: OPTICAL, RADAR, ALTIMETRIC, ATMOSPHERIC, LIMB
String
compositeType
Type of composite product expressed as time period
that the composite product covers
(e.g. P10D for a 10 day composite)
String
processingLevel
A string identifying the processing level applied to
the entry
String
orbitType
A string identifying the platform orbit type (e.g.
LEO, GEO)
String
spectralRange
A string identifying the sensor spectral range (e.g.
INFRARED, NEAR-INFRARED, UV, VISIBLE)
String
wavelength
A number, set or interval requesting the sensor wavelengths
in nanometers.
Integer
hasSecurityConstraints
A string informing if the resource has any security
constraints. Possible values: TRUE, FALSE
String
dissemination
A string identifying the dissemination method (e.g.
EUMETCast, EUMETCast-Europe, DataCentre)
String
sru:recordSchema
Metadata model in which additional metadata should
be provided inline (e.g. OGC O&M EOP, ISO19115(-1|-2|-3)/ISO19139(-2), Sensor
ML 1.0/2.0 or Dublin Core Schema for SRU. For further details see 8.2.4.
String (URI)
The name capitalization rules are specified in
Subclause 11.6.2 of [OGC 06-121].
It uses mathematical notation for ranges and sets to define the
intervals with:
n1
equal to field = n1,
{n1,n2,…}
equals to field=n1 OR
field=n2 OR …
[n1,n2]
equal to n1 <= field <= n2,
[n1,n2[
equals to n1 <= field < n2
]n1,n2[
equals to n1 < field < n2
]n1,n2]
equal to n1 < field  <= n2.
[n1
equals to n1<= field
]n1
equals to n1 < field
n2]
equals to field <= n2                         n2[ equals to field
< n2.
OpenSearch Earth Observation Services are recommended to suggest
the supported list of values on the OpenSearch Description document using the
OpenSearch Parameter Extension, standard values for lists are suggested in
OGC 10-157r4.
OpenSearch Earth Observation Services are recommended to suggest
the range of possible values of the element values on the OpenSearch
Description document using the OpenSearch Parameter Extension.
OpenSearch Earth Observation Services are recommended to suggest the
supported list of values on the OpenSearch Description document using the
OpenSearch Parameter Extension, standard values are e.g.:
info:srw/schema/1/dc-v1.1
[3]
(Dublin Core Schema for SRU,
This parameter relates to collection and product search
Table
: Additional INSPIRE obligated OpenSearch Parameters for Collection Search
OpenSearch
Parameter
Definition
Data
Type
title
A name given to the resource
String
topicCategory
Main theme(s)
of the dataset
String
keyword
Commonly used word(s) or formalised word(s) or phrase(s) used to
describe the subject.
String
abstract
Abstract.
String
resolution
Using this (optional) parameter
mandates the usage of one of the following 2 parameter groups within one
search request:
i.
denominator
Level of detail expressed as a scale factor or a ground distance. Here: the
number below the line in a vulgar fraction.
Only used, if distanceValue and distanceUOM are not
used.
Integer
b d
distanceValue
Sample ground distance. Here: the distance as decimal value.
distanceUOM
Sample ground distance. Here: the name of the unit of measure. CodeList, one
of: meter, km,…
Only used, if Denominator is not used.
Double
b d
String
organisationName
A string identifying the name of the organization
responsible for the resource
String
organisationRole
The function performed by the
responsible party
String
j,c
publicationDate
The date when the resource was
issued
Date time
lineage
General explanation of the data
producer’s knowledge about the lineage of a dataset.
String
useLimitation
A string identifying informing if the resource has
usage limitations
String
accessConstraint
Applied to assure the protection of
privacy or intellectual property, and any special restrictions or limitations
on obtaining the resource
String
e,c
otherConstraint
Other
restrictions and legal prerequisites for accessing and using the resource or
metadata.
String
classification
Name of the
handling restrictions on the resource or metadata
String
f,c
language
Language of the intellectual
content of the metadata record
String
g,c
specification
Using this
(optional) parameter mandates the usage of the following 4 parameters within
one search request:
i.
specificationTitle
: Title of the specification
i.
specificationDate
: Reference date of specification
specificationdateType
: Type reference date of specification
degree
: This is the degree of conformity of the resource
to the related specification.
Possible values: true (if
conformant), false (if not conformant), null (if not evaluated)
String
Date time
String
k,c
String
The name capitalization rules are specified in
Subclause 11.6.2 of [OGC 06-121].
It uses mathematical notation for ranges and sets to define the
intervals with:
n1
equal to field = n1,
{n1,n2,…}
equals to field=n1 OR
field=n2 OR …
[n1,n2]
equal to n1 <= field <= n2,
[n1,n2[
equals to n1 <= field < n2
]n1,n2[
equals to n1 < field < n2
]n1,n2]
equal to n1 < field  <= n2.
[n1
equals to n1<= field
]n1
equals to n1 < field
n2]
equals to field <= n2                         n2[ equals to field
< n2.
OpenSearch Earth Observation Services are recommended to suggest
the supported list of values on the OpenSearch Description document using the
OpenSearch Parameter Extension , standard values for lists are suggested in
OGC 10-157r4.
OpenSearch Earth Observation Services are recommended to suggest
the range of possible values of the element values on the OpenSearch
Description document using the OpenSearch Parameter Extension.
Codelist (MD_RestrictionCode), one of: copyright, patent,
patentPending, trademark, license, intellectualPropertyRights, restricted,
otherRestrictions
Codelist (MD_ClassificationCode),
one of: unclassified, restricted, confidential, secret,
topSecret
ISO 639-2, other parts may be used
Optional parameter, for INSPIRE mandatory: the use of one keyword
expressing the INSPIRE Data theme is required.  Relevant INSPIRE data themes concerning EO
Product collections are "Land cover" and "Orthoimagery" (see [RD12] Table 15
and Table 21)
Optional parameter, mandatory for INSPIRE. For details see INSPIRE
Metadata Implementing Rules: Technical Guidelines based on EN ISO 19115 and
EN ISO 19119 and Technical Guidance for the implementation of INSPIRE
Discovery Services
Codelist (CI_RoleCode codelist), one of:
resourceProvider, custodian, owner, user, distributor, originator,
pointOfContact, principalInvestigator, processor, publisher, author
Codelist (CI_DateTypeCode), one of: creation,
revision or publication
Requirement 5 /req/request/INSPIRE
The OpenSearch Parameters relevant for INSPIRE shall be supported as specified in Table
4.
Table
: OpenSearch Parameters for Product Search
OpenSearch
Parameter
Definition
Data Type
parentIdentifier
A string identifying the parent of the entry in a
hierarchy of resources
String
productionStatus
A string identifying the status of the entry (e.g.
ARCHIVED, ACQUIRED, CANCELLED)
String
acquisitionType
Used to distinguish at a high level the
appropriateness of the acquisition for "general" use, whether the
product is a nominal acquisition, special calibration product or other.
Values: NOMINAL, CALIBRATION, OTHER
String
orbitNumber
A number, set or interval requesting the acquisition
orbit
Integer
orbitDirection
A string identifying the acquisition orbit
direction. Possible values are: ASCENDING, DESCENDING
String
track
A string identifying the orbit track
String
frame
A string identifying the orbit frame
String
swathIdentifier
Swath identifier (e.g. Envisat ASAR has 7 distinct
swaths (I1,I2,I3...I7) that correspond to precise incidence angles for the
sensor). Value list can be retrieved with codeSpace.
String
cloudCover
A number, set or interval of the cloud cover %
(0-100).
Integer
snowCover
A number, set or interval of the snow cover %
(0-100).
Integer
lowestLocation
A number,
set or interval of the bottom height of
datalayer (in meters).
Double
highestLocation
A number,
set or interval of the top height of
datalayer (in meters).
Double
productVersion
A string identifying the version of the Product
String
productQualityStatus
This optional field must be provided if the product
passed a quality check. Possible values: NOMINAL and DEGRADED
String
productQuality DegradationTag
Keywords giving information on the degradations
affecting the product. Possible values are mission specific and can be freely
define (e.g. "RADIOMETRY", "MISSING_LINES")
String
processorName
A string identifying the processor software name
String
processingCenter
A string identifying the processing center (e.g.
PDHS-E, PDHS-K, DPA, F-ACRI)
String
creationDate
The date when the metadata item was ingested for the
first time (i.e. inserted) in the catalogue
Date time
modificationDate
The date when the metadata item was last modified
(i.e. updated) in the catalogue.
Date time
processingDate
A date interval requesting entries processed within
a given time interval
Date time
sensorMode
A string identifying the sensor mode.
String
archivingCenter
A string identifying the archiving center.
String
processingMode
Processing mode. Often referred to as Real Time,
Near Real Time etc.
String
The name capitalization rules are specified in
Subclause 11.6.2 of [OGC 06-121].
It uses mathematical notation for ranges and sets to define the
intervals with:
n1
equal to field = n1,
{n1,n2,…}
equals to field=n1 OR
field=n2 OR …
[n1,n2]
equal to n1 <= field <= n2,
[n1,n2[
equals to n1 <= field < n2
]n1,n2[
equals to n1 < field < n2
]n1,n2]
equal to n1 <
field  <= n2.
[n1
equals to n1<= field
]n1
equals to n1 < field
n2]
equals to field <= n2                         n2[ equals to field
< n2.
OpenSearch Earth Observation Services are recommended to suggest
the supported list of values on the OpenSearch Description document using the
OpenSearch Parameter Extension, standard values for lists are suggested in
OGC 10-157r4.
OpenSearch Earth Observation Services are recommended to suggest
the range of possible values of the element values on the OpenSearch
Description document using the OpenSearch Parameter Extension.
Table
: OpenSearch Parameters for Acquistion Parameters Search
OpenSearch
Parameter
Definition
Data Type
availabilityTime
The time when the result became available (e.g. if
postprocessing or laboratory analysis is required, it might be different to
the phenomenonTime). dateTime in ISO 8601 format (CCYY-MM-
DDThh:mm[:ss[.cc]]Z)
Date Time
b d
acquisitionStation
A string identifying the station used for the
acquisition
String
acquisitionSub Type
Acquisition sub-type
String
startTimeFrom AscendingNode
Start time of acquisition in milliseconds from
Ascending node date.
Integer
completionTime FromAscending Node
Completion time of acquisition in milliseconds from
Ascending node date.
Integer
illumination AzimuthAngle
Mean illumination/solar azimuth angle given in
degrees. (i.e. uom='deg')
Double
illumination ZenithAngle
Mean illumination/solar zenith angle given in
degrees.
Double
illumination ElevationAngle
Mean illumination/solar elevation angle given in
degrees. (i.e. uom='deg')
Double
b d
polarisationMode
Polarisation mode taken from codelist: S (for
single), D (for dual), T (for twin), Q (for quad), UNDEFINED
String
polarization Channels
Polarisation channel transmit/receive configuration:
horizontal, vertical.
String
antennaLook Direction
LEFT or RIGHT
String
minimum IncidenceAngle
Minimum incidence angle given in degrees (i.e.
uom='deg')
Double
b d
maximum IncidenceAngle
Maximum incidence angle given in degrees (i.e.
uom='deg')
Double
b d
dopplerFrequency
Doppler Frequency of acquisition
Double
b d
incidenceAngle Variation
Incidence angle variation
Double
b d
The name capitalization rules are specified in
Subclause 11.6.2 of [OGC 06-121].
It uses mathematical notation for ranges and sets to define the
intervals with:
n1
equal to field = n1,
{n1,n2,
…}
equals to field=n1 OR field = n2 OR ..
[n1,n2]
equal to n1 <= field <= n2,
[n1,n2[
equals to n1 <= field < n2
]n1,n2[
equals to n1 < field < n2
]n1,n2]
equal to n1 < field  <= n2.
[n1
equals to n1<= field
]n1
equals to n1 < field
n2]
equals to  field <= n2                       n2[ equals to field
< n2
OpenSearch Earth Observation Services are recommended to suggest
the supported list of values on the OpenSearch Description document using the
OpenSearch Parameter Extension, standard values for lists are suggested in
OGC 10-157r4
OpenSearch Earth Observation Services are recommended to suggest
the range of possible values of the element values on the OpenSearch
Description document using the OpenSearch Parameter Extension
To suggest clients of the possible values of a given parameter an OpenSearch Earth Observation Service should make use of the OpenSearch Parameter Extension.
EXAMPLE 2        The following XML document provides a sample response to a request for an OpenSearch Description from a repository supporting the Earth Observation and Temporal Extensions. The OpenSearch Parameter extension elements are used to suggest clients the possible values for temporal range and acquisition station names:

xmlns:eo="http://a9.com/-/opensearch/extensions/eo/1.0/"
xmlns:param="http://a9.com/-/spec/opensearch/extensions/parameters/1.0/"
xmlns:time="http://a9.com/-/opensearch/extensions/time/1.0/">

Web Search
Example.com Web Search
Use Example.com to search the Web.
example web
admin@example.com
template="http://example.com/myatom/? pw={startPage?}&acq={eo:acquisitionStation?}&start={time:start?}& end={time:end?}">

minInclusive="2011-01-01T00:00:00Z" maxExclusive="2012-01-01T00:00:00Z"/>

minInclusive="2011-01-01T00:00:00Z" maxExclusive="2012-01-01T00:00:00Z"/>

title="Acquisition Station">




Copyright 2005, Example.com, Inc.
open

Requirement 6 /req/suggestions
The server implements a list of suggestions
for string parameters for the Earth Observation extension elements on the
OpenSearch Description document.
Requirement 7 /req/suggestions-range
The server implements a suggestion
of parameters range for the Earth Observation extension elements on the
OpenSearch Description document.
All parameters of the OpenSearch query
should
be mapped to the appropriate catalogue or metadata fields of the underlying metadata management system. Annex D shows the suggested mappings for
Earth Observation Metadata profile of Observations & Measurements (OGC 10-157)
ISO 19115 / ISO19115-2 Geographic information – Metadata
OGC Catalogue Services Standard 2.0 Extension Package for ebRIM Application Profile Earth Observation Products (OGC 06-131)
OGC I15 (ISO19115 Metadata) Extension Package of CS-W ebRIM Profile (OGC 13-084)
OGC Catalogue Services Specification 2.0 Extension Package for ebRIM Application Profile: SensorML (OGC 09-163)
8.1.2    Search request KVP encoding (mandatory)
Requirement 8 /req/request/kvpget
Servers shall implement HTTP GET transfer of the Search operation request, using KVP
encoding.
Note that for the given key-value pairs, the key can be an arbitrary string, specified by one given instance of an OpenSearch repository. For example, one Description may provide a URL template asking for platform={eo:platform}, another specifying plat={eo:platform}. It is the responsibility of the client application to parse the URL template and create the appropriate keys for each key-value pair. These parameter sets are templates from which URLs can be constructed. The search client must replace every instance of a template parameter with a value before the search request is performed. If a search engine wishes to indicate that a template parameter is optional and can be replaced with the empty string, then the "?" notation described in the section on optional template parameters should be used. Clients should take special consideration to the fact that according to the OpenSearch specification the OpenSearch parameters usage is not restricted to the URL query string and can be used as templates values in any of URL components (e.g. path, host).
EXAMPLE 3        A search operation URL template with the OpenSearch parameter as a query string parameter and the corresponding request:

EXAMPLE 4        A search operation URL template with one of OpenSearch Parameter as the URL path and the corresponding request:

8.2    Search operation response
8.2.1    Normal response parameters
The normal response to a valid Search operation request
shall
be in one of several formats that are specified in the OpenSearch Description for a given instance. The mandatory response format is Atom but the server may support other formats.
8.2.2    Normal response XML encoding
The normative response format for an OpenSearch service using Earth Observation Extension
shall
be ATOM 1.0. The properties shown in the Atom and OpenSearch namespaces are those mandated by the core specification.
Following the Atom format the response is made of a
atom:feed
element that may contain several
atom:entry
elements. While the latter describe the returned resources that respect the query performed the first describes the discovery service or search engine.
Requirement 9 /req/response/atom
The server response in Atom encoding shall be in
accordance with the rules defined in Table 7 and Table 8.
In the
atom:feed
element the response
should
include the elements listed in Table 7and the atom:entry elements
should
include the elements listed in Table 8. The metadata for each item in the result set
should
provide a link to a "full" view of the result, where more detailed metadata according to OGC O&M EOP (OGC 10-157r3, OGC 10-157r4), ISO19115(-1|-2|-3)/ISO19139(-2), SensorML 1.0 (OGC 07-122r2), SensorML 2.0 (OGC 12-000) or Dublin Core Schema for SRU (http://www.loc.gov/standards/sru/recordSchemas/dc-schema.html) can be provided (see 8.2.4) and, when available, a direct link to the resource using the
atom:link
element.
Requirement 10 /req/entry-eop
The response includes an eop:EarthObservation element or a
more specialized element such as opt:EarthObservation, sar:EarthObservation
or other allowed by OGC 10-157r4 for each entry.
Table
: Elements of Search operation response in the
atom:feed
element
Term
OGC core returnable
Atom Element
Description
Mult.
Title
dc:title
atom:feed/
atom:title
A title for the search feed.
mandatory
Creator
dc:creator
atom:feed/
atom:author
An entity primarily responsible for making the
content of the search feed
mandatory
Subject
dc:subject
atom:feed/
atom:category
A topic of the search feed.
optional
Abstract
dct:abstract
atom:feed/
atom:subtitle
An account of the content of the search feed
optional
Publisher
dc:publisher
atom:feed/
atom:generator
An entity or agent responsible for making the
search feed.
optional
Contributor
dc:contributor
atom:feed/
atom:contributor
An entity responsible for making contributions to
the content of the search feed
optional
Modified
dc:date
atom:feed/
atom:updated
A date of a creation or update of the search feed
(RFC 3339)
1 optional
Identifier
dc:identifier
atom:feed/
atom:id
An IRI as a unique identifier of the feed (it
excludes relative references). Not to be assumed dereferenceable.
mandatory
atom:feed/
dc:identifier
The local identifier of the feed.
1 optional
Source
dc:source
atom:feed/atom:link[@rel=’search’][@type=‘application/opensearchdescription+xml‘]
A reference to a resource from which the present
feed is derived. This points to the OpenSearch document that describes the
search engine
mandatory
Language
dc:language
atom:feed/
@xml:lang
A language of feed’s content (RFC 5646)
optional
Envelope
dct:spatial
atom:feed/
georss:*
The maximal spatial extent of the search feed
(GEORSS).
optional
Rights
dc:rights
atom:feed/
atom:rights
Information about rights held in and over the
resource
optional
Relation
(first,next, last page and previous pages)
dc:relation
atom:feed/atom:link[@rel=
‘first‘]
Reference to the next page of the search feed
optional
atom:feed/atom:link[@rel=
‘next‘]
Reference to the next page of the search feed
optional
atom:feed/atom:link[@rel=
‘last‘]
Reference to the next page of the search feed
optional
atom:feed/atom:link[@rel=
‘previous‘ or @rel="prev"]
Reference to the previous page of the search feed
optional
atom:feed/atom:link[@rel=’up’]
Refers to a parent resource in a hierarchy of
resources.
optional
Query
atom:feed/os:Query
Defines the search request query.
optional
Extent
(total results, start index and items per page)
dct:extent
atom:feed/
os:totalResults
OpenSearch element with the total number of feed’s
entries
mandatory
atom:feed/
os:startIndex
OpenSearch element with the index of the first
feed’s entry.
mandatory
atom:feed/
os:itemsPerPage
OpenSearch element with the number of entries
returned per page.
mandatory
Note: This table is equal Table 6 of OGC 10-032r8
Table
: Elements of Search operation response in the
atom:entry
elements describing each search result
Term
OGC
returnable
Atom
Element
Description
Mult.
Title
dc:title
atom:entry/
atom:title
A title given
to the resource.
mandatory
Creator
dc:creator
atom:entry/
atom:author
An entity
primarily responsible for making the content of the resource
optional
Subject
dc:subject
atom:entry/
atom:category
A topic of
the content of the resource (a topic category or other taxonomy can be
applied)
optional
Abstract
dct:abstract
atom:entry/
atom:summary
An account of
the content of the resource
optional
Contributor
dc:contributor
atom:entry/
atom:contributor
An entity
responsible for making contributions to the content of the resource
optional
Modified
dc:date
atom:entry/
atom:updated
A date of a
creation or update of the metadata resource (RFC-3339)
optional
Date
eop:EarthObservation
/om:phenomenonTime/gml:TimePeriod
atom:entry/
dc:date
A date or
range of dates relevant to the resource (RFC-3339)
optional
Identifier
dc:identifier
atom:entry/
atom:id
A unique
identifier of the entry. Its content MUST be an IRI (it excludes relative
references).  It should not be assumed
that it can be dereferenced.
mandatory
atom:entry/
dc:identifier
The
identifier of the resource within the search engine context (local
reference).
mandatory
Source
dc:source
atom:entry/
atom:link[@rel=
‘via’]
A reference
to a document that is the source of the information provided in the entry
optional
Language
dc:language
atom:entry/
@xml:lang
A language of
the intellectual content of the resource as defined in RFC 5646
optional
Rights
dc:rights
atom:entry/
atom:rights
Information
about rights held in and over the resource
optional
Envelope
eop:Footprint
atom:entry/
georss:*
The spatial
extent or scope of the content of the resource defined with an GEORSS element
optional
Relation
dc:relation
atom:entry/
atom:link[@rel=’search’]
Reference to
the OpenSearch description document when the resource is search service or a
collection
optional
atom:entry/
atom:link[@rel=’enclosure’]
Reference to
the location of the data resource described in the entry
optional
atom:entry/atom:link[@rel=’icon’]
Reference to
a quicklook or browse image representing the entry
optional
atom:entry/
atom:link[@rel=’alternative’]
A reference
to a document with the entry information in an alternative format
c, d
For more
details see 8.2.4
optional
atom:entry/atom:link[@rel=’up’]
Refers to a
parent resource in a hierarchy of resources
optional
Format
dc:format
atom:entry/atom:link[@rel=’enclosure’]/@type
The MIME
types of the data resources available
optional
Additional
Metadata
OGC O&M EOP (http://www.opengis.net/eop/(2.0|2.1), root element "eop:EarthObservation" or one of the extensions (e.g. sar:EarthObservation))
ISO19115 (ISO19139) (http://www.isotc211.org/2005/gmd, root element "gmd:MD_Metadata")
ISO19115-2 (ISO19139-2)(http://www.isotc211.org/2005/gmi, root element "gmi:MI_Metadata")
ISO19115-1 (ISO19115-3)(http://standards.iso.org/iso/19115/-3/mdb/1.0, root element "mdb:MD_Metadata")
SensorML http://www.opengis.net/sensorml/(1.0.1|2.0) (root element e.g.
sml:SimpleProcess
or
sml:PhysicalComponent
Dublin Core for SRU (root element srw_dc:dc)
For more details see 8.2.4
optional
When specifying a temporal range the element should contain two dates
separated by a slash, like:
2004-02-19T03:03:23.736Z/2010-09-12T15:57:36.072Z
The  different images are
differentiated by type and size.
An atom:entry MUST NOT contain more than one atom:link element with a rel
attribute value of "alternate" that has the same combination of
type and hreflang attribute values
An atom:link element with a rel attribute value of "alternate" or
"via" may have one of the following link "types":
"application/gml+xml;profile=http://www.opengis.net/spec/EOMPOM/1.1"
for OGC O&M EOP (OGC 10-157r4)
"application/gml+xml;profile=http://www.opengis.net/spec/EOMPOM/1.0"
for OGC O&M EOP (OGC 10-157r3)
"application/vnd.iso.19139+xml" for
ISO19115/19139
"application/vnd.iso.19139-2+xml"
for ISO19115-2/19139-2
"application/vnd.iso.19115-3+xml"
for ISO19115-1/19115-3
"text/xml;subtype="sensorML/2.0"
for SensorML 2.0
"text/xml;subtype=sensorML/1.0.1"
for SensorML 1.0
"application/xml" for Dublin Core
schema for SRU
Note: Grey rows show differences with Table 7 of OGC 10-032r8
8.2.3    Search context propagation to external end points
If the resource described in the response entry aggregates other resources (e.g. is a collection or a search service) it should possess an atom:link with the relation "search" [RFC 5988]. This feature can be used to define recursive searches where the search context (e.g. queriables) is propagated to an internal or external service (see e.g. 6.2). It can also allow the aggregation of entries into collections or groups.
EXAMPLE 5        Defining access to the product file of the atom:entry

Bad Request - Wrong orbitNumber format (number or range)
Annex A
Conformance Class Abstract Test Suite (Normative)
A.1     Conformance Test Class Core (/conf/Core)
A.1.1 OpenSearch description document
Requirements
/req/osd
Test Purpose:
Verify that the server generates a valid
OpenSearch description document.
Test Method:
Execute an HTTP GET request to retrieve a
server's description document.  Verify
that the response is correct XML and is valid according to the description in
this standard.
References:
Section 7
Test type:
Capability
A.1.2 Atom Response Type
Requirements
/req/atom
Test Purpose:
Verify that the server defines an URL
template for the Atom response.
Test Method:
Execute an HTTP GET request to retrieve a
server's description document.  Verify
that an URL element with the type equal to "application/atom+xml" exists.
References:
Section 7
Test type:
Capability
A.1.3 Namespaces
Requirements
/req/namespaces
Test Purpose:
Verify that the server uses the EO
extension namespaces
Test Method:
Execute an HTTP GET request to retrieve a
server's description document.  Verify
that the EO extensions namespace is present
References:
Section 7
Test type:
Capability
A.1.4 ATOM response
Requirements
/req/response/atom
Test Purpose:
Verify that the server response is a valid
ATOM document
Test Method:
Execute search request  and validate the ATOM document
References:
Section 8.2.2
Test type:
Capability
A.1.5 KVP GET
Requirements
/req/request/kvpget
Test Purpose:
Verify that the server accepts search
parameters as KVP
Test Method:
Execute an HTTP GET request to retrieve a
server's description document.  Verify
that the OpenSearch template accepts URL parameters
References:
Section 8.1.2
Test type:
Capability
A.1.6 Parameters
Requirements
/req/request/parameters
Test Purpose:
Verify that the server accepts search
parameters from the EO extension
Test Method:
Execute an HTTP GET request to retrieve a
server's description document.  Verify
that the OpenSearch template accepts template parameters from the EO
extension
References:
Section 8.1.1
Test type:
Capability
A.2     Conformance Test Class EarthObservationForeignElement (/conf/EarthObservationForeignElement)
A.2.1 EarthObservationForeignElement
Requirements
/req/entry-eop
Test Purpose:
Verify that the server response includes a
eop:EarthObservation (or derived) element for each entry.
Test Method:
Submit a series of requests to the server
and verify that the server responds as include an eop:EarthObservation (or
derived) element for each entry.
References:
Section 8.2.2 Table
Note d
Test type:
Capability
A.3     Conformance Test Class Suggestions (/conf/Suggestions)
A.3.1 Suggestions
Requirements
/req/suggestions
Test Purpose:
Verify that the server implements a list
of suggestions for string parameters for the Earth Observation extension
elements on the OpenSearch Description document.
Test Method:
Execute an HTTP GET request to retrieve a
server's description document. Verify that the URL template includes
parameters of the character string type (Table 5, note c). Verify that the
document includes a parameter element with the attribute pattern or with
child Option elements with suggested values.
References:
Section 8.1.1
Test type:
Capability
A.3.2 Suggestions-Range
Requirements
/req/suggestions-range
Test Purpose:
Verify that the server implements a
suggestion of parameters range for the Earth Observation extension elements
on the OpenSearch Description document.
Test Method:
Execute an HTTP GET request to retrieve a
server's description document. Verify that the URL template includes
parameters of the numeric type (Table 5, note d). Verify that the document
includes a parameter element with the attribute suggesting the value range.
References:
Section 9.2.1 Table 5 Note c
Test type:
Capability
A.4     Conformance Test Class INSPIRE (/conf/INSPIRE)
A.4.1 INSPIRE
Requirements
/req/request/INSPIRE
Test Purpose:
Verify that the server supports the
INSPIRE relevant (mandatory) OpenSearch parameters (queryables are:
useLimitation, accessConstraint, otherConstraint, classification,
organisationName, organisationRole, topicCategory, lineage, keyword,
denominator, distanceValue, distanceUOM, language, title, abstract, start,
end, box, specificationTitle, specificationDate, specificationdateType,
Degree).
Test Method:
Verify that the OpenSearch Description
Document includes a URL Search Template providing all INSPIRE relevant search
parameters.
References:
Section 8.1.1
Test type:
Capability
Annex B: XML Schema Documents
B.1     Atom Schema (schemas/atom/2005/rfc4287.rnc)
[4]
# -*- rnc -*-
# RELAX NG Compact Syntax Grammar for the
# Atom Format Specification
# Taken from http://tools.ietf.org/html/rfc4287#page-35
# Defined a new constructor for Atom Feed and Entry
namespace atom = "http://www.w3.org/2005/Atom"
namespace xhtml = "http://www.w3.org/1999/xhtml"
namespace s = "http://purl.oclc.org/dsdl/schematron"
namespace local = ""
start = atomFeed | atomEntry

# Common attributes
atomCommonAttributes = attribute xml:base { atomUri }?,
attribute xml:lang { atomLanguageTag }?, undefinedAttribute*

# Text Constructs
atomPlainTextConstruct = atomCommonAttributes,
attribute type { "text" | "html" }?, text
atomXHTMLTextConstruct = atomCommonAttributes, attribute type { "xhtml" }, xhtmlDiv
atomTextConstruct = atomPlainTextConstruct | atomXHTMLTextConstruct

# Person Construct
atomPersonConstruct = atomCommonAttributes,
(element atom:name { text } & element atom:uri { atomUri }?
& element atom:email { atomEmailAddress }?  & extensionElement*)

# Date Construct
atomDateConstruct = atomCommonAttributes, xsd:dateTime

# atom:feed
atomFeed =  [
s:pattern [ name="check authors"
s:rule [ context = "atom:feed"
s:assert [test = "atom:author or not(atom:entry[not(atom:author)])"
"An atom:feed must have an atom:author unless all"
~ "of its atom:entry children have an atom:author."]]]]
element atom:feed { atomFeedConstruct }

atomFeedConstruct =
atomCommonAttributes, (atomAuthor* & atomCategory* & atomContributor*
& atomGenerator? & atomIcon? & atomId & atomLink* & atomLogo? & atomRights? &
atomSubtitle? & atomTitle & atomUpdated & extensionElement*), atomEntry*

# atom:entry
atomEntry = [
s:pattern [ name="check entry’s alternate link"
s:rule [ context = "atom:entry" s:assert [
test = "atom:link[@rel=’alternate’]"
~ "or atom:link[not(@rel)] or atom:content"
"An atom:entry must have at least one atom:link element"
~ "with a rel attribute of ‘alternate’ or an atom:content."
]]]
s:pattern [ name="check entry’s author"
s:rule [ context = "atom:entry" s:assert [
test = "atom:author or ../atom:author or atom:source/atom:author"
"An atom:entry must have an atom:author if its feed does not."
]]]]
element atom:entry { atomEntryConstruct }

atomEntryConstruct =
atomCommonAttributes,
(atomAuthor* & atomCategory* & atomContent? & atomContributor*
& atomId & atomLink* & atomPublished? & atomRights? & atomSource?
& atomSummary? & atomTitle & atomUpdated & extensionElement*)

# atom:content
atomInlineTextContent = element atom:content { atomCommonAttributes,
attribute type { "text" | "html" }?, (text)* }

atomInlineXHTMLContent = element atom:content { atomCommonAttributes,
attribute type { "xhtml" }, xhtmlDiv }

atomInlineOtherContent = element atom:content { atomCommonAttributes,
attribute type { atomMediaType }?, (text|anyElement)*}

atomOutOfLineContent = element atom:content { atomCommonAttributes,
attribute type { atomMediaType }?, attribute src { atomUri }, empty }

atomContent = atomInlineTextContent | atomInlineXHTMLContent
| atomInlineOtherContent | atomOutOfLineContent

atomAuthor = element atom:author { atomPersonConstruct }

atomCategory =
element atom:category { atomCommonAttributes, attribute term { text },
attribute scheme { atomUri }?, attribute label { text }?,
undefinedContent }

atomContributor = element atom:contributor { atomPersonConstruct }

atomGenerator = element atom:generator { atomCommonAttributes,
attribute uri { atomUri }?, attribute version { text }?, text }

atomIcon = element atom:icon { atomCommonAttributes, (atomUri) }

atomId = element atom:id { atomCommonAttributes, (atomUri) }

atomLogo = element atom:logo { atomCommonAttributes, (atomUri)}

atomLink =
element atom:link { atomCommonAttributes, attribute href { atomUri },
attribute rel { atomNCName | atomUri }?, attribute type { atomMediaType }?,
attribute hreflang { atomLanguageTag }?, attribute title { text }?,
attribute length { text }?, undefinedContent }

atomPublished = element atom:published { atomDateConstruct }

atomRights = element atom:rights { atomTextConstruct }

atomSource = element atom:source {
atomCommonAttributes, (atomAuthor* & atomCategory* & atomContributor* &
atomGenerator? & atomIcon? & atomId? & atomLink* & atomLogo? & atomRights?
& atomSubtitle? & atomTitle? & atomUpdated? & extensionElement*)}

atomSubtitle = element atom:subtitle { atomTextConstruct }

atomSummary = element atom:summary { atomTextConstruct }

atomTitle = element atom:title { atomTextConstruct }

atomUpdated = element atom:updated { atomDateConstruct }

# Low-level simple types
atomNCName = xsd:string { minLength = "1" pattern = "[^:]*" }

# Whatever a media type is, it contains at least one slash
atomMediaType = xsd:string { pattern = ".+/.+" }

# As defined in RFC 5646
atomLanguageTag = xsd:string { pattern = "[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*"}

# Unconstrained; it’s not entirely clear how IRI fit into
# xsd:anyURI so let’s not try to constrain it here
atomUri = text

# Whatever an email address is, it contains at least one @
atomEmailAddress = xsd:string { pattern = ".+@.+" }

# Simple Extension
simpleExtensionElement = element * - atom:* { text }

# Structured Extension
structuredExtensionElement = element * - atom:* {
(attribute * { text }+, (text|anyElement)*)
| (attribute * { text }*, (text?, anyElement+, (text|anyElement)*))}

# Other Extensibility
extensionElement = simpleExtensionElement | structuredExtensionElement

undefinedAttribute = attribute * - (xml:base | xml:lang | local:*) { text }

undefinedContent = (text|anyForeignElement)*

anyElement = element * { (attribute * { text } | text | anyElement)* }

anyForeignElement = element * - atom:* { (attribute * { text } | text | anyElement)* }

# XHTML
anyXHTML = element xhtml:* { (attribute * { text } | text | anyXHTML)* }

xhtmlDiv = element xhtml:div { (attribute * { text } | text | anyXHTML)* }

# EOF
B.2     OpenSearch Atom Schema (schemas/opensearch/1.1/osatom.rnc)
# -*- rnc -*-
# RELAX NG Compact Syntax Grammar for
# Atom encoding and foreign elements for OpenSearch
namespace s = "http://purl.oclc.org/dsdl/schematron"
namespace atom = "http://www.w3.org/2005/Atom"
namespace os = "http://a9.com/-/spec/opensearch/1.1/"

# Redefine atom:feed to include new OpenSearch elements
atomFeedConstruct &= osQuery ? & osTotalResults? &osStartIndex? &osItemsPerPage?
osQuery = element os:Query { undefinedAttribute*, ( osQueryAttr ) }
osTotalResults = element os:totalResults { xsd:int }
osStartIndex = element os:startIndex { xsd:int }
osItemsPerPage = element os:itemsPerPage { xsd:int }

include "osquery.rnc"

# Replacing definitions on RFC4287
# relative path schemas/atom folder
include "../../atom/2005/rfc4287.rnc"{
# Redefine the Simple Extension to exclude os:* elements
simpleExtensionElement = element * - (atom:* | os:*) { text }
# Redefine the Structured Extension to exclude os:* elements
structuredExtensionElement = element * -
(atom:* |  os:* ) { (attribute * { text }+,(text|anyElement)*)
| (attribute * { text }*, (text?, anyElement+, (text|anyElement)*))}

# Redefine Atom rules
atomFeed = [
s:rule [ context = "atom:feed"
s:assert [ test = "atom:author or not(atom:entry[not(atom:author)])"
"An atom:feed must have an atom:author unless all"
~ "of its atom:entry children have an atom:author."]]
element atom:feed { atomFeedConstruct }

atomEntry =[
s:pattern [ name="check entry content"
s:rule [ context = "atom:entry"
s:assert [ test = "atom:content"
"An atom:entry must have one atom:content MUST have content"
~ "element in a format understandable by generic Atom readers"
~ " ( @type equal to ‘html’ is recommended)"]]]

element atom:entry { atomEntryConstruct }
# EOF
B.3     OpenSearch Description Document Schema (schemas/opensearch/1.1/osdd.rnc)
# -*- rnc -*-
# RELAX NG Compact Syntax Grammar for
# OpenSearch Description Document

namespace os = "http://a9.com/-/spec/opensearch/1.1/"
namespace s = "http://purl.oclc.org/dsdl/schematron"
namespace local = ""
start = osDocument

osDocument = element os:OpenSearchDescription { osDocumentConstruct }

osDocumentConstruct =
element os:ShortName { xsd:string { maxLength = "16" } }
& element os:Description { xsd:string { maxLength = "1024" } }
& element os:Url { osdUrlAttr } *
& element os:Contact { xsd:string {pattern=".+@.+"}}?
& element os:Tags { text }? & element os:LongName { xsd:string {maxLength="48"}}?
& element os:Image { osdImage } *
& element os:Query { undefinedAttribute*, ( osQueryAttr ) }*
& element os:Developer { xsd:string { maxLength = "64" } }?
& element os:Attribution { xsd:string { maxLength = "256" } }?
& element os:SyndicationRight { osdSyndicationRightValues } ?
& element os:AdultContent { "false" | "true" } ?
& element os:Language {xsd:string { pattern="[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*"}}?
& element os:InputEncoding { text } ? & element os:OutputEncoding { text } ?
& undefinedAttribute*
& extensionElement*

osdUrlAttr = attribute template { text }, attribute type { text },
attribute rel { osdRelationValues }?, attribute indexOffset { xsd:int }?,
attribute pageOffset { xsd:int }?, undefinedAttribute*, extensionElement*

osdImage = attribute height {xsd:int}, attribute width {xsd:int},
attribute type {xsd:string}, text

include "osquery.rnc"

osdRelationValues = "results" | "suggestions" | "self" | "collection"
osdSyndicationRightValues = "open" | "limited" | "private" | "closed"

# Simple Extension
simpleExtensionElement = element * - os:* { text }

# Structured Extension
structuredExtensionElement = element * - os:* {
(attribute * { text }+, (text|anyElement)*)
| (attribute * { text }*, (text?, anyElement+, (text|anyElement)*))}

# Other Extensibility
extensionElement = simpleExtensionElement | structuredExtensionElement
undefinedAttribute = attribute * - (local:* ) { text }
undefinedContent = (text|anyForeignElement)*
anyElement = element * { (attribute * { text } | text | anyElement)* }
anyForeignElement = element * - os:* { (attribute * { text } | text | anyElement)* }

# EOF
B.4     OpenSearch Query Element Schema (schemas/opensearch/1.1/osquery.rnc)
# -*- rnc -*-
# RELAX NG Compact Syntax Grammar for
# OpenSearch Query element

namespace os = "http://a9.com/-/spec/opensearch/1.1/"
namespace s = "http://purl.oclc.org/dsdl/schematron"
namespace local = ""

osQueryAttr = attribute role { osQueryRoleValues },
attribute title { xsd:string { maxLength="256"}}?, attribute searchTerms { text }?,
attribute totalResults { xsd:int }?, attribute count { text }?,
attribute startIndex { text }?, attribute startPage { text }?,
attribute inputEncoding { text }?, attribute outputEncoding { text }?,
attribute language { text }?

osQueryRoleValues = "request" | "example" | "related" | "correction" | "subset" | "superset"

# EOF
B.5     GeoRSS Schema (schemas/georss/1.1/georss.rnc)
# -*- rnc -*-
# RELAX NG Compact Syntax Grammar for the GEORSS
# This defines the conformance to the rules of GEORSS

namespace georss="http://www.georss.org/georss"
namespace gml="http://www.opengis.net/gml"
namespace local = ""

georssElement = ( georssSimple | georssWhere)

georssWhere = element georss:where { gmlAttribute*, gmlElement }

georssSimple = georssPoint | georssLine | georssPolygon | georssBox | georssCircle
| georssFeatureTypeTag | georssFeatureName | georssElev | georssFloor

georssPoint = element georss:point { list { xsd:decimal, xsd:decimal } }
georssLine = element georss:line { list { (xsd:decimal, xsd:decimal)+ } }
georssPolygon = element georss:polygon { list { (xsd:decimal, xsd:decimal)+ }  }
georssBox = element georss:box {
list { (xsd:decimal, xsd:decimal, xsd:decimal, xsd:decimal) } }
georssCircle = element georss:circle {
list { (xsd:decimal, xsd:decimal, xsd:decimal) } }
georssFeatureTypeTag = element georss:featureTypeTag { text }
georssRelationshipTag = element georss:relationshipTag { text }
georssFeatureName = element georss:featureName { text }
georssElev = element georss:elev {xsd:decimal}
georssFloor = element georss:floor {xsd:decimal}
georssRadius = element georss:radius {xsd:decimal}

gmlAttribute = attribute (xml:base | xml:lang | local:* | gml:* ) { text }

gmlElement = (gmlPointElement | gmlLineStringElement |
gmlPolygonElement | gmlEnvelopeElement )

gmlPointElement =
element gml:Point { gmlAttribute*,
element gml:pos  { gmlAttribute*, list { xsd:decimal, xsd:decimal }}}

gmlLineStringElement = element gml:LineString { gmlAttribute*,
element gml:posList  {gmlAttribute*, list { (xsd:decimal, xsd:decimal)+ }}}

gmlPolygonElement = element gml:Polygon { gmlAttribute*,
element gml:exterior  { gmlAttribute*,
element gml:LinearRing { gmlAttribute*,
element gml:posList  { gmlAttribute*,
list { (xsd:decimal, xsd:decimal)+ }}}}}

gmlEnvelopeElement = element  gml:Envelope { gmlAttribute*,
(  element gml:lowerCorner { gmlAttribute*,
list { xsd:decimal, xsd:decimal } }
& element gml:upperCorner { gmlAttribute*,
list { xsd:decimal, xsd:decimal } }) }

# EOF
B.6     Earth Observation Extension Description Document Schema (schemas/opensearch/extensions/eo/1.0/osddeo.rnc)
# -*- rnc -*-
# RELAX NG Compact Syntax Grammar for OpenSearch Description Documents
# as defined in OGC 13-026
namespace s = "http://purl.oclc.org/dsdl/schematron"
namespace local = ""
namespace os = "http://a9.com/-/spec/opensearch/1.1/"
namespace time = "http://a9.com/-/opensearch/extensions/time/1.0/"
namespace geo = "http://a9.com/-/opensearch/extensions/geo/1.0/"
namespace eo = "http://a9.com/-/opensearch/extensions/eo/1.0/"

include "eo.rnc"

# Redefine the foreign attribute to exclude eo:* elements
# relative path schemas/opensearch/1.1/ folder
include "../../../1.1/osdd.rnc"{
undefinedAttribute = attribute * - (local:* | eo:* ) { text }

osDocument = [
s:pattern [ name="check Atom template"
s:rule [ context = "os:OpenSearchDescription"
s:assert [ test = "os:Url[@type=’application/atom+xml’]"
"An OpenSearch Description Document must have a Url template with"
~ " type of Atom document." ]]]]
element os:OpenSearchDescription { osDocumentConstruct }

#EOF
B.7     Earth Observation Extension Query Element Schema (schemas/opensearch/extensions/eo/1.0/eo.rnc)
# -*- rnc -*-
# RELAX NG Compact Syntax Grammar
# OpenSearch Query Element as defined in OGC 13-026 for the eo extension

namespace eo = "http://a9.com/-/opensearch/extensions/eo/1.0/"

# from Table 3
osQueryAttr &=
attribute eo:productType { text }?
& attribute eo:doi { text }?
& attribute eo:platform { text }?
& attribute eo:platformSerialIdentifier { text }?
& attribute eo:instrument { text }?
& attribute eo:sensorType  { text }?
& attribute eo:compositeType { text }?
& attribute eo:processingLevel { text }?
& attribute eo:orbitType { text }?
& attribute eo:spectralRange { text }?
& attribute eo:wavelength {intValueOrSetOrRange }?
& attribute eo:hasSecurityConstraints { text }?
& attribute eo:dissemination { text }?
& attribute sru:recordSchema { text }?

# from Table 4
osQueryAttr &=
attribute eo:title  { text }?
& attribute eo:topicCategory  { text }?
& attribute eo:keyword  { text }?
& attribute eo:abstract  { text }?
& attribute eo:denominator { intValueOrSetOrRange }?
& attribute eo:distanceValue { floatValueOrSetOrRange }?
& attribute eo:distanceUOM { text }?
& attribute eo:organisationName { text }?
& attribute eo:organisationRole { text }?
& attribute eo:publicationDate { dateValueOrSetOrRange }?
& attribute eo:lineage { text }?
& attribute eo:useLimitation { text }?
& attribute eo:accessConstraint { text }?
& attribute eo:otherConstraint { text }?
& attribute eo:classification { text }?
& attribute eo:language { text }?
& attribute eo:specificationTitle { text }?
& attribute eo:specificationDate { dateValueOrSetOrRange }?
& attribute eo:specificationdateType { text }?
& attribute eo:degree { text }?

# from Table 5
osQueryAttr &=
attribute eo:parentIdentifier { text }?
& attribute eo:productionStatus { text }?
& attribute eo:acquisitionType { text }?
& attribute eo:orbitNumber { intValueOrSetOrRange }?
& attribute eo:orbitDirection { orbitDirection }?
& attribute eo:track { text }?
& attribute eo:frame { text }?
& attribute eo:swathIdentifier { text }?
& attribute eo:cloudCover { intValueOrSetOrRange }?
& attribute eo:snowCover { intValueOrSetOrRange }?
& attribute eo:lowestLocation { floatValueOrSetOrRange }?
& attribute eo:highestLocation { floatValueOrSetOrRange }?
& attribute eo:productVersion { text }?
& attribute eo:productQualityStatus { text }?
& attribute eo:productQualityDegradationTag { text }?
& attribute eo:processorName { text }?
& attribute eo:processingCenter { text }?
& attribute eo:creationDate { dateValueOrSetOrRange }?
& attribute eo:modificationDate { dateValueOrSetOrRange }?

& attribute eo:processingDate { dateValueOrSetOrRange }?
& attribute eo:sensorMode  { text }?
& attribute eo:archivingCenter { text }?
& attribute eo:processingMode { text }?

# from Table 6

osQueryAttr &=
attribute eo:availabilityTime
& attribute eo:acquisitionStation { text }?
& attribute eo:acquisitionSubType { text }?
& attribute eo:startTimeFromAscendingNode { intValueOrSetOrRange }?
& attribute eo:completionTimeFromAscendingNode { intValueOrSetOrRange }?
& attribute eo:illuminationAzimuthAngle { floatValueOrSetOrRange }?
& attribute eo:illuminationZenithAngle { floatValueOrSetOrRange }?
& attribute eo:illuminationElevationAngle { floatValueOrSetOrRange }?
& attribute eo:polarisationMode { polarisationMode }?
& attribute eo:polarizationChannels { text }?
& attribute eo:antennaLookDirection { antennaLookDirection }?
& attribute eo:minimumIncidenceAngle { floatValueOrSetOrRange }?
& attribute eo:maximumIncidenceAngle { floatValueOrSetOrRange }?
& attribute eo:dopplerFrequency { floatValueOrSetOrRange }?
& attribute eo:incidenceAngleVariation { floatValueOrSetOrRange }?

polarisationMode = "S" | "D" | "T" | "Q" | "UNDEFINED"
antennaLookDirection = "LEFT" | "RIGHT"
orbitDirection = "DESCENDING" | "ASCENDING"

# Ranges value|\{value(,value)*\}|[\]\[\(\)]value,value[\]\[\(\)]

intValueOrSetOrRange = xsd:string { pattern ="[\+\-]?[\d]*|\{[\+\-]?[\d]*(,[\d]*)*\}|[\]\[\(\)]?[\+\-]?[\d]*,[\+\-]?[\d]*[\]\[\(\)]?" }

floatValueOrSetOrRange = xsd:string { pattern ="[\+\-]?[\d]*(.[\d]+)?|\{[\+\-]?[\d]*(.[\d]+)?(,[\+\-]?[\d]*(.[\d]+)?)*\}|[\]\[\(\)]?[\+\-]?[\d]*(.[\d]+)?,[\+\-]?[\d]*(.[\d]+)?[\]\[\(\)]?" }

dateValueOrSetOrRange = xsd:string { pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?(Z|[\+\-][0-9]{2}:[0-9]{2}))?|\{[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?(Z|[\+\-][0-9]{2}:[0-9]{2}))?(,[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?(Z|[\+\-][0-9]{2}:[0-9]{2}))?)*\}|[\]\[\(\)][0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?(Z|[\+\-][0-9]{2}:[0-9]{2}))?,[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?(Z|[\+\-][0-9]{2}:[0-9]{2}))?[\]\[\(\)]"}
B.8     Earth Observation Extension Atom Response Schema (schemas/opensearch/extenstions/eo/1.0/atomeo.rnc)
# -*- rnc -*-
# RELAX NG Compact Syntax Grammar for Atom encoding and foreign elements
# as defined in OGC 13-026 for the eo extension

namespace s = "http://purl.oclc.org/dsdl/schematron"
namespace atom = "http://www.w3.org/2005/Atom"
namespace os = "http://a9.com/-/spec/opensearch/1.1/"
namespace eo = "http://a9.com/-/opensearch/extensions/eo/1.0/"
namespace eop = "http://www.opengis.net/eop/2.1"
namespace opt = "http://www.opengis.net/opt/2.1"
namespace sar = "http://www.opengis.net/sar/2.1"
namespace atm = "http://www.opengis.net/atm/2.1"
namespace alt = "http://www.opengis.net/alt/2.1"
namespace lmb = "http://www.opengis.net/lmb/2.1"
namespace ssp = "http://www.opengis.net/ssp/2.1"
namespace local = ""

# Redefine atom:entry to include the EO elements  defined in OGC 10-157r4
atomEntryConstruct &= eopElements ?
eopElements =  eopElement | optElement | sarElement | atmElement | altElement
| lmgElement | sspElement
eopElement = element eop:EarthObservation { anyChildren }
optElement = element opt:EarthObservation { anyChildren }
sarElement = element sar:EarthObservation { anyChildren }
atmElement = element atm:EarthObservation { anyChildren }
altElement = element alt:EarthObservation { anyChildren }
lmgElement = element lmb:EarthObservation { anyChildren }
sspElement = element ssp:EarthObservation { anyChildren }

anyChildren =  undefinedAttribute*, extensionElement*

include "eo.rnc"

# Replacing definitions on RFC4287 plus OpenSearch
# relative path schemas/opensearch/1.1/ folder
include "../../../1.1/osatom.rnc"{
undefinedAttribute = attribute * - (xml:base | xml:lang | local:* | eo:* ) { text }
# Redefine the Simple Extension to exclude owc:* elements
simpleExtensionElement = element * -
(atom:* | os:* | eop:EarthObservation| opt:EarthObservation |
sar:EarthObservation | atm:EarthObservation | alt:EarthObservation |
lmb:EarthObservation | ssp:EarthObservation) { text }

# Redefine the Structured Extension to exclude owc:* elements
structuredExtensionElement = element * -
(atom:* |  eop:EarthObservation | opt:EarthObservation | sar:EarthObservation |
atm:EarthObservation | alt:EarthObservation | lmb:EarthObservation |
ssp:EarthObservation | os:* ) {
(attribute * { text }+,(text|anyElement)*)
| (attribute * { text }*, (text?, anyElement+, (text|anyElement)*))}

# Redefine Atom rules
atomFeed = element atom:feed { atomFeedConstruct }
atomEntry =element atom:entry { atomEntryConstruct }
# EOF
B.9     Parameter Extension Query Element Schema (schemas/opensearch/extensions/parameter/1.0/parameter.rnc)
# -*- rnc -*-
# RELAX NG Compact Syntax Grammar for
# OpenSearch Description Parameter Extension
namespace s = "http://purl.oclc.org/dsdl/schematron"
namespace local = ""
namespace os = "http://a9.com/-/spec/opensearch/1.1/"
namespace param = "http://a9.com/-/opensearch/extensions/param/1.0/"

parameterConstruct =  attribute name { xsd:token }?,
attribute value { xsd:token }?,
attribute minimum { xsd:unsignedInt }?,
attribute maximum { xsd:unsignedInt }?,
attribute pattern { text }?,
attribute title {  xsd:string { maxLength = "1024" } }?,
attribute minExclusive { xsd:decimal | xsd:dateTime }?,
attribute maxExclusive { xsd:decimal | xsd:dateTime }?,
attribute minInclusive { xsd:decimal | xsd:dateTime }?,
attribute maxInclusive { xsd:decimal | xsd:dateTime }?,
attribute step { xsd:decimal }?,
undefinedAttribute*,
element param:Option { paramOption }*

paramMethod = "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "CONNECT"

paramOption = attribute value { xsd:string },
attribute label { xsd:string }, undefinedAttribute*

paramUrl = attribute param:method { paramMethod }?
& attribute param:enctype {  xsd:string { pattern = ".+/.+" } }?
&  element param:Parameter { parameterConstruct } *

#extend the Url definition here
osdUrl &= paramUrl

# Redefine the foreign attribute to exclude param:* elements
# relative path schemas/opensearch/1.1/ folder
include "../../../1.1/osdd.rnc"{
# Simple Extension
simpleExtensionElement = element * - ( os:* | param:* ){ text }
# Structured Extension
structuredExtensionElement = element * - ( os:*  | param:* ) {
(attribute * { text }+, (text|anyElement)*)
| (attribute * { text }*, (text?, anyElement+, (text|anyElement)*))}

# Other Extensibility
undefinedAttribute = attribute * - ( local:* | param:* ) { text }
anyForeignElement = element * - ( os:*  | param:* ) { (attribute * { text } | text | anyElement)* }

osDocument = [ s:rule [ context = "os:OpenSearchDescription"
s:assert [ test = "os:Url/param:Parameter"
"This URL template does not contain a Parameter element." ]]]
element os:OpenSearchDescription { osDocumentConstruct }
# EOF
Annex C (informative): Example XML Documents
C.1 OpenSearch Description with Earth Observation Extension

xmlns:eo="http://a9.com/-/opensearch/extensions/eo/1.0/"
xmlns:param="http://a9.com/-/opensearch/extensions/param/1.0/"
xmlns:time="http://a9.com/-/opensearch/extensions/time/1.0/"
xmlns:geo="http://a9.com/-/opensearch/extensions/geo/1.0/">

Web Search
Example.com Web Search
Use Example.com to search the Web.
example web
admin@example.com

minInclusive="2011-01-01T00:00:00Z" maxExclusive="2012-01-01T00:00:00Z"/>

minInclusive="2011-01-01T00:00:00Z" maxExclusive="2012-01-01T00:00:00Z"/>

title="Acquisition Station">




Copyright 2005, Example.com, Inc.
open


C.2      Atom Output of Earth Observation Metadata

xmlns:os="http://a9.com/-/spec/opensearch/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"
xmlns:geo="http://a9.com/-/opensearch/extensions/geo/1.0/" >
Catalogue Search Feed for ASAR Image Mode source packets Level 0 (ASA_IM__0P)
The ASAR Image Mode source packets Level 0 data product offers Level 0 data for possible images processing on an other processing site. It includes some mandatory information for SAR processing. The Image Mode Level 0 product consists of time-ordered Annotated Instrument Source Packets (AISPs) collected while the instrument is in Image Mode. The echo samples contained in the AISPs are compressed to 4 bits/sample using Flexible Block Adaptive Quantisation (FBAQ). This is a high-rate, narrow swath mode so data is only acquired for partial orbit segments and may be from one of seven possible image swaths. The Level 0 product is produced systematically for all data acquired within this mode. This product provides a continuation of the ERS-SAR_RAW product.
Terradue CAS
2013-03-24T17:54:40Z
http://eo-virtual-archive4.esa.int/search/ASA_IM__0P/atom/


1
0
20


39.9 125 43.5 125 43.5 132.7 39.9 132.7 39.9 132.7

GEOSS Supersites

http://eo-virtual-archive4.esa.int/search/ASA_IM__0P/ASA_IM__0CNPDE20100122_014441_000000162086_00146_41282_7918.N1/atom
ASA_IM__0CNPDE20100122_014441_000000162086_00146_41282_7918.N1
ASA_IM__0CNPDE20100122_014441_000000162086_00146_41282_7918.N1
2012-03-06T00:10:33.000Z
2013-05-16T22:25:57.124Z
2010-01-22T01:44:41.316Z/2010-01-22T01:44:57.596Z
42.2879 128.7535 42.4897 127.4932 41.4254 127.1936 41.2326 128.3991 42.2879 128.7535






<ul>    <li> <b>Date</b>: 2010-01-22 <br/>
(2010-01-22T01:44:41.316Z / 2010-01-22T01:44:57.596Z) </li>
<li> <b>Orbit Number</b>: 41282 </li>
<li> <b>Processing Center</b>: PDHS-E </li>
<li> <b>Processing Date</b>: 2010-01-22 </li>
<br/>
<a href="https://eo-virtual-archive4.esa.int/supersites/ASA_IM__0CNPDE20100122_014441_000000162086_00146_41282_7918.N1">Product Download </a>
</ul>

xsi:schemaLocation="http://www.opengis.net/opt/2.1 ../xsd/opt.xsd"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:eop="http://www.opengis.net/eop/2.1" xmlns:swe="http://www.opengis.net/swe/1.0" xmlns:om="http://www.opengis.net/om/2.0"
gml:id="eo_ASA_IM__0CNPDE20100122_014441_000000162086_00146_41282_7918.N1">
gml:id="tp_ASA_IM__0CNPDE20100122_014441_000000162086_00146_41282_7918.N1">
2010-01-22T01:44:41.316Z
2010-01-22T01:44:57.596Z

gml:id="ad_ ASA_IM__0CNPDE20100122_014441_000000162086_00146_41282_7918.N1">
2010-01-22T02:35:06.000Z


gml:id="eq_ASA_IM__0CNPDE20100122_014441_000000162086_00146_41282_7918.N1">
ENVISAT

ASAR


RADAR








42.2879 128.7535 42.4897 127.4932 41.4254 127.1936 41.2326 128.3991 42.2879 128.7535







ASA_IM__0CNPDE20100122_014441_000000162086_00146_41282_7918.N1
NOMINAL
ASA_IM__0P
ARCHIVED

PDHS-E


PDHS-E





C.3      Atom Output of Earth Observation Collection Metadata

EUMETSAT Product Navigator COLOS Adaptor results feed
Number of results: 58
http://46.51.189.235:80/atom
EUMETSAT Product Navigator

EUMETSAT

climatologyMeteorologyAtmosphere
con terra GmbH
Copyright
2014-03-14T11:23:28Z
http://46.51.189.235:80/soapServices/feed-icon-14x14.png
http://46.51.189.235:80/soapServices/terraCatalog_feed.png
58
1
10

The prime objective of the Advanced SCATterometer (ASCAT) is to measure wind speed and direction over the oceans, and the main operational application is the assimilation of ocean winds in NWP models. Other operational applications, based on the use of measurements of the backscattering coefficient, are sea ice edge detection and monitoring, monitoring sea ice, snow cover, soil moisture and land surface parameters.




90.0 -180.0 -90.0 -180.0 -90.0 180.0 90.0 180.0 90.0 -180.0




-

Metop Direct Readout Service

Metadata (HTML)


Metadata (ISO19139 XML)


ATOM

]]>


Annex D (informative): Metadata Mappings
D.1      Mapping for EO Metadata profile of Observations & Measurements
In the table below the informative mappings of the queryables for the Product Search to "
Earth Observation Metadata profile of Observations & Measurements
" (OGC 10-157r4) are defined.
OpenSearch Parameter
GML Metadata XPath
productType
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:productType
doi
/eop:EarthObservation/eop:metaDataProperty/eop:EarthObservationMetaData/eop:doi
creationDate
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:creationDate
modificationDate
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:modificationDate
platform
/om:procedure/eop:EarthObservationEquipment/eop:platform/eop:Platform/eop:shortName
platformSerialIdentifier
/om:procedure/eop:EarthObservationEquipment/eop:platform/eop:Platform/eop:serialIdentifier
instrument
/om:procedure/eop:EarthObservationEquipment/eop:instrument/eop:Instrument/eop:shortName
sensorType
/om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/eop:sensorType
compositeType
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:processing/eop:ProcessingInformation/eop:compositeType
processingLevel
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:processing/eop:ProcessingInformation/eop:processingLevel
orbitType
/om:procedure/eop:EarthObservationEquipment/eop:platform/eop:Platform/eop:orbitType
resolution
/om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/eop:resolution
spectralRange
/om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/
eop:wavelengthInformation/eop:WavelengthInformation/eop:spectralRange
wavelengths
/om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/
eop:wavelengthInformation/eop:WavelengthInformation/eop:discreteWavelengths
geo:box
to be
derived from: /eopr:EarthObservation/om:featureOfInterest/eop:Footprint
geo:name
N/A
time:start
/eop:EarthObservation/om:phenomenonTime/gml:TimePeriod/gml:beginPosition
time:end
/eop:EarthObservation/om:phenomenonTime/gml:TimePeriod/gml:endPosition
geo:uid
/eop:EarthObservation/eop:metaDataProperty/eop:EarthObservationMetaData/eop:identifier
useLimitation
N/A
hasSecurityConstraints
N/A
organisationName
N/A
publicationDate
N/A
dissemination
N/A
parentIdentifier
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:parentIdentifier
productionStatus
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:status
acquisitionType
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:acquisitionType
orbitNumber
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:orbitNumber
orbitDirection
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:orbitDirection
track
/om:procedure/eop:EarthObservationEquipment/
eop:acquisitionParameters/eop:Acquisition/eop:wrsLongitudeGrid
frame
/om:procedure/eop:EarthObservationEquipment/
eop:acquisitionParameters/eop:Acquisition/eop:wrsLatitudeGrid
swathIdentifier
/om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/eop:swathIdentifier
cloudCover
/om:result/opt:EarthObservationResult/opt:cloudCoverPercentage
or
/atm:EarthObservation/om:result/atm:EarthObservationResult/atm:cloudCoverPercentage
snowCover
/om:result/opt:EarthObservationResult/opt:snowCoverPercentage
or
/atm:EarthObservation/om:result/atm:EarthObservationResult/atm:snowCoverPercentage
lowestLocation
/atm:EarthObservation/om:resultOf/atm:EarthObservationRe
sult/atm:dataLayers/atm:DataLayer/atm:lowestLocation
highestLocation
/atm:EarthObservation/om:resultOf/atm:EarthObservationRe
sult/atm:dataLayers/atm:DataLayer/atm:highestLocation
productVersion
/eop:EarthObservation/om:result/eop:EarthObservationResult/eop:product/eop:ProductInformation/eop:version
acquisitionStation
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:downlinkedTo/eop:DownlinkInformation/eop:acquisitionStation
productQualityStatus
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:productQualityDegradation
productQualityDegradationTag
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:productQualityDegradationTag
processorName
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:processing/eop:ProcessingInformation/eop:processorName
processingCenter
/eop:metaDataProperty/eop:EarthObservationMetadata/eop:processing/eop:ProcessingInformation/eop:processingCenter
processingDate
/eop:metaDataProperty/eop:EarthObservationMetadata/eop:processing/eop:ProcessingInformation/eop:processingDate
sensorMode
/om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/eop:operationalMode
archivingCenter
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:archivedIn/eop:ArchivingInformation/eop:archivingCenter
processingMode
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:processing/eop:ProcessingInformation/eop:ProcessingMode
availabilityTime
om:resultTime/gml:TimeInstant/gml:timePosition
acquisitionSubType
/eop:metaDataProperty/eop:EarthObservationMetaData/eop:acquisitionSubType
startTimeFromAscendingNode
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:startTimeFromAscendingNode
completionTimeFromAscendingNode
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:completionTimeFromAscendingNode
illuminationAzimuthAngle
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:illuminationAzimuthAngle
illuminationZenithAngle
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:illuminationZenithAngle
illuminationElevationAngle
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:illuminationElevationAngle
polarisationMode
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:polarisationMode
polarisationChannels
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:polarisationChannels
antennaLookDirection
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:antennaLookDirection
minimumIncidenceAngle
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:minimumIncidenceAngle
maximumIncidenceAngle
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:maximumIncidenceAngle
dopplerFrequency
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:dopplerFrequency
incidenceAngleVariation
/om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:incidenceAngleVariation
D.2      ISO 19115 / ISO19115-2 Geographic information – Metadata
In the table below the informative mappings of the queryables for the Collection Search to ISO19115(-2)/ISO19139(-2) are defined.
The table also includes the
mappings of the spatial and temporal
parameters of the OpenSearch Geo- and Time-Extension to the appropriate XPath in ISO 19115 / ISO 19115-2.
OpenSearch Parameter
ISO191(15|39) Metadata XPath
[5]
useLimitation
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_Data-Identification/gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:useLimitation/gco:CharacterString
accessConstraint
/gmi:MI_Metadata|gmd:MD_Metadata)/identificationInfo/MD_DataIdentification/resourceConstraints/MD_LegalConstraints/accessConstraints/MD_RestrictionCode/@codeListValue
Sample: license
otherConstraint
/gmi:MI_Metadata/gmd:identificationInfo/…/gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:otherConstraints
classification
/gmi:MI_Metadata/gmd:identificationInfo/…/gmd:resourceConstraints/gmd:MD_SecurityConstraints/gmd:classification
Sample: confidential
hasSecurityConstraints
/gmi:MI_Metadata/identificationInfo/MD_DataIdentification/resourceConstraints[2]/MD_SecurityConstraints/
If an
instance of the class MD_SecurityConstraint exists for a resource, the
"HasSecurityConstraints" is "true", otherwise "false"
organisationName
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty/gmd:organisationName/gco:CharacterString
organisationRole
//(gmi:MI_Metadata|gmd:MD_Metadata)/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/*/role
publicationDate
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:date/gco:Date[../../gmd:dateType/gmd:CI_DateTypeCode/@codeListValue='publication']/text()
dissemination
/gmi:MI_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:name
or
/gmi:MI_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:name
topicCategory
gmi:MI_Metadata/identificationInfo/MD_DataIdentification/topicCategory/gco:CharacterString
lineage
/gmi:MI_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:statement/gco:CharacterString
keyword
/gmi:MI_Metadata/gmd:identificationInfo//gmd:descriptiveKeywords/gmd:MD_Keywords
[gmd:type/gmd:MD_KeywordTypeCode/@codeListValue = 'theme']
doi
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier/gmd:RS_Identifier/gmd:code/gco:CharacterString[../../codeSpace/gco:CharacterString='http://doi.org']
denominator
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialResolution/MD_Resolution/gmd:equivalentScale/MD_RepresentativeFraction/gmd:denominator/gco:Integer
Sample:




50000




distanceValue
distanceUOM
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialResolution/MD_Resolution/gmd:distance/gco:Distance
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialResolution/MD_Resolution/gmd:distance/gco:Distance/@uom
Sample 1:


uom="m">1000


language
/gmi:MI_Metadata/gmd:language
modificationDate
/gmi:MI_Metadata/gmd:dateStamp
title
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title
abstract
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract
searchTerms
Minimally this should be mapped to search on:
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty/gmd:organisationName/gco:CharacterString
/gmi:MI_Metadata/gmd:identificationInfo//gmd:descriptiveKeywords/gmd:MD_Keywords
[gmd:type/gmd:MD_KeywordTypeCode/@codeListValue = 'theme']
platform
/gmi:MI_Metadata/gmi:acquisitionInformation/
gmi:MI_AcquisitionInformation /gmi:platform/gmi:MI_Platform/
gmi:description/gco:CharacterString
OR:
/gmi:MI_Metadata/gmi:acquisitionInformation/
gmi:MI_AcquisitionInformation/gmi:platform/
gmi:MI_Platform/gmi:instrument/gmi:MI_Instrument/
gmi:mountedOn/gmi:MI_Platform/ gmi:description/gco:CharacterString
Sample: Meteosat8
platformSerialIdentifier
/gmi:MI_Metadata/gmi:acquisitionInformation/
gmi:MI_AcquisitionInformation/gmi:platform/
gmi:MI_Platform/gmi:identifier/gmd:MD_Identifier/
gmd:code/gco:CharacterString
OR:
/gmi:MI_Metadata/gmi:acquisitionInformation/
gmi:MI_AcquisitionInformation/gmi:platform/ gmi:MI_Platform/gmi:instrument/gmi:MI_Instrument/
gmi:mountedOn/gmi:MI_Platform/gmi:identifier/
MD_Identifier/code/gco:CharacterString
instrument
/gmi:MI_Metadata/gmi:acquisitionInformation/
gmi:MI_AcquisitionInformation/ /gmi:instrument/gmi:MI_Instrument/
gmi:citation/gmd:CI_Citation/gmd:identifier
/gmd:MD_Identifier/gmd:code/gco:CharacterString
OR:
/gmi:MI_Metadata/gmi:acquisitionInformation/
gmi:MI_AcquisitionInformation/gmi:platform/
gmi:MI_Platform/gmi:instrument/gmi:MI_Instrument/ gmi:citation/gmd:CI_Citation/gmd:identifier
/gmd:MD_Identifier/gmd:code/gco:CharacterString
…..OR…..
/gmi:MI_Metadata/gmi:acquisitionInformation/
gmi:MI_AcquisitionInformation/ /gmi:instrument/gmi:MI_Instrument/
gmi:description/gco:CharacterString
OR:
/gmi:MI_Metadata/gmi:acquisitionInformation/
gmi:MI_AcquisitionInformation/gmi:platform/
gmi:MI_Platform/gmi:instrument/gmi:MI_Instrument/
gmi:description/gco:CharacterString
Instrument name (sensor name). Used as ID for the instrument
Note: MI_Instrument/identifier not existent within XML schema of
ISO19115-2
Sample: SEVERI
sensorType
/gmi:MI_Metadata/gmi:acquisitionInformation/
gmi:MI_AcquisitionInformation/gmi:instrument/ gmi:MI_Instrument/
gmi:type/gmi:MI_SensorTypeCode/@id
OR:
/gmi:MI_Metadata/gmi:acquisitionInformation/
gmi:MI_AcquisitionInformation/gmi:platform/
gmi:MI_Platform/gmi:instrument/gmi:MI_Instrument/
gmi:type/gmi:MI_SensorTypeCode/@id
orbitType
N/A (not available in ISO19115(-2))
spectralRange
/gmi:MI_Metadata/gmd:contentInfo/gmi:MI_CoverageDescription/gmd:dimension/gmi:MI_Band
wavelengths
/gmi:MI_Metadata/gmd:contentInfo/gmi:MI_CoverageDescription/gmd:dimension/gmi:MI_Band/gmi:bandBoundaryDefinition
geo:box
/gmi:MI_Metadata/gmd:identificationInfo/*/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox/gmd:westBoundLongitude
/gmi:MI_Metadata/gmd:identificationInfo/*/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox/gmd:eastBoundLongitude
/gmi:MI_Metadata/gmd:identificationInfo/*/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox/gmd:southBoundLatitude
/gmi:MI_Metadata/gmd:identificationInfo/*/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox/gmd:northBoundLatitude
geo:name
/gmi:MI_Metadata/gmd:identificationInfo/*/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicDescription/gmd:geographicIdentifier
time:start
/gmi:MI_Metadata/identificationInfo/MD_DataIdentification/extent/EX_Extent/temporalElement/EX_TemporalExtent/extent/gml:TimePeriod/beginPosition
time:end
/gmi:MI_Metadata/identificationInfo/MD_DataIdentification/extent/EX_Extent/temporalElement/EX_TemporalExtent/extent/gml:TimePeriod/endPosition
geo:uid
gmd:MD_Metadata/gmd:fileIdentifier
specificationTitle
//dataQualityInfo/*/report/*/result/*/specification/*/title
specificationDate
//dataQualityInfo/*/report/*/result/*/specification/*/date/*/date
specificationdateType
//dataQualityInfo/*/report/*/result/*/specification/*/date/*/dateType
degree
//dataQualityInfo/*/report/*/result/*/pass
processingLevel
N/A
compositeType
N/A
productType
N/A
D.3      Mapping for OGC CS Extension Package for ebRIM AP: EO Products
This mapping is based on information from "OGC Catalogue Services Standard 2.0 Extension Package for ebRIM Application Profile Earth Observation Products" (OGC 06-131r6).
OpenSearch Parameter
EOProduct ExtrinsicObject Attribute
productType
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::productType"
]/rim:ValueList/rim:Value[1]
doi
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name=
"urn:ogc:def:slot:OGC-CSW-ebRIMEO::doi"]/rim:ValueList/rim:Value[1]
modificationDate
N/A
platform
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM-
EO::EOAcquisitionPlatform" ]/rim:Name/rim:LocalizedString/@value
platformSerialIdentifier
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM-
EO::EOAcquisitionPlatform" ]/rim:Slot[ @name = "urn:ogc:def:slot:O
GC-CSW-ebRIM- EO::platformSerialIdentifier" ]/rim:ValueList/rim:Value[1]
instrument
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM-
EO::EOAcquisitionPlatform" ]/rim:Slot[ @name = "urn:ogc:def:slot:O
GC-CSW-ebRIM- EO::instrumentShortName" ]/rim:ValueList/rim:Value[1]
sensorType
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM-
EO::EOAcquisitionPlatform" ]/rim:Slot[ @name = "urn:ogc:def:slot:O
GC-CSW-ebRIM-EO::sensorType" ]/rim:ValueList/rim:Value[1]
compositeType
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::compositeType"
]/rim:ValueList/rim:Value[*]
processingLevel
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::processingLevel"
]/rim:ValueList/rim:Value[*]
orbitType
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM-
EO::EOAcquisitionPlatform" ]/rim:Slot[ @name = "urn:ogc:def:slot:O
GC-CSW-ebRIM- EO::platformOrbitType" ]/rim:ValueList/rim:Value[1]
resolution
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM-
EO::EOAcquisitionPlatform" ]/rim:Slot[ @name = "urn:ogc:def:slot:O
GC-CSW-ebRIM- EO::sensorResolution" ]/rim:ValueList/rim:Value[1]
spectralRange
N/A
wavelengths
N/A
geo:box
/rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-bRIMEO::EOProduct"]/rim:Slot[@name="urn:ogc:def:slot:OGC-CSW-ebRIMEO::multiExtentOf"]/wrs:ValueList/wrs:AnyValue[1]
geo:name
N/A
time:start
/rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-bRIMEO::EOProduct"]/rim:Slot[@name="urn:ogc:def:slot:OGC-CSW-ebRIMEO::beginPosition"]/rim:ValueList/rim:Value[1]
time:end
/rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct"]/rim:Slot[@name="urn:ogc:def:
geo:uid
/rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-ebRIMEO::EOProduct"]/@id
or
/rim:ExternalIdentifier/@value (linked
to the EOProduct ExtrinsicObject by the ExternalIdentifier’s registryObject
attribute)
useLimitation
N/A
hasSecurityConstraints
N/A
organisationName
N/A
publicationDate
N/A
dissemination
N/A
parentIdentifier
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::parentIdentifier"
]/rim:ValueList/rim:Value[1]
productionStatus
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::status"
]/rim:ValueList/rim:Value[1]
acquisitionType
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionType"
]/rim:ValueList/rim:Value[1]
orbitNumber
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::orbitNumber" ]/rim:ValueList/rim:Value[1]
orbitDirection
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::orbitDirection"
]/rim:ValueList/rim:Value[1]
track
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::wrsLongitudeGrid"
]/rim:ValueList/rim:Value[1]
frame
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::wrsLatitudeGrid"
]/rim:ValueList/rim:Value[1]
swathIdentifier
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM-EO::
EOAcquisitionPlatform" ]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-
CSW-ebRIM-EO::swathIdentifier" ]/rim:ValueList/rim:Value[1]
cloudCover
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM- EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::cloudCoverPercentage"
]/rim:ValueList/rim:Value[1]
snowCover
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM- EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::snowCoverPercentage"
]/rim:ValueList/rim:Value[1]
lowestLocation
/rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGCCSW-
ebRIM-EO::EODataLayer"]/rim:Slot[@name="
urn:ogc:def:slot:OGC-CSW-ebRIMEO::lowestLocation"]/rim:ValueList/rim:Value[1]
highestLocation
/rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGCCSW-
ebRIM-EO::EODataLayer"]/rim:Slot[@name="
urn:ogc:def:slot:OGC-CSW-ebRIMEO::highestLocation"]/rim:ValueList/rim:Value[1]
productVersion
/rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGCCSW-
ebRIMEO::EOProductInformation"]/rim:Slot[@name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::version"]/rim:ValueList/rim:Value[1]
acquisitionStation
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionStation"
]/rim:ValueList/rim:Value[1]
productQualityStatus
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name =
"urn:ogc:def:slot:OGC-CSW-ebRIM-EO::imageQualityDegradation"
]/rim:ValueList/rim:Value[1]
productQualityDegradationTag
N/A
processorName
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::processorName"
]/rim:ValueList/rim:Value[*]
processingCenter
N/A
processingDate
N/A
sensorMode
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM-
EO::EOAcquisitionPlatform" ]/rim:Slot[ @name = "urn:ogc:def:slot:O
GC-CSW-ebRIM- EO::sensorOperationalMode" ]/rim:ValueList/rim:Value[1]
archivingCenter
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM-
EO::EOArchivingInformation" ]/rim:Name/rim:LocalizedString/@value
processingMode
N/A
availabilityTime
N/A
acquisitionSubType
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::acquisitionSubType"
]/rim:ValueList/rim:Value[1]
startTimeFromAscendingNode
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name =
"urn:ogc:def:slot:OGC-CSW-ebRIM-EO::startTimeFromAscendingNode"
]/rim:ValueList/rim:Value[1]
completionTimeFromAscendingNode
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct"
]/rim:Slot[ @name =
"urn:ogc:def:slot:OGC-CSW-ebRIM-EO::completionTimeFromAscendingNode"
]/rim:ValueList/rim:Value[1]
illuminationAzimuthAngle
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM- EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-
EO::illuminationAzimuthAngle" ]/rim:ValueList/rim:Value[1]
illuminationZenithAngle
N/A
illuminationElevationAngle
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM- EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-
EO::illuminationElevationAngle" ]/rim:ValueList/rim:Value[1]
polarisationMode
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM- EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::polarisationMode"
]/rim:ValueList/rim:Value[1]
polarisationChannels
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM- EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::polarisationChannels"
]/rim:ValueList/rim:Value[1]
antennaLookDirection
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM- EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::antennaLookDirection"
]/rim:ValueList/rim:Value[1]
minimumIncidenceAngle
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM- EO::EOProduct"
]/rim:Slot[ @name =
"urn:ogc:def:slot:OGC-CSW-ebRIM-EO::minimumIncidenceAngle"
]/rim:ValueList/rim:Value[1]
maximumIncidenceAngle
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM- EO::EOProduct"
]/rim:Slot[ @name =
"urn:ogc:def:slot:OGC-CSW-ebRIM-EO::maximumIncidenceAngle"
]/rim:ValueList/rim:Value[1]
dopplerFrequency
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM- EO::EOProduct"
]/rim:Slot[ @name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::dopplerFrequency"
]/rim:ValueList/rim:Value[1]
incidenceAngleVariation
/rim:ExtrinsicObject[
@objectType = "urn:ogc:def:objectType:OGC- CSW-ebRIM- EO::EOProduct" ]/rim:Slot[
@name = "urn:ogc:def:slot:OGC-CSW-ebRIM-EO::incidenceAngleV ariation"
]/rim:ValueList/rim:Value[1]
D.4      Mapping for OGC CS Extension Package for ebRIM AP: I15
In the table below the informative mappings of the queryables for the Collection Search to the CSW ebRIM I15 Extension Package (OGC 13-084) are defined.
The table also includes the
mapping of the spatial and temporal
parameters of the OpenSearch Geo- and Time-Extension to the CSW ebRIM I15 Extension Package.
OpenSearch Parameter
I15 Extension Package Elements (OGC 13-084)
useLimitation
<> LegalConstraints
-> <>
accessConstraint
<> LegalConstraints -> <> RestrictionCode
(the classification is classified with RestrictionType "access")
otherConstraint
<>
LegalConstraints -> <> Rights
classification
<>
SecurityConstraints -> <>
ClassificationCode
hasSecurityConstraints
Map to a
check for availability of any of the predefined constraints
organisationName
<> Organization -> Name
publicationDate
<> ResourceMetadata ->
<> Issued
dissemination
N/A
abstract
<>
ResourceMetadata ->
<>
topicCategory
<>
ResourceMetadata -> <
TopicCategory
lineage
<>
ResourceMetadata ->
<> Lineage
parentIdentifier
<> parentMetadata from
<> ResourceMetadata  to MetadataInformation -> <>
Identifier
keyword
Classification with KeywordSchemeUntyped or KeywordSchemeTheme
doi
N/A
distanceValue
distanceUOM
<> Resolution
denominator
<> ScaleDenominator
language
<> MetadataInformation -> <> Language
modificationDate
<> MetadataInformation -> <> Date
title
<> ResourceMetadata -> Name
searchTerms
Minimally this should be mapped to the corresponding
mappings of:
abstract
title
organisationName
keyword
platform
<> Platform -> Description
platformSerialIdentifier
<> Platform -> <>
Identifier
instrument
<> Instrument -> <>
Identifier
…..OR…..
<> Instrument -> Description
sensorType
<> Instrument -> Name
orbitType
N/A
spectralRange
N/A
wavelengths
N/A
specificationTitle
<>
ReferenceSpecification -> <>
specificationDate
specificationdateType
<>
ReferenceSpecification ->
<> Created or
<> Modified or
<> Issued or
degree
<>
ReferenceSpecification -> <> Conformance
organisationRole
Handled
through the CitedResponsibleParty classification on the CitedResponsibleParty
association.
processingLevel
N/A
compositeType
N/A
productType
N/A
geo:box
<> Envelope (type
gml:Envelope):
The WestBoundLongitude corresponds to the
longitude of "lowerCorner" in gml:Envelope
The EastBoundLongitude corresponds to the
longitude of "upperCorner" in gml:Envelope
The SouthBoundLatitude corresponds to the
latitude of "lowerCorner" in gml:Envelope.
The NorthBoundLongitude corresponds to the
latitude of "upperCorner" in gml:Envelope
geo:name
<>
ResourceMetadata -> <> Coverage
time:start
<> ResourceMetadata ->
<> TemporalBegin
time:end
<> ResourceMetadata ->
<> TemporalEnd
geo:uid
<> MetadataInformation -> <> Identifier
D.5      Mapping for OGC CS Extension Package for ebRIM AP: SensorML
In the table below the informative mappings of the queryables to "OGC Catalogue Services Specification 2.0 Extension Package for ebRIM Application Profile:  SensorML" (OGC 09-163) is defined.
OpenSearch Parameter
ExtrinsicObject Attribute
Section in OGC 09-163r2
platform
wrs:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-Sensor::System"]/rim:Slot
/rim:ValueList/rim:Value[1]
13.1
instrument
wrs:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-Sensor::System"]/rim:Slot
/rim:ValueList/rim:Value[1]
13.1
orbitType
Use
Classification to the Corresponding ClassificationNode of the "
urn:ogc:def:
classificationScheme:OGC-CSW-ebRIM-Sensor::OrbitTypes
ClassificationScheme
B.6.1
sensorType
Use
Classification to the Corresponding ClassificationNode of the
"urn:ogc:def:classificationScheme:OGC-CSW-ebRIM-Sensor::SystemTypes:SensorType:EOInstrumentType"
ClassificationScheme
B.6.2
pointingAcrossTrackAngle
rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-Sensor::System"]/rim:Slot[@name="
urn:ogc:def:slot:OGC-CSW-ebRIM-Sensor::
AcrossTrackPointingLowerBound"]/rim:ValueList/rim:Value[1]
rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-Sensor::System"]/rim:Slot[@name="
urn:ogc:def:slot:OGC-CSW-ebRIM-Sensor::
AcrossTrackPointingUpperBound"]/rim:ValueList/rim:Value[1]
B.6.2
pointingAlongTrackAngle
/rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-Sensor::System"]/rim:Slot[@name="
urn:ogc:def:slot:OGC-CSW-ebRIM-Sensor::
AlongTrackPointingLowerBound"]/rim:ValueList/rim:Value[1]
/rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-Sensor::System"]/rim:Slot[@name="
urn:ogc:def:slot:OGC-CSW-ebRIM-Sensor:: AlongTrackPointingUpperBound"]/rim:ValueList/rim:Value[1]
B.6.2
resolution
/rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-Sensor::System"]/rim:Slot[@name="
urn:ogc:def:slot:OGC-CSW-ebRIM-Sensor::
AlongTrackGroundResolution"]/rim:ValueList/rim:Value[1]
B.6.4
spectralRange
/rim:ExtrinsicObject[@objectType="urn:ogc:def:objectType:OGC-CSW-ebRIM-Sensor::System"]/rim:Slot[@name="
urn:ogc:def:slot:OGC-CSW-ebRIM-Sensor::SpectralRange"]/rim:ValueList/rim:Value[1]
B.6.4
D.6      Response Mapping: EOP O&M / EOP EP to ATOM
Response mapping for Atom encoding to the EO Metadata profile of O&M (OGC 10-157r4)
Atom
Element
Mapping to EO O&M
atom:entry/
atom:title
eop:metaDataProperty/eop:EarthObservationMetaData/eop:identifier
atom:entry/
atom:author
N/A
atom:entry/
atom:category
N/A
atom:entry/
atom:summary
N/A
atom:entry/
atom:updated
om:resultTime
atom:entry/
dc:date
om:phenomenonTime
atom:entry/
atom:id
N/A
atom:entry/
dc:identifier
eop:metaDataProperty /
eop:EarthObservationMetaData / eop:identifier
atom:entry/
@xml:lang
N/A
atom:entry/
atom:rights
N/A
atom:entry/       georss:*
om: featureOfInterest
atom:entry/
atom:link[@rel=’search’]
N/A
atom:entry/
atom:link[@rel=’icon’]
om:result/eop:EarthObservationResult/eop:product/eop:
BrowseInformation/eop:fileName
atom:entry/
atom:link[@rel=’alternate’]
N/A
atom:entry/
atom:link[@rel=’enclosure’]
om:result/eop:EarthObservationResult/eop:product/eop:ProductInformation/eop:fileName
D.7      Response Mapping: ISO191(15|39)[-2] / I15 EP to ATOM
The following table defines the mappings from ISO191(15|39)[-2] and I15 EP (OGC 13-084) to ATOM response elements.
Atom
Element
Mapping from
ISO19139-2
Mapping
from I15
atom:entry/
atom:title
gmd:MD_Metadata/gmd:identificationInfo/|srv:SV_ServiceIdentification>/gmd:citation/gmd:CI_Citation/gmd:title
<>
ResourceMetadata -> Name
atom:entry/
atom:author
The organization name and email of the
corresponding field in ISO19139-2: mapped from /gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/->
/gmd:organisationName/ gco:CharacterString
and
/gmd:contactInfo/
gmd:CI_Contact/gmd:address/ gmd:CI_Address/ gmd:electronicMailAddress/
gco:CharacterString
<> Organization
-> Name
And
<>
Organization -> EmailAddress
atom:entry/
atom:category
Shall include:
/gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:topicCategory
and
gmd:identificationInfo//gmd:descriptiveKeywords/gmd:MD_Keywords
[gmd:type/gmd:MD_KeywordTypeCode/@codeListValue = 'theme']
and possibly entries from:
/gmi:MI_Metadata/gmd:hierarchyLevelName/gco:CharacterString
<> ResourceMetadata
-> < TopicCategory
and
Classifications with KeywordSchemeUntyped or
KeywordSchemeTheme
and possibly
<> ResourceMetadata
-> <> Type
atom:entry/
atom:summary
/gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract
<>
ResourceMetadata -> <>
atom:entry/
atom:contributor
N/A
atom:entry/
atom:updated
gmd:MD_Metadata/gmd:identificationInfo/(of dateType revision, if not available of dateType creation)
<> ResourceMetadata
-> <> Modified (or <> Created)
atom:entry/
dc:date
DateTime or DateTime Interval (aka:
2007-03-01T13:00:00Z/2008-05-11T15:30:00Z) -> to be mapped from
/gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/extent/EX_Extent/temporalElement/EX_TemporalExtent/extent/gml:TimePeriod/gml:beginPosition
/gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/extent/EX_Extent/temporalElement/EX_TemporalExtent/extent/gml:TimePeriod/gml:endPosition
<>
ResourceMetadata -> <> TemporalBegin
<>
ResourceMetadata -> <> TemporalEnd
atom:entry/
atom:id
The identifier shall be created
(as already done in the I15ToISO-Bridge) in a way that it can be used as
parentIdentifier parameter for a subsequent EOP product search. Sample:
urn:ogc:def:EOP:EUM:acronym:ASCxxx1A:satellite:M02:fileid:EO:EUM:DAT:METOP:ASCSZO1B
see notes column left
atom:entry/
dc:identifier
To be mapped from:
/gmd:MD_Metadata/gmd:fileIdentifier
<>
MetadataInformation -> <> Identifier
atom:entry/
@xml:lang
/gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:language
<>
ResourceMetadata -> <> Language
atom:entry/
atom:rights
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_Data-Identification/
gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:useLimitation/gco:CharacterString
[6]
<> Rights
-> <>
atom:entry/       georss:*
Polygon -> to be mapped from the
/gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent//gmd:geographicElement/gmd:EX_GeographicBoundingBox
[7]
<>
ResourceMetadata -> <> Envelope
atom:entry/
atom:link[@rel=’search’]
The
atom/link[@rel='search'] element should provide a link to a search engine
(OSDD document) to search for specific products of the collection described
in the atom:entry. In this OSDD a link with @rel='results' should be found
that provides gives the template for the product query (e.g. …&parentIdentifier=of current collection>&…)
see notes column left
atom:entry/atom:link[@rel=’icon’]
Per 8.2.5 the media:content@url should be mapped
from /gmd:MD_BrowseGraphic/gmd:filename, the media:content@type from
/gmd:MD_BrowseGraphic/gmd:filetype.
<>
MD_BrowseGraphic
atom:entry/atom:link[@rel=’via’]
[8]
atom:entry/atom:link[@rel=’alternate’]
For the rel "via" a link to the
original/native source (from which the other metadata types are derived by
conversion or translation) shall be provided.
For the rel "alternate" links to
alternative formats/representations of the original source shall be provided.
E.g. link to the GetRecordById operation:
Reference (Link) to the data source (e.g. original ISO19139 collection
metadata).
The "type" attribute set to
"application/vnd.iso.19139+xml".
Example:
type="application/vnd.iso.19139+xml" length="845"
title="ISO 19139 Metadata" href="
It may also make sense to include other links, e.g. a
link (with rel="alternate") to the HTML-based metadata-representation – but
now with the "type" attribute set to "text/html" and the "href"
attribute set to the additional HTML representation of the metadata.
Example:
href="http://46.51.189.235:80/discovery/Start/DirectSearch/DetailResult.do?f(r0)=EO:EUM:DAT:METOP:OAS025"
rel="alternate" title="ASCAT Winds and Soil Moisture at 25 km
Swath Grid - Metop" type=" text/html "/>
atom:entry/
atom:link[@rel=’enclosure’]
Provide here the dissemination endpoints: atom:link
elements reference every single dissemination endpoint of the data resource.
Proposal: Link element includes a "rel"
attribute with value "enclosure", a "type" attribute with
"text/html" and a "title" attribute with the name of the
dissemination point. Example:
href="http://eoportal.eumetsat.int/userMgmt" rel="enclosure"
title="EO Portal Registration" type="text/html"/>
The XPaths in ISO19139 are as
follows:
The link
itself:
/gmd:MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor[1]/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine[2]/gmd:CI_OnlineResource/gmd:linkage/gmd:URL
The title:
/gmd:MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor[1]/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine[1]/gmd:CI_OnlineResource/gmd:name/gco:CharacterString
atom:entry/atom:link[@rel=’up’]
N/A
atom:content[@type=’html’]
An atom:content element may be added to the
atom:entry to allow to visualization links to the additional metadata
presentations and the dissemination links. The content element of the
atom:entry
includes a "type"
attribute with "html". Example:
type="html"><a
href="http://46.51.189.235:80/discovery/Start/DirectSearch/DetailResult.do?f(r0)=EO:EUM:DAT:METOP:ASCAT25">Metadata
(HTML)</a>       <br/><a
href="http://46.51.189.235:80/soapServices/CSWStartup?service=CSW&version=2.0.2&request=GetRecordById&outputSchema=http://www.isotc211.org/2005/gmi&Id=EO:EUM:DAT:METOP:ASCAT25">Metadata  (ISO19139 XML)</a>            <br/> <a
href="http://46.51.189.235:80/soapServices/OpenSearch?format=atom&id=EO:EUM:DAT:METOP:ASCAT25">Metadata
(ATOM)</a>            <br/>
<a
href="http://eoportal.eumetsat.int/userMgmt/protected/dataCentre.faces?acronym=OASW025">EUMETSAT
Data Centre (until 28/02/2011) </a>        <br/>                    <a
href="/discovery/Start/DirectSearch/Extended.do?freeTextValue(resourceidentifier)=EO:EUM:DAT:METOP:OAS025">Please
order from ASCAT Winds and Soil Moisture for data from 28/02/11 onwards</a>   <br/>                    <a
href="http://www.osi-saf.org">OSI SAF Archive and
FTP</a>   <br/>
The
content without URL-encoding looks as follows:
href="http://46.51.189.235:80/discovery/Start/DirectSearch/DetailResult.do?f(r0)=EO:EUM:DAT:METOP:ASCAT25">Metadata
(HTML)
href="http://46.51.189.235:80/soapServices/CSWStartup?service=CSW&version=2.0.2&request=GetRecordById&outputSchema=http://www.isotc211.org/2005/gmi&Id=EO:EUM:DAT:METOP:ASCAT25">Metadata
(ISO19139 XML)
href="http://46.51.189.235:80/soapServices/OpenSearch?format=atom&id=EO:EUM:DAT:METOP:ASCAT25">Metadata
(ATOM)
href="http://eoportal.eumetsat.int/userMgmt/protected/dataCentre.faces?acronym=OASW025">EUMETSAT
Data Centre (until 28/02/2011)
href="/discovery/Start/DirectSearch/Extended.do?freeTextValue(resourceidentifier)=EO:EUM:DAT:METOP:OAS025">Please
order from ASCAT Winds and Soil Moisture for data from 28/02/11
onwards
href="http://www.osi-saf.org">OSI SAF Archive and FTP


Annex E: Revision history
Date
Release
Author
Paragraph
modified
Description
2013-03-15
0.0.1
Pedro Gonçalves
Consolidation
of Earth Observation Extension
2013-08-12
0.0.2
Pedro Goncalves
Annex B
and C
All
Addition
of Schemas and examples
Revision and
typo correction
2013-12-13
0.0.3
Pedro Goncalves
Annexes
Reorganization of Annexes. Correction of
example values on tables 3, 4 and 5.
2014-06-02
0.0.4
Uwe Voges
All
Included definitions of Collection,
Product etc, included additional queryables for Collection Discovery,
included informative mappings of all Collection queryables to ISO19115/1939
and to CSW ebRIM EP I15, included all informative response mappings from
ISO19115/1939 and CSW ebRIM EP I15 to ATOM,….
2014-06-26
0.0.4
Uwe Voges
All
Added
an INSPIRE conformance class, updated rnc file regarding additional query
parameters, resolved some comments, mainly in "Response Mapping:
ISO191(15|39)[-2] / I15 EP to ATOM", renamed platformShortName now
platform, uniquely named "productQualityStatus" and
"productQualityDegradationTag" in the whole doc and added those to
rnc schema definition, fixed the "resolution" for Collections as
follows:
Splitted
resolution into 2 (groups) of parameters (see my mapping in annex D2):
denominator
AND
distanceValue
+ distanceUOM  (for resolution an UOM
is needed)
This is the only useful way it can be
done (this was done in the same way in CSW AP ISO).
2014-07-11
0.0.4
Uwe Voges
All
Added
reference to INSPIRE specifications. Added requirement for INSPIRE.
2014-07-25
0.0.4
Uwe Voges
All
Split
parameters table for collections into 2 tables: one for INSPIRE conformance
In the
INSPIRE table: degree now has possible values of "true",
"false", "null" and I grouped queryables which make only
sense if used together.
Extended
the "Overview" section. Added 6.2 "Two step search" for a better
understanding how search for collections and products may work.
Reorganized
the requirements in the text and their mappings to conformance classes in
table 1.
Reorganized
and extended the ATS: organized the ATS so that tests are grouped related to
conformance classes and assigned requirement(s) to the tests.
Corrected
specification references, added SensorML EP Ref
Updated
response mappings to ATOM
Added
comments to: B.7. Earth Observation Extension Query Element Schema
(schemas/opensearch/extensions/eo/1.0/eo.rnc) which must be solved by Pedro
2014-07-28
0.0.4
Pedro Gonçalves
Conformance
Classes
Schemas
Content
review of requirements and their mappings to conformance classes / test
classes
Review
of EO Schemas
2014-10-27
0.0.5
Yves Coene
All
Corrected
eop entry in Table 2 and Annex B.8.
Updated
requirement /req/entry-eop.
Added
eo:creationDate and eo:modificationDate mapping in Table 5, Annex B.7 and
Annex D.1.
Reworded
Conformance Test Class A.2.1 to allow also derived types such as
opt:EarthObservation or sar:EarthObservation etc.
Updated
OGC 10-032r7 references to OGC 10-032r8 and updated its title.
2016-05-25
0.0.7 (0.0.6 was only internal)
Uwe Voges
All
Included
the changes solving all comments received on the OGC OpenSearch Extension for
Earth Observation candidate standard during the TC voting period:
Comment
2.1:
Added
new queryables highestLocation and lowestLocation to table 5, B7, mappings to
D1 and D3 (not applicable to collections).
Extended
mappings for cloudCover and snowCover in D1
Comment
2.2:
We now
use (in all tables) "organisation" instead "organization"
for:
organisationName
organisationRole
Comment
2.3:
Made
the type of eo:frame and eo:track equal to "string" in Table 5, B7,
Comment
2.5:
"doi"
was added as queryable.
Added
definition to table 3 and B7.
Added
mappings for collection and products to D1, D2, D3, D4
Comment
2.6:
"publicationDate"
was added as queryable.
The
type of the queryable is now of type date.
Added
definition to table 4.
Added
definition to B7.
Added
mappings for collection and products to D1, D2, D3, D4
Comment
2.7
Product
Identifier is not defined as new queryable but is mapped to OGC 10-032
geo:uid
Added
to table D1 and D3.
Comment
2.8:
"productVersion"
was added as queryable.
The
type of the queryable is now of type string.
Added
definition to table 5 and B7.
Added
mappings for products to D1, D3
Comment
2.9:
recordSchema
was added as queryable.
The
type of the queryable is now of type string.
Standard
values are e.g. http://www.opengis.net/eop/2.1 (OGC O&M EOP),
(ISO19115)
Added
definition to table 3
Added
definition to B7.
Comment
2.10:
Modified
not added as queryable: this is already covered by queryable
modificationDate.
But
mappings were added in D2, D3, D4.
Comment
2.11:
Mapping
of the basic OGC 10-032 queryables geo:box, geo:name, geo:uid, time:start, time.end in D1
and D3
Editorial:
Added
keywords
Hints
on "alternative" representations in atom response entries
Editorial changes
2016-05-30
0.0.7 (0.0.6 was only internal)
Uwe Voges
All
Table
2: added media namespace from example 7. Added param namespace used in Annex
C.
Instead
of adding recordSchema in the eo: namespace, we keep it in the sru: namespace
and added a note in the same way as for the Parameter extension where also
the param: namespace is kept instead of moving everything to the eo:
namespace.
Table
7: added relation to first and last page in ATOM response
2016-05-31
0.0.7 (0.0.6 was only internal)
Uwe Voges
All
Added
links to first and last entry to atom feed.
atom:entry/dc:identifier
now mandatory
Added
root nodes to be provided for every recordSchema
Added
hint to the official Atom.XSD file used by NASA CWICSmart conformance tests
2016-06-01
0.0.7 (0.0.6 was only internal)
Uwe Voges
Table-2
Chapter 8.1, 8.2
all
Added
namespaces for ISO19115(-2)
Added
recordSchemas for Sensor ML 2.0 and Dublin Core
Editorial
2016-07-06
0.0.8
Uwe Voges, Yves Coene
Table-3
Chapter 8.2.2
Table 8
Chapter 8.2.4
In
summary the inclusion and linking to additional/alternative metadata in the
ATOM response was clarified and updated. Metadata model references
(namespaces, identifier, media types,..) were updated (ISO19115-1/ISO19115-3
was added), the list of reference documents was updated, document references
were added in different positions and examples were updated and clarified
clarified
sru:recordSchema
improved
text on detailed metadata
Clarified
atom:entry/atom:link[@rel= ’alternative’] and Additional Metadata.
Extended
chapter 8.2.4 with additional explanations
2016-09-06
1.0.0
Uwe Voges
Requirements / Conformance
Classes
Conformance Tests
Table 6
Improved
explanation for what kind of search which parameters should be used
Definitions
of requirements / conformance classs aligned with usual OGC definitions
Updated
references
Definition of availabilityTime
improved
[1]
www.opengeospatial.org/cite
[2]
Including products of logical collections (e.g. containing items of different types, sensor, sensor mode, platforms)
[3]
For the identifier see:
[4]
Note: the official Atom.XSD file used by NASA CWICSmart conformance tests is stricter than this RELAX NG which allows more flexibility. See https://tools.oasis-open.org/version-control/browse/wsvn/cmis/trunk/SchemaProject/schema/ATOM.xsd
[5]
Can be applied to gmd:MD_Metadata (ISO19139) and gmi:MI_Metadata (ISO19139-2)
[6]
the semantic of atom:rights is not 100%: therefore other mappings (accessConstraints, otherConstraints, useConstratints, classification) may make sense.
[7]
Note: it makes sense to provide a gml:Polygon/gml:exterior/gml:LinearRing/gml:posList entry as different clients are able to render this.
[8]
An alternative (or in addition to this) is to include gmd:MD_Metadata into the ATOM response (see below).