Approved

OGC Best Practice

EO Collection GeoJSON(-LD) Encoding
Y. Coene, U. Voges, O. Barois Editor
Version: 1.0
Additional Formats: XML PDF DOC
OGC Best Practice

Approved

Document number:17-084r1
Document type:OGC Best Practice
Document subtype:General
Document stage:Approved
Document language:English

 


License Agreement

Permission is hereby granted by the Open Geospatial Consortium, (“Licensor”), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement.

If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.

THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD. THE INTELLECTUAL PROPERTY IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.

This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.

Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications. This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.

None of the Intellectual Property or underlying information or technology may be downloaded or otherwise exported or reexported in violation of U.S. export laws and regulations. In addition, you are responsible for complying with any local laws in your jurisdiction which may impact your right to import, export or use the Intellectual Property, and you represent that you have complied with any regulations or registration procedures required by applicable law to make this license enforceable.

 



I.  Abstract

JavaScript Object Notation (JSON) [NR1] has been gaining in popularity for encoding data in Web-based applications. JSON consists of sets of objects described by name/value pairs. GeoJSON [NR2] is a format for encoding collections of simple geographical features along with their non-spatial attributes using JSON. This OGC Best Practice describes a GeoJSON [NR2] and JSON-LD [NR13] encoding for Earth Observation (EO) metadata for collections (dataset series). This standard can be applied to encode metadata based on the OGC 11-035r1 [OR20] or ISO19139 [OR27], ISO19139-2 [OR28] specifications, or as an encoding of the Unified Metadata Model for Collections (UMM-C) conceptual model [OR2].

The GeoJSON encoding defined in this document is defined as a compaction1 through a normative context, of the proposed JSON-LD encoding, with some extensions as presented in section 8 of this document. Therefore, the JSON-LD encoding can also be applied to other RDF [OR8] encodings including RDF/XML [OR11] and RDF Turtle [OR12].

This document makes no assumptions as to the “service” interfaces through which the metadata are accessed and applies equally well to a Service Oriented Architecture as well as a Resource Oriented or RESTful Architecture.

GeoJSON is a format for encoding collections of simple geographical features along with their non-spatial attributes using JSON. GeoJSON objects may represent a geometry, a feature, or a collection of features. GeoJSON supports the following geometry types derived from the OGC Simple Features specification: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection. Features in GeoJSON contain a geometry object and additional properties, and a feature collection represents a list of features.

JSON is human readable and easily parseable. However, JSON is schemaless. JSON and GeoJSON documents do not include an explicit definition of the structure of the JSON objects contained in them. Therefore, this standard is based on a normative JSON-LD context which allows each property to be explicitly defined as a URI. Furthermore, the JSON encoding is defined using JSON Schema [OR7] which allows validation of instances against these schemas.

II.  Keywords

The following are keywords to be used by search engines and document catalogues.

ogcdoc, ogc documents, Earth Observation, EO, EO Collection, EO Dataset, EO Dataset Series, EO Product, GeoJSON, JSON, JSON-LD, Linked Data, Metadata

III.  Security Considerations

No security considerations have been made for this document.

IV.  Submitting Organizations

The following organizations submitted this Document to the Open Geospatial Consortium (OGC):

V.  Submitters

All questions regarding this submission should be directed to the editor or the submitters:

Name Affiliation
Yves Coene Spacebel s.a.
Uwe Voges con terra GmbH
Olivier Barois ESA
Andrea Della Vecchia ESA
John Taylor CGI
Michael Schick EUMETSAT

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:

Note: this does not imply a complete endorsement by these organisations.

EO Collection GeoJSON(-LD) Encoding

1.  Scope

This OGC Best Practice defines a GeoJSON [NR2] and JSON-LD [NR13] encoding of Earth Observation (EO) metadata for collections (a.k.a. dataset series). The Best Practice provides document models for the exchange of information describing EO collections, both within and between different organisations.

EO collections are collections of datasets sharing the same product specification. These collections are also called dataset series as they may be mapped to ‘dataset series’ following the terminology defined in ISO 19113, ISO 19114, and ISO 19115. An EO collection typically corresponds to a series of EO datasets (also called EO products) derived from data acquired:

Examples of EO dataset series are, for instance, datasets stemming from satellite platforms such as ‘TerraSAR-X spotlight mode,’ ‘ESA Envisat MERIS Full Resolution L1+2,’ or ‘SPOT multispectral 10 m resolution.’ However, there is a tendency to group products into dataset series following other kinds of criteria such as range of resolution or product quality (e.g., snow collections or cloud-free collections).

Figure 1 — EO Collection Metadata Simlified Conceptual Model from [OR19]

The implementation is derived from the conceptual models defined in OGC 11-035r1 [OR19], itself based on ISO19115:2003 [OR22], ISO19139:2007 [OR27] and ISO19139-2 [OR28], and the Unified Metadata Model for Collections (UMM-C) [OR2].

Figure 2 — Unified Metadata Model for Collections [OR2]

1.1.  Design Approach and Rationale

This section is non-normative.

The response encoding defined in the current document satisfies the following design goals.

  • Feature-based GeoJSON model: The model maximises reuse of pre-existing standardized property names. Whereever possible, existing properties from the GeoJSON [NR2] and OWS Context [NR5] Feature objects are used for modeling EO Collection properties instead of proposing new property names. Existing properties are extended where needed (e.g., links).

  • Simplicity: This document does not describe the full information models or XML encodings referred to above. The original metadata models should be referred to for these details. This Best Practice intends to provide a simpler, overarching exchange format integrating comments from the Committee on Earth Observation Satellites (CEOS) Working Group on Information Systems and Services (WGISS) community, which supported the submission of this Best Practice to the OGC.

  • Convergence: A final design goal is to aim for future convergence of the proposed JSON-LD mapping with GeoDCAT-AP [OR15]. This requires future work.

1.2.  Document Outline

Hereafter a brief outline of the document content allows readers to jump directly to the topic of their interest.

  • Chapter 3 lists the normative and informative references used in this document.

  • Chapter 4 defines the main terms used in the document.

  • The conventions used in this document are explained in Chapter 5;.

  • Chapter 6 gives an overview.

  • Chapter 7 specifies the proposed GeoJSON encoding.

  • Chapter 8 describes how the encoding can be extended with additional properties and describes the extension to JSON-LD which allows for describing multi-dimensional arrays as allowed by GeoJSON.

  • Chapter 9 provides information about the expected MIME media types which correspond to the proposed encodings.

  • Chapter 10 describes future work.

Finally, the following information was moved to the appendices.

  • Annex A defines the Abstract Test Suite for the specification.

  • Annex B includes normative JSON-LD @context definitions that allow interpreting the GeoJSON encoding as JSON-LD.

  • Annex C.1 presents the mapping of the properties proposed in this specification to the OGC 11-035r1 and UMM-C Conceptual Models.

  • Annex D contains the complete listing of examples illustrating the encodings defined in this document.

  • Annex E includes the JSON schema definitions defining the GeoJSON encoding.

  • Annex F explains where the schema file, context file, and examples can be found in the OGC schema repository.

  • Annex G provides the revision history of this document.

2.  Conformance

2.1.  Conformance to base specifications

This section describes the compliance testing required for an implementation of this Best Practice.

2.2.  Conformance classes

The framework, concepts, and methodology for testing, and the criteria to be achieved in order to claim conformance are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site2.

Annex A defines a set of tests and conformance classes that will support various applications with a range of different requirements. The following conformance classes are distinguished. Testing is based on data validation. In order to conform to this OGC Best Practice, an implementation shall implement all conformance classes specified in Annex A (normative).

Table 1 — Conformance classes related to data instances

Conformance ClassDescriptionClause
conf/featureSingle EO Collection objects. Section 7.1
conf/propertiesProperties objects. Section 7.1.1
conf/metadata-informationMetadataInformation objects Section 7.2
conf/data-identificationDataIdentification objects Section 7.3
conf/data-contactDataContact objects Section 7.3.2
conf/attributionAttribution objects Section 7.3.3
conf/activityActivity objects Section 7.3.6
conf/associationAssociation objects Section 7.3.8
conf/planPlan objects Section 7.3.9
conf/resource-constraintsResourceConstraint objects Section 7.4
conf/descriptive-keywordsDescriptiveKeywords objects Section 7.5
conf/related-urlRelatedUrl objects Section 7.6
conf/linksLinks objects Section 7.6.1
conf/offeringOffering objects Section 7.6.3
conf/spatial-informationSpatial information objects Section 7.7
conf/geometryGeometry objects Section 7.7.1
conf/temporal-informationTemporalInformation objects Section 7.8
conf/acquisition-informationAcquisitionInformation Section 7.9
conf/product-informationProductInformation Section 7.10

3.  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.

Hyperlinks to Normative References within this document will be listed as [NR*] and will map to below reference [*]. Bibliographic references will be labeled as [OR*] to map to the references in the bottom section.

3.1.  Normative References

[1]  The JavaScript Object Notation (JSON) Data Interchange Format, 2014, http://www.ietf.org/rfc/rfc7159.txt

[2]  The GeoJSON Format, 2016, https://tools.ietf.org/html/rfc7946

[3]  OGC OpenSearch-EO GeoJSON(-LD) Response Encoding Standard, 2020, http://docs.opengeospatial.org/is/17-047r1/17-047r1.html.

[4]  OGC EO Dataset Metadata GeoJSON(-LD) Encoding Standard, 2020, http://docs.opengeospatial.org/is/17-003r2/17-003r2.html.

[5]  OGC OWS Context GeoJSON Encoding, 2017, http://docs.opengeospatial.org/is/14-055r2/14-055r2.html

[6]  OGC Web Services Common Standard, Version 2.0.0, 2010, http://portal.opengeospatial.org/files/?artifact_id=38867

[7]  Uniform Resource Identifiers (URI): Generic Syntax, 2005, http://www.ietf.org/rfc/rfc3986.txt

[8]  Internationalised Resource Identifiers (IRIs), 2005, https://tools.ietf.org/html/rfc3987

[9]  Hypertext Transfer Protocol – HTTP/1.1, 1999 http://www.ietf.org/rfc/rfc2616.txt

[10]  Web Linking, 2010, http://www.ietf.org/rfc/rfc5988.txt

[11]  ECMAScript Language Specification, Edition 5.1, Standard ECMA-262, 2011, http://www.ecma-international.org/publications/standards/Ecma-262.htm

[12]  The JSON Data Interchange Format, 2017, http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf

[13]  A JSON-based Serialisation for Linked Data, W3C Recommendation, 2014, http://www.w3.org/TR/json-ld/

3.2.  Bibliography

[1]  Unified Metadata Model Common Elements, Version 1.10, 18/01/2018, https://wiki.earthdata.nasa.gov/display/CMR/CMR+Documents.

[2]  Unified Metadata Model for Collections (UMM-C), Version 1.10, 18/01/2018, https://wiki.earthdata.nasa.gov/display/CMR/CMR+Documents.

[3]  Dublin Core Metadata Initiative, DCMI Metadata Terms, 14/06/2012, http://dublincore.org/documents/dcmi-terms/.

[4]  JSON-LD 1.0 Processing Algorithms and API, W3C Recommendation 16 January 2014, https://www.w3.org/TR/json-ld-api/

[5]  OGC 12-084r2, OWS Context Atom Encoding Standard, 09/12/2013, http://docs.opengeospatial.org/is/12-084r2/12-084r2.html

[6]  OGC 15-053, Implementing JSON/GeoJSON in an OGC Standard ER, Joan Masó.

[7]  JSON Schema, https://tools.ietf.org/html/draft-zyp-json-schema-04

[8]  RDF 1.1 Primer, W3C Working Group Note 25 February 2014, http://www.w3.org/TR/rdf11-primer/

[9]  RDF 1.1 Concepts and Abstract Syntax, W3C Recommendation 25 February 2014, http://www.w3.org/TR/rdf11-concepts/

[10]  RDF Schema 1.1, W3C Recommendation 25 February 2014, http://www.w3.org/TR/rdf-schema/

[11]  RDF 1.1 XML Syntax, W3C Recommendation 25 February 2014, http://www.w3.org/TR/rdf-syntax-grammar/

[12]  RDF 1.1 Turtle, Terse RDF Triple Language, W3C Recommendation 25 February 2014, http://www.w3.org/TR/turtle/

[13]  Data Catalog Vocabulary (DCAT), W3C Recommendation 16 January 2014, https://www.w3.org/TR/vocab-dcat/.

[14]  RFC 4287, The Atom Syndication Format, December 2005, https://tools.ietf.org/html/rfc4287

[15]  GeoDCAT-AP: A geospatial extension to DCAT application profiles for data portals in Europe, Version 1.0.1, 02/08/2016, https://semiceu.github.io/GeoDCAT-AP/releases/1.0.1/geodcat-ap_1.0.1.pdf

[16]  Google JSON Style Guide, Revision 0.9, https://google.github.io/styleguide/jsoncstyleguide.xml

[17]  W3C vCard Ontology — for describing People and Organizations, W3C Interest Group Note 22 May 2014, http://www.w3.org/TR/vcard-rdf/

[18]  GeoJSON-LD Vocabulary, http://geojson.org/geojson-ld/, http://geojson.org/geojson-ld/vocab.rdf

[19]  OGC 11-035r1, EO Product Collection, Service and Sensor Discovery using the CS-W ebRIM Catalog, Version 1.0, 26/03/2013.

[20]  FOAF Vocabulary Specification 0.99, Namespace Document 14 January 2014 – Paddington Edition, http://xmlns.com/foaf/spec/ .

[21]  JSON-LD 1.1, “A JSON-based Serialisation for Linked Data”, W3C Proposed Recommendation, 07 May 2020, https://www.w3.org/TR/json-ld11/.

[22]  OGC 08-167r2, Semantic Annotations in OGC Standards, Version 2.0, 10/10/2012, https://portal.opengeospatial.org/files/?artifact_id=47857.

[23]  OGC 11-052r4, OGC GeoSPARQL – A Geographic Query Language for RDF Data, Version 1.0, https://portal.opengeospatial.org/files/?artifact_id=47664

[24]  http://goessner.net/articles/JsonPath/index.html

[25]  Data Catalog Vocabulary (DCAT) – Version 2, W3C Recommendation 04 February 2020, https://www.w3.org/TR/vocab-dcat/.

[26]  ISO 19115:2003/Cor 1:2006, Geographic Information – Metadata – Implementation specification, http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=44361

[27]  ISO 19139, Geographic Information – Metadata XML (ISO 19139:2007), http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=32557

[28]  ISO 19139-2:2012, Geographic information — Metadata — XML schema implementation — Part 2: Extensions for imagery and gridded data, http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57104

[29]  Dublin Core Metadata Initiative term declarations represented in RDF schema language, http://dublincore.org/schemas/rdfs/.

[30]  W3C PROV-O: The PROV Ontology, W3C Recommendation 30 April 2013, https://www.w3.org/TR/prov-o/

[31]  SKOS Simple Knowledge Organization System Reference, W3C Recommendation 18 august 2009, http://www.w3.org/TR/skos-reference/.

[32]  European Commission, ISA Programme, “ISA Programme Location Core Vocabulary,” 2015, http://www.w3.org/ns/locn#.

[33]  Technical Guidance for the implementation of INSPIRE dataset and service metadata based on ISO/TS 19139:2007, Version 2.0.1, 2017-03-02, https://inspire.ec.europa.eu/id/document/tg/metadata-iso19139

4.  Terms and definitions

For the purposes of this document, the following terms and definitions apply.

This document uses the terms defined in Sub-clause 5.3 of OGC 06-121r9 [NR6], 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 Best Practice.

For the purposes of this document, the following additional terms and definitions apply.

4.1. 

compaction

While expansion removes context from a given input, compaction’s primary function is to perform the opposite operation: to express a given input according to a particular context. Compaction applies a context that specifically tailors the way information is expressed for a particular person or application. This simplifies applications that consume JSON or JSON-LD by expressing the data in application-specific terms, and it makes the data easier to read by humans [OR4].

4.2. 

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.3. 

context

A set of rules for interpreting a JSON-LD document as specified in the section “The Context” of the JSON-LD specification [NR13].

4.4. 

dataset

Observations obtained by satellite instruments (OGC 10-140). See granule and product.

4.5. 

Domain (RDF)

Domain (rdfs:domain) is used to state that any resource that has a given property is an instance of one or more classes [OR10].

4.6. 

embedding

Embedding is a JSON-LD feature that allows using node objects as property values [NR13].

4.7. 

expansion

The algorithm that removes [JSON-LD] context is called expansion [OR4].

4.8. 

fatal exception

A server supplies exceptions (diagnostics) in the response as appropriate. A diagnostics is fatal or non-fatal. A fatal diagnostic is generated when the execution of the request cannot proceed and no results are available. For example, if the client supplied an invalid query there might be nothing that the server can do. A non-fatal diagnostic is one where processing may be affected but the server can continue (See section 2.9 of [OR2]).

4.9. 

GeoJSON

A geospatial data interchange format based on Javascript Object Notation (JSON) [NR2].

4.10. 

identifier

A character string that may be composed of numbers and characters that is exchanged between the client and the server with respect to a specific identity of a resource.

4.11. 

JSON

A lightweight, text-based, language-independent data interchange format, based on the Javascript programming language.

4.12. 

JSON Schema

JSON Schema is a JSON media type for defining the structure of JSON data. JSON Schema provides a contract for what JSON data is required for a given application and how to interact with it [OR7].

4.13. 

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.14. 

Range (RDF)

Range (rdfs:range) is used to state that values of a property are instances of one or more classes [OR10].

4.15. 

RDF Triple

An RDF triple consists of three components: the subject, the predicate and the object. An RDF triple is conventionally written in the order subject, predicate, object. [OR9].

4.16. 

service interface

Shared boundary between an automated system or human being and another automated system or human being [ISO 19101].

5.  Conventions

This section provides details and examples for any conventions used in the document. Examples of conventions are symbols, abbreviations, use of XML schema, or special notes regarding how to read the document.

5.1.  Abbreviated terms

Some frequently used abbreviated terms:

APIApplication Programming Interface
ATSAbstract Test Suite
CEOSCommittee on Earth Observation Satellites
EOEarth Observation
EOPEarth Observation Product
GMLGeography Markup Language
HTTPHyperText Transfer Protocol
IRIInternationalised Resource Identifier
ISOInternational Organisation for Standardisation
JSONJavaScript Object Notation
JSON-LDJavaScript Object Notation for Linked Data
OASISOrganization for the Advancement of Structured Information Standards
OGCOpen Geospatial Consortium
O&MObservations and Measurements
OWCOGC Web Services Context
RDFResource Description Framework
RDFSRDF Schema
RESTRepresentational State Transfer
SIInternational System of Units (French: Système international d’unités)
SRUSearch/Retrieval via URL
UMLUnified Modeling Language
UMMUnified Metadata Model
URIUniform Resource Identifier
URLUniform Resource Locator
URNUniform Resource Name
W3CWorld Wide Web Consortium
WGISSWorking Group on Information Systems and Services
WKTWell-Known Text
XMLeXtensible Markup Language
XSDXML Schema Definition Language

5.2.  Symbols

5.2.1.  Symbols and abbreviated terms

The schema diagrams3 included in the document show the JSON structure expressed in JSON Schema [OR7] and documented in Annex E.1.

Table 2 — JSON Schema diagram symbols

JSON Schema EntityRepresentationDescription
Definition Definitions are shown as blue rectangles with solid borders.
Mandatory property Mandatory properties are shown with solid borders.
Optional property Optional properties are shown with dashed borders.
Property of type “Object” referring to a “Definition” of the Object. The “Def” attribute inside a rectangle representing a property of type Object refers to the corresponding Object definition.
Pattern property A pattern property defines the property’s name as a regular expression. There are no minimum or maximum occurrence settings for a pattern property.
Unspecified property A property can be implicitly specified by adding a suitable pattern property or property wildcard.
“All Of” operator Contains one or more sub-schemas (definitions), added as children of the operator. An instance is valid if it is valid against all these sub-schemas.
“Any Of” operator Contains one or more sub-schemas (definitions), added as children of the operator. An instance is valid if it is valid against at least one of these sub-schemas.
“One Of” operator Contains one or more sub-schemas (definitions), added as children of the operator. An instance is valid if it is valid against exactly one of these sub-schemas.
Subschema (definitions) The “Def” attribute inside a rectangle representing a (Sub) Schema refers to the corresponding Object definition.

5.2.2.  Symbols and abbreviated terms

The data dictionary tables in the current document use the JSONPath notation [OR24]. A brief overview of this notation is included in the table below which is taken from [OR24].

XPathJSONPathDescription
/$the root object/element
.@the current object/element
/. or []child operator
//..recursive descent. JSONPath borrows this syntax from E4X.
**wildcard. All objects/elements regardless their names.
[][]subscript operator. XPath uses it to iterate over element collections and for predicates. In Javascript and JSON it is the native array operator.
|[,]Union operator in XPath results in a combination of node sets. JSONPath allows alternate names or array indices as a set.
[]?()applies a filter (script) expression.

5.4.  Layout and identifiers

The normative provisions in the current document are denoted by the URI http://www.opengis.net/spec/eoc-geojson/1.0. All requirements and conformance classes that appear in this document are denoted by relative URIs which are relative to this base URI.

5.5.  Style

This document applies the “double quote” guideline defined in [OR16]: “If a property requires quotes, double quotes must be used. All property names must be surrounded by double quotes. Property values of type string must be surrounded by double quotes. Other value types (like boolean or number) should not be surrounded by double quotes.”

5.6.  Data dictionary tables

This document includes data dictionary tables with information as per sub-clause 5.5 of OGC 06-121r9 [NR6]. The following comment applies:

  • Column 1 provides the JSON property name as well as the corresponding JSONPath [OR24] expression.

6.  Overview

This specification defines a GeoJSON-based [NR2] serialization syntax for Earth Observation Collection Metadata that conforms to a subset of [NR13] syntax constraints but does not require JSON-LD processing. While other serialization forms are possible, such alternatives are not discussed by this document.

When serialized, absent properties are represented by either (a) setting the property value to null, or (b) by omitting the property declaration altogether at the option of the publisher. These representations are semantically equivalent. If a property has an array value, the absence of any items in that array shall be represented by omitting the property entirely or by setting the value to null. The appropriate interpretation of an omitted or explicitly null value is that no value has been assigned as opposed to the view that the given value is empty or nil.

JSON does not have a formal class model. JSON objects are just sets of properties. However, similar to GeoJSON, the JSON encoding described in this Best Practice features a “type” property on each JSON object.

An EO Collection Metadata Document conforming to this Best Practice is a GeoJSON document whose root value is a Feature object, and whose MIME media type corresponds to one of the media types described in chapter 9. The Feature object may or may not be part of a FeatureCollection representing an OpenSearch response document according to OGC 17-047r1 [NR3].

6.1.  JavaScript Object Notation

JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format that defines a small set of formatting rules for the portable representation of structured data. JSON is derived from the object literals of JavaScript, as defined in the ECMAScript Programming Language Standard [NR11] and can represent four primitive types (strings, numbers, boolean values, and null) and two structured types (objects and arrays). The ordering of the members or properties of any JSON object is considered irrelevant. Even though JSON is based on a subset of the JavaScript Programming Language it is currently well supported by nearly all programming languages, including Java, Python, and C#.

The JSON format is currently described by two competing standards, RFC7159 [NR1] and ECMA-404 [NR12]. Both standards documents are consistent, but the latter defines mainly the grammatical syntax where the former provides some additional semantic and security points.

6.2.  GeoJSON Format Specification

GeoJSON [NR2] is a format for encoding collections of simple geographical features along with their non-spatial attributes using JSON. GeoJSON consists of a single object representing a geometry, feature, or collection of features. The geometries supported are Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, and Geometry Collections.

7.  GeoJSON Encoding Specification

7.1.  Requirements class: Feature

Requirement Class: Feature

/req/feature

Target TypeData instance
DependencyJSON [NR1]
DependencyGeoJSON [NR2]
Dependency/req/geometry
Dependency/req/properties

Requirement 1:

/req/feature/properties

Requirement 1:

/req/feature/properties

A “Feature” object representing an EO Collection shall implement the properties shown in Table 4, with the value matching the type shown, and with the obligation shown.

The Feature object represents the EO Collection (a.k.a. EO Dataset Series). It inherits all properties of the GeoJSON Feature object. In addition, it may contain an optional @context property. The @context properties shall typically be absent in the GeoJSON encoding and implicitly refer to the normative @context defined in Annex B.

Figure 3 — Feature Schema (GeoJSON)

Complete description of Feature is given in Table 4. Most properties are inherited from the Feature object defined in [NR2].

Table 4 — Feature object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
@context
$.@context
Optional context property either embedding an actual context or a reference to the normative JSON-LD context defined in Annex B: “normative JSON-LD @context definition”. See Annex B.1.1.PropertyZero or one (optional)
type
$.type
Type of the element. This property is a string with fixed value “Feature”.Property [RD2] Range: String Fixed values: “Feature”One (mandatory)
id
$.id
Unique identifier for the EO Collection (IRI).Property [RD5] Range: StringOne (mandatory)
bbox
$.bbox
Information on the coordinate range of the geometry object representing the footprint (See [NR2]). The value is an array of length 4 (assuming the number of dimensions represented in the contained geometries is 2). Typically, south-west point and north-east point. The value defines a shape with edges that have constant longitude and latitude.Property [NR2] Domain: Feature Range: ArrayZero or one (optional)
geometry
$.geometry
Contains the description of the geometry of the feature. See section 7.7. The value shall be either a Geometry object or a JSON null value.Property [NR2]. Domain: Feature Range: Geometry or null value (See section 7.7).One (mandatory)
properties
$.properties
Groups all other properties of the Feature not covered by the properties higher in this table as imposed by [NR2]. See section 7.1.1.Property [NR5]. Domain: Feature Range: Properties (See Table 5)One (mandatory)
Example 1: GeoJSON encoding example
{
"type": "Feature",
"id": " http://fedeo.esa.int/opensearch/request/?httpAccept=application/geo%2Bjson&parentIdentifier=EOP%3AESA%3AFEDEO&uid=LANDSAT.ETM.GTC",
"bbox": [
-180,
-90,
180,
90
],
"geometry": {...},
"properties": {...}
}
Example 2: GeoJSON encoding example (with explicit normative @context property)
{
"@context": "https://www.opengis.net/eoc-geojson/1.0",
"type": "Feature",
"id": " http://fedeo.esa.int/opensearch/request/?httpAccept=application/geo%2Bjson&parentIdentifier=EOP%3AESA%3AFEDEO&uid=LANDSAT.ETM.GTC",
"bbox": [
-180,
-90,
180,
90
],
"geometry": {...},
"properties": {...}
}

In the remainder of the document, we will not include the @context property in the GeoJSON encoding in which case it is implied as explained in Annex B.1.1.

7.1.1.  Properties

Requirement Class: Properties

/req/properties

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/acquisition-information
Dependency/req/product-information
Dependency/req/metadata-information
Dependency/req/temporal-extent
Dependency/req/location
Dependency/req/data-identification
Dependency/req/related-url
Dependency/req/descriptive-keywords

Requirement 2:

/req/properties/properties

Requirement 3:

/req/properties/data-identification

Requirement 4:

/req/properties/descriptive-keywords

Requirement 5:

/req/properties/related-url

Requirement 2:

/req/properties/properties

A “Properties” object shall implement the properties shown in Table 4, with the value matching the type shown, and with the obligation shown.

Requirement 3:

/req/properties/data-identification

A “Properties” object shall implement the properties of a DataIdentification object (Table 7).

Requirement 4:

/req/properties/descriptive-keywords

A “Properties” object shall implement the properties of a DescriptiveKeywords object (Table 21).

The Properties block contains the EO Collection properties and hypermedia links to related objects. It inherits all DataIdentification, DescriptiveKeywords and RelatedUrl properties.

Figure 4 — Properties Schema

Complete description of Properties is given in Table 5.

Table 5 — Properties object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.type
Type of the element. This property has the fixed value “Properties”.Domain: Properties Range: String Fixed value: “Properties”Zero or one (optional)
isPrimaryTopicOf
$.properties.isPrimaryTopicOf
Properties related to the metadata of the EO collection, e.g., metadata dates.Domain: Properties Range: MetadataInformation (See Table 6)Zero or one (optional)
acquisitionInformation
$.properties.acquisitionInformation
Contains product information as presented in Table 30.Domain: Properties Range: Array of AcquisitionInformation (See Table 30)One or more (mandatory)
spatial
$.properties.spatial
Alternative encoding of Geometry (intended for JSON-LD) if compliance with GeoDCAT-AP is mandatory (See also section 8.2).Domain: Properties Range: Location (See Table 34)Zero or one (optional)
temporal
$.properties.temporal
Temporal extent of the collection. Contains same information as $.properties.date (DataIdentification).Domain: Properties Range: TemporalExtent (See Table 29)Zero or one (optional)
Example 3: Feature Properties encoding example
{
"title": "Sentinel-2 Products",
"identifier": "EOP:ESA:Sentinel-2",
"kind": "http://purl.org/dc/dcmitype/Collection",
"rights": "Data are available upon fast registration",
"abstract": "The Sentinel-2 mission is a land monitoring constellation of two satellites that provide high resolution optical imagery and provide continuity for the current SPOT and Landsat missions. The mission provides a global coverage of the Earth's land surface every 10 days with one satellite and 5 days with 2 satellites, making the data of great use in on-going studies. The satellites are equipped with the state-of-the-art MSI (Multispectral Imager) instrument, that offers high-resolution optical imagery.",
"date": "2015-06-23T00:00:00Z/",
"updated": "2018-11-28T15:23:57Z",
"temporal": {
"beginningDateTime": "2015-06-23T00:00:00Z"
},
"isPrimaryTopicOf": {
"updated": "2019-07-17T00:00:00Z",
"published": "2019-07-17T00:00:00Z",
"lang": "en"
},
"categories": [
...
],
"acquisitionInformation": [
{
"platform": {
"id": "https://earth.esa.int/concept/sentinel-2",
"platformShortName": "Sentinel-2"
},
"instrument": {
"id": "https://earth.esa.int/concept/s2-msi",
"instrumentShortName": "MSI"
}
}
],
   "productInformation": {
         ...
      },

"links": {
...
}
}

7.2.  Requirements class: Metadata Information

Requirement Class: Metadata Information

/req/metadata-information

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/standard

Requirement 6:

/req/metadata-information/properties

Requirement 6:

/req/metadata-information/properties

A “MetadataInformation” object shall implement the properties shown in Table 6, with the value matching the type shown, and with the obligation shown.

The MetadataInformation is encoded as a CatalogRecord as defined by DCAT Version 2 [OR25] with JSON property names consistent with OGC 14-055r2.

Figure 5 — MetadataInformation Schema

Complete description of MetadataInformation is given in Table 6.

Table 6 — MetadataInformation object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.isPrimaryTopOf.type
Type of the element. This property has the fixed value “CatalogRecord”.Domain: CatalogRecord Range: StringZero or one (optional)
created
$.properties.isPrimaryTopicOf.created
Date of creation of the metadata.Domain: CatalogRecord Range: DateTimeZero or one (optional)
updated
$.properties.isPrimaryTopOf.updated
Date of creation or last update of the metadata. DateTime representation, as defined by RFC 3339, section 5.6.Domain: CatalogRecord Range: DateTimeOne (mandatory)
published
$.properties.isPrimaryTopicOf.published
Date of first availability of the Metadata Document.Domain: CatalogRecord Range: DateTimeZero or one (optional)
lang
$.properties.isPrimaryTopicOf.lang
Metadata language , not empty with an RFC-3066 code as defined in [NR5], e.g., “en” (English). Note that resource language is a property of the Data Identification (Table 7). See also section II.7 of GeoDCAT-AP [OR15] and sections 2.2.2 and 3.1.2.4 of INSPIRE Technical Guidelines [OR33].Domain: CatalogRecord Range: stringZero or one (optional)
conformsTo
$.properties.isPrimaryTopicOf.conformsTo
An established standard to which the metadata conforms as defined in [OR25].Domain: CatalogRecord Range: StandardZero or one (optional)
Example 4: MetadataInformation encoding example
{
         "type": "CatalogRecord",
      "updated": "2019-07-17T00:00:00Z",
      "published": "2019-07-17T00:00:00Z",
      "lang": "en"
}

7.3.  Requirements class: Data Identification

Requirement Class: Data Identification

/req/data-identification

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/data-dates
Dependency/req/data-contact
Dependency/req/resource-constraints
Dependency/req/provenance-statement
Dependency/req/activity

Requirement 7:

/req/data-identification/properties

Requirement 8:

/req/data-identification/data-dates

Requirement 9:

/req/data-identification/data-contact

Requirement 10:

/req/data-identification/resource-constraints

Requirement 7:

/req/data-identification/properties

A “DataIdentification” object shall implement the properties shown in Table 7, with the value matching the type shown, and with the obligation shown.

Requirement 8:

/req/data-identification/data-dates

A “DataIdentification” object shall implement the properties of a DataDates object (Table 8).

Requirement 9:

/req/data-identification/data-contact

A “DataIdentification” object shall implement the properties of a DataContact object (Table 9).

Requirement 10:

/req/data-identification/resource-constraints

A “DataIdentification” object shall implement the properties of a ResourceConstraints object (Table 18).

The DataIdentification properties are inherited by the Properties block. The DataIdentification inherits all properties of the Datadates, DataContact and ResourceConstraints object.

Figure 6 — DataIdentification Schema

Complete description of DataIdentification is given in Table 7.

Table 7 — DataIdentification object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
kind
$.properties.kind
Unique identifier (URI) for the type of the resource. Defined in OGC 17-047r1, DCAT-2 and GeoDCAT-AP (dct:type). Fixed value: http://purl.org/dc/dcmitype/Collection.Range: StringZero or one (optional)
doi
$.properties.doi
Digital Object Identifier identifying the collection (see https://www.doi.org)Domain: Properties Range: StringZero or one (optional)
title
$.properties.title
Human readable title given to the collection.Domain: Properties Range: StringOne (mandatory)
identifier
$.properties.identifier
Identifier given to the collection.Domain: Properties Range: StringOne (mandatory)
bibliographicCitation
$.properties.bibliographicCitation
A bibliographic reference for the resource.Domain: Properties Range: stringZero or one (optional)
lang
$.properties.lang
Resource language, not empty with an RFC-3066 code as defined in [NR5], e.g., “en” (English). Note that metadata language is a property of the Metadata Information (Table 6). See also section II.7 of GeoDCAT-AP [OR15] and sections 2.2.2 and 3.1.2.4 of INSPIRE Technical Guidelines [OR33].Domain: Properties Range: stringZero or one (optional)
conformsTo
$.properties.conformsTo
An established standard to which the resource conforms as defined in [OR25].Domain: Properties Range: StandardZero or one (optional)
abstract
$.properties.abstract
Description of the collection content or purpose as defined in [NR5].Domain: Properties Range: stringZero or one (optional)
versionInfo
$.properties.versionInfo
Version number or other version designation of the service or processing application. Defined in DCAT-AP 1.2 (owl:versionInfo).Domain: Properties Range: stringZero or one (optional)
provenance
$.properties.provenance
Encoding of provenance information.Domain: Properties Range: Array of ProvenanceStatement (See Table 12)Zero or more (optional)
wasUsedBy
$.properties.wasUsedBy
Description of the conformity of the metadata (DQ_ConformanceResult).Domain: Properties Range: Array of Activity (See Table 13)Zero or more (optional)
Example 5: DataIdentification encoding example
{
"title": "LANDSAT 7 ETM+ (Enhanced Thematic Mapper Plus) Geolocated Terrain Corrected Systematic processing (LANDSAT.ETM.GTC)",
"identifier": "LANDSAT.ETM.GTC",
"kind": "http://purl.org/dc/dcmitype/Collection",
"abstract": "This dataset contains all the Landsat 7 Enhanced Thematic Mapper high-quality ortho-rectified L1T dataset over Kiruna, Maspalomas and Matera visibility masks. The Landsat 7 ETM+ scenes typically covers 185 x 170 km. A standard full scene is nominally centred on the intersection between a Path and Row (the actual image centre can vary by up to 100m). Each band requires 50MB (uncompressed), and Band 8 requires 200MB (panchromatic band with resolution of 15m opposed to 30m).",
"date": "1999-07-01T00:00:00Z/2003-12-31T00:00:00Z",
"updated": "1999-07-01T00:00:00Z",
"authors": [
{
"type": "Organization",
"email": "mailto:eohelp@eo.esa.int",
"name": "ESA/ESRIN",
"phone": "tel:+39 06 94180777"
}
],
"contactPoint": [
{
"type": "Organization",
"email": "mailto:eohelp@eo.esa.int",
"name": "ESA/ESRIN",
"uri": "http://earth.esa.int",
"hasTelephone": [ {
"type": "Voice",
"hasValue": "tel:+39 06 94180777"
} ],
"hasAddress": {
"country-name": "Italy",
"postal-code": "00044",
"locality": "Frascati",
"street-address": "Via Galileo Galilei CP. 64"
}
}
],
   "provenance": [
{
         "type":   "ProvenanceStatement",
         "label":  "Forest Map 2006 is derived from the IMAGE2006 (SPOT/LISS scenes) and CORINE2006 landcover dataset. In addition, MODIS composites are used for the Forest type classification."
      }
   ],
   "wasUsedBy": [
       {
          "type":   "Activity",
          "generated": {
              "type":   "Entity",
              "degree":   "http://inspire.ec.europa.eu/metadata-codelist/DegreeOfConformity/conformant",
              "description": "See the referenced specification"
          },
          "qualifiedAssociation": {
              "type":   "Association",
              "hadPlan": {
                  "type":   "Plan",
                  "wasDerivedFrom": {
                      "type":   "Standard",
                      "title":  "COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services",
                      "issued":   "2010-12-08T00:00:00Z"
                  }
              }
          }
       }
    ]
}
Example 6: DataIdentification encoding example (Citation)
{
"title": "ESA Sea Surface Temperature Climate Change Initiative (ESA SST CCI): GHRSST Multi-Product ensemble (GMPE)",
"identifier": "e0659b01259145c8bfb0de6eb12c2690",
"abstract": "The ESA Sea Surface Temperature Climate Change Initiative (ESA SST CCI) dataset accurately maps the surface temperature of the global oceans over the period 1991 to 2010 using observations from many satellites. The data provides an independently quantified SST to a quality suitable for climate research. The GHRSST Multi-Product Ensemble (GMPE) dataset is an ensemble median of the ESA SST CCI spatially complete analysis with other level 4 SST analysis products. Anomalies of the analyses relative to the median, and the ensemble standard deviation are also provided.All the data in the GMPE files are regridded onto a common 0.25 degree regular latitude longitude grid and there areSST fields for each day. The GMPE for the ESA SST CCI long term product covers the period September 1991 to December 2010. GMPE files are also available for ESA SST CCI demonstration product 1 (which covers June to August 2007).",
"bibliographicCitation": "Fiedler, E.K.; McLaren, A.; Merchant, C.J.; Donlon, C. (2015): ESA Sea Surface Temperature Climate Change Initiative (ESA SST CCI): GHRSST Multi-Product ensemble (GMPE). NERC Earth Observation Data Centre, 24 February 2015. doi:10.5285/7BAF7407-2F15-406C-8F09-CB9DC10392AA. http://dx.doi.org/10.5285/7BAF7407-2F15-406C-8F09-CB9DC10392AA",
"doi": "10.5285/7BAF7407-2F15-406C-8F09-CB9DC10392AA",
"date": "1991-09-01T00:00:00.000Z/2010-12-31T00:00:00.000Z",
"updated": "2019-09-01T00:00:00.000Z",
   "published": "2014-12-03T12:00:00.000Z",

"license": [
{
"type": "LicenseDocument",
"label": "Use of these data is covered by the following licence: http://licences.ceda.ac.uk/image/data_access_condition/esacci_sst_terms_and_conditions.pdf . When using these data you must cite them correctly using the citation given on the CEDA Data Catalogue record."
}
],
"accessRights": [
{
"type": "RightsStatement",
"label": "Public data: access to these data is available to both registered and non-registered users."
}
],
"qualifiedAttribution": [
{
"type": "Attribution",
"agent": [
{
"type": "Organization",
"email": "neodc@rl.ac.uk",
"name": "NERC - Earth Observation Data Centre",
"hasTelephone": [{
"type": "Voice",
"hasValue": "tel:+44(0)1235 446432"
}],

"hasAddress": {
"postal-code": "OX11 0QX",
"locality": "Harwell Oxford",
"street-address": "NERC Earth Observation Data Centre (NEODC)"
}
}
],
"role": "custodian"
},
{
"type": "Attribution",
"agent": [
{
"type": "Organization",
"email": "support@ceda.ac.uk",
"name": "Rutherford Appleton Laboratory",
"hasTelephone": {
"type": "Voice",
"hasValue": "tel:01235446432"
},
"hasAddress": {
"postal-code": "OX11 0QX",
"locality": "Oxon",
"street-address": "Centre for Environmental Data Analysis (CEDA)"
}
}
],
"role": "distributor"
}
],
"provenance": [
{
"type": "ProvenanceStatement",
"label": "Data were processed and supplied to the NEODC by the ESA CCI SST project team."
}
]
}

7.3.1.  DataDates

Requirement 11:

/req/data-dates

A “DataDates” object shall implement the properties defined in Table 8, with the value matching the type shown, and with the obligation shown.

Figure 7 — DataDates Schema

Complete description of DataDates is given in Table 8.

Table 8 — DataDates object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
created
$.properties.created
Date of creation of the resource.Domain: Properties Range: DateTimeZero or one (optional)
updated
$.properties.updated
Date of creation or last update of the resource. DateTime representation, as defined by RFC 3339, section 5.6.Domain: Properties Range: DateTimeOne (mandatory )
published
$.properties.published
Date of publication of the resource.Domain: Properties Range: DateTimeZero or one (optional)
date
$.properties.date

Date or range of dates relevant for the resource (RFC-3339). Formatted in one of the following ways:

  • <datetime> “/” <datetime>

  • <datetime> “/”

  • “/” <datetime>

  • <datetime>

  • “/”

For example: “1999-07-01T00:00:00Z/2003-12-31T00:00:00Z”

Domain: Properties Range: String or DateTimeOne (mandatory)
Example 7: DataDates encoding example
{
"date": "1999-07-01T00:00:00Z/2003-12-31T00:00:00Z",
"created": "1999-07-01T23:59:00Z",
"published": "1999-07-02T08:00:00Z",
"updated": "2004-01-01T08:00:00Z"
}

7.3.2.  DataContact

Requirement Class: DataContact

/req/data-contact

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/agent
Dependency/req/attribution

Requirement 12:

/req/data-contact/properties

Requirement 12:

/req/data-contact/properties

A “DataContact” object shall implement the properties shown in Table 9, with the value matching the type shown, and with the obligation shown.

The DataContact properties are inherited by the DataIdentification (and Properties) block. The encoding depends on the “role” (ISO19115:2003) of the data contact. For the “publisher” and “author” roles, the OGC 14-055r2 encoding is available. Encoding for all roles is aligned with GeoDCAT-AP [OR15] §II.16.

Figure 8 — DataContact Schema

Complete description of DataContact is given in Table 9.

Table 9 — DataContact object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
publisher
$.properties.publisher
An entity or agent responsible for publishing the metadata (role is “Publisher”).Optional property in [NR5] Domain: Properties Range: StringZero or one (optional)
authors
$.properties.authors
Entities or persons primarily responsible for making the response document (role is “Author”).Optional property in [NR5] Domain: Properties Range: Array of Agent (See Table 11)Zero or one (optional)
contactPoint
$.properties.contactPoint
Link an EO collection to relevant organisations (role is “Point of Contact”).Optional property in [OR13] Domain: Properties Range: Array of Agent (See Table 11)Zero or one (Optional)
qualifiedAttribution
$.properties.qualifiedAttribution
Specifies the relationship between the EO collection and the responsible organisation (role is “Resource Provider”, “Custodian”, “User”, “Distributor”, “Originator”, “Principal Investigator” or “Processor”).Domain: Properties Array of Attribution (See Table 10)Zero or one (Optional)
Example 8: DataContact encoding example
{
"authors": [
{
"type": "Organization",
"email": "eohelp@eo.esa.int",
"name": "ESA/ESRIN",
"phone": "tel:+39 06 94180777"
}
],
"contactPoint": [
{
"type": "Organization",
"email": "eohelp@eo.esa.int",
"name": "ESA/ESRIN",
"phone": "tel:+39 06 94180777",
"uri": "http://www.earth.esa.int",
"hasAddress": {
"country-name": "Italy",
"postal-code": "00044",
"locality": "Frascati",
"street-address": "Via Galileo Galilei CP. 64"
}
}
],
"qualifiedAttribution": [
{
"type": "Attribution",
"agent": [
{
"type": "Organization",
"email": "eohelp@eo.esa.int",
"name": "ESA/ESRIN",
"phone": "tel:+39 06 94180777",
"uri": "http://www.earth.esa.int",
"hasAddress": {
"country-name": "Italy",
"postal-code": "00044",
"locality": "Frascati",
"street-address": "Via Galileo Galilei CP. 64"
}
}
],
"role": "originator"
}
]
}

7.3.3.  Attribution

Requirement Class: Attribution

/req/attribution

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/agent

Requirement 13:

/req/attribution/properties

Requirement 13:

/req/attribution/properties

An “Attribution” object shall implement the properties shown in Table 10 with the value matching the type shown, and with the obligation shown.

The Attribution object represents a responsible party and its role and is based on [OR30].

Figure 9 — Attribution Schema

Complete description of Attribution is given in Table 10.

Table 10 — Attribution object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.qualifiedAttribution[*].type
Type of the element. This property is a string with fixed value “Attribution”.Range: String Fixed value: “Attribution”Zero or one (optional)
role
$.properties.qualifiedAttribution[*].role

Role of the responsible party corresponding to ISO19115:2003 responsible party role . Values:

  • resourceProvider

  • custodian

  • owner

  • user

  • distributor

  • originator

  • pointOfContact

  • principalInvestigator

  • processor

  • publisher

  • author

Range: StringOne (mandatory)
agent
$.properties.qualifiedAttribution[*].agent
Organisation or person fulfilling the above “role”. Any properties allowed by vcard:Kind are allowed.Range: Array of Agent (See Table 11)One (mandatory)
Example 9: Attribution encoding example
{
"type": "Attribution",
"agent": [
      {
   "type": "Organization",
   "email": "eohelp@eo.esa.int",
   "name": "ESA/ESRIN",
   "phone": "tel:+39 06 94180777",

   "uri": "http://www.earth.esa.int",
   "hasAddress":
            {
      "country-name": "Italy",
      "postal-code": "00044",
      "locality": "Frascati",
      "street-address": "Via Galileo Galilei CP. 64"
      }
       }
   ],
"role": "originator"
}

7.3.4.  Agent

Requirement 14:

/req/agent

An “Agent” object shall implement the properties defined in Table 11, with the value matching the type shown, and with the obligation shown.

The Agent object is a parent class which can contain the properties of a person or organization entity. It is based on vcard:Kind [OR17] and foaf:Agent [OR20] (depending on the context) and some of its properties were defined/renamed in [NR5].

Figure 10 — Agent Schema

Complete description of Agent is given in Table 11.

Table 11 — Agent object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$..type
Type of the element. This property can have one of the following fixed values “Agent” (or “Kind”), “Person” (or “Individual”), “Organization”.Domain: Agent Range: StringZero or one (optional)
name
$..name
Human readable name of author (or entity) as a single string. Defined in section 7.1.1.7 of [NR5].Optional property in [NR5] Domain: Agent Range: String.Zero or one (optional)
email
$..email
Email of author (or entity).Optional property in [NR5] Domain: Agent Range: String.Zero or one (optional)
uri
$..uri
URI associated with the author (or entity).Optional property in [NR5] Domain: Agent Range: String (URI).Zero or one (optional)
phone
$.properties.authors[*].phone
Single phone number associated with the author (or entity).Optional property in [OR20] Domain: Agent Range: String.Zero or one (optional)
hasTelephone
$.properties.qualifiedAttribution[].agent[].hasTelephone
$.properties.contactPoint[*].hasTelephone
Phone numbers associated with the author (or entity). Can be of type “Voice”, “Fax”, “”. Defined in [OR17].Optional property in [OR17] Domain: Agent Range: Array of Object.Zero or more (optional)
hasName
$.properties.qualifiedAttribution[].agent[].hasName
$.properties.contactPoint[].hasName + $.properties.authors[].hasName

Name associated with the author (or entity) in structured parts as defined in [OR17]:

  • given-name (optional)

  • family-name (optional)

  • additional-name (optional)

Optional property in [OR17] Domain: Agent Range: Object.Zero or one (optional)
hasAddress
$.properties.qualifiedAttribution[].agent[].hasAddress
$.properties.contactPoint[*].hasAddress

Address associated with the author (or entity) in structured parts as defined in [OR17]:

  • street-address (optional)

  • locality (optional)

  • region (optional)

  • country-name (optional)

  • postal-code (optional)

Optional property in [OR17] Domain: Agent Range: Object.Zero or one (optional)
Example 10: Agent encoding example
{
"type": "Agent",
"name": "Earth Observation Helpdesk",
"email": "EOHelp@esa.int",
"uri": "http://earth.esa.int",
"phone": "tel:+39 06 94180777",
"hasTelephone": [
{
"type": "Voice",
"hasValue": "tel:+39 06 94180777"
},
{
"type": "Fax",
"hasValue": "tel:+39 06 94180292"
}
],
"hasAddress": {
"country-name": "Italy",
"postal-code": "00044",
"locality": "Frascati",
"street-address": "Via Galileo Galilei CP. 64"
}
}
Example 11: Agent encoding example (Individual)
{
"type": "Individual",
"name": "Christopher J. Merchant",
"hasName": {
"given-name": "Christopher",
"family-name": "Merchant",
"additional-name": "J."
},
"hasAddress": {
"locality": "Reading"
}
}

7.3.5.  ProvenanceStatement

Requirement 15:

/req/provenance-statement

A “ProvenanceStatement” object shall implement the properties shown in Table 20 with the value matching the type shown, and with the obligation shown.

The proposed encoding is aligned with GeoDCAT-AP [OR15] §II.12.

Figure 11 — ProvenanceStatement Schema

Complete description of ProvenanceStatement is given in Table 12.

Table 12 — ProvenanceStatement object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.provenance[*].type
Type of the element. This property has the fixed value “ProvenanceStatement”.Domain: ProvenanceStatement Range: StringZero or one (optional)
label
$.properties.provenance[*].label
Free text content of the corresponding ISO19139-2 metadata property gmd:lineage.Property [OR15] Domain: ProvenanceStatement Range: String.One (mandatory)
Example 12: ProvenanceStatement encoding example
{
     "type":   "ProvenanceStatement",
     "label":  "Forest Map 2006 is derived from the IMAGE2006 (SPOT/LISS scenes) and CORINE2006 landcover dataset. In addition, MODIS composites are used for the Forest type classification."
}

7.3.6.  Activity

Requirement Class: Activity

/req/activity

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/association
Dependency/req/entity

Requirement 16:

/req/activity/properties

Requirement 16:

/req/activity/properties

An “Activity” object shall implement the properties shown in Table 13 with the value matching the type shown, and with the obligation shown.

The proposed encoding is aligned with GeoDCAT-AP [OR15] §II.14 and PROV-O [OR30].

Figure 12 — Activity Schema

Complete description of Activity is given in Table 13.

Table 13 — Activity object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.wasUsedBy[*].type
Type of the element. This property has the fixed value “Activity”.Domain: Activity Range: StringZero or one (optional)
generated
$.properties.wasUsedBy[*].generated
Refers to the conformity result which is encoded as an Entity.Domain: Activity Range: EntityOne (mandatory)
qualifiedAssociation
$.properties.wasUsedBy[*].qualifiedAssociation
Refers to the specification against which conformity is expressed, encoded as an Association.Domain: Activity Range: AssociationOne (mandatory)
Example 13: Activity encoding example
{
     "type":   "Activity",
     "generated": {
         "type":   "Entity",
         "degree":   "http://inspire.ec.europa.eu/metadata-codelist/DegreeOfConformity/conformant",
         "description": "See the referenced specification"
     },
     "qualifiedAssociation": {
         "type":   "Association",
         "hadPlan": {
             "type":   "Plan",
             "wasDerivedFrom": {
                 "type":   "Standard",
                 "title":  "COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services",
                 "issued":   "2010-12-08T00:00:00Z"
             }
         }
    }
}

7.3.7.  Entity

Requirement 17:

/req/entity

An “Entity” object shall implement the properties shown in Table 14 with the value matching the type shown, and with the obligation shown.

The proposed encoding is aligned with GeoDCAT-AP [OR15] §II.14 and PROV-O [OR30].

Figure 13 — Entity Schema

Complete description of Entity is given in Table 14.

Table 14 — Entity object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.wasUsedBy[*].generated.type
Type of the element. This property has the fixed value “Entity”.Domain: Entity Range: StringZero or one (optional)
degree
$.properties.wasUsedBy[*].generated.degree
URI defining the degree of conformity. The INSPIRE Registry maintains a URI set at http://inspire.ec.europa.eu/metadata-codelist/DegreeOfConformityDomain: Entity Range: String (URI)One (mandatory)
description
$.properties.wasUsedBy[*].generated.description
Description of the result.Domain: Entity Range: StringZero or one (optional)
Example 14: Entity encoding example
{
     "type":   "Entity",
     "degree":   "http://inspire.ec.europa.eu/metadata-codelist/DegreeOfConformity/conformant",
     "description": "See the referenced specification"
}

7.3.8.  Association

Requirement Class: Association

/req/association

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/plan

Requirement 18:

/req/association/properties

Requirement 18:

/req/association/properties

An “Association” object shall implement the properties shown in Table 15 with the value matching the type shown, and with the obligation shown.

The proposed encoding is aligned with GeoDCAT-AP [OR15] §II.14 and PROV-O [OR30].

Figure 14 — Association Schema

Complete description of Association is given in Table 15.

Table 15 — Association object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.wasUsedBy[*].qualifiedAssociation.type
Type of the element. This property has the fixed value “Association”.Domain: Association Range: StringZero or one (optional)
hadPlan
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan
Set of actions or steps intended by one or more agents to achieve some goals.Domain: Association Range: PlanOne (mandatory)
Example 15: Association encoding example
{
     "type":   "Association",
     "hadPlan": {
         "type":   "Plan",
         "wasDerivedFrom": {
             "type":   "Standard",
             "title":  "COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services",
             "issued":   "2010-12-08"
         }
     }
}

7.3.9.  Plan

Requirement Class: Plan

/req/plan

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/standard

Requirement 19:

/req/plan/properties

Requirement 19:

/req/plan/properties

A “Plan” object shall implement the properties shown in Table 16 with the value matching the type shown, and with the obligation shown.

The proposed encoding is aligned with GeoDCAT-AP [OR15] §II.14 and PROV-O [OR30].

Figure 15 — Plan Schema

Complete description of Plan is given in Table 16.

Table 16 — Plan object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.type
Type of the element. This property has the fixed value “Plan”.Domain: Plan Range: StringZero or one (optional)
wasDerivedFrom
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom
Refers to the specification against which conformity is expressed, encoded as a Standard.Range: StandardOne (mandatory)
Example 16: Plan encoding example
{
     "type":   "Plan",
     "wasDerivedFrom": {
         "type":   "Standard",
         "title":  "COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services",
         "issued":   "2010-12-08"
     }
}

7.3.10.  Standard

Requirement 20:

/req/standard

A “Standard” object shall implement the properties shown in Table 17 with the value matching the type shown, and with the obligation shown.

The proposed encoding is aligned with GeoDCAT-AP [OR15] §II.14.

Figure 16 — Standard Schema

Complete description of Standard is given in Table 17.

Table 17 — Standard object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.type
Type of the element. This property has the fixed value “Standard”.Domain: Standard Range: StringZero or one (optional)
title
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.title
/gmd:MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_DomainConsistency/gmd:result Title of the specification against which conformity is expressed.Domain: Standard Range: StringOne (mandatory)
issued
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.issued
Issue date of the specification against which conformity is expressed.Domain: Standard Range: DateTimeZero or one (optional)
versionInfo
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.versionInfo
Version of the specification against which conformity is expressed.Domain: Standard Range: StringZero or one (optional)
Example 17: Standard encoding example
{
     "type":   "Standard",
     "title":  "COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services",
     "issued":   "2010-12-08"
}

7.4.  Requirements class: Resource Constraints

Requirement Class: Resource Constraints

/req/resource-constraints

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/license-document
Dependency/req/rights-statement

Requirement 21:

/req/resource-constraints/properties

Requirement 24:

/req/use-constraints

Requirement 25:

/req/access-constraints

Requirement 21:

/req/resource-constraints/properties

A “ResourceConstraints” object shall implement the properties shown in Table 18 with the value matching the type shown, and with the obligation shown.

The proposed encoding is aligned with DCAT Version 2 [OR25] and GeoDCAT-AP [OR15] §II.15.

Figure 17 — ResourceConstraints Schema

Complete description of ResourceConstraints is given in Table 18.

Table 18 — ResourceConstraints object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
rights
$.properties.rights
Information about rights held in and over the collection. See OGC 14-055r2 §7.1.2.7. Also defined in [OR25] as a statement that concerns all rights not addressed with license or accessRights, such as copyright statements.Property [NR5] Domain: Properties Range: StringZero or one (optional)
license
$.properties.license
Information about licensing terms for the EO collection distribution. For example the encoding of the corresponding ISO19139-2 metadata property gmd:useLimitation.Domain: Distribution Range: Array of LicenseDocument (See Table 19)Zero or one (optional)
accessRights
$.properties.accessRights
Information about access conditions for the EO collection distribution. For example the encoding of the corresponding ISO19139-2 metadata properties gmd:accessConstraints and gmd:otherConstraints.Domain: Distribution Range: Array of RightsStatement (See Table 20)Zero or one (optional)
Example 18: ResourceConstraints encoding example
{
  "rights": "Data are available upon fast registration",
  "license": [
    {
      "type": "LicenseDocument",
      "label": "Fast Registration with immediate access Data is available via EOLI-SA upon registration for the (A)SAR On The Fly Service. For information on access and use of the On-The-Fly service please refer to the OTF FAQ page and news of 28 July 2016."
    }
  ],
  "accessRights": [
    {
      "type": "RightsStatement",
      "label": "Utilisation of this data is subject to ESA's Earth Observation Terms and Conditions"
    }
  ]
},

7.4.1.  LicenseDocument

Requirement 22:

/req/license-document

A “LicenseDocument” object shall implement the properties shown in Table 19 with the value matching the type shown, and with the obligation shown.

The proposed encoding is aligned with GeoDCAT-AP [OR15] §II.15.

Figure 18 — LicenseDocument Schema

A LicenseDocument is encoded as an object or as a URI identifying such object. The complete description of the LicenseDocument object is given in Table 19.

Table 19 — LicenseDocument object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type $.properties.license[*].typeType of the element. This property has the fixed value “LicenseDocument”.Domain: LicenseDocument Range: StringZero or one (optional)
label $.properties.license[*].labelFree text content of the corresponding ISO19139-2 metadata property gmd:useLimitation.Property [OR15] Domain: LicenseDocument Range: String.One (mandatory)
Example 19: LicenseDocument encoding example (Object)
{
     "type":   "LicenseDocument",
     "label":  "Fast Registration with immediate access Data is available via EOLI-SA upon registration for the (A)SAR On The Fly Service. For information on access and use of the On-The-Fly service please refer to the OTF FAQ page and news of 28 July 2016."
}
Example 20: LicenseDocument encoding example (URI)
"https://creativecommons.org/licenses/by/4.0/"

7.4.2.  RightsStatement

Requirement 23:

/req/rights-statement

A “RightsStatement” object shall implement the properties shown in Table 20 with the value matching the type shown, and with the obligation shown.

The proposed encoding is aligned with GeoDCAT-AP [OR15] §II.15.

Figure 19 — RightsStatement Schema

A RightsStatement is encoded as an object or as a URI identifying such object. The complete description of RightsStatement is given in Table 20.

Table 20 — RightsStatement object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.accessRights[*].type
Type of the element. This property has the fixed value “RightsStatement”.Domain: RightsStatement Range: StringZero or one (optional)
label
$.properties.accessRights[*].label
Free text content of the corresponding ISO19139-2 metadata properties gmd:accessConstraints and gmd:otherConstraints.Property [OR15] Domain: RightsStatement Range: String.One (mandatory)
Example 21: RightsStatement encoding example (Object)
{
     "type":   "RightsStatement",
     "label":  "Utilisation of this data is subject to ESA's Earth Observation Terms and Conditions"
}
Example 22: RightsStatement encoding example (URI)
"https://earth.esa.int/web/guest/data-access/how-to-access-eo-data/asar-on-the-fly-faq"

7.4.3.  Use Constraints

Requirement 24:

/req/use-constraints

Use Constraints shall be implemented through the ResourceConstraints and LicenseDocument (Section 7.4.1) objects.

Example 23: Use Constraints encoding example (Object)
{
"license": [
{
"type": "LicenseDocument",
"label": "Fast Registration with immediate access Data is available via EOLI-SA upon registration for the (A)SAR On The Fly Service. For information on access and use of the On-The-Fly service please refer to the OTF FAQ page and news of 28 July 2016."
}
]
}
Example 24: Use Constraints encoding example (URI)
{
"license": [
"https://creativecommons.org/licenses/by/4.0/"
]
}

7.4.4.  Access Constraints

Requirement 25:

/req/access-constraints

Access Constraints shall be implemented through the ResourceConstraints and RightsStatement (Section 7.4.2) objects.

Example 25: Access Constraints encoding example (Object)
{
"accessRights": [
{
"type": "RightsStatement",
"label": "Utilisation of this data is subject to ESA's Earth Observation Terms and Conditions"
}
]
}
Example 26: Access Constraints encoding example (URI)
{
"accessRights": [
"https://earth.esa.int/web/guest/data-access/how-to-access-eo-data/asar-on-the-fly-faq"
]
}

7.5.  Requirements class: Descriptive Keywords

Requirement Class: Descriptive Keywords

/req/descriptive-keywords

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/category

Requirement 26:

/req/descriptive-keywords/properties

Requirement 34:

/req/location-keywords

Requirement 36:

/req/temporal-keywords

Requirement 26:

/req/descriptive-keywords/properties

A “DescriptiveKeywords” object shall implement the properties shown in Table 21 with the value matching the type shown, and with the obligation shown.

The DescriptiveKeywords properties are inherited by the Properties block. To align with GeoDCAT-AP [OR15] §II.8.1, three kinds of keywords are distinguished.

Figure 20 — DescriptiveKeywords Schema

Complete description of DescriptiveKeywords is given in Table 21.

Table 21 — DescriptiveKeywords object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
subject
$.properties.subject
ISO topic categories related to the collection.Property [OR15] Domain: Properties Range: Array of Category (See Table 22)Zero or one (optional)
categories
$.properties.categories
Keywords belonging to a controlled vocabulary related to the collection.Optional property in [NR5] Domain: Properties Range: Array of Category (See Table 22)Zero or one (optional)
keyword
$.properties.keyword
Free keywords not belonging to a controlled vocabulary related to the collection. Defined in DCAT [OR13].Property [OR13] Domain: Properties Range: Array of StringZero or one (optional)
Example 27: DescriptiveKeywords encoding example
{
"categories": [
{
"term": "http://www.eionet.europa.eu/gemet/concept/3650",
"scheme": "http://www.eionet.europa.eu/gemet/",
         "label":  "Geology"
},
{
"term": "https://gcmdservices.gsfc.nasa.gov/kms/concept/03f0c0a3-04a7-4ef8-8ec0-3c2266510815",
         "scheme": " https://gcmdservices.gsfc.nasa.gov/kms/concepts/concept_scheme/sciencekeyword",
         "label":  "VISIBLE IMAGERY"
},
     {
"term": "https://gcmdservices.gsfc.nasa.gov/kms/concept/98dc8278-fe0a-4e36-a638-9d7a5b0ed826",
         "scheme": "https://gcmdservices.gsfc.nasa.gov/kms/concepts/concept_scheme/projects",
         "label":  "FedEO"
},
     {
"term": "https://gcmdservices.gsfc.nasa.gov/kms/concept/ad598334-f541-4be4-888c-c2dc7eb54194",
         "scheme": "https://gcmdservices.gsfc.nasa.gov/kms/concepts/concept_scheme/CollectionDataType",
         "label":  "NEAR_REAL_TIME"
}

],
"keyword": [
"FedEO",
"ESA LDS"
],
"subject": [
{
"term": "http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/geoscientificInformation",
         "label":  "Geoscientific Information"
},
     {
"term": "https://gcmdservices.gsfc.nasa.gov/kms/concept/d9cd5b7e-e9e7-4746-bbc8-bc69f7b606c7",
         "label":  "GEOSCIENTIFIC INFORMATION",
         "scheme": "https://gcmdservices.gsfc.nasa.gov/kms/concepts/concept_scheme/isotopiccategory"
}
]
}

7.5.1.  Category

Requirement 27:

/req/category

A “Category” object shall implement the properties defined in OGC 14-055r2 [NR5], with the value matching the type shown, and with the obligation shown.

The Category block contains the properties of a keyword and is defined in [NR5].

Figure 21 — Category Schema

Complete description of Category is given in Table 22.

Table 22 — Category object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.categories[*].type
Type of the element. This property has the fixed value “Category”.Domain: Category Range: String Fixed value: “Category”Zero or one (optional)
scheme
$.properties.categories[*].scheme
Identification of the code-list defining the keyword. Defined in section 7.1.1.15 of [NR5].Optional property in [NR5] Domain: Category Range: String (URI).Zero or one (optional)
term
$.properties.categories[*].term
Identification of the keyword. See also [OR22] for using of URI as string value.Mandatory property in [NR5] Domain: Category Range: StringOne (mandatory)
label
$.properties.categories[*].label
Human readable representation of the keyword.Optional property in [NR5] Domain: Category Range: StringZero or one (optional)
Example 28: Category encoding example
{
     "type":   "Category",
     "scheme": "http://www.eionet.europa.eu/gemet/",
     "term":   "http://www.eionet.europa.eu/gemet/concept/4612",
     "label":  "Land cover"
}

7.7.  Requirements class: Spatial Information

Requirement Class: Spatial Information

/req/spatial-information

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/category
Dependency/req/geometry

Requirement 34:

/req/location-keywords

7.7.1.  Spatial Extent

The spatial information is encoded as a Geometry object as defined by GeoJSON. There are requirements for Position, Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, Geometry Collection described in OGC 17-003r2 [NR4]. Although these geometry objects are relevant for EO Products, for EO Collections, the most common geometry object is a Polygon. For the detailed definition of the geometry objects and corresponding examples, we refer to [NR4].

Requirement Class: Spatial Extent

/req/geometry

Target TypeData instance
DependencyGeoJSON [NR2]
Dependency/req/point
Dependency/req/multi-point
Dependency/req/linestring
Dependency/req/multi-linestring
Dependency/req/polygon
Dependency/req/multi-polygon

Requirement 33:

/req/geometry/properties

Requirement 33:

/req/geometry/properties

Objects in a data instance that describe 0-D, 1-D, or 2-D geometries with positions in the WGS-84 system shall be encoded using the GeoJSON geometry encoding [NR2].

7.7.1.1.  Geometry

The Geometry object contains a type property and coordinates property. The object can be any of the specialisations described below. The expected value for the coordinates property depends on the type of the geometry.

Figure 27 — Geometry Schema (GeoJSON)

Complete description of the Geometry properties is given in Table 28. The possible specializations are explained in [NR4].

Table 28 — Geometry object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.geometry.type
Type of the geometry representing the footprint. Can be one of the geometry types: Point, LineString, Polygon, MultiPoint, MultiLineString or MultiPolygon.Property [NR2], [OR33] Range: StringOne (mandatory)
coordinates
$.geometry.coordinates
Array with structure determined by the geometry type to be represented. Note that a position (array of numbers) is indicated by longitude, latitude (in that order).Property [NR2], [OR33] Range: See section 3.1 of [NR2].One (mandatory)

Note that consumers that wish to use the standard JSON-LD Processing Algorithms may need to use an alternative representation for the geometry objects as explained in section 8.2 and avoid the use of multi-dimensional arrays.

7.7.1.2.  Polygon

Figure 28 — Polygon Schema

Note that according to [NR2], Polygon rings shall follow the right-hand rule for orientation (counter-clockwise external rings, clockwise internal rings).

Example 36: GeoJSON Polygon encoding example
{
"type": "Feature",
"id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/geo%2Bjson&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-180,
-90
],
[
180,
-90
],
[
180,
90
],
[
-180,
90
],
[
-180,
-90
]
]
]
},

   "properties": { }
}

7.7.2.  Location Keywords

Requirement 34:

/req/location-keywords

A “LocationKeywords” object shall implement the properties shown in Table 21 (section 7.5 “Descriptive Keywords”), with the value matching the type shown, and with the obligation shown.

This encoding applies to keywords of type “place.” /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:type/gmd:MD_KeywordTypeCode[@codeListValue=”place”]

Example 37: Location Keywords encoding example (GCMD)
{
  "categories": [
    {
      "term": "https://gcmdservices.gsfc.nasa.gov/kms/concept/51e3593f-4b42-4141-972e-96666c479f9c",
      "scheme": " https://gcmdservices.gsfc.nasa.gov/kms/concepts/concept_scheme/locations",
      "label": "GLOBAL"
    }
  ]
}
Example 38: Location Keywords encoding example (INSPIRE)
{
  "categories": [
    {
      "term": "http://publications.europa.eu/resource/authority/country/BEL",
      "scheme": "http://publications.europa.eu/resource/authority/country"
    }
  ]
}

7.8.  Requirements class: Temporal Information

Requirement Class: Temporal Information

/req/temporal-information

Target TypeData instance
DependencyJSON [NR1]

Requirement 35:

/req/temporal-extent

Requirement 36:

/req/temporal-keywords

7.8.1.  Temporal Extent

Requirement 35:

/req/temporal-extent

A “TemporalExtent” object shall implement the properties shown in Table 29, with the value matching the type shown, and with the obligation shown.

The TemporalExtent object contains the properties related to the start and end time of the acquisition of the data.

Figure 29 — TemporalExtent Schema

Complete description of the TemporalExtent properties is given in Table 29.

Table 29 — TemporalExtent object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.temporal.type
Type of the element. This property has the fixed value “PeriodOfTime”.Domain: PeriodOfTime Range: String Fixed value: “PeriodOfTime”Zero or one (optional)
beginningDateTime
$.properties.temporal.beginningDateTime
Acquisition start date time DateTime representation, as defined by RFC 3339, section 5.6footnote::[rfc3339,A String matching RFC 3339 section 5.6. yyyy-MM-ddThh:mm:ss[.S](Z/(+/-)th:tm) where yyyy = Four digit year, MM = Two digit month (01 = January), dd = Two digit day of month (01 = first day), hh = Hour of day (00 – 23), mm = Minute of hour (00 – 59), ss = Second of minute (00 – 59), S = fraction of seconds with any precision. Times are in UTC (ending with the mandatory Z character) or defined with an offset w.r.t. UTC: th = Time offset hours (00 — 23), tm = Time offset minutes (00 — 59).]Domain: PeriodOfTime Range: DateTimeZero or one (optional)
endingDateTime
$.properties.temporal.endingDateTime
Acquisition end date time DateTime representation, as defined by RFC 3339, section 5.613footnote::[rfc3339]Domain: PeriodOfTime Range: DateTimeZero or one (optional)
Example 39: TemporalExtent encoding example
{
      "beginningDateTime": "2015-06-23T00:00:00Z",
      "endingDateTime": "2018-11-28T15:23:57Z"
}

7.8.2.  Temporal Keywords

Requirement 36:

/req/temporal-keywords

A “TemporalKeywords” object shall implement the properties shown in Table 21 (section 7.5 “Descriptive Keywords”), with the value matching the type shown, and with the obligation shown.

This encoding applies to keywords of type “temporal.” /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gmd:type/MD_KeywordTypeCode[@codeListValue=”temporal”]

Example 40: Temporal Keywords encoding example
{
  "categories": [
    {
      "term": "https://gcmdservices.gsfc.nasa.gov/kms/concept/99ef187e-6940-4c10-8d65-00d4426d493b ",
      "scheme": " https://gcmdservices.gsfc.nasa.gov/kms/concepts/concept_scheme/temporalresolutionrange ",
      "label": "Diurnal"
    }
  ]
}

7.9.  Requirements class: Acquisition Information

The acquisition information applicable to EO Collections is a subset of the acquisition information applicable to EO products. The encoding of this subset is identical to the encoding defined in OGC 17-003r2 [NR4] and is repeated here for convenience of the reader.

Requirement Class: Acquisition Information

/req/acquisition-information

Target TypeData instance
DependencyJSON [NR1]
Dependency/req/platform
Dependency/req/instrument
Dependency/req/temporal-extent

Requirement 37:

/req/acquisition-information/properties

Requirement 37:

/req/acquisition-information/properties

An “AcquisitionInformation” object shall implement the properties shown in Table 30, with the value matching the type shown, and with the obligation shown.

The AcquisitionInformation block can appear multiple times and contains information about the platform (i.e., satellite), the instrument and the acquisition parameters.

Figure 30 — AcquisitionInformation Schema

The complete description of the AcquisitionInformation properties is given in Table 30. It is a subset of the properties defined in OGC 17-003r2 [NR4].

Table 30 — AcquisitionInformation object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
platform
$..acquisitionInformation[*].platform
The Platform used for the acquisition. If more than one platform is used for creating the product, then the AcquisitionInformation object occurs more than once.Domain: AcquisitionInformation Range: Platform See Table 31Zero or one (optional)
instrument
$..acquisitionInformation[*].instrument
The Instrument/Sensor used for the acquisition. If more than one instrument is used for creating the product, then the AcquisitionInformation object occurs more than once.Domain: AcquisitionInformation Range: Instrument See Table 32Zero or one (optional)
acquisitionParameters
$..acquisitionInformation[*].acquisitionParameters
The acquisition parameters limited to the temporal extent. Use of $.properties.temporal to encode temporal extent of the collection is preferred. Is both are used, then acquisitionParameters are interpreted as begin and end time of the observation activity (provenance).Domain: AcquisitionInformation Range: TemporalExtent See Table 29Zero or one (optional)
Example 41: AcquisitionInformation encoding example
{
  "platform": {
    "id": "https://earth.esa.int/concept/sentinel-2",
    "platformShortName": "Sentinel-2"
  },
  "instrument": {
    "id": "https://earth.esa.int/concept/s2-msi",
    "instrumentShortName": "MSI"
  },
  "acquisitionParameters": {
    "beginningDateTime": "2015-06-23T00:00:00Z"
  }
}

7.9.1.  Platform

The encoding of platform information is identical to the encoding defined in OGC 17-003r2 [NR4] but is repeated here for convenience of the reader.

Requirement 38:

/req/platform

A “Platform” object shall implement the properties shown in Table 31, with the value matching the type shown, and with the obligation shown.

The Platform block contains the properties of the platform that was used to perform the observation.

Figure 31 — Platform Schema

Complete description of the Platform properties is given in Table 31.

Table 31 — Platform object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$..acquisitionInformation[*].platform.type
Type of the object. This property has the fixed value “Platform”.Range: String Fixed value: “Platform”Zero or one (optional)
id
$..acquisitionInformation[*].platform.id
URI of platform. E.g., http://gcmdservices.gsfc.nasa.gov/kms/concept/a1498dff-002d-4d67-9091-16822c608221 for ENVISATRange: String (URI)Zero or one (Optional)
platformShortName
$..acquisitionInformation[*].platform.platformShortName
Platform short name (e.g., “Seasat” or “ENVISAT”)Domain: Platform Range: StringOne (mandatory)
platformSerialIdentifier
$..acquisitionInformation[*].platform.platformSerialIdentifier
Platform serial identifier (e.g., for Seasat : 1).Domain: Platform Range: StringZero or one (Optional)
orbitType
$..acquisitionInformation[*].platform.orbitType
High level characterisation of main mission types taken from a codelistDomain: Platform Range: String Values: GEO, LEOZero or one (Optional)
Example 42: Platform encoding example
{
            "id": "http://gcmdservices.gsfc.nasa.gov/kms/concept/1bffe898-f4a2-458e-92c5-cd7c9c1cd5f0",
            "platformShortName": "Seasat",
            "platformSerialIdentifier": "1",
            "orbitType": "LEO"
}

7.9.2.  Instrument

The encoding of instrument information is identical to the encoding defined in OGC 17-003r2 [NR4] but is repeated here for convenience of the reader.

Requirement 39:

/req/instrument

An “Instrument” object shall implement the properties shown in Table 32, with the value matching the type shown, and with the obligation shown.

The Instrument block contains the properties of the instrument that was used to perform the observation.

Figure 32 — Instrument Schema

A complete description of the Instrument properties is given in Table 32.

Table 32 — Instrument object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$..acquisitionInformation[*].instrument.type
Type of the object. This property has the fixed value “Instrument”.String Fixed value: “Instrument”Zero or one (optional)
id
$..acquisitionInformation[*].instrument.id
URI of instrument. E.g., http://gcmdservices.gsfc.nasa.gov/kms/concept/912c3308-23bc-4e12-b7fb-9d82e9fc5fe9 for ENVISAT ASARDomain: Instrument Range: String (URI)Zero or one (optional)
sensorType
$..acquisitionInformation[*].instrument.sensorType

Sensor type based on codelist Values:

  • OPTICAL

  • RADAR

  • ALTIMETRIC

  • ATMOSPHERIC

  • LIMB

Domain: Instrument Range: StringZero or one (optional)
instrumentShortName
$..acquisitionInformation[*].instrument.instrumentShortName
Instrument (Sensor) nameDomain: Instrument Range: StringOne (mandatory)
description
$..acquisitionInformation[*].instrument.description
Instrument descriptionDomain: Instrument Range: StringZero or one (optional)
Example 43: Instrument encoding example
{               "id":  "http://gcmdservices.gsfc.nasa.gov/kms/concept/a37282d4-322c-4dd0-8edc-36099b9b586c",
                "sensorType": "RADAR",
                "instrumentShortName": "SAR"
}

7.10.  Requirements class: Product Information

The product information applicable to EO Collections is a subset of the product information applicable to EO products. The encoding of this subset is borrowed from the encoding defined in OGC 17-003r2 [NR4].

Requirement Class: Product Information

/req/product-information

Target TypeData instance
DependencyJSON [NR1]

Requirement 40:

/req/product-information/properties

Requirement 40:

/req/product-information/properties

A “ProductInformation” object shall implement the properties shown in Table 33, with the value matching the type shown, and with the obligation shown.

The ProductInformation block contains the common properties related to the product belonging to the collection which is the result of the observation and acquisition of the data.

Figure 33 — ProductInformation Schema

The complete description of the AcquisitionInformation properties is given in Table 33. It groups a subset of properties defined in OGC 17-003r2 [NR4].

Table 33 — ProductInformation object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type
$.properties.productInformation.type
Type of the object. This property has the fixed value “ProductInformation”.Domain: ProductInformation Range: String Fixed value: “ProductInformation”Zero or one (optional)
processingLevel
$.properties.productInformation.processingLevel
Processing level applied to the product.Domain: ProductInformation Range: String “1A”, “1B”, “1C”, “2”, “3”Zero or one (optional)
productType
$.properties.productInformation.productType
Describes the product types available within the collection.Domain: ProductInformation Range: Array of StringZero or one (optional)
resolution
$.properties.productInformation.resolution
Product resolutions. A single collection may contain products of different resolutions, e.g., the VITO CGS_S2_FAPAR collection includes products with 10m and 20m resolution. Unit of measure is SI base unit (m) without prefix.Domain: ProductInformation Range: Array of DoubleZero or one (optional)
timeliness
$.properties.productInformation.timeliness
Timeliness of the product, such as “near real time”, “rush”. Possible values are mission specific and shall refer to mission/ground segment dedicated codeSpace. Example of values could be “NRT”, “NOMINAL”, “NTC” or “STC”Domain: ProductInformation Range: StringZero or one (optional)
referenceSystemIdentifier
$.properties.productInformation.referenceSystemIdentifier
Indicates if product is geo-referenced, (in which case should point to a code space for the CRS), when not supplied it is assumed that the product is provided in “raw” satellite frame of reference E.g., http://www.opengis.net/def/crs/EPSG/0/4326Domain: ProductInformation Range: String (URI)Zero or one (Optional)
Example 44: ProductInformation encoding example
{
    "referenceSystemIdentifier": "http://www.opengis.net/def/crs/EPSG/0/32631",
    "timeliness": "NOMINAL",
    "processingLevel": "3",
    "resolution": [ 10, 20 ],
    "productType": [ "FAPAR" ],
}

8.  Extensibility

8.1.  Additional properties

In the current EO Collection metadata GeoJSON(-LD) Encoding Standard, an “extension” is any property, or object type not defined by the current document. Consuming implementations that encounter unfamiliar extensions shall not stop processing or signal an error and shall continue processing the items as if those properties were not present. Note that support for extensions can vary across implementations and no normative processing model for extensions is defined. Accordingly, implementations that rely too heavily on the use of extensions may experience reduced interoperability with other implementations.

For extensions, JSON-LD [NR13] is used as the primary mechanism for defining and disambiguating extensions. Implementations that wish to fully support extensions should use JSON-LD mechanisms.

It is important to note that the JSON-LD Processing Algorithms [OR4], as currently defined, will silently ignore any property not defined in a JSON-LD @context. Implementations that publish EO OpenSearch Response documents containing extension properties should provide a @context definition for all extensions.

8.2.  JSON-specific constructs

It is important to note that there are valid JSON constructs which cannot be used within a JSON-LD document. For instance, JSON-LD forbids “arrays of arrays” as used by the GeoJSON specification. While implementations are free to use such constructs as extensions within an EO Dataset Metadata document, consumers that use the standard JSON-LD Processing Algorithms will be required to either ignore such extensions or map those to alternative compatible constructs prior to applying the JSON-LD algorithms. Complex geometries can be converted to GeoSPARQL [OR23] “Well-Known Text” representations as illustrated in the non-normative example below.

Example 45: JSON-LD encoding example using GeoSPARQL
{
"@context": {
"gj": "https://purl.org/geojson/vocab#",
"gsp": "http://www.opengis.net/ont/geosparql#"
},
"@type": [
"gj:Feature",
"gsp:Feature"
],
"@id": "http://fedeo.esa.int/opensearch/request/?parentIdentifier=SEA_GEC_1P&uid=SE1_OPER_SEA_GEC_1P_19780927T010430_19780927T010445_001316_0000_2267_9B4F",
"gsp:hasGeometry": {
"@type": "gsp:Geometry",
"gsp:asWKT": "Polygon((-2.682513, 63.261372, -2.695740, 61.997604, 0.005087, 61.965195, 0.135472, 63.227173, -2.682513, 63.261372))"
},
...
}

Other implementations may encode geometries as recommended by the GeoDCAT-AP specification [OR15] §II.10.

Figure 34 — Location Schema

Complete description of Location is given in Table 34.

Table 34 — Location object properties

JSON PropertyDefinitionData type and valuesMultiplicity and use
type $.properties.spatial.typeType of the object. This property has the fixed value “Location”.Range: String Fixed value: “Location”Zero or one (optional)
id $.properties.spatial.typeURI of location object.Range: String (URI)Zero or one (optional)
geometry $.properties.spatial.geometryAssociates the resource with the corresponding geometry encoded as a typed literal (in WKT, GML or GeoJSON). See also [OR32].Range: array of LOCN Geometry Objects [OR32].One or more (mandatory)
*
Example 46: JSON encoding example using Location
{
"@context": {

},

"type": "Feature",
"geometry": null,

"properties": {

      "spatial": {
"geometry": [
{
"type": "gsp:gmlLiteral",
"value": "<gml:Envelope srsName=\"http://www.opengis.net/def/crs/OGC/1.3/CRS84\"><gml:lowerCorner>-180 -90</gml:lowerCorner><gml:upperCorner>180 90</gml:upperCorner></gml:Envelope>"
},
{
"type": "gsp:wktLiteral",
"value": "POLYGON ((-180 -90, -180 90, 180 90, 180 -90, -180 -90))"
},
{
"type": "https://www.iana.org/assignments/media-types/application/vnd.geo+json",
"value": "{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"urn:ogc:def:crs:OGC:1.3:CRS84\"}},\"coordinates\":[[[-180,-90],[-180,90],[180,90],[180,-90],[-180,-90]]]}"
}
]
}
   }
}
Example 47: JSON-LD encoding example using Location
{
  "@context": {
        "dcat": "http://www.w3.org/ns/dcat#",
   "dct": "http://purl.org/dc/terms/",
         "gsp": "http://www.opengis.net/ont/geosparql#",
         "locn": "http://www.w3.org/ns/locn#",
    …
  },


     "dct:spatial": {
            "@type": "dct:Location",
"locn:geometry": [
{
"@type": "gsp:gmlLiteral",
"@value": "<gml:Envelope srsName=\"http://www.opengis.net/def/crs/OGC/1.3/CRS84\"><gml:lowerCorner>-180 -90</gml:lowerCorner><gml:upperCorner>180 90</gml:upperCorner></gml:Envelope>"
},
{
"@type": "gsp:wktLiteral",
"@value": "POLYGON ((-180 -90, -180 90, 180 90, 180 -90, -180 -90))"
},
{
"@type": "https://www.iana.org/assignments/media-types/application/vnd.geo+json",
"@value": "{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"urn:ogc:def:crs:OGC:1.3:CRS84\"}},\"coordinates\":[[[-180,-90],[-180,90],[180,90],[180,-90],[-180,-90]]]}"
}
]
}

}

9.  Media Types for Any Data Encoding(s)

When EO OpenSearch Responses are delivered using HTTP, the following MIME media types shall be used:

Table 35 — Media types

Media type Description
#1 application/geo+json GeoJSON representation with implicit normative context or normative context linked via a http://www.w3.org/ns/json-ld#context HTTP Link Header. See examples in annexes D.1.*.2.
#2 application/ld+json;profile=” http://www.w3.org/ns/json-ld#compacted" GeoJSON-LD representation compacted according to the normative context and with all context information within the body of the document. See examples in annexes D.1.*.3.
#3 application/ld+json GeoJSON-LD representation with all context information within the body of the document. See examples in annexes D.1.*.4.
#4 application/ld+json;profile=” http://www.opengis.net/spec/eoc-geojson/1.0" GeoJSON-LD representationa with all context information within the body of the document. See examples in annexes D.1.*.4.
#5 text/turtle;profile=” http://www.opengis.net/spec/eoc-geojson/1.0" Turtle [OR12] representationa equivalent to representation #4.
#6 application/rdf+xml;profile=” http://www.opengis.net/spec/eoc-geojson/1.0" RDF/XML [OR11] representation equivalent to representation #4. See example in Annex D.1.2.5.

a  Uses “profile” to indicate RDF vocabulary as proposeded in “Negotiating Profiles in HTTP”, draft-svensson-accept-profile-00, available at http://profilenegotiation.github.io/I-D-Accept—​Schema/I-D-accept-schema.

10.  Future Work (Non-Normative)

Several future enhancements of this proposed document are possible. Obvious enhancements are as follows.


Annex A
(normative)
ABSTRACT TEST SUITE

A.1.  Introduction

Conformance is tested using a set of JSON Schema [OR7] definitions which formalize the requirements described above. Strictly, each object definition is a “JSON Schema,” so a JSON schema document may include multiple, sometimes nested, “JSON Schemas,” providing the definition of the objects. Using JSON References, JSON schema supports inclusion of schemas defined in a JSON schema document into new schemas defined in the same or another document, so standard JSON objects may be defined once and re-used in multiple contexts, and a set of related object definitions may be composed from multiple documents.

The dependencies of the requirement classes (green) and requirements (orange) correspond to the dependencies of the JSON Schema definitions as shown in the Figure below. Arrows indicate dependencies.

Figure A.1 — Conformance and requirements class dependencies

A.2.  Conformance Class: /conf/feature

Conformance Class/conf/feature
Requirements/req/feature
DependencyA JSON Schema Validator
Test/conf/earthobservation
Requirement

req/feature/properties,
[req/geometry],
[req/properties].

Test purposeVerify that the JSON instance document is a valid Feature object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.3.  Conformance Class: /conf/properties

Conformance Class/conf/properties
Requirements/req/properties
DependencyA JSON Schema Validator
Test/conf/properties
Requirement

req/properties/properties,
req/properties/data-identification,
req/properties/decriptive-keywords,
req/properties/related-url,
[req/acquisition-information],
[req/product-information],
[req/metadata-information],
req/temporal-extent,
req/location,
[req/data-identification],
[req/descriptive-keywords],
[req/related-url].

Test purposeVerify that the JSON instance document is a valid Properties object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.4.  Conformance Class: /conf/metadata-information

Conformance Class/conf/metadata-information
Requirements/req/metadata-information
DependencyA JSON Schema Validator
Test/conf/metadata-information
Requirementreq/metadata-information/properties
req/standard
Test purposeVerify that the JSON instance document is a valid MetadataInformation object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.5.  Conformance Class: /conf/data-identification

Conformance Class/conf/data-identification
Requirements/req/data-identification
DependencyA JSON Schema Validator
Test/conf/data-identification
Requirementreq/data-identification/properties
req/data-identification/data-dates
req/data-identification/data-contact
req/data-identification/resource-constraints
req/data-dates
[req/data-contact]
[req/resource-constraints]
req/provenance-statement
[req/activity]
Test purposeVerify that the JSON instance document is a valid DataIdentification object.
Test methodmethod Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.6.  Conformance Class: /conf/data-contact

Conformance Class/conf/data-contact
Requirements/req/data-contact
DependencyA JSON Schema Validator
Test/conf/data-contact
Requirementreq/data-contact/properties
req/agent
[req/attribution]
Test purposeVerify that the JSON instance document is a valid DataContact object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.7.  Conformance Class: /conf/attribution

Conformance Class/conf/attribution
Requirements/req/attribution
DependencyA JSON Schema Validator
Test/conf/attribution
Requirementreq/attribution/properties
req/agent
Test purposeVerify that the JSON instance document is a valid Attribution object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.8.  Conformance Class: /conf/activity

Conformance Class/conf/activity
Requirements/req/activity
DependencyA JSON Schema Validator
Test/conf/activity
Requirementreq/activity/properties
[req/association]
req/entity
Test purposeVerify that the JSON instance document is a valid Activity object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.9.  Conformance Class: /conf/association

Conformance Class/conf/association
Requirements/req/association
DependencyA JSON Schema Validator
Test/conf/association
Requirementreq/association/properties
[req/plan]
Test purposeVerify that the JSON instance document is a valid Association object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.10.  Conformance Class: /conf/plan

Conformance Class/conf/plan
Requirements/req/plan
DependencyA JSON Schema Validator
Test/conf/plan
Requirementreq/plan/properties
req/standard
Test purposeVerify that the JSON instance document is a valid Plan object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.11.  Conformance Class: /conf/resource-constraints

Conformance Class/conf/resource-constraints
Requirements/req/resource-constraints
DependencyA JSON Schema Validator
Test/conf/resource-constraints
Requirementreq/resource-constraints/properties
req/standard
req/license-document
req/rights-statement
req/use-constraints
req/access-constraints
Test purposeVerify that the JSON instance document is a valid ResourceConstraints object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.12.  Conformance Class: /conf/descriptive-keywords

Conformance Class/conf/descriptive-keywords
Requirements/req/descriptive-keywords
DependencyA JSON Schema Validator
Test/conf/descriptive-keywords
Requirementreq/descriptive-keywords/properties
req/category
req/location-keywords
req/temporal-keywords
Test purposeVerify that the JSON instance document is a valid DescriptiveKeywords object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.15.  Conformance Class: /conf/offering

Conformance Class/conf/offering
Requirements/req/offering
DependencyA JSON Schema Validator
Test/conf/offering
Requirementreq/offering/properties,
req/operation
Test purposeVerify that the JSON instance document is a valid Offering object as defined in OGC 14-055r2 [NR5].
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.16.  Conformance Class: /conf/spatial-information

Conformance Class/conf/spatial-information
Requirements/req/spatial-information
DependencyA JSON Schema Validator
Test/conf/spatial-information
Requirementreq/category
[req/geometry]
req/location-keywords
Test purposeVerify that the JSON instance document is a valid SpatialInformation.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.17.  Conformance Class: /conf/geometry

Conformance Class/conf/geometry
Requirements/req/geometry
DependencyA JSON Schema Validator
Test/conf/geometry
Requirementreq/geometry/properties
Test purposeVerify that any objects within the document with a “type” property that matches one of the types from GeoJSON conforms to the GeoJSON format [NR2].
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.18.  Conformance Class: /conf/temporal-information

Conformance Class/conf/temporal-information
Requirements/req/temporal-information
DependencyA JSON Schema Validator
Test/conf/temporal-information
Requirementreq/temporal-extent
req/temporal-keywords
Test purposeVerify that the JSON instance document is a valid TemporalInformation object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.19.  Conformance Class: /conf/acquisition-information

Conformance Class/conf/acquisition-information
Requirements/req/acquisition-information
DependencyA JSON Schema Validator
Test/conf/acquisition-information
Requirementreq/acquisition-information/properties,
req/platform,
req/instrument,
req/temporal-extent.
Test purposeVerify that the JSON instance document is a valid AcquisitionInformation object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

A.20.  Conformance Class: /conf/product-information

Conformance Class/conf/product-information
Requirements/req/product-information
DependencyA JSON Schema Validator
Test/conf/product-information
Requirementreq/product-information/properties
Test purposeVerify that the JSON instance document is a valid ProductInformation object.
Test methodValidate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise.
Test typeCapability

Annex B
(informative)
INTERPRETING JSON AS JSON-LD

The JSON-LD encoding proposed in this annex supports a seamless transition from GeoJSON based implementations to JSON-LD based implementations with a minimum number of edits. The GeoJSON encoding proposed can be interpreted as JSON-LD by JSON-LD-aware implementations through the use of the normative @context document provided in this annex.

B.1.  Introduction

B.1.1.  JSON-LD

The serialized GeoJSON form of an EO Dataset Series document shall be consistent with what would be produced by the standard JSON-LD 1.0 Processing Algorithms and API [OR4] Compaction Algorithm using, at least, the normative JSON-LD @context definition provided in “Annex B: normative JSON-LD @context definition.” Implementations may augment the provided @context with additional @context definitions but shall not override or change the normative context. Implementations may also use additional properties and values not defined in the JSON-LD @context with the understanding that any such properties will likely be unsupported and ignored by consuming implementations that use the standard JSON-LD algorithms. See the Extensibility section for more information on handling extensions within EO Dataset Series documents.

JSON-LD uses the special @context property to define the processing context. The value of the @context property is defined by the JSON-LD specification. Implementations producing EO Collection metadata documents should include a @context property with a value that includes a reference to the normative JSON-LD @context definition using the URL “https://www.opengis.net/spec/eoc-geojson/1.0.” Implementations may use the alternative URL “http:// www.opengis.net/spec/eoc-geojson/1.0” instead.

When a JSON-LD enabled EO Collection metadata implementation encounters a GeoJSON document identified using the “application/geo+json” MIME media type, and that document does not contain a @context property whose value includes a reference to the normative JSON-LD @context definition, the implementation shall assume that the normative @context definition still applies.

Alternatively, implementations can refer to the normative JSON-LD context document via an HTTP Link header as described in section 6.8 of the JSON-LD specification [NR13]. This allows the GeoJSON documents to be unambiguously machine readable as JSON-LD.

Example 48: Referencing a JSON-LD context from a GeoJSON document

GET /document.json HTTP/1.1
Host: example.com
Accept: application/ld+json,application/geo+json,*/*;q=0.1

 ====================================

HTTP/1.1 200 OK
...
Content-Type: application/geo+json
Link: <https://www.opengis.net/spec/eoc-geojson/1.0>; rel="http://www.w3.org/ns/json-ld#context"; type="application/ld+json"

{
  . . .
}

B.1.2.  Semantic Web and JSON-LD

The W3C Semantic Web Activity is defining a collection of technologies that enables a “Web of data” where information is easily shared and reused across applications. Some key pieces of this technology stack are the RDF (Resource Description Framework), RDFS (RDF Schema) data models [OR9, OR10] and JSON-LD [NR13]. The JSON-LD encoding proposed in the current document can be interpreted as the proposed encoding in RDF for EO Collection metadata. Each JSON(-LD) property proposed corresponds to an RDF predicate which is represented with a URI.

Figure B.1 — RDF Triple

RDF is a data model built on edge-node “graphs.” Each link in a graph consists of three things (with many aliases depending on the mapping from other types of data models):

  • Subject (start node, instance, entity, feature);

  • Predicate (verb, property, attribute, relationship, link); and

  • Object (value, end node, non-literal values can be used as a Subject).

Any of the three values in a single triple can be represented via a URI (with an optional fragment identifier). Subjects and objects are called nodes. Objects can also be represented as a literal value. Note that the same node may play the role of a Subject in some edges, and the role of the Object in others.

All proposed properties are defined (via a normative @context document) with an URI from existing, well-known, vocabularies where available, e.g., Dublin Core (dct:), GeoJSON-LD (gj:), Atom (atom:), OGC Web Context (owc:) etc.

In the proposed specification, the “id” JSON property (or “@id” JSON-LD property) corresponds to a URI representing a Subject or Object.

B.2.  JSON-LD @context definition

B.2.1.  JSON-LD 1.1

The current annex provides the normative JSON-LD @context which is implied by the GeoJSON encoding as explained above. It is available at http://bp.schemas.opengis.net/17-084r1/eoc-geojson/1.0/eoc-geojson.jsonld (See Annex F:).

JSON-LD 1.1 [OR21] aware clients can apply a JSON-LD 1.1 @context to interpret the GeoJSON encoding as JSON-LD.

{
"@context": "http://bp.schemas.opengis.net/17-084r1/eoc-geojson/1.0/eoc-geojson.jsonld"

}

The context relies on JSON-LD 1.1 specific features, in particular “scoped contexts” and “nested properties.” The expressiveness of JSON-LD 1.0 @context is too limited to isolate the required context information to support compacting and expansion in a single external context document. It would require inserting inline contexts in the GeoJSON encoding.

{
"@context": {
"@version": 1.1,
"dct": "http://purl.org/dc/terms/",
"atom": "http://www.w3.org/2005/Atom/",
"iana": "http://www.iana.org/assignments/relation/",
"os": "http://a9.com/-/spec/opensearch/1.1/",
"eop": "http://www.opengis.net/ont/eo-geojson/1.0/",
"owc": "http://www.opengis.net/ont/owc/1.0/",
"gj": "https://purl.org/geojson/vocab#",
"gsp": "http://www.opengis.net/ont/geosparql#",
"vcard": "http://www.w3.org/2006/vcard/ns#",
"skos": "http://www.w3.org/2004/02/skos/core#",
"dcat": "http://www.w3.org/ns/dcat#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"prov": "http://www.w3.org/ns/prov#",
"locn": "http://www.w3.org/ns/locn#",
"foaf": "http://xmlns.com/foaf/0.1/",
"schema": "http://schema.org/",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"adms": "http://www.w3.org/ns/adms#",
"owl": "http://www.w3.org/2002/07/owl#",
"id": "@id",
"type": "@type",
"href": "@id",
"title": "dct:title",
"identifier": "dct:identifier",
"issued": "dct:issued",
"rights": "dct:rights",
"license": {
"@id": "dct:license",
"@context": {
"label": "rdfs:label"
}
},
"LicenseDocument": "dct:LicenseDocument",
"accessRights": {
"@id": "dct:accessRights",
"@context": {
"label": "rdfs:label"
}
},
"RightsStatement": "dct:RightsStatement",
"provenance": {
"@id": "dct:provenance",
"@context": {
"label": "rdfs:label"
}
},
"ProvenanceStatement": "dct:ProvenanceStatement",
"wasUsedBy": {
"@id": "prov:wasUsedBy",
"@context": {
"generated": "prov:generated",
"description": "dct:description",
"qualifiedAssociation": "prov:qualifiedAssociation",
"degree": {
"@id": "dct:type",
"@type": "@id"
}
}
},
"hadPlan": {
"@id": "prov:hadPlan",
"@context": {
"wasDerivedFrom": "prov:wasDerivedFrom"
}
},
"Activity": "prov:Activity",
"Association": "prov:Association",
"Entity": "prov:Entity",
"Plan": "prov:Plan",
"Standard": "dct:Standard",
"lang": {
"@id": "dct:language",
"@type": "@id",
"@context": {
"@base": "http://id.loc.gov/vocabulary/iso639-1/"
}
},
"kind": {
"@id": "dct:type",
"@type": "@id"
},
"doi": {
"@id": "adms:identifier",
"@type": "@id",
"@context": {
"@base": "https://doi.org/"
}
},
"isPrimaryTopicOf": "foaf:isPrimaryTopicOf",
"CatalogRecord": "dcat:CatalogRecord",
"updated": "dct:modified",
"published": "dct:issued",
"created": "dct:created",
"versionInfo": "owl:versionInfo",
"versionNotes": "adms:versionNotes",
"bibliographicCitation": "dct:bibliographicCitation",
"conformsTo": "dct:conformsTo",
"creator": "dct:creator",
"abstract": "dct:description",
"subtitle": "dct:description",
"subject": "dct:subject",
"date": "dct:date",
"geometry": "gj:geometry",
"Location": "dct:Location",
"temporal": "dct:temporal",
"PeriodOfType": "dct:PeriodOfTime",
"spatial": {
"@id": "dct:spatial",
"@context": {
"type": "@type",
"value": "@value",
"id": "@id",
"geometry": "locn:geometry"
}
},
"keyword": "dcat:keyword",
"categories": "dcat:theme",
"distribution": {
"@id": "dcat:distribution",
"@context": {
"label": "rdfs:label"
}
},
"Distribution": "dcat:Distribution",
"links": {
"@id": "owc:links",
"@context": {
"@vocab": "http://www.iana.org/assignments/relation/",
"type": "atom:type",
"data": "iana:enclosure",
"profiles": "iana:profile",
"previews": "iana:icon",
"alternates": "iana:alternate"
}
},
"Links": "owc:Links",
"offerings": {
"@id": "dcat:endpointDescription",
"@context": {
"@vocab": "http://www.opengis.net/ont/owc/1.0/",
"code": {
"@id": "owc:code",
"@type": "@id"
}
}
},
"operations": {
"@id": "owc:operations",
"@context": {
"href": "owc:href",
"code": "owc:code",
"type": "owc:type"
}
},
"contents": {
"@id": "owc:contents",
"@context": {
"type": "owc:type"
}
},
"Link": "atom:link",
"beginningDateTime": "dcat:startDate",
"endingDateTime": "dcat:endDate",
"length": "atom:length",
"Category": "skos:Concept",
"label": "skos:prefLabel",
"term": "@id",
"scheme": "skos:inScheme",
"hasGeometry": "gsp:hasGeometry",
"asWKT": "gsp:asWKT",
"Feature": "dcat:Dataset",
"FeatureCollection": "gj:FeatureCollection",
"GeometryCollection": "gj:GeometryCollection",
"LineString": "gj:LineString",
"MultiLineString": "gj:MultiLineString",
"MultiPoint": "gj:MultiPoint",
"MultiPolygon": "gj:MultiPolygon",
"Point": "gj:Point",
"Polygon": "gj:Polygon",
"bbox": {
"@container": "@list",
"@id": "gj:bbox"
},
"coordinates": {
"@container": "@list",
"@id": "gj:coordinates"
},
"features": {
"@container": "@set",
"@id": "gj:features"
},
"properties": "@nest",
"acquisitionParameters": "@nest",
"acquisitionInformation": {
"@id": "prov:wasGeneratedBy",
"@context": {
"AcquisitionInformation": "prov:Activity",
"beginningDateTime": "prov:startedAtTime",
"endingDateTime": "prov:endedAtTime"
}
},
"uri": "@id",
"Platform": "eop:Platform",
"platform": {
"@id": "prov:used",
"@context": {
"@vocab": "http://www.opengis.net/ont/eo-geojson/1.0/",
"orbitType": {
"@type": "@id",
"@context": {
"@base": "http://www.opengis.net/ont/eo-geojson/1.0/"
}
}
}
},
"Instrument": "eop:Instrument",
"instrument": {
"@id": "prov:used",
"@context": {
"@vocab": "http://www.opengis.net/ont/eo-geojson/1.0/",
"description": "dct:description",
"sensorType": {
"@type": "@id",
"@context": {
"@base": "http://www.opengis.net/ont/eo-geojson/1.0/"
}
}
}
},
"ProductInformation": "eop:ProductInformation",
"productInformation": {
"@id": "eop:productInformation",
"@context": {
"@vocab": "http://www.opengis.net/ont/eo-geojson/1.0/",
"referenceSystemIdentifier": {
"@type": "@id"
}
}
},
"authors": {
"@id": "dct:creator",
"@context": {
"@vocab": "http://xmlns.com/foaf/0.1/",
"Kind": "foaf:Agent",
"Individual": "foaf:Person",
"email": "foaf:mbox",
"name": "foaf:name",
"hasTelephone": null,
"hasName": "@nest",
"given-name": "givenName",
"family-name": "familyName",
"additional-name": null,
"hasAddress": null,
"uri": {
"@id": "foaf:page",
"@type": "@id"
}
}
},
"qualifiedAttribution": {
"@id": "prov:qualifiedAttribution",
"@context": {
"@vocab": "http://www.w3.org/2006/vcard/ns#",
"Attribution": "prov:Attribution",
"agent": "prov:agent",
"role": {
"@id": "dct:type",
"@type": "@id",
"@context": {
"@base": "http://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/"
}
},
"Agent": "vcard:Kind",
"Person": "vcard:Individual",
"email": "vcard:hasEmail",
"name": "vcard:fn",
"phone": null,
"hasValue": {
"@type": "@id"
},
"uri": {
"@id": "hasURL",
"@type": "@id"
}
}
},
"contactPoint": {
"@id": "dcat:contactPoint",
"@context": {
"@vocab": "http://www.w3.org/2006/vcard/ns#",
"Agent": "vcard:Kind",
"Person": "vcard:Individual",
"email": "vcard:hasEmail",
"name": "vcard:fn",
"phone": null,
"hasValue": {
"@type": "@id"
},
"uri": {
"@id": "hasURL",
"@type": "@id"
}
}
}
}
}

B.2.2.  Relation with DCAT and GeoDCAT-AP

The JSON-LD representation obtained by expanding the GeoJSON representation using the @context defined in the previous section will model an EO Collection metadata as a DCAT Dataset:

  "@type": "dcat:Dataset".

In certain cases, it may be useful to explicitly model the EO Collection also as a GeoJSON Feature. This can be done by either by having two types simultaneously as shown below. This result cannot be obtained by using a @context however, but is a valid JSON-LD representation as well.

  "@type": ["gj:Feature", "dcat:Dataset"]

Alternatively, the JSON-LD representation can use gj:Feature instead of dcat:Dataset as shown below:

  "@type": "gj:Feature"

This result can be obtained by slightly modifying the normative @context as shown below.

Example 49: Extract of modified @context from section B.2.1 (modelling as dcat:Dataset)

      "Feature": "dcat:Dataset",

"features": {
"@container": "@set",
"@id": "rdfs:member"
},
Example 50: Extract of modified @context from section B.2.1 (modelling as gj:Feature).

      "Feature": "gj:Feature",

"features": {
"@container": "@set",
"@id": "gj:features"
},

In the case of dcat:dataset, it might be useful to also apply the alternative representation of geographical extent using the dct:spatial relation as presented in section 8.2. This allows to comply with the corresponding representation defined in GeoDCAT-AP [OR15].


Annex C
(normative)
VOCABULARY MAPPING

C.1.  Vocabulary to XML Mapping

The table below maps the JSON and Vocabulary Properties to the equivalent property in the original OGC 11-035r1 and ISO metadata encoding [OR19], [OR27], [OR28]. It also maps the properties to the equivalent UMM-C Model [OR1], [OR2].

The JSON property name included in column 1 corresponds to the JSON-LD property name included in column 2, compacted according to the normative JSON-LD context provided in annex B.2 of the current document.

Table C.1 — Vocabulary to XML Mapping

JSON PropertyVocabulary PropertyJSON Property ReferenceVocabulary ReferenceOGC 11-035r1, ISO19139, ISO19139-2UMM-C [OR2], [OR1]Comments
@context
$.@context
@context [NR13]
abstract
$.properties.abstract
dct:description [NR5] [OR3] , [OR13]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract /gco:CharacterString (source: UMM-C)

Data Identification | Abstract [R] (§2.2.5)

Table 7: DataIdentification object properties
accessRights
$.properties.accessRights
dct:accessRights [OR15]

/gmd:MD_Metadata/gmd:identificationInfo/*/gmd:resourceConstraints/*/gmd:accessConstraints

Data Identification | Access Constraints (§2.2.16)

Table 18: ResourceConstraints object properties
AcquisitionInformationprov:Activity (class) [NR4] [OR30]

Acquisition Information (§2.7)

Table 30: AcquisitionInformation object properties
acquisitionInformation
$.properties.acquisitionInformation
prov:wasGeneratedBy [NR4] [OR30]

/gmi:MI_Metadata/gmi:acquisitionInformation/ gmi:MI_AcquisitionInformation

Acquisition Information (§2.7)

Table 4: Properties object properties
Activityprov:Activity (class) [OR30]

Use Constraints (§2.2.15)

Table 13: Activity object properties
agent
$.properties.qualifiedAttribution[\*].agent
prov:agent [OR30] Table 10: Attribution object properties
Agent
$.properties.qualifiedAttribution[*].agent[*]
$.properties.contactPoint[\*]
vcard:Kind (class) [NR5] [OR17]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
Agent
$.properties.authors[\*]
foaf:Agent (class) [NR5] [OR20]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
alternates
$.properties.links.alternates
iana:alternate [NR5] [NR10]

Related URL | …​ ( §2.4, §2.8)

Table 24: Links object properties
Associationprov:Association (class)[OR15], [OR30]

Use Constraints (§2.2.15)

Table 15: Association object properties
Attributionprov:Attribution (class)[OR15], [OR30]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 10: Attribution object properties
authors
$.properties.authors
dct:creator [NR5] [OR13]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty or /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:CI_Citation/gmd:citedResponsibleParty/gmd:CI_ResponsibleParty/ or /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty/ (Source: UMM-C)

Data Identification | Data Contact (§2.2.9)

Table 9: DataContact object properties See [OR15] Table 9: ResponsibleParty role = “Author”
bbox
$.bbox
gj:bbox [NR2] [OR18]

Spatial Information | Spatial Extent [R] (§2.6.2)

Table 4: Feature object properties
beginningDateTime
$.properties.temporal.beginningDateTime
dcat.startDate [NR4] [OR25]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:temporalElement/gmd:EX_TemporalExtent

Temporal Information | TemporalExtent (§2.5.1) | RangeDateTime | BeginningDateTime Temporal Information | TemporalExtent | SingleDateTime Temporal Information | TemporalExtent | PeriodicDateTime | StartDate

Table 29: TemporalExtent object properties
beginningDateTime
$.properties.acquisitionInformation.acquisitionParameters.beginningDateTime
prov:startedAtTime [NR4] [OR30]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:temporalElement/gmd:EX_TemporalExtent /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:status/gmd:MD_ProgressCode /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:status/gmd:MD_ProgressCode/@codeListValue

Temporal Information | TemporalExtent (§2.5.1) | RangeDateTime | BeginningDateTime Temporal Information | TemporalExtent | SingleDateTime Temporal Information | TemporalExtent | PeriodicDateTime | StartDate Data Identification | Collection Progress [R] (§2.2.13)a

bibliographicCitation
$.properties.bibliographicCitation
dct:bibliographicCitation [OR25]

Data Identification | Publication Reference (§2.2.18)

Table 7: DataIdentification object properties
categories
$.properties.categories
dcat:theme [NR5] [OR13]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString (Source: UMM-C)

Descriptive Keywords | Science Keywords [R] (§2.3.2) Spatial Information | Location Keywords (§2.6.4) Temporal Information | Temporal Keywords (§2.5.2) Acquisition Information | Project (§2.7.3) Data Identification | Collection Data Type (§2.2.10)

Table 21: DescriptiveKeywords object properties See also section 7.7.2.
Categoryskos:Concept (Class) [NR5] [OR31]

/gmi:MI_Metadata/gmd:identificationInfo\/\/gmd:descriptiveKeywords/gmd:MD_Keywords

Descriptive Keywords (§2.3)

Table 22: Category object properties
code
$.properties.offerings[\*].code
owc:code [NR5] [NR5] Table 26: Offering object properties
code
$.properties.offerings[*].operations[*].code
owc:code [NR5] [NR5] Table 27: Operation object properties
conformsTo
$.properties.isPrimaryTopicOf.conformsTo
dct:conformsTo [OR15]

/gmd:MD_Metadata/gmd:metadataStandardName/gco:CharacterString

Table 6: MetadataInformation object properties
conformsTo
$.properties.conformsTo
dct:conformsTo [OR15] Table 7: DataIdentification object properties
contactPoint
$.properties.contactPoint
dcat:contactPoint [NR5] [OR13]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty or /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:CI_Citation/gmd:citedResponsibleParty/gmd:CI_ResponsibleParty/ or /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty/ (Source: UMM-C)

Data Identification | Data Contact (§2.2.9)

Table 9: DataContact object properties See [OR15] Table 9: ResponsibleParty role = “Point of Contact”
contents
$.properties.offerings[\*].contents
owc:contents [NR5] [NR5]

Related URL | …​ ( §2.4, §2.8)

coordinates
$.geometry.coordinates
gj:coordinates [NR2] [OR18]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification /gmd:extent/gmd:EX_Extent/gmd:geographicElement/ gmd:EX_GeographicBoundingBox

Spatial Information | Spatial Extent [R] (§2.6.2)

created
$.properties.isPrimaryTopicOf.created
dct:created

N/A

Metadata Information / Metadata Date (§2.1.2) (CREATE)

Table 6: MetadataInformation object properties
created
$.properties.created
dct:created

gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:date /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:dateType/gmd:CI_DateTypeCode codeListValue : creation (See [OR33] §2.3.4).

Data Identification | Data Dates (§2.2.7)

Table 8: DataDates object properties
data
$.properties.links.data
iana:enclosure [NR5] [NR10]

Related URL | …​ ( §2.4, §2.8)

Table 24: Links object properties
date
$.properties.date
dct:date [NR5] [OR3]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:date/gco:DateTime

Data Identification | Data Dates (§2.2.7) Data Identification | Collection Progress (§2.2.13)

Table 7: DataIdentification object properties
degree
$.properties.wasUsedBy[*].generated.degree
dct:type [OR15]

\/\/dataQualityInfo/*/report/*/result/*/pass

Related URL | …​ ( §2.4, §2.8)

Table 14: Entity object properties
describedby
$.properties.links.describedby
iana:describedby [NR10]

Related URL | …​ ( §2.4, §2.8)

Table 24: Links object properties
description
$.properties.wasUsedBy[*].generated.description
dct:description [OR15]

\/\/dataQualityInfo/*/report/*/result/*

RelatedURL/Description (§2.4)

Table 14: Entity object properties
description
$..acquisitionInformation[*].instrument.description
dct:description [OR15] Table 32: Instrument object properties
doi
$.properties.doi
adms:identifier [OR25]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier/gmd:MD_Identifier/gmd:code/gco:CharacterString where /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier/gmd:MD_Identifier/gmd:description/gco:CharacterString = DOI (source: UMM-C)

Data Identification | DOI (§2.2.4) [R]

Table 7: DataIdentification object properties
email
$.properties.qualifiedAttribution[*].agent[*].email
$.properties.contactPoint[*].email
vcard:hasEmail [NR5] [OR17]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
email
$.properties.authors[*].email
foaf:mbox [NR5] [OR20]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
endingDateTime
$.properties.temporal.endingDateTime
dcat:endDate [OR25]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:temporalElement/gmd:EX_TemporalExtent

Temporal Information | TemporalExtent (§2.5.1) | RangeDateTime | endingDateTime Temporal Information | TemporalExtent | SingleDateTime Temporal Information | TemporalExtent | PeriodicDateTime | EndDate

Table 29: TemporalExtent object properties
endingDateTime
$.properties.acquisitionInformation.acquisitionParameters.endingDateTime
prov:endedAtTime [OR30]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:temporalElement/gmd:EX_TemporalExtent /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:status/gmd:MD_ProgressCode /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:status/gmd:MD_ProgressCode/@codeListValue

Temporal Information | TemporalExtent (§2.5.1) | RangeDateTime | endingDateTime Temporal Information | TemporalExtent | SingleDateTime Temporal Information | TemporalExtent | PeriodicDateTime | EndDate Data Identification | Collection Progress [R] (§2.2.13)a

Entityprov:Entity (Class)[OR15], [OR30]

\/\/dataQualityInfo/*/report/*/result/*/pass

Quality (§2.2.14)

Table 14: Entity object properties
Featuregj:Feature (Class) or dcat:Dataset (class) [NR2] [OR18] [OR13]Table 4: Feature object properties
generated
$.properties.wasUsedBy[*].generated
prov:generated[OR15], [OR30]

/gmi:MI_Metadata/gmd:dataQualityInfo/*/report/*/result/*/pass

Use Constraints (§2.2.15) and/or Quality (§2.2.14)

Table 13: Activity object properties
geometry
$.geometry
gj:geometry [NR2] [OR18]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification /gmd:extent/gmd:EX_Extent/gmd:geographicElement/ gmd:EX_GeographicBoundingBox

Spatial Information | Spatial Extent [R] (§2.6.2)

Table 4: Feature object properties
geometry
$.properties.spatial.geometry
locn:geometry[OR15], [OR32]

Spatial Information | Spatial Extent [R] (§2.6.2)

Table 34: Location object properties
hadPlan
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan
prov:hadPlan[OR15], [OR30]

dataQualityInfo/*/report/*/result/*/specification

Quality (§2.2.14)

Table 15: Association object properties
hasAddress
$.properties.qualifiedAttribution[*].agent[*].hasAddress
$.properties.contactPoint[*].hasAddress
vcard:hasAddress [OR17]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
hasAddress
$.properties.authors[*].hasAddress
null [OR20]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
hasName
$.properties.qualifiedAttribution[*].agent[*].hasName
$.properties.contactPoint[*].hasName
vcard:hasName [OR17]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
hasName
$.properties.authors[\*].hasName
@nest [OR20]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
hasTelephone
$.properties.qualifiedAttribution[*].agent[*].hasTelephone
$.properties.contactPoint[*].hasTelephone
vcard:hasTelephone [OR17]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
hasTelephone
$.properties.authors[*].hasTelephone
null (Use phone property instead). [OR20]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
href
$.properties.links.*[*].href
@id [NR5] [NR13]

Related URL (§2.4)

Table 25: Link object properties
href
$.properties.offerings[*].operations[*].href
owc:href [NR5] [NR5]

Related URL (§2.4)

Table 27: Operation object properties
id
$.id
@id [NR2] [NR13]

ShortName, Native_ID, Concept_ID, DOI (§2.2)

Table 4: Feature object properties
identifier
$.properties.identifier
dct:identifier [OR3]

Data Identification | ShortName [R] (§2.2.1)

Table 7: DataIdentification object properties
Individual
$.properties.qualifiedAttribution[*].agent[*]
$.properties.contactPoint[*]
vcard:Individual (class) [OR17]

DataCenter/ContactPerson (§2.2.8)

Table 11: Agent object properties
Individual
$.properties.authors[*]
foaf:Person (class) [OR20]

DataCenter/ContactPerson (§2.2.8)

Table 11: Agent object properties
instrument
$..acquisitionInformation[*].instrument
prov:used [NR4] [OR30]

Acquisition Information | Instrument [R] (§2.7.2)

Table 30: AcquisitionInformation object properties
Instrumenteop:Instrument [NR4] [NR4]

Acquisition Information | Instrument [R] (§2.7.2)

Table 32: Instrument object properties
instrumentShortName
$..acquisitionInformation[*].instrument.instrumentShortName
eop:instrumentShortName [NR4] [NR4]

Acquisition Information | Instrument [R] (§2.7.2)

Table 32: Instrument object properties
isPrimaryTopicOf
$.properties.isPrimaryTopicOf
foaf:isPrimaryTopicOf [OR15]

Data Identification (§2.2)

Table 4: Properties object properties
issued
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.issued
dct:issued [OR15]

\/\/dataQualityInfo/*/report/*/result/*/specification/*/date/*/date

Quality (§2.2.14) or Use Constraints (§2.2.15)

Table 17: Standard object properties
keyword
$.properties.keyword
dcat:keyword [OR13]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString

Descriptive Keywords | Ancillary Keywords (§2.3.3)

Table 21: DescriptiveKeywords object properties
kind
$.properties.kind
dct:type [OR15]

/gmd:MD_Metadata/gmd:hierarchyLevel

Table 7: DataIdentification object properties
Kind
$.properties.qualifiedAttribution[*].agent[*]
$.properties.contactPoint[*]
vcard:Kind [OR17]

DataContact (§2.2.9)

Table 11: Agent object properties
Kind
$.properties.authors[*]
foaf:Agent [OR20]

DataContact (§2.2.9)

Table 11: Agent object properties
label
$.properties.categories[*].label
skos:prefLabel [NR5] [OR31]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword

Descriptive Keywords (§2.3)

Table 22: Category object properties
label
$.properties.license[].label + $.properties.accessRights[].label
$.properties.provenance[*].label
rdfs:label [OR15]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:useLimitation/gco:CharacterString /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:otherConstraints/gco:CharacterString

Data Identification | Use Constraints (§2.2.15) Data Identification | Access Constraints | Description (§2.2.16)

Table 19: LicenseDocument object properties Table 20: RightsStatement object properties Table 12: ProvenanceStatement object properties
lang
$.properties.isPrimaryTopicOf.lang
dct:language[OR3], [OR15], [OR25]

gmi:MI_Metadata/gmd:language

Metadata Information | Metadata Language (§2.1.1)

Table 6: MetadataInformation object properties
lang
$.properties.lang
dct:language [NR5] [OR3], [OR13], [OR15]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/ gmd:language/gco:CharacterString (Source: UMM-C)

Data Identification | Data Language (§2.2.6)

Table 7: DataIdentification object properties
lang
$.properties.links.*[*].lang
dct:language [NR5] [OR3]

RelatedURL/Description (§2.4)

Table 25: Link object properties
length
$.properties.links.*[*].length
atom:length [NR5] [OR14]

RelatedURL/GetData/ (§2.4)

Table 25: Link object properties
license
$.properties.license
dct:license[OR15], [OR25]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:useLimitation/gco:CharacterString

Data Identification | Use Constraints (§2.2.15)

Table 18: ResourceConstraints object properties
LicenseDocumentdct:LicenseDocument (class)[OR15], [OR25]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:useLimitation/gco:CharacterString

UseConstraints/LicenseUrl/Linkage (§2.2.15)

Table 19: LicenseDocument object properties
LineStringgj:LineString [NR2] [OR18]

SpatialExtent/HorizontalSpatialDomain/Geometry/Lines (§2.6.2)

Linkatom:link (Class) [OR14]

Related URL | …​ ( §2.4, §2.8)

Table 25: Link object properties
linksowc:links [NR5] [OR5]

Related URL | …​ ( §2.4, §2.8)

Table 4: Properties object properties
linksowc:links [NR5] [OR5]

Related URL | …​ ( §2.4, §2.8)

Table 4: Feature object properties
Linksowc:Links (Class)

Related URL | …​ ( §2.4, §2.8)

Table 24: Links object properties
Locationdct:Location (Class)

SpatialExtent (§2.6.2)

Table 34: Location object properties
method
$.properties.offerings[*].operations[*].method
owc:method [NR5] [NR5] Table 27: Operation object properties
MultiLineStringgj:MultiLineString [NR2] [OR18]

SpatialExtent/HorizontalSpatialDomain/Geometry/Lines (§2.6.2)

MultiPointgj:MultiPoint [NR2] [OR18]

/Collection/Spatial/HorizontalSpatialDomain/Geometry/Point (§2.6.2)

MultiPolygongj:MultiPolygon [NR2] [OR18]

SpatialExtent/HorizontalSpatialDomain/Geometry/GPolygons (§2.6.2)

name
$.properties.qualifiedAttribution[*].agent[*].name
$.properties.contactPoint[*].name
vcard:fn [NR5] [OR17]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
name
$.properties.authors[*].name
foaf:name [NR5] [OR20]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
offerings
$.properties.offerings
dcat:endpointDescription [NR5] [OR25]

Related URL | …​ ( §2.4, §2.8)

Table 23: RelatedUrl object properties
operations
$.properties.offerings[*].operations
owc:operations [NR5] [NR5]

RelatedURL/GetService (§2.4)

Table 26: Offering object properties
orbitType
$..acquisitionInformation[*].platform.orbitType
eop:orbitType [NR4] [NR4]

Platform/Characteristics (§2.7.1)

Table 31: Platform object properties
Organization
$.properties.qualifiedAttribution[*].agent[*]
$.properties.contactPoint[*]
vcard:Organization (Class) [OR17]

DataCenter (§2.2.8)

Table 11: Agent object properties
Organization
$.properties.authors[*]
foaf:Organization (Class) [OR20]

DataCenter (§2.2.8)

Table 11: Agent object properties
PeriodOfTimedct:PeriodOfTime (Class) [OR15]

TemporalExtent (§2.5.1)

Table 29: TemporalExtent object properties
Person
$.properties.qualifiedAttribution[*].agent[*]
$.properties.contactPoint[*]
vcard:Individual (Class) [OR17]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
Person
$.properties.authors[*]
foaf:Person (Class) [OR20]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
phone
$.properties.qualifiedAttribution[*].agent[*]
$.properties.contactPoint[*]
null (Use hasTelephone property instead). [OR17]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
phone
$.properties.authors[*]
foaf:phone [OR20]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
Planprov:Plan [OR30] Table 16: Plan object properties
platform
$..acquisitionInformation[*].platform
prov:used [NR4] [OR30]

/gmi:MI_Metadata/gmi:acquisitionInformation/ gmi:MI_AcquisitionInformation /gmi:platform/gmi:MI_Platform

Acquisition Information | Platform [R] (§2.7.1)

Table 30: AcquisitionInformation object properties
Platformeop:Platform [NR4] [NR4]

Platform (§2.7.1)

Table 31: Platform object properties
platformSerialIdentifier
$..acquisitionInformation[*].platform.platformSerialIdentifier
eop:platformSerialIdentifier [NR4] [NR4]

Platform/Characteristics (§2.7.1)

Table 31: Platform object properties
platformShortName
$..acquisitionInformation[*].platform.platformShortName
eop:platformShortName [NR4] [NR4]

Platform/ShortName (§2.7.1)

Table 31: Platform object properties
Point [NR2] [OR18]

SpatialExtent/HorizontalSpatialDomain/Geometry/Points (§2.6.2)

Polygon [NR2] [OR18]

SpatialExtent/HorizontalSpatialDomain/Geometry/GPolygons (§2.6.2)

previews
$.properties.links.previews
iana:icon [NR5] [NR10]

Related URL | …​ ( §2.4, §2.8)

Table 24: Links object properties
processingLevel
$.properties.productInformation.processingLevel
eop:processingLevel [NR4] [NR4]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:processingLevel/gmd:MD_Identifier/gmd:code/gco:CharacterString /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:processingLevel/gmd:MD_Identifier/gmd:description/gco:CharacterString

Data Identification | Processing Level [R] (§2.2.11)

Table 33: ProductInformation object properties
productInformation
$.properties.productInformation
eop:productInformation [NR4] [NR4]

Data Identification — Acquisition Information — Spatial Information — Temporal Information

Table 4: Properties object properties
ProductInformationeop:ProductInformation (Class) [NR4] [NR4]

Processing Level — Collection Data Type — Spatial Representation Information

Table 33: ProductInformation object properties
productType
$.properties.productInformation.productType
eop:productType [NR4] [NR4]

Entry Title

Table 33: ProductInformation object properties
profiles
$.properties.links.profiles
iana:profile [NR5] [NR10] Table 24: Links object properties
properties
$.properties
@nest [NR2] [OR18] Table 4: Feature object properties
Properties- (Class)
provenance
$.properties.provenance
dct:provenance [OR15]

/gmi:MI_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:statement/gco:CharacterString

Data Identification | Quality (§2.2.14)

Table 7: DataIdentification object properties
ProvenanceStatementdct:ProvenanceStatement (Class) [OR15]

Data Identification | Quality (§2.2.14)

Table 12: ProvenanceStatement object properties
published
$.properties.isPrimaryTopicOf.published
dct:issued [NR4] [OR13]

N/A

Metadata Information / Metadata Date / CREATE (§2.1.2)

Table 6: MetadataInformation object properties
published
$.properties.published
dct:issued [OR13]

gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:date /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:dateType/gmd:CI_DateTypeCode codeListValue : publication (See [OR33] §2.3.4).

Data Identification | Data Dates (§2.2.7)

Table 8: DataDates object properties
publisherbdct:publisher [NR5] [OR15]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty or /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:CI_Citation/gmd:citedResponsibleParty/gmd:CI_ResponsibleParty/ or /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty/

Data Identification | Data Contact (§2.2.9)

See [OR15] Table 9: ResponsibleParty role = “Publisher” Table 9: DataContact object properties
qualifiedAssociation
$.properties.wasUsedBy[*].qualifiedAssociation
prov: qualifiedAssociation[OR15], [OR30]

\/\/dataQualityInfo/*/report/*/result/*/specification/*/title \/\/dataQualityInfo/*/report/*/result/*/specification/*/date/*/date

Quality (§2.2.14)

Table 13: Activity object properties
qualifiedAttribution
$.properties.qualifiedAttribution
prov:qualifiedAttribution (Other) [OR15]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty or /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:CI_Citation/gmd:citedResponsibleParty/gmd:CI_ResponsibleParty/ or /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty/ or mi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty/ or /gmi:MI_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/ or /gmi:MI_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:processStep/gmd:LI_ProcessStep/gmd:processor (Source: UMM-C)

Data Identification | Data Center (§2.2.8) – DISTRIBUTOR, ORIGINATOR, PROCESSOR. Data Identification | Data Contact (§2.2.9)

See [OR15] Table 9: ResponsibleParty role is NOT “Point of Contact”, “Publisher”, “Author”. Table 9: DataContact object properties
referenceSystemIdentifier
$.properties.productInformation.referenceSystemIdentifier
eop:referenceSystemIdentifier [NR4] [NR4]

Spatial Extent / HorizontalSpatialDomain/Geometry/CoordinateSystem Or GranuleSpatialRepresentation

Table 33: ProductInformation object properties
related
$.properties.links.related
iana:related [NR5] [NR10]

Related URL | …​ ( §2.4, §2.8)

Table 24: Links object properties
request
$.properties.offerings[*].operations[*].request
owc:request [NR5] [NR5] Table 27: Operation object properties
resolution
$.properties.productInformation.resolution
eop:resolution [NR4] [NR4]

Platform/Instrument/Characteristics/Unit

Table 33: ProductInformation object properties
result
$.properties.offerings[*].operations[*].result
owc:result [NR5] [NR5] Table 27: Operation object properties
rights
$.properties.rights
dct:rights [NR5] [OR3], [OR25]

/gmd:MD_Metadata/gmd:identificationInfo/*/gmd:resourceConstraints

UseConstraints (§2.2.15) or Access Constraints (§2.2.16)

Table 18: ResourceConstraints object properties
RightsStatementdct:RightsStatement[OR3], [OR25]

/gmd:MD_Metadata/gmd:identificationInfo/*/gmd:resourceConstraints

UseConstraints (§2.2.15) or Access Constraints (§2.2.16)

Table 20: RightsStatement object properties
role
$.properties.qualifiedAttribution[*].role
dct:type [OR15]

gmd:CI_ResponsibleParty/gmd:role/gmd:CI_RoleCode

DataCenter/Roles or DataCenter/ContactPerson/Roles or DataCenter/ContactGroup/Roles (§2.2.8)

Table 10: Attribution object properties
scheme
$.properties.categories[*].scheme
skos:inScheme [NR5] [OR31]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:thesaurusName/gmx:Anchor See also OGC 08-167r2 [OR22].

Descriptive Keywords (§2.3)

Table 22: Category object properties
search
$.properties.links.search
iana:search [NR10]

Related URL | …​ ( §2.4, §2.8)

Table 24: Links object properties
sensorType
$..acquisitionInformation[*].instrument.sensorType
eop:sensorType [NR4] [NR4]

Platform/Instrument/Technique (§2.7)

Table 32: Instrument object properties
spatial
$.properties.spatial
dct:spatial [OR15]

Spatial Extent (§2.6.2)

Table 4: Properties object properties
Standarddct:Standard (class) [OR15]

dataQualityInfo/*/report/*/result/*/specification

Table 17: Standard object properties
subject
$.properties.subject
dct:subject [OR15]

/gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:topicCategory/gmd:MD_TopicCategoryCode

Descriptive Keywords | ISO Topic Category (§2.3.1)

Table 21: DescriptiveKeywords object properties
term
$.properties.categories[*].term
@id [NR5] [NR13]

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gmx:Anchor See also OGC 08-167r2 [OR22].

Descriptive Keywords (§2.3)

Table 22: Category object properties
timeliness
$.properties.productInformation.timeliness
eop:timeliness [NR4] [NR4]

Data Identification | Collection Data Type (§2.2.10)

Table 33: ProductInformation object properties
title
$.properties.title
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.title
$.properties.links.*[*].title
dct:title [NR5] [OR3] , [OR13]

/gmi:MI_Metadata/gmd:fileIdentifier/gco:CharacterString and /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation /gmd:CI_Citation/gmd:title/gco:CharacterString (UMM-C)

Data Identification | Entry Title [R] (§2.2.3)

Table 7: DataIdentification object properties Table 17: Standard object properties Table 25: Link object properties
type@type [NR2] [NR13] All tables except Table 25: Link object properties.
type
$.properties.links.*[*].type
atom:type [NR5] [OR14]

Related URL | …​ ( §2.4)

Table 25: Link object properties
type
$.properties.offerings[*].contents[*].type
owc:type [NR5] [NR5]

RelatedURL/GetData/MimeType or RelatedURL/GetService/MimeType (§2.4)

Table 26: Offering object properties
type
$.properties.offerings[*].operations[*].type
owc:type [NR5] [NR5]

RelatedURL/GetData/MimeType or RelatedURL/GetService/MimeType (§2.4)

Table 27: Operation object properties
up
$.properties.links.up
iana:up [NR10]

Related URL | …​ ( §2.4, §2.8)

Table 24: Links object properties
updated
$.properties.isPrimaryTopicOf.updated
dct:modified [NR5] [OR3], [OR13]

/gmd:MD_Metadata/gmd:dateStamp (See [OR33] §2.2.4).

Metadata Information | Metadata Date (§2.1.2)

Table 6: MetadataInformation object properties
updated
$.properties.updated
dct:modified [NR5] [OR13]

gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:date /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:dateType/gmd:CI_DateTypeCode codeListValue : revision (See [OR33] §2.3.4).

Data Identification | Data Dates (§2.2.7)

Table 8: DataDates object properties
uri
$.properties.qualifiedAttribution[*].agent[*].uri
$.properties.contactPoint[*].email
vcard:hasURL [NR5] [OR17]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
uri
$.properties.authors[*].uri
foaf:page [NR5] [NR13]

/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty

Data Identification | Data Contact (§2.2.9)

Table 11: Agent object properties
versionInfo
$.properties.versionInfo
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.versionInfo
$.properties.meta.conformsTo.versionInfo
owl:versionInfo

/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:edition (Source: UMM-C) /gmd:MD_Metadata/gmd:metadataStandardVersion/gco:CharacterString

Data Identification | Version (§2.2.2)

Table 7: DataIdentification object properties Table 17: Standard object properties
via
$.properties.links.via
iana:via [NR5] [NR10]

Related URL | …​ ( §2.4, §2.8)

Table 24: Links object properties
wasDerivedFrom
$.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom
prov:wasDerivedFrom[OR15], [OR30]

dataQualityInfo/*/report/*/result/*/specification

N/A

Table 16: Plan object properties
wasUsedBy
$.properties.wasUsedBy
prov:wasUsedBy [OR15]

N/A

Table 7: DataIdentification object properties

/gmi:MI_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_QuantitativeAttributeAccuracy/gmd:evaluationMethodDescription/gco:CharacterString (Source: UMM-C)

Data Identification | Quality (§2.2.14)

Data Identification | Metadata Association (§2.2.17)

Data Identification | Purpose (§2.2.19)

Descriptive Keywords | Additional Attributes (§2.3.4)

/gmi:MI_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource

Related URL | …​ ( §2.4, §2.8)

See UMM Common (links to service, DOI, etc…

a  Collection-Progress can be derived from the TemporalExtent: “Planned” (current date earlier than start date of temporal extent), “Active” (current date within temporal extent), “Completed” (current date later than end date of temporal extent).

b  The definition of this property in OGC 14-055r2 [NR50] (i.e. its range) is in conflict with W3C DCAT. OGC 14-055r2 requires a string, while DCAT requires a foaf:Agent.


Annex D
(informative)
ENCODING EXAMPLES

Extracts of the following examples were used in the body of the document. The current Annex includes the complete examples in their original XML format and in the proposed encodings.

The following tools were very useful to improve readability and check the examples.

D.1.  Metadata Examples

D.1.1.  Example 1: Landsat.ETM.ETC

D.1.1.1.  OGC 11-035r1

<?xml version="1.0" encoding="UTF-8"?>
<gmi:MI_Metadata xmlns:gmi="http://www.isotc211.org/2005/gmi" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:eo="http://a9.com/-/opensearch/extensions/eo/1.0/" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:geo="http://a9.com/-/opensearch/extensions/geo/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:os="http://a9.com/-/spec/opensearch/1.1/" xmlns:semantic="http://a9.com/-/opensearch/extensions/semantic/1.0/" xmlns:sru="http://a9.com/-/opensearch/extensions/sru/2.0/" xmlns:time="http://a9.com/-/opensearch/extensions/time/1.0/" xmlns:xlink="http://www.w3.org/1999/xlink">
<gmd:fileIdentifier xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gco:CharacterString>LANDSAT.ETM.GTC</gco:CharacterString>
</gmd:fileIdentifier>
<gmd:language xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:LanguageCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#LanguageCode" codeListValue="eng">eng</gmd:LanguageCode>
</gmd:language>
<gmd:hierarchyLevel xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:MD_ScopeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_ScopeCode" codeListValue="series">series</gmd:MD_ScopeCode>
</gmd:hierarchyLevel>
<gmd:contact xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:CI_ResponsibleParty>
<gmd:organisationName>
<gco:CharacterString>ESA/ESRIN</gco:CharacterString>
</gmd:organisationName>
<gmd:positionName>
<gco:CharacterString>Earth Observation helpdesk</gco:CharacterString>
</gmd:positionName>
<gmd:contactInfo>
<gmd:CI_Contact>
<gmd:phone>
<gmd:CI_Telephone>
<gmd:voice>
<gco:CharacterString>39 06 94180777</gco:CharacterString>
</gmd:voice>
<gmd:facsimile>
<gco:CharacterString>+39 06 94180292</gco:CharacterString>
</gmd:facsimile>
</gmd:CI_Telephone>
</gmd:phone>
<gmd:address>
<gmd:CI_Address>
<gmd:deliveryPoint>
<gco:CharacterString>Via Galileo Galilei CP. 64</gco:CharacterString>
</gmd:deliveryPoint>
<gmd:city>
<gco:CharacterString>Frascati</gco:CharacterString>
</gmd:city>
<gmd:postalCode>
<gco:CharacterString>00044</gco:CharacterString>
</gmd:postalCode>
<gmd:country>
<gco:CharacterString>Italy</gco:CharacterString>
</gmd:country>
<gmd:electronicMailAddress>
<gco:CharacterString>eohelp@eo.esa.int</gco:CharacterString>
</gmd:electronicMailAddress>
</gmd:CI_Address>
</gmd:address>
<gmd:onlineResource>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://www.earth.esa.int</gmd:URL>
</gmd:linkage>
</gmd:CI_OnlineResource>
</gmd:onlineResource>
</gmd:CI_Contact>
</gmd:contactInfo>
<role xmlns="http://www.isotc211.org/2005/gmd">
<gmd:CI_RoleCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="pointOfContact">pointOfContact</gmd:CI_RoleCode>
</role>
</gmd:CI_ResponsibleParty>
</gmd:contact>
<gmd:dateStamp xmlns:gmd="http://www.isotc211.org/2005/gmd"/>
<gmd:metadataStandardName xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gco:CharacterString>ISO19115</gco:CharacterString>
</gmd:metadataStandardName>
<gmd:metadataStandardVersion xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gco:CharacterString>2005/Cor.1:2006</gco:CharacterString>
</gmd:metadataStandardVersion>
<gmd:identificationInfo xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:MD_DataIdentification>
<gmd:citation>
<gmd:CI_Citation>
<gmd:title>
<gco:CharacterString>Landsat 7 ETM+ (Enhanced Thematic Mapper Plus) Geolocated Terrain Corrected Systematic processing</gco:CharacterString>
</gmd:title>
<gmd:alternateTitle>
<gco:CharacterString>(LANDSAT.ETM.GTC)</gco:CharacterString>
</gmd:alternateTitle>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>1999-12-01</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation"/>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:identifier>
<gmd:RS_Identifier>
<gmd:code>
<gco:CharacterString>LANDSAT.ETM.GTC</gco:CharacterString>
</gmd:code>
<gmd:codeSpace>
<gco:CharacterString>http://earth.esa.int</gco:CharacterString>
</gmd:codeSpace>
</gmd:RS_Identifier>
</gmd:identifier>
</gmd:CI_Citation>
</gmd:citation>
<gmd:abstract>
<gco:CharacterString>This dataset contains all the Landsat 7 Enhanced Thematic Mapper high-quality ortho-rectified L1T dataset over Kiruna, Maspalomas and Matera visibility masks: Kiruna, Maspalomas and Matera Landsat 7 ETM density maps The Landsat 7 ETM+ scenes typically covers 185 x 170 km. A standard full scene is nominally centred on the intersection between a Path and Row (the actual image centre can vary by up to 100m). Each band requires 50MB (uncompressed), and Band 8 requires 200MB (panchromatic band with resolution of 15m opposed to 30m).</gco:CharacterString>
</gmd:abstract>
<gmd:pointOfContact>
<gmd:CI_ResponsibleParty>
<gmd:organisationName>
<gco:CharacterString>ESA/ESRIN</gco:CharacterString>
</gmd:organisationName>
<gmd:positionName>
<gco:CharacterString>Earth Observation helpdesk</gco:CharacterString>
</gmd:positionName>
<gmd:contactInfo>
<gmd:CI_Contact>
<gmd:phone>
<gmd:CI_Telephone>
<gmd:voice>
<gco:CharacterString>39 06 94180777</gco:CharacterString>
</gmd:voice>
<gmd:facsimile>
<gco:CharacterString>+39 06 94180292</gco:CharacterString>
</gmd:facsimile>
</gmd:CI_Telephone>
</gmd:phone>
<gmd:address>
<gmd:CI_Address>
<gmd:deliveryPoint>
<gco:CharacterString>Via Galileo Galilei CP. 64</gco:CharacterString>
</gmd:deliveryPoint>
<gmd:city>
<gco:CharacterString>Frascati</gco:CharacterString>
</gmd:city>
<gmd:postalCode>
<gco:CharacterString>00044</gco:CharacterString>
</gmd:postalCode>
<gmd:country>
<gco:CharacterString>Italy</gco:CharacterString>
</gmd:country>
<gmd:electronicMailAddress>
<gco:CharacterString>eohelp@eo.esa.int</gco:CharacterString>
</gmd:electronicMailAddress>
</gmd:CI_Address>
</gmd:address>
<gmd:onlineResource>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://www.earth.esa.int</gmd:URL>
</gmd:linkage>
</gmd:CI_OnlineResource>
</gmd:onlineResource>
</gmd:CI_Contact>
</gmd:contactInfo>
<gmd:role>
<gmd:CI_RoleCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="originator">originator</gmd:CI_RoleCode>
</gmd:role>
</gmd:CI_ResponsibleParty>
</gmd:pointOfContact>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gmx:Anchor xlink:href="http://gcmdservices.gsfc.nasa.gov/kms/concept/c5ff6f39-0c35-488a-96f2-f3498c678e45">EARTH SCIENCE &gt; SPECTRAL/ENGINEERING &gt; VISIBLE WAVELENGTHS</gmx:Anchor>
</gmd:keyword>
<gmd:keyword>
<gmx:Anchor xlink:href="http://gcmdservices.gsfc.nasa.gov/kms/concept/7a73c724-b532-45eb-a9a5-c77330b61bab">EARTH SCIENCE &gt; SPECTRAL/ENGINEERING &gt; INFRARED WAVELENGTHS</gmx:Anchor>
</gmd:keyword>
<gmd:type>
<gmd:MD_KeywordTypeCode codeList="theme" codeListValue="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode"/>
</gmd:type>
<gmd:thesaurusName>
<gmd:CI_Citation>
<gmd:title>
<gmx:Anchor xlink:href="https://gcmdservices.gsfc.nasa.gov/kms/concepts/concept_scheme/sciencekeywords">NASA/Global Change Master Directory (GCMD) Earth Science Keywords. Version 8.6</gmx:Anchor>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>2018</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:identifier>
<gmd:MD_Identifier>
<gmd:code>
<gco:CharacterString>http://idn.ceos.org/</gco:CharacterString>
</gmd:code>
</gmd:MD_Identifier>
</gmd:identifier>
</gmd:CI_Citation>
</gmd:thesaurusName>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gmx:Anchor xlink:href="http://www.opengis.net/eop/2.1/processorVersion">3.03</gmx:Anchor>
</gmd:keyword>
<gmd:type>
<gmd:MD_KeywordTypeCode codeList="https://earth.esa.int/2017/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="processorVersion"/>
</gmd:type>
<gmd:thesaurusName>
<gmd:CI_Citation>
<gmd:title>
<gmx:Anchor xlink:href="http://www.opengis.net/eop/2.1/">Observations and Measurements Version 1.1</gmx:Anchor>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>2016-06-09</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
</gmd:thesaurusName>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gmx:Anchor xlink:href="https://earth.esa.int/typologies/optical-multi-spectral-radiometry-high-resolution">Optical/Multi Spectral Radiometry High Resolution</gmx:Anchor>
</gmd:keyword>
<gmd:type>
<gmd:MD_KeywordTypeCode codeList="https://earth.esa.int/2017/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="sensorType"/>
</gmd:type>
<gmd:thesaurusName>
<gmd:CI_Citation>
<gmd:title>
<gmx:Anchor xlink:href="https://earth.esa.int/typologies">Earth Online - Typologies</gmx:Anchor>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>2017</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
</gmd:thesaurusName>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gmx:Anchor xlink:href="https://earth.esa.int/eop-ext/orbitHeight">917 km</gmx:Anchor>
</gmd:keyword>
<gmd:type>
<gmd:MD_KeywordTypeCode codeList="https://earth.esa.int/2017/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="orbitHeight"/>
</gmd:type>
<gmd:thesaurusName>
<gmd:CI_Citation>
<gmd:title>
<gmx:Anchor xlink:href="https://earth.esa.int/eop-ext/">Observations and Measurements Extension</gmx:Anchor>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>2017</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
</gmd:thesaurusName>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gmx:Anchor xlink:href="http://www.opengis.net/eop/2.1/orbitType">Sun Synchronous</gmx:Anchor>
</gmd:keyword>
<gmd:type>
<gmd:MD_KeywordTypeCode codeList="https://earth.esa.int/2017/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="orbitType"/>
</gmd:type>
<gmd:thesaurusName>
<gmd:CI_Citation>
<gmd:title>
<gmx:Anchor xlink:href="http://www.opengis.net/eop/2.1/">Observations and Measurements Version 1.1</gmx:Anchor>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>2016-06-09</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
</gmd:thesaurusName>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gmx:Anchor xlink:href="https://earth.esa.int/eop-ext/swathWidth">185 km</gmx:Anchor>
</gmd:keyword>
<gmd:type>
<gmd:MD_KeywordTypeCode codeList="https://earth.esa.int/2017/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="swathWidth"/>
</gmd:type>
<gmd:thesaurusName>
<gmd:CI_Citation>
<gmd:title>
<gmx:Anchor xlink:href="https://earth.esa.int/eop-ext/">Observations and Measurements Extension</gmx:Anchor>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>2017</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
</gmd:thesaurusName>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gmx:Anchor xlink:href="https://earth.esa.int/web/guest/data-access/browse-data-products?p_p_id=datasetlist_WAR_ospportlet&amp;missions=LANDSAT">LANDSAT</gmx:Anchor>
</gmd:keyword>
<gmd:type>
<gmd:MD_KeywordTypeCode codeList="https://earth.esa.int/2017/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="mission"/>
</gmd:type>
<gmd:thesaurusName>
<gmd:CI_Citation>
<gmd:title>
<gmx:Anchor xlink:href="https://earth.esa.int/web/guest/missions/">ESA Earth Online - Missions</gmx:Anchor>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>2017</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
</gmd:thesaurusName>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gmx:Anchor xlink:href="https://earth.esa.int/web/guest/data-access/browse-data-products?p_p_id=datasetlist_WAR_ospportlet&amp;instruments=ETM">ETM</gmx:Anchor>
</gmd:keyword>
<gmd:type>
<gmd:MD_KeywordTypeCode codeList="https://earth.esa.int/2017/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="instrument"/>
</gmd:type>
<gmd:thesaurusName>
<gmd:CI_Citation>
<gmd:title>
<gmx:Anchor xlink:href="https://earth.esa.int/instruments/">ESA Earth Online - Instruments</gmx:Anchor>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>2017</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
</gmd:thesaurusName>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gmx:Anchor xlink:href="https://earth.esa.int/web/guest/earth-topics/land">Land &gt; Soil</gmx:Anchor>
</gmd:keyword>
<gmd:type>
<gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="theme"/>
</gmd:type>
<gmd:thesaurusName>
<gmd:CI_Citation>
<gmd:title>
<gmx:Anchor xlink:href="https://earth.esa.int/web/guest/earth-topics/">ESA Earth Online - Earth Topics</gmx:Anchor>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>2017</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
</gmd:thesaurusName>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gco:CharacterString>Earth Online</gco:CharacterString>
</gmd:keyword>
<gmd:keyword>
<gco:CharacterString>ESA OADS</gco:CharacterString>
</gmd:keyword>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:resourceConstraints>
<gmd:MD_LegalConstraints>
<gmd:useLimitation>
<gmx:Anchor xlink:href="https://eoli.eo.esa.int/ngeo/sec/?sharedUrl=https%3A%2F%2Feoli.eo.esa.int%2Fngeo%2Fsec%2F%23data-services-area%2Fsearch%3FosParameters%3D%257B%2522FEDEO-LANDSAT.ETM.GTC-LANDSAT.ETM.GTC%2522%253A%2522%2522%252C%2522commonCriteria%2522%253A%2522start%253D2003-12-01T00%253A00%253A00.000Z%2526stop%253D2003-12-31T23%253A59%253A59.999Z%2526bbox%253D-80.86%252C-33.49%252C80.85%252C33.48%2522%257D">Fast Registration with immediate access</gmx:Anchor>
</gmd:useLimitation>
<gmd:useLimitation>
<gco:CharacterString>Data are available</gco:CharacterString>
</gmd:useLimitation>
<gmd:useLimitation>
<gmx:Anchor xlink:href="https://tpm-ds.eo.esa.int/collections/">online</gmx:Anchor>
</gmd:useLimitation>
<gmd:useLimitation>
<gco:CharacterString>upon</gco:CharacterString>
</gmd:useLimitation>
<gmd:useLimitation>
<gmx:Anchor xlink:href="https://earth.esa.int/FastRegistration/LS**_TM__GTC_AX-A">fast registration</gmx:Anchor>
</gmd:useLimitation>
<gmd:accessConstraints>
<gmd:MD_RestrictionCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_RestrictionCode" codeListValue="otherRestrictions"/>
</gmd:accessConstraints>
<gmd:otherConstraints>
<gmx:Anchor xlink:href="https://earth.esa.int/pi/esa?type=file&amp;table=aotarget&amp;cmd=image&amp;alias=TPMterms">Utilisation of this data is subject to the Terms and Conditions for ESA's Third Party Missions scheme</gmx:Anchor>
</gmd:otherConstraints>
</gmd:MD_LegalConstraints>
</gmd:resourceConstraints>
<gmd:language>
<gmd:LanguageCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#LanguageCode" codeListValue="eng">eng</gmd:LanguageCode>
</gmd:language>
<gmd:topicCategory>
<gmd:MD_TopicCategoryCode>geoscientificInformation</gmd:MD_TopicCategoryCode>
</gmd:topicCategory>
<gmd:extent>
<gmd:EX_Extent>
<gmd:temporalElement>
<gmd:EX_TemporalExtent>
<gmd:extent>
<gml:TimePeriod xmlns:gml="http://www.opengis.net/gml/3.2" gml:id="timeperiod1">
<gml:beginPosition>1999-12-01</gml:beginPosition>
<gml:endPosition>2003-12-31</gml:endPosition>
</gml:TimePeriod>
</gmd:extent>
</gmd:EX_TemporalExtent>
</gmd:temporalElement>
</gmd:EX_Extent>
</gmd:extent>
<gmd:extent>
<gmd:EX_Extent>
<gmd:geographicElement>
<gmd:EX_GeographicBoundingBox>
<gmd:westBoundLongitude>
<gco:Decimal>-180</gco:Decimal>
</gmd:westBoundLongitude>
<gmd:eastBoundLongitude>
<gco:Decimal>180</gco:Decimal>
</gmd:eastBoundLongitude>
<gmd:southBoundLatitude>
<gco:Decimal>-90</gco:Decimal>
</gmd:southBoundLatitude>
<gmd:northBoundLatitude>
<gco:Decimal>90</gco:Decimal>
</gmd:northBoundLatitude>
</gmd:EX_GeographicBoundingBox>
</gmd:geographicElement>
</gmd:EX_Extent>
</gmd:extent>
</gmd:MD_DataIdentification>
</gmd:identificationInfo>
<gmd:contentInfo xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmi:MI_ImageDescription>
<gmd:attributeDescription/>
<gmd:contentType/>
<gmd:processingLevelCode>
<gmd:RS_Identifier>
<gmd:code>
<gco:CharacterString>Level 1</gco:CharacterString>
</gmd:code>
<gmd:codeSpace/>
</gmd:RS_Identifier>
</gmd:processingLevelCode>
</gmi:MI_ImageDescription>
</gmd:contentInfo>
<gmd:distributionInfo xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:MD_Distribution>
<gmd:transferOptions>
<gmd:MD_DigitalTransferOptions>
<gmd:onLine>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>https://earth.esa.int/web/guest/-/landsat-7-etm-enhanced-thematic-mapper-plus-geolocated-terrain-corrected-systematic-processing</gmd:URL>
</gmd:linkage>
<gmd:function>
<gmd:CI_OnLineFunctionCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="information"/>
</gmd:function>
</gmd:CI_OnlineResource>
</gmd:onLine>
</gmd:MD_DigitalTransferOptions>
</gmd:transferOptions>
</gmd:MD_Distribution>
</gmd:distributionInfo>
<gmi:acquisitionInformation>
<gmi:MI_AcquisitionInformation>
<gmi:operation>
<gmi:MI_Operation>
<gmi:citation/>
<gmi:status>
<gmd:MD_ProgressCode xmlns:gmd="http://www.isotc211.org/2005/gmd" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml#MD_ProgressCode" codeListValue="Out of service"/>
</gmi:status>
<gmi:parentOperation/>
</gmi:MI_Operation>
</gmi:operation>
<gmi:platform>
<gmi:MI_Platform>
<gmi:citation>
<gmd:CI_Citation xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:title>
<gmx:Anchor xlink:href="https://earth.esa.int/web/guest/missions/3rd-party-missions/historical-missions/landsat-tmetm">LANDSAT</gmx:Anchor>
</gmd:title>
<gmd:alternateTitle>
<gmx:Anchor xlink:href="http://gcmdservices.gsfc.nasa.gov/kms/concept/3cc4a1e8-3b94-4567-90b3-32137aec2d9e">LANDSAT</gmx:Anchor>
</gmd:alternateTitle>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>1972-07-23</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation"/>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
</gmi:citation>
<gmi:identifier>
<gmd:MD_Identifier xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:code>
<gmx:Anchor xlink:href="https://earth.esa.int/web/guest/missions/3rd-party-missions/historical-missions/landsat-tmetm">LANDSAT</gmx:Anchor>
</gmd:code>
</gmd:MD_Identifier>
</gmi:identifier>
<gmi:description>
<gmx:Anchor xlink:href="https://earth.esa.int/image/image_gallery?img_id=26471">LANDSAT</gmx:Anchor>
</gmi:description>
<gmi:sponsor>
<gmd:CI_ResponsibleParty xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:organisationName>
<gco:CharacterString>NOAA</gco:CharacterString>
</gmd:organisationName>
<gmd:role/>
</gmd:CI_ResponsibleParty>
</gmi:sponsor>
<gmi:sponsor>
<gmd:CI_ResponsibleParty xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:organisationName>
<gco:CharacterString> NASA</gco:CharacterString>
</gmd:organisationName>
<gmd:role/>
</gmd:CI_ResponsibleParty>
</gmi:sponsor>
<gmi:sponsor>
<gmd:CI_ResponsibleParty xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:organisationName>
<gco:CharacterString> USGS</gco:CharacterString>
</gmd:organisationName>
<gmd:role/>
</gmd:CI_ResponsibleParty>
</gmi:sponsor>
<gmi:instrument>
<gmi:MI_Instrument>
<gmi:citation>
<gmd:CI_Citation xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:title>
<gmx:Anchor xlink:href="https://earth.esa.int/web/guest/data-access/browse-data-products?p_p_id=datasetlist_WAR_ospportlet&amp;instruments=ETM">ETM</gmx:Anchor>
</gmd:title>
<gmd:alternateTitle>
<gmx:Anchor xlink:href="http://gcmdservices.gsfc.nasa.gov/kms/concept/4dbe7764-a2ea-4a19-b754-696c35ac3205">ETM+</gmx:Anchor>
</gmd:alternateTitle>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>1972-07-23</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation"/>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:identifier>
<gmd:MD_Identifier>
<gmd:code>
<gmx:Anchor xlink:href="https://earth.esa.int/web/guest/data-access/browse-data-products?p_p_id=datasetlist_WAR_ospportlet&amp;instruments=ETM">ETM</gmx:Anchor>
</gmd:code>
</gmd:MD_Identifier>
</gmd:identifier>
</gmd:CI_Citation>
</gmi:citation>
<gmi:type>
<gmi:MI_SensorTypeCode/>
</gmi:type>
<gmi:description>
<gco:CharacterString>Enhanced Thematic Mapper Plus</gco:CharacterString>
</gmi:description>
</gmi:MI_Instrument>
</gmi:instrument>
</gmi:MI_Platform>
</gmi:platform>
</gmi:MI_AcquisitionInformation>
</gmi:acquisitionInformation>
</gmi:MI_Metadata>

D.1.1.2.  GeoJSON

{

"type": "Feature",
"id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/geo%2Bjson&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=LANDSAT.ETM.GTC",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-180,
-90
],
[
180,
-90
],
[
180,
90
],
[
-180,
90
],
[
-180,
-90
]
]
]
},
"properties": {
"title": "LANDSAT 7 ETM+ (Enhanced Thematic Mapper Plus) Geolocated Terrain Corrected Systematic processing (LANDSAT.ETM.GTC)",
"kind": "http://purl.org/dc/dcmitype/Collection",
"identifier": "LANDSAT.ETM.GTC",
"abstract": "This dataset contains all the Landsat 7 Enhanced Thematic Mapper high-quality ortho-rectified L1T dataset over Kiruna, Maspalomas and Matera visibility masks. The Landsat 7 ETM+ scenes typically covers 185 x 170 km. A standard full scene is nominally centred on the intersection between a Path and Row (the actual image centre can vary by up to 100m). Each band requires 50MB (uncompressed), and Band 8 requires 200MB (panchromatic band with resolution of 15m opposed to 30m).",
"date": "1999-07-01T00:00:00Z/2003-12-31T00:00:00Z",
"updated": "2003-12-31T00:00:00Z",
"temporal": {
"beginningDateTime": "1999-07-01T00:00:00Z",
"endingDateTime": "2003-12-31T00:00:00Z"
},
"isPrimaryTopicOf": {
"type": "CatalogRecord",
"updated": "2019-07-17T00:00:00Z",
"published": "1999-07-01T00:00:00Z",
"lang": "en"
},
"categories": [
{
"term": "http://www.eionet.europa.eu/gemet/concept/3650",
"label": "Geology"
},
{
"term": "http://gcmdservices.gsfc.nasa.gov/kms/concept/03f0c0a3-04a7-4ef8-8ec0-3c2266510815",
"label": "Science Keywords > Earth Science > Spectral/Engineering > Visible Wavelengths > Visible Imagery"
},
{
"term": "http://gcmdservices.gsfc.nasa.gov/kms/concept/c7a09e9f-3c99-4b31-a521-313c379ba2b4",
"label": "LANDSAT-7"
}
],
"offerings": [
{
"code": "http://www.opengis.net/spec/owc-geojson/1.0/req/wps",
"operations": [
{
"code": "Execute",
"method": "POST",
"href": "http://185.52.193.7/wps-proxy/"
}
]
},
{
"code": "http://www.opengis.net/spec/owc-geojson/1.0/req/wcs",
"operations": [
{
"code": "GetCapabilities",
"method": "GET",
"href": "http://131.176.196.55/wcs?service=WCS&Request=GetCapabilities"
},
{
"code": "DescribeCoverage",
"method": "GET",
"type": "application/xml",
"href": "http://131.176.196.55/wcs?service=WCS&Request=DescribeCoverage&version=2.0.0&CoverageId=LE7_RGB"
}
]
}
],
"license": [
{
"type": "LicenseDocument",
"label": "Fast Registration with immediate access Data is available via EOLI-SA upon registration for the On The Fly Service. For information on access and use of the On-The-Fly service please refer to the OTF FAQ page and news of 28 July 2016."
}
],
"accessRights": [
{
"type": "RightsStatement",
"label": "Utilisation of this data is subject to ESA's Earth Observation Terms and Conditions"
}
],
"links": {
"profiles": [
{
"href": "http://www.opengis.net/spec/owc-geojson/1.0/req/core"
},
{
"href": "http://www.opengis.net/spec/eoc-geojson/1.0/req/core"
}
],
"alternates": [
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/atom%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=LANDSAT.ETM.GTC&recordSchema=server-choice",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/vnd.iso.19139-2%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=LANDSAT.ETM.GTC&recordSchema=iso19139-2",
"type": "application/vnd.iso.19139-2+xml",
"title": "ISO 19139-2 metadata"
}
],
"describedby": [
{
"href": "https://earth.esa.int/web/guest/data-access/browse-data-products/-/asset_publisher/y8Qb/content/landsat-7-etm-enhanced-thematic-mapper-plus-geolocated-terrain-corrected-systematic-processing-over-kiruna-and-masplomas",
"type": "text/html",
"title": "Described by"
}
],
"search": [
{
"href": "http://fedeo.esa.int/opensearch/description.xml?parentIdentifier=LANDSAT.ETM.GTC&sensorType=OPTICAL&startDate=1999-07-01T00:00:00Z&endDate=2003-12-31T00:00:00Z",
"type": "application/opensearchdescription+xml"
}
],
"previews": [
{
"href": "http://fedeo.esa.int/opensearch/images/esa.png",
"type": "image/png",
"title": "Quicklook"
}
]
},
"acquisitionInformation": [
{
"type": "AcquisitionInformation",
"platform": {
"type": "Platform",
"id": "http://gcmdservices.gsfc.nasa.gov/kms/concept/c7a09e9f-3c99-4b31-a521-313c379ba2b4",
"platformShortName": "Landsat",
"platformSerialIdentifier": "7"
},
"instrument": {
"type": "Instrument",
"id": "http://gcmdservices.gsfc.nasa.gov/kms/concept/4dbe7764-a2ea-4a19-b754-696c35ac3205",
"instrumentShortName": "ETM",
"sensorType": "OPTICAL"
},
"acquisitionParameters": {
"beginningDateTime": "1999-07-01T00:00:00Z",
"endingDateTime": "2003-12-31T00:00:00Z"
}
}
]
}
}

D.1.1.3.  JSON-LD (Compacted)

The example below is identical to the example in the previous section, only a @context property is added.

{
"@context": "http://bp.schemas.opengis.net/17-084r1/eoc-geojson/1.0/eoc-geojson.jsonld",

"type": "Feature",

   ... same content as example in previous section ...

}

D.1.1.4.  JSON-LD (Expanded)

{
"@context": {
"@version": 1.1,
"dct": "http://purl.org/dc/terms/",
"atom": "http://www.w3.org/2005/Atom/",
"iana": "http://www.iana.org/assignments/relation/",
"os": "http://a9.com/-/spec/opensearch/1.1/",
"eop": "http://www.opengis.net/ont/eo-geojson/1.0/",
"owc": "http://www.opengis.net/ont/owc/1.0/",
"gj": "https://purl.org/geojson/vocab#",
"gsp": "http://www.opengis.net/ont/geosparql#",
"vcard": "http://www.w3.org/2006/vcard/ns#",
"skos": "http://www.w3.org/2004/02/skos/core#",
"dcat": "http://www.w3.org/ns/dcat#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"prov": "http://www.w3.org/ns/prov#",
"locn": "http://www.w3.org/ns/locn#",
"foaf": "http://xmlns.com/foaf/0.1/",
"schema": "http://schema.org/",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"adms": "http://www.w3.org/ns/adms#",
"owl": "http://www.w3.org/2002/07/owl#"
},
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/geo%2Bjson&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=LANDSAT.ETM.GTC",
"@type": "dcat:Dataset",
"dct:accessRights": {
"@type": "dct:RightsStatement",
"rdfs:label": "Utilisation of this data is subject to ESA's Earth Observation Terms and Conditions"
},
"dct:date": "1999-07-01T00:00:00Z/2003-12-31T00:00:00Z",
"dct:description": "This dataset contains all the Landsat 7 Enhanced Thematic Mapper high-quality ortho-rectified L1T dataset over Kiruna, Maspalomas and Matera visibility masks. The Landsat 7 ETM+ scenes typically covers 185 x 170 km. A standard full scene is nominally centred on the intersection between a Path and Row (the actual image centre can vary by up to 100m). Each band requires 50MB (uncompressed), and Band 8 requires 200MB (panchromatic band with resolution of 15m opposed to 30m).",
"dct:identifier": "LANDSAT.ETM.GTC",
"dct:license": {
"@type": "dct:LicenseDocument",
"rdfs:label": "Fast Registration with immediate access Data is available via EOLI-SA upon registration for the On The Fly Service. For information on access and use of the On-The-Fly service please refer to the OTF FAQ page and news of 28 July 2016."
},
"dct:modified": "2003-12-31T00:00:00Z",
"dct:temporal": {
"dcat:endDate": "2003-12-31T00:00:00Z",
"dcat:startDate": "1999-07-01T00:00:00Z"
},
"dct:title": "LANDSAT 7 ETM+ (Enhanced Thematic Mapper Plus) Geolocated Terrain Corrected Systematic processing (LANDSAT.ETM.GTC)",
"dct:type": {
"@id": "http://purl.org/dc/dcmitype/Collection"
},
"owc:links": {
"iana:alternate": [
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/atom%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=LANDSAT.ETM.GTC&recordSchema=server-choice",
"dct:title": "Atom format",
"atom:type": "application/atom+xml"
},
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/vnd.iso.19139-2%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=LANDSAT.ETM.GTC&recordSchema=iso19139-2",
"dct:title": "ISO 19139-2 metadata",
"atom:type": "application/vnd.iso.19139-2+xml"
}
],
"iana:describedby": {
"@id": "https://earth.esa.int/web/guest/data-access/browse-data-products/-/asset_publisher/y8Qb/content/landsat-7-etm-enhanced-thematic-mapper-plus-geolocated-terrain-corrected-systematic-processing-over-kiruna-and-masplomas",
"dct:title": "Described by",
"atom:type": "text/html"
},
"iana:icon": {
"@id": "http://fedeo.esa.int/opensearch/images/esa.png",
"dct:title": "Quicklook",
"atom:type": "image/png"
},
"iana:profile": [
{
"@id": "http://www.opengis.net/spec/owc-geojson/1.0/req/core"
},
{
"@id": "http://www.opengis.net/spec/eoc-geojson/1.0/req/core"
}
],
"iana:search": {
"@id": "http://fedeo.esa.int/opensearch/description.xml?parentIdentifier=LANDSAT.ETM.GTC&sensorType=OPTICAL&startDate=1999-07-01T00:00:00Z&endDate=2003-12-31T00:00:00Z",
"atom:type": "application/opensearchdescription+xml"
}
},
"dcat:endpointDescription": [
{
"owc:code": {
"@id": "http://www.opengis.net/spec/owc-geojson/1.0/req/wps"
},
"owc:operations": {
"owc:code": "Execute",
"owc:href": "http://185.52.193.7/wps-proxy/",
"owc:method": "POST"
}
},
{
"owc:code": {
"@id": "http://www.opengis.net/spec/owc-geojson/1.0/req/wcs"
},
"owc:operations": [
{
"owc:code": "GetCapabilities",
"owc:href": "http://131.176.196.55/wcs?service=WCS&Request=GetCapabilities",
"owc:method": "GET"
},
{
"owc:code": "DescribeCoverage",
"owc:href": "http://131.176.196.55/wcs?service=WCS&Request=DescribeCoverage&version=2.0.0&CoverageId=LE7_RGB",
"owc:method": "GET",
"owc:type": "application/xml"
}
]
}
],
"dcat:theme": [
{
"@id": "http://www.eionet.europa.eu/gemet/concept/3650",
"skos:prefLabel": "Geology"
},
{
"@id": "http://gcmdservices.gsfc.nasa.gov/kms/concept/03f0c0a3-04a7-4ef8-8ec0-3c2266510815",
"skos:prefLabel": "Science Keywords > Earth Science > Spectral/Engineering > Visible Wavelengths > Visible Imagery"
},
{
"@id": "http://gcmdservices.gsfc.nasa.gov/kms/concept/c7a09e9f-3c99-4b31-a521-313c379ba2b4",
"skos:prefLabel": "LANDSAT-7"
}
],
"prov:wasGeneratedBy": {
"@type": "prov:Activity",
"prov:endedAtTime": "2003-12-31T00:00:00Z",
"prov:startedAtTime": "1999-07-01T00:00:00Z",
"prov:used": [
{
"@id": "http://gcmdservices.gsfc.nasa.gov/kms/concept/4dbe7764-a2ea-4a19-b754-696c35ac3205",
"@type": "eop:Instrument",
"eop:instrumentShortName": "ETM",
"eop:sensorType": {
"@id": "eop:OPTICAL"
}
},
{
"@id": "http://gcmdservices.gsfc.nasa.gov/kms/concept/c7a09e9f-3c99-4b31-a521-313c379ba2b4",
"@type": "eop:Platform",
"eop:platformSerialIdentifier": "7",
"eop:platformShortName": "Landsat"
}
]
},
"foaf:isPrimaryTopicOf": {
"@type": "dcat:CatalogRecord",
"dct:issued": "1999-07-01T00:00:00Z",
"dct:language": {
"@id": "http://id.loc.gov/vocabulary/iso639-1/en"
},
"dct:modified": "2019-07-17T00:00:00Z"
},
"gj:geometry": {
"@type": "gj:Polygon",
"gj:coordinates": {
"@list": [
{
"@list": [
{
"@list": [
-180,
-90
]
},
{
"@list": [
180,
-90
]
},
{
"@list": [
180,
90
]
},
{
"@list": [
-180,
90
]
},
{
"@list": [
-180,
-90
]
}
]
}
]
}
}
}

D.1.2.  Example 2: Sentinel-2

D.1.2.1.  GeoJSON

{
"@context": "http://bp.schemas.opengis.net/17-084r1/eoc-geojson/1.0/eoc-geojson.jsonld",
"type": "Feature",
"id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/geo%2Bjson&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-180,
-90
],
[
180,
-90
],
[
180,
90
],
[
-180,
90
],
[
-180,
-90
]
]
]
},
"properties": {
"title": "Sentinel-2 Products",
"kind": "http://purl.org/dc/dcmitype/Collection",
"identifier": "EOP:ESA:Sentinel-2",
"rights": "Data are available upon fast registration",
"abstract": "The Sentinel-2 mission is a land monitoring constellation of two satellites that provide high resolution optical imagery and provide continuity for the current SPOT and Landsat missions. The mission provides a global coverage of the Earth's land surface every 10 days with one satellite and 5 days with 2 satellites, making the data of great use in on-going studies. The satellites are equipped with the state-of-the-art MSI (Multispectral Imager) instrument, that offers high-resolution optical imagery.",
"date": "2015-06-23T00:00:00Z/",
"updated": "2019-07-28T15:23:57Z",
"temporal": {
"beginningDateTime": "2015-06-23T00:00:00Z"
},
"isPrimaryTopicOf": {
"type": "CatalogRecord",
"updated": "2019-07-17T00:00:00Z",
"published": "2019-07-17T00:00:00Z",
"lang": "en"
},
"categories": [
{
"term": "http://www.eionet.europa.eu/gemet/concept/4599",
"label": "land"
},
{
"term": "http://www.eionet.europa.eu/gemet/concept/4612",
"label": "land cover"
},
{
"term": "http://www.eionet.europa.eu/gemet/concept/1391",
"label": "chlorophyll"
},
{
"term": "http://www.eionet.europa.eu/gemet/concept/5496",
"label": "natural disaster"
},
{
"term": "http://gcmdservices.gsfc.nasa.gov/kms/concept/e5815f58-8232-4c7f-b50d-ea71d73891a9",
"label": "EARTH SCIENCE > LAND SURFACE > LAND USE/LAND COVER"
},
{
"term": "http://gcmdservices.gsfc.nasa.gov/kms/concept/ec0e2762-f57a-4fdc-b395-c8d7d5590d18",
"label": "EARTH SCIENCE > HUMAN DIMENSIONS > NATURAL HAZARDS"
},
{
"term": "https://earth.esa.int/concept/sentinel-2",
"label": "Sentinel-2"
},
{
"term": "https://earth.esa.int/concept/s2-msi",
"label": "MSI"
}
],
"keyword": [
"FedEO",
"SCIHUB"
],
"qualifiedAttribution": [
{
"type": "Attribution",
"agent": [
{
"type": "Organization",
"email": "eohelp@eo.esa.int",
"name": "ESA/ESRIN",
"hasTelephone": [
{
"type": "Voice",
"hasValue": "tel:+39 06 94180777"
},
{
"type": "Fax",
"hasValue": "tel:+39 06 94180292"
}
],
"uri": "http://www.earth.esa.int",
"hasAddress": {
"country-name": "Italy",
"postal-code": "00044",
"locality": "Frascati",
"street-address": "Via Galileo Galilei CP. 64"
}
}
],
"role": "originator"
}
],
"acquisitionInformation": [
{
"platform": {
"id": "https://earth.esa.int/concept/sentinel-2",
"platformShortName": "Sentinel-2",
"platformSerialIdentifier": "A"
},
"instrument": {
"id": "https://earth.esa.int/concept/s2-msi",
"instrumentShortName": "MSI",
"sensorType": "OPTICAL"
}
}
],
"productInformation": {
"referenceSystemIdentifier": "epsg:4326",
"processingLevel": "1C"
},
"links": {
"alternates": [
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/atom%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=server-choice",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/vnd.iso.19139%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=iso",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/vnd.iso.19139-2%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=iso19139-2",
"type": "application/vnd.iso.19139-2+xml",
"title": "ISO 19139-2 metadata"
},
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/iso19115%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=iso19115",
"type": "application/iso19115+xml",
"title": "ISO MENDS metadata"
},
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/vnd.iso.19115-3%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=iso19115-3",
"type": "application/vnd.iso.19115-3+xml",
"title": "ISO 19115-3 metadata"
},
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/dif10%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=dif10",
"type": "application/dif10+xml",
"title": "DIF-10 metadata"
},
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/xml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=dc",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/rdf%2Bxml&parentIdentifier=EOP:ESA:FEDEO:COLLECTIONS&uid=EOP:ESA:Sentinel-2&recordSchema=iso",
"type": "application/rdf+xml",
"title": "RDF/XML format"
},
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/ld%2Bjson&parentIdentifier=EOP:ESA:FEDEO:COLLECTIONS&uid=EOP:ESA:Sentinel-2&recordSchema=iso",
"type": "application/ld+json",
"title": "JSON-LD format"
},
{
"href": "http://fedeo.esa.int/opensearch/request/?httpAccept=text/turtle&parentIdentifier=EOP:ESA:FEDEO:COLLECTIONS&uid=EOP:ESA:Sentinel-2&recordSchema=iso",
"type": "text/turtle",
"title": "Turtle format"
}
],
"describedby": [
{
"href": "https://sentinel.esa.int/web/sentinel/missions/sentinel-2",
"type": "text/html",
"title": "ESA Sentinel Online"
}
],
"search": [
{
"href": "http://fedeo.esa.int/opensearch/description.xml?parentIdentifier=EOP:ESA:SCIHUB:S2&sensorType=OPTICAL&startDate=2015-06-23T00:00:00Z&endDate=",
"type": "application/opensearchdescription+xml"
}
],
"previews": [
{
"href": "http://fedeo.esa.int/opensearch/images/esa.png",
"type": "image/png",
"title": "Quicklook"
}
]
}
}
}

D.1.2.2.  JSON-LD (Compacted)

The example below is identical to the example in the previous section, only a @context property is added.

{
"@context": "http://bp.schemas.opengis.net/17-084r1/eoc-geojson/1.0/eoc-geojson.jsonld",

"type": "Feature",

   ... same content as example in previous section ...

}

D.1.2.3.  JSON-LD (Expanded)

{
"@context": {
"@version": 1.1,
"dct": "http://purl.org/dc/terms/",
"atom": "http://www.w3.org/2005/Atom/",
"iana": "http://www.iana.org/assignments/relation/",
"os": "http://a9.com/-/spec/opensearch/1.1/",
"eop": "http://www.opengis.net/ont/eo-geojson/1.0/",
"owc": "http://www.opengis.net/ont/owc/1.0/",
"gj": "https://purl.org/geojson/vocab#",
"gsp": "http://www.opengis.net/ont/geosparql#",
"vcard": "http://www.w3.org/2006/vcard/ns#",
"skos": "http://www.w3.org/2004/02/skos/core#",
"dcat": "http://www.w3.org/ns/dcat#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"prov": "http://www.w3.org/ns/prov#",
"locn": "http://www.w3.org/ns/locn#",
"foaf": "http://xmlns.com/foaf/0.1/",
"schema": "http://schema.org/",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"adms": "http://www.w3.org/ns/adms#",
"owl": "http://www.w3.org/2002/07/owl#"
},
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/geo%2Bjson&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2",
"@type": "dcat:Dataset",
"dct:date": "2015-06-23T00:00:00Z/",
"dct:description": "The Sentinel-2 mission is a land monitoring constellation of two satellites that provide high resolution optical imagery and provide continuity for the current SPOT and Landsat missions. The mission provides a global coverage of the Earth's land surface every 10 days with one satellite and 5 days with 2 satellites, making the data of great use in on-going studies. The satellites are equipped with the state-of-the-art MSI (Multispectral Imager) instrument, that offers high-resolution optical imagery.",
"dct:identifier": "EOP:ESA:Sentinel-2",
"dct:modified": "2019-07-28T15:23:57Z",
"dct:rights": "Data are available upon fast registration",
"dct:temporal": {
"dcat:startDate": "2015-06-23T00:00:00Z"
},
"dct:title": "Sentinel-2 Products",
"dct:type": {
"@id": "http://purl.org/dc/dcmitype/Collection"
},
"eop:productInformation": {
"eop:processingLevel": "1C",
"eop:referenceSystemIdentifier": {
"@id": "epsg:4326"
}
},
"owc:links": {
"iana:alternate": [
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/atom%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=server-choice",
"dct:title": "Atom format",
"atom:type": "application/atom+xml"
},
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/vnd.iso.19139%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=iso",
"dct:title": "ISO 19139 metadata",
"atom:type": "application/vnd.iso.19139+xml"
},
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/vnd.iso.19139-2%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=iso19139-2",
"dct:title": "ISO 19139-2 metadata",
"atom:type": "application/vnd.iso.19139-2+xml"
},
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/iso19115%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=iso19115",
"dct:title": "ISO MENDS metadata",
"atom:type": "application/iso19115+xml"
},
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/vnd.iso.19115-3%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=iso19115-3",
"dct:title": "ISO 19115-3 metadata",
"atom:type": "application/vnd.iso.19115-3+xml"
},
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/dif10%2Bxml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=dif10",
"dct:title": "DIF-10 metadata",
"atom:type": "application/dif10+xml"
},
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/xml&parentIdentifier=EOP%3AESA%3AFEDEO%3ACOLLECTIONS&uid=EOP%3AESA%3ASentinel-2&recordSchema=dc",
"dct:title": "Dublin Core metadata",
"atom:type": "application/xml"
},
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/rdf%2Bxml&parentIdentifier=EOP:ESA:FEDEO:COLLECTIONS&uid=EOP:ESA:Sentinel-2&recordSchema=iso",
"dct:title": "RDF/XML format",
"atom:type": "application/rdf+xml"
},
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=application/ld%2Bjson&parentIdentifier=EOP:ESA:FEDEO:COLLECTIONS&uid=EOP:ESA:Sentinel-2&recordSchema=iso",
"dct:title": "JSON-LD format",
"atom:type": "application/ld+json"
},
{
"@id": "http://fedeo.esa.int/opensearch/request/?httpAccept=text/turtle&parentIdentifier=EOP:ESA:FEDEO:COLLECTIONS&uid=EOP:ESA:Sentinel-2&recordSchema=iso",
"dct:title": "Turtle format",
"atom:type": "text/turtle"
}
],
"iana:describedby": {
"@id": "https://sentinel.esa.int/web/sentinel/missions/sentinel-2",
"dct:title": "ESA Sentinel Online",
"atom:type": "text/html"
},
"iana:icon": {
"@id": "http://fedeo.esa.int/opensearch/images/esa.png",
"dct:title": "Quicklook",
"atom:type": "image/png"
},
"iana:search": {
"@id": "http://fedeo.esa.int/opensearch/description.xml?parentIdentifier=EOP:ESA:SCIHUB:S2&sensorType=OPTICAL&startDate=2015-06-23T00:00:00Z&endDate=",
"atom:type": "application/opensearchdescription+xml"
}
},
"dcat:keyword": [
"FedEO",
"SCIHUB"
],
"dcat:theme": [
{
"@id": "http://www.eionet.europa.eu/gemet/concept/4599",
"skos:prefLabel": "land"
},
{
"@id": "http://www.eionet.europa.eu/gemet/concept/4612",
"skos:prefLabel": "land cover"
},
{
"@id": "http://www.eionet.europa.eu/gemet/concept/1391",
"skos:prefLabel": "chlorophyll"
},
{
"@id": "http://www.eionet.europa.eu/gemet/concept/5496",
"skos:prefLabel": "natural disaster"
},
{
"@id": "http://gcmdservices.gsfc.nasa.gov/kms/concept/e5815f58-8232-4c7f-b50d-ea71d73891a9",
"skos:prefLabel": "EARTH SCIENCE > LAND SURFACE > LAND USE/LAND COVER"
},
{
"@id": "http://gcmdservices.gsfc.nasa.gov/kms/concept/ec0e2762-f57a-4fdc-b395-c8d7d5590d18",
"skos:prefLabel": "EARTH SCIENCE > HUMAN DIMENSIONS > NATURAL HAZARDS"
},
{
"@id": "https://earth.esa.int/concept/sentinel-2",
"skos:prefLabel": "Sentinel-2"
},
{
"@id": "https://earth.esa.int/concept/s2-msi",
"skos:prefLabel": "MSI"
}
],
"prov:qualifiedAttribution": {
"@type": "prov:Attribution",
"dct:type": {
"@id": "http://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/originator"
},
"prov:agent": {
"@type": "vcard:Organization",
"vcard:hasAddress": {
"vcard:country-name": "Italy",
"vcard:locality": "Frascati",
"vcard:postal-code": "00044",
"vcard:street-address": "Via Galileo Galilei CP. 64"
},
"vcard:hasEmail": "eohelp@eo.esa.int",
"vcard:fn": "ESA/ESRIN",
"vcard:hasTelephone": [
{
"@type": "vcard:Voice",
"vcard:hasValue": {
"@id": "tel:+39 06 94180777"
}
},
{
"@type": "vcard:Fax",
"vcard:hasValue": {
"@id": "tel:+39 06 94180292"
}
}
],
"vcard:hasURL": {
"@id": "http://www.earth.esa.int"
}
}
},
"prov:wasGeneratedBy": {
"prov:used": [
{
"@id": "https://earth.esa.int/concept/s2-msi",
"eop:instrumentShortName": "MSI",
"eop:sensorType": {
"@id": "eop:OPTICAL"
}
},
{
"@id": "https://earth.esa.int/concept/sentinel-2",
"eop:platformSerialIdentifier": "A",
"eop:platformShortName": "Sentinel-2"
}
]
},
"foaf:isPrimaryTopicOf": {
"@type": "dcat:CatalogRecord",
"dct:issued": "2019-07-17T00:00:00Z",
"dct:language": {
"@id": "http://id.loc.gov/vocabulary/iso639-1/en"
},
"dct:modified": "2019-07-17T00:00:00Z"
},
"gj:geometry": {
"@type": "gj:Polygon",
"gj:coordinates": {
"@list": [
{
"@list": [
{
"@list": [
-180,
-90
]
},
{
"@list": [
180,
-90
]
},
{
"@list": [
180,
90
]
},
{
"@list": [
-180,
90
]
},
{
"@list": [
-180,
-90
]
}
]
}
]
}
}
}

Annex E
(normative)
Annex E: JSON SCHEMAS

E.1.  Schemas for EOC JSON validation

JSON Schema [OR7] representation (Draft 04) is used to define the schemas. This specification is supported by several tools (including Altova XML Spy 2016, JSONBuddy 3.5 and also Web-based tools8 ) and is also used to define data types in the OpenAPI specification9 . It does not allow to easily model composition of schemas or inheritance without relaxing the schemas. Therefore, the property “additionalProperties” is set to true in some schema definitions to allow using the “allOf” operator to model inheritance.

The schemas below assume that numbers are not surrounded by double quotes as per the JSON Style Guidelines [OR16].

The file is available at http://bp.schemas.opengis.net/17-084r1/eoc-geojson/1.0/eoc-geojson-schema.json (See Annex F:).

E.1.1.  eoc-geojson-schema.json

{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "GeoJSON encoding of EO Collection metadata",
"description": "Definition of document with EO Collection metadata in GeoJSON encoding.  Note that numbers in the instance should not be surrounded by double-quotes to validate against this schema. ",
"$ref": "#/definitions/Feature",
"definitions": {
"Point": {
"title": "Point",
"type": "object",
"properties": {
"coordinates": {
"title": "coordinates",
"description": "One position (longitude, latitude)",
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
},
"type": {
"type": "string",
"enum": [
"Point"
]
}
},
"required": [
"coordinates",
"type"
],
"additionalProperties": false
},
"MultiPoint": {
"title": "point",
"type": "object",
"properties": {
"coordinates": {
"title": "coordinates",
"description": "Array of positions",
"type": "array",
"minItems": 1,
"items": {
"description": "One position",
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"type": {
"type": "string",
"enum": [
"MultiPoint"
]
}
},
"required": [
"coordinates",
"type"
],
"additionalProperties": false
},
"LineString": {
"title": "LineString",
"type": "object",
"properties": {
"coordinates": {
"title": "coordinates",
"description": "Array of positions",
"type": "array",
"minItems": 2,
"items": {
"description": "One position",
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"type": {
"type": "string",
"enum": [
"LineString"
]
}
},
"required": [
"coordinates",
"type"
],
"additionalProperties": false
},
"MultiLineString": {
"title": "MultiLineString",
"type": "object",
"properties": {
"coordinates": {
"title": "coordinates",
"description": "Array of linestring",
"type": "array",
"minItems": 1,
"items": {
"description": "Linestring, i.e. array of positions",
"type": "array",
"minItems": 2,
"items": {
"description": "Position (longitude, lattitude)",
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
}
},
"type": {
"type": "string",
"enum": [
"MultiLineString"
]
}
},
"required": [
"coordinates",
"type"
],
"additionalProperties": false
},
"Polygon": {
"title": "Polygon",
"type": "object",
"properties": {
"coordinates": {
"title": "coordinates",
"description": "Array of linestrings",
"type": "array",
"minItems": 1,
"items": {
"description": "Linear ring, i.e. linestring or array of positions",
"type": "array",
"minItems": 1,
"items": {
"description": "One position",
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
}
},
"type": {
"type": "string",
"enum": [
"Polygon"
]
}
},
"required": [
"coordinates",
"type"
],
"additionalProperties": false
},
"MultiPolygon": {
"title": "MultiPolygon",
"type": "object",
"properties": {
"coordinates": {
"title": "coordinates",
"description": "Array of Polygons",
"type": "array",
"minItems": 1,
"items": {
"description": "Array of linestrings",
"type": "array",
"minItems": 1,
"items": {
"description": "Linear ring, i.e. linestring or array of positions",
"type": "array",
"items": {
"description": "One position",
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
}
}
},
"type": {
"type": "string",
"enum": [
"MultiPolygon"
]
}
},
"required": [
"coordinates",
"type"
],
"additionalProperties": false
},
"Geometry": {
"title": "Geometry",
"type": "object",
"oneOf": [
{
"$ref": "#/definitions/Point"
},
{
"$ref": "#/definitions/MultiPoint"
},
{
"$ref": "#/definitions/LineString"
},
{
"$ref": "#/definitions/MultiLineString"
},
{
"$ref": "#/definitions/Polygon"
},
{
"$ref": "#/definitions/MultiPolygon"
}
]
},
"Links": {
"title": "Links",
"description": "OGC 14-055r2",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Links"
]
}
},
"patternProperties": {
"^(profiles|alternates|via|previews)$": {
"description": "OGC 14-055r2",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/Link"
}
},
"^(search|describedby|related)$": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/Link"
}
}
},
"additionalProperties": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/Link"
}
}
},
"Properties": {
"title": "Properties",
"type": "object",
"allOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Properties"
]
},
"isPrimaryTopicOf": {
"$ref": "#/definitions/MetadataInformation"
},
"temporal": {
"$ref": "#/definitions/TemporalExtent"
},
"spatial": {
"$ref": "#/definitions/Location"
},
"acquisitionInformation": {
"description": "OGC 17-003",
"type": "array",
"items": {
"$ref": "#/definitions/AcquisitionInformation"
}
},
"productInformation": {
"$ref": "#/definitions/ProductInformation"
}
}
},
{
"$ref": "#/definitions/DataIdentification"
},
{
"$ref": "#/definitions/DescriptiveKeywords"
},
{
"$ref": "#/definitions/RelatedUrl"
}
]
},
"Feature": {
"description": "GeoJSON Feature",
"type": "object",
"properties": {
"@context": {},
"type": {
"title": "type",
"type": "string",
"enum": [
"Feature"
]
},
"id": {
"type": "string",
"format": "uri"
},
"geometry": {
"oneOf": [
{
"$ref": "#/definitions/Geometry"
},
{
"type": "null"
}
]
},
"properties": {
"$ref": "#/definitions/Properties"
},
"bbox": {
"type": "array",
"minItems": 4,
"maxItems": 4,
"items": {
"type": "number"
}
}
},
"required": [
"type",
"id",
"geometry",
"properties"
]
},
"Link": {
"description": "OGC 14-055r2",
"type": "object",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"type": {
"description": "MIME type",
"type": "string"
},
"title": {
"type": "string"
},
"length": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true
},
"lang": {
"description": "RFC-3066",
"type": "string"
}
},
"required": [
"href"
]
},
"Offering": {
"title": "Offering",
"description": "Offering as defined in OGC 14-055r2",
"type": "object",
"properties": {
"code": {
"type": "string",
"format": "uri"
},
"operations": {
"type": "array",
"items": {
"$ref": "#/definitions/Operation"
}
},
"contents": {
"type": "array"
},
"styles": {
"type": "array"
}
},
"required": [
"code"
]
},
"Operation": {
"description": "OGC 14-055r2",
"type": "object",
"properties": {
"code": {
"type": "string"
},
"method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"HEAD",
"PATCH",
"DELETE"
]
},
"type": {
"description": "Media type",
"type": "string"
},
"href": {
"type": "string",
"format": "uri"
},
"request": {
"type": "object"
},
"result": {
"type": "object"
}
},
"required": [
"code",
"method",
"href"
]
},
"Agent": {
"description": "vcard:Kind, foaf:Agent subset. OGC 14-055r2.",
"type": "object",
"minProperties": 1,
"properties": {
"type": {
"type": "string",
"enum": [
"Individual",
"Kind",
"Person",
"Organization",
"Agent"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"uri": {
"type": "string",
"format": "uri"
}
}
},
"Category": {
"description": "OGC 14-055r2 §7.1.1.15",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Category"
]
},
"scheme": {
"type": "string",
"format": "uri"
},
"term": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"term"
],
"additionalProperties": false
},
"DescriptiveKeywords": {
"type": "object",
"properties": {
"subject": {
"description": "Topic category",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/Category"
}
},
"categories": {
"description": "OGC 14-055r2 - Keywords associated with a controlled vocabulary.",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/Category"
}
},
"keyword": {
"description": "Keywords not associated with a controlled vocabulary.",
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
}
}
}
},
"DataContact": {
"type": "object",
"properties": {
"publisher": {
"description": "role=\"publisher\" (OGC 14-055r2)",
"type": "string"
},
"authors": {
"description": "role=\"creator\" (OGC 14-055r2)",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/Agent"
}
},
"contactPoint": {
"description": "Role=\"contact point\"",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/Agent"
}
},
"qualifiedAttribution": {
"description": "Role=other",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/Attribution"
}
}
}
},
"MetadataInformation": {
"description": "dcat:CatalogRecord",
"type": "object",
"properties": {
"type": {
"description": "dcat:CatalogRecord",
"type": "string",
"enum": [
"CatalogRecord"
]
},
"created": {
"description": "dct:created",
"type": "string",
"format": "date-time"
},
"published": {
"description": "dct:issued",
"type": "string",
"format": "date-time"
},
"updated": {
"description": "dct:modified",
"type": "string",
"format": "date-time"
},
"lang": {
"description": "dct:language",
"type": "string"
},
"conformsTo": {
"$ref": "#/definitions/Standard"
}
}
},
"DataIdentification": {
"type": "object",
"allOf": [
{
"type": "object",
"properties": {
"kind": {
"description": "dct:type",
"type": "string",
"format": "uri"
},
"title": {
"description": "dct:title - OGC 14-055r2",
"type": "string"
},
"identifier": {
"type": "string"
},
"bibliographicCitation": {
"description": "dct:bibliographicCitation",
"type": "string"
},
"abstract": {
"description": "dct:description - OGC 14-055r2",
"type": "string"
},
"provenance": {
"description": "dct:ProvenanceStatement",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/ProvenanceStatement"
}
},
"wasUsedBy": {
"description": "prov:Activity",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/Activity"
}
},
"doi": {
"description": "adms:identifier",
"type": "string"
},
"versionInfo": {
"description": "owl:versionInfo",
"type": "string"
},
"versionNotes": {
"description": "adms:versionNotes",
"type": "string"
}
},
"required": [
"title",
"identifier"
]
},
{
"$ref": "#/definitions/DataContact"
},
{
"$ref": "#/definitions/ResourceConstraints"
},
{
"$ref": "#/definitions/DataDates"
}
]
},
"Attribution": {
"description": "prov:Attribution",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Attribution"
]
},
"role": {
"description": "ResponsibleParty role",
"type": "string",
"enum": [
"resourceProvider",
"custodian",
"owner",
"user",
"distributor",
"originator",
"pointOfContact",
"principalInvestigator",
"processor",
"publisher",
"author"
]
},
"agent": {
"type": "array",
"items": {
"$ref": "#/definitions/Agent"
}
}
},
"required": [
"role",
"agent"
]
},
"AcquisitionParameters": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/TemporalExtent"
}
]
},
"TemporalExtent": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"PeriodOfTime"
]
},
"beginningDateTime": {
"type": "string",
"format": "date-time"
},
"endingDateTime": {
"type": "string",
"format": "date-time"
}
}
},
"AcquisitionInformation": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"AcquisitionInformation"
]
},
"platform": {
"$ref": "#/definitions/Platform"
},
"instrument": {
"$ref": "#/definitions/Instrument"
},
"acquisitionParameters": {
"$ref": "#/definitions/TemporalExtent"
}
}
},
"Platform": {
"type": "object",
"minProperties": 1,
"properties": {
"type": {
"type": "string",
"enum": [
"Platform"
]
},
"id": {
"type": "string",
"format": "uri"
},
"platformShortName": {
"type": "string"
},
"platformSerialIdentifier": {
"type": "string"
},
"orbitType": {
"type": "string",
"enum": [
"GEO",
"LEO"
]
}
},
"required": [
"platformShortName"
],
"additionalProperties": false
},
"Instrument": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Instrument"
]
},
"id": {
"type": "string",
"format": "uri"
},
"sensorType": {
"type": "string",
"enum": [
"OPTICAL",
"RADAR",
"ATMOSPHERIC",
"ALTIMETRIC",
"LIMB"
]
},
"instrumentShortName": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"instrumentShortName"
],
"additionalProperties": false
},
"ProductInformation": {
"description": "OGC 17-003",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ProductInformation"
]
},
"processingLevel": {
"description": "eop:processingLevel - OGC 17-003",
"type": "string",
"enum": [
"1A",
"1B",
"1C",
"2",
"3"
]
},
"productType": {
"description": "eop:productType - OGC 17-003",
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"resolution": {
"type": "array",
"minItems": 1,
"items": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": true
}
},
"referenceSystemIdentifier": {
"type": "string"
},
"timeliness": {
"description": "eop:timeliness - OGC 17-003",
"type": "string"
}
}
},
"RelatedUrl": {
"type": "object",
"properties": {
"links": {
"$ref": "#/definitions/Links"
},
"offerings": {
"description": "OGC 14-055r2",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/Offering"
}
}
},
"required": [
"links"
]
},
"Location": {
"description": "dct:Location (alternative representation of geometry).",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Location"
]
},
"id": {
"type": "string",
"format": "uri"
},
"geometry": {
"description": "locn:geometry",
"type": "array",
"items": {
"description": "locn:Geometry",
"type": "object",
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
}
},
"ResourceConstraints": {
"type": "object",
"properties": {
"rights": {
"description": "OGC 14-055r2 §7.1.2.7",
"type": "string"
},
"license": {
"description": "dct:LicenseDocument",
"type": "array",
"items": {
"$ref": "#/definitions/LicenseDocument"
}
},
"accessRights": {
"description": "dct:RightsStatement",
"type": "array",
"items": {
"$ref": "#/definitions/RightsStatement"
}
}
}
},
"LicenseDocument": {
"description": "dct:LicenseDocument",
"type": [
"object",
"string"
],
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"LicenseDocument"
]
},
"label": {
"description": "rdfs:label",
"type": "string"
}
},
"required": [
"label"
]
},
{
"description": "@id",
"type": "string",
"format": "uri"
}
]
},
"RightsStatement": {
"description": "dct:RightsStatement",
"type": [
"object",
"string"
],
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"RightsStatement"
]
},
"label": {
"description": "rdfs:label",
"type": "string"
}
},
"required": [
"label"
]
},
{
"description": "@id",
"type": "string",
"format": "uri"
}
]
},
"ProvenanceStatement": {
"title": "dct:provenance",
"description": "dct:ProvenanceStatement",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ProvenanceStatement"
]
},
"label": {
"description": "rdfs:label",
"type": "string"
}
},
"required": [
"label"
]
},
"Activity": {
"description": "prov:Activity",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Activity"
]
},
"generated": {
"$ref": "#/definitions/Entity"
},
"qualifiedAssociation": {
"$ref": "#/definitions/Association"
}
},
"required": [
"generated",
"qualifiedAssociation"
]
},
"Entity": {
"description": "prov:Entity",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Entity"
]
},
"degree": {
"type": "string",
"format": "uri"
},
"description": {
"type": "string"
}
},
"required": [
"degree"
]
},
"Association": {
"description": "prov:Association",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Association"
]
},
"hadPlan": {
"$ref": "#/definitions/Plan"
}
},
"required": [
"hadPlan"
]
},
"Plan": {
"description": "prov:Plan",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Plan"
]
},
"wasDerivedFrom": {
"$ref": "#/definitions/Standard"
}
},
"required": [
"wasDerivedFrom"
]
},
"Standard": {
"description": "dct:Standard",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Standard"
]
},
"title": {
"description": "dct:title",
"type": "string"
},
"issued": {
"description": "dct:issued",
"type": "string",
"format": "date-time"
},
"versionInfo": {
"description": "owl:versionInfo",
"type": "string"
}
},
"required": [
"title"
]
},
"DataDates": {
"type": "object",
"properties": {
"created": {
"description": "dct:created",
"type": "string",
"format": "date-time"
},
"published": {
"description": "dct:issued",
"type": "string",
"format": "date-time"
},
"updated": {
"description": "dct:modified",
"type": "string",
"format": "date-time"
},
"date": {
"description": "dct:date - OGC 14-055r2",
"type": "string"
}
},
"required": [
"updated"
]
}
}
}

Annex F
(normative)
SCHEMAS AND EXAMPLES

The following schemas, context file and selected examples are provided in the OGC schema repository:

They are available at http://bp.schemas.opengis.net/17-084r1/eoc-geojson/1.0.


Annex G
(informative)
Revision history

Table  — Revision history

Date Version Editor Sections modified Description
1/11/2017 0.1.0 Y. Coene All Initial version shared with CGI and ESA members of the SWG for initial comments.
13/12/2018 0.9.0 D1 Y. Coene All Revised version to be published on OGC SWG Web pages for feedback.
20/02/2019 0.9.0 D2 Y. Coene All Metadata Information requirements class separated. Data Identification requirements class extended with additional subsections corresponding to GeoDCAT-AP encoding to allow for OGC 13-026r9 queryable mapping onto metadata properties in OGC 17-047r1.
18/07/2019 0.9.0 D5 Y. Coene All Completion of incomplete sections. Further alignment with GeoDCAT-AP, and use of additional DCAT Version 2 properties. First version of ATS in Annex A. Update of mapping tables in Annex C.
26/07/2019 Y. Coene All platform and instrument (prov:used), . acquisitionInformation (prov:wasGeneratedBy), AcquisitionInformation (prov:Activity) encodings aligned with DCAT Version 2 Example 47. acquisitionParameters property added to AcquisitionInformation for compatibility with OGC 17-003 encoding. Dates interpreted as prov:startedAtTime. bibliographicCitation (dct: bibliographicCitation) property added to dcat:Dataset as in Example 47 of DCAT Version 2. Mappable to UMM-S “ServiceCitation” and UMM-C “PublicationReference”.
03/09/2019 0.9.0 D6 Y. Coene Annex C

Comments from Sirko Schindler (DLR, 28/08/2019) addressed:

5.4 Namespace corrected (“eoc” instead of “os”).
7.3.1 Definition in table reformatted.
7.3.3 Reference to definition of Agent added.
7.3.4 Agent example and table extended with vcard properties.
7.4 URI allowed for LicenseDocument and RightsStatement and examples added.
10 Reference (footnote) to ShEx added as alternative for SHACL.
B.2.1

“@type”: “@id” added for url (vcard:hasURL) mapping.
Mapping for $.properties.wasUsedBy.generated.description added.
Mapping for vcard and foaf properties related to Agent updated/completed.

Annex C

Range of properties removed from table.
Mapping for all Agent related properties (vcard and foaf) revised.

24/10/2019 0.9.0 D7 Y. Coene Annex C.1 Added references to UMM-C §2.2.1 (identifier), §2.2.5 (abstract), §2.5.1 (beginningDateTime, endingDateTime) traceability table.
24/01/2020 0.9.0 D8 Y. Coene Annex C.1 Integrated GeoJSON UMM-C mapping table20191101 provided by Michael Morahan (NASA, 01/11/2019). Explanation added that Collection_Progress (UMM-C) can be derived from temporal extent as agreed during CEOS WGISS SLT telco 5/12/2019.
Examples 3 and 5. “kind” property added to example.
2.2 List of conformance classes aligned with Annex A subsections.
3.1 OGC 17-047r1 reference added to be referred to from chapter 6 to address the comments from Allan Doyle (NASA, 3/10/2019).
3.2 References for JSON-LD 1.1 and DCAT Version 2 updated.
6 Paragraphs 1 and 4 of chapter 6 updated addressing the comments from Allan Doyle (NASA, 3/10/2019).
7.1.1 Example extended with additional properties from corresponding table.
7.6.1 “describedby” example extended with Jupyter Notebook example.
7.10 productType and resolution arrays added to diagram, table and example addressing the comments from Martine Paepen (VITO, 11/12/2019).
Annex B.2.1 @context mapping for GeoJSON coordinates updated according to Example 84 in JSON-LD 1.1 W3C Candidate Recommendation 12 December 2019. dcat:startDate and dcat:endDate used instead of schema:startDate and schema:endDate. Updated with latest content of @context source file.
Annex C.1 productType and resolution added addressing the comments from Martine Paepen (VITO, 11/12/2019). dcat:startDate and dcat:endDate used instead of schema:startDate and schema:endDate.
Annex D.1 JSON-LD examples regenerated with JSON-LD Playground and current version of @context.
Annex E.1 Schema for MultiPoint corrected.
30/01/2020 1.0.0 D9 Y. Coene Changes applied as agreed during SWG teleconference on 30/01/2020:
7.6.1 Examples with “search” link added for OpenAPI and SPARQL.
10 Added use of rich text instead of plain text for properties such as “abstract” to future work.
10 Added GeoJSON Feature encoding inline with OGC API — Features — Part 1: Core (OGC 17-069r3) to future work.
Annex E Annex E.2 removed. Annex E.1 contains a standalone JSON schema for validating document instances.
Annex F List of files update as JSON schema is provided as a standalone schema.
20/05/2020 1.0.0 D10 Y. Coene All Remaining (green) editor notes removed. Occurrences of OGC 17-003 replaced by OGC 17-003r2.
3.1 URL added for NR3 and NR4.
3.2 References OR21 (JSON-LD) and OR25 (DCAT Version 2) updated to current versions.
7.3.4 definition of “name” property improved (to explain difference with hasName). hasName, given-name, family-name, additional-name added, taken from https://www.w3.org/2006/vcard/ns. Subproperties of hasAddress listed in table for clarity. Example added of the use of hasName property.
B.2.1 JSON-LD @context updated to take into account changes in section 7.3.4 related to Agent properties (encoded in FOAF and VCARD depending on the context).
C.1 Rows for hasName property added in mapping table. Mapping for “name” changed into “vcard:fn”.
D.1.2.4 vcard:hasName replaced by vcard:fn in expanded example.