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):
- CGI
- Con terra GmbH
- ESA – European Space Agency
- EUMETSAT
- Spacebel s.a.
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:
-
CEOS/WGISS
-
DLR
-
NASA
-
VITO
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:
-
Either from an instrument in a dedicated mode on board a single satellite platform; or
-
by a series of instruments, possibly from different satellite platforms, but in this case working in the same instrument mode.
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 Class | Description | Clause |
---|---|---|
conf/feature | Single EO Collection objects. | Section 7.1 |
conf/properties | Properties objects. | Section 7.1.1 |
conf/metadata-information | MetadataInformation objects | Section 7.2 |
conf/data-identification | DataIdentification objects | Section 7.3 |
conf/data-contact | DataContact objects | Section 7.3.2 |
conf/attribution | Attribution objects | Section 7.3.3 |
conf/activity | Activity objects | Section 7.3.6 |
conf/association | Association objects | Section 7.3.8 |
conf/plan | Plan objects | Section 7.3.9 |
conf/resource-constraints | ResourceConstraint objects | Section 7.4 |
conf/descriptive-keywords | DescriptiveKeywords objects | Section 7.5 |
conf/related-url | RelatedUrl objects | Section 7.6 |
conf/links | Links objects | Section 7.6.1 |
conf/offering | Offering objects | Section 7.6.3 |
conf/spatial-information | Spatial information objects | Section 7.7 |
conf/geometry | Geometry objects | Section 7.7.1 |
conf/temporal-information | TemporalInformation objects | Section 7.8 |
conf/acquisition-information | AcquisitionInformation | Section 7.9 |
conf/product-information | ProductInformation | 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:
API | Application Programming Interface |
ATS | Abstract Test Suite |
CEOS | Committee on Earth Observation Satellites |
EO | Earth Observation |
EOP | Earth Observation Product |
GML | Geography Markup Language |
HTTP | HyperText Transfer Protocol |
IRI | Internationalised Resource Identifier |
ISO | International Organisation for Standardisation |
JSON | JavaScript Object Notation |
JSON-LD | JavaScript Object Notation for Linked Data |
OASIS | Organization for the Advancement of Structured Information Standards |
OGC | Open Geospatial Consortium |
O&M | Observations and Measurements |
OWC | OGC Web Services Context |
RDF | Resource Description Framework |
RDFS | RDF Schema |
REST | Representational State Transfer |
SI | International System of Units (French: Système international d’unités) |
SRU | Search/Retrieval via URL |
UML | Unified Modeling Language |
UMM | Unified Metadata Model |
URI | Uniform Resource Identifier |
URL | Uniform Resource Locator |
URN | Uniform Resource Name |
W3C | World Wide Web Consortium |
WGISS | Working Group on Information Systems and Services |
WKT | Well-Known Text |
XML | eXtensible Markup Language |
XSD | XML 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 Entity | Representation | Description |
---|---|---|
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].
XPath | JSONPath | Description |
---|---|---|
/ | $ | 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.3. Namespace abbreviations
The following namespace abbreviations will be used in this document:
Table 3 — Namespace abbreviations
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.”
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 Type | Data instance |
Dependency | JSON [NR1] |
Dependency | GeoJSON [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 Property | Definition | Data type and values | Multiplicity 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. | Property | Zero 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: String | One (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: Array | Zero 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 Type | Data instance |
Dependency | JSON [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). |
Requirement 5: | |
---|---|
/req/properties/related-url | |
A “Properties” object shall implement the properties of a RelatedUrl object (Table 23). |
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 Property | Definition | Data type and values | Multiplicity 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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.isPrimaryTopOf.type | Type of the element. This property has the fixed value “CatalogRecord”. | Domain: CatalogRecord Range: String | Zero or one (optional) |
created $.properties.isPrimaryTopicOf.created | Date of creation of the metadata. | Domain: CatalogRecord Range: DateTime | Zero 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: DateTime | One (mandatory) |
published $.properties.isPrimaryTopicOf.published | Date of first availability of the Metadata Document. | Domain: CatalogRecord Range: DateTime | Zero 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: string | Zero or one (optional) |
conformsTo $.properties.isPrimaryTopicOf.conformsTo | An established standard to which the metadata conforms as defined in [OR25]. | Domain: CatalogRecord Range: Standard | Zero 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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity 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: String | Zero or one (optional) |
doi $.properties.doi | Digital Object Identifier identifying the collection (see https://www.doi.org) | Domain: Properties Range: String | Zero or one (optional) |
title $.properties.title | Human readable title given to the collection. | Domain: Properties Range: String | One (mandatory) |
identifier $.properties.identifier | Identifier given to the collection. | Domain: Properties Range: String | One (mandatory) |
bibliographicCitation $.properties.bibliographicCitation | A bibliographic reference for the resource. | Domain: Properties Range: string | Zero 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: string | Zero or one (optional) |
conformsTo $.properties.conformsTo | An established standard to which the resource conforms as defined in [OR25]. | Domain: Properties Range: Standard | Zero or one (optional) |
abstract $.properties.abstract | Description of the collection content or purpose as defined in [NR5]. | Domain: Properties Range: string | Zero 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: string | Zero 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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
created $.properties.created | Date of creation of the resource. | Domain: Properties Range: DateTime | Zero 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: DateTime | One (mandatory ) |
published $.properties.published | Date of publication of the resource. | Domain: Properties Range: DateTime | Zero or one (optional) |
date $.properties.date | Date or range of dates relevant for the resource (RFC-3339). Formatted in one of the following ways:
For example: “1999-07-01T00:00:00Z/2003-12-31T00:00:00Z” | Domain: Properties Range: String or DateTime | One (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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
publisher $.properties.publisher | An entity or agent responsible for publishing the metadata (role is “Publisher”). | Optional property in [NR5] Domain: Properties Range: String | Zero 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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity 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:
| Range: String | One (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 Property | Definition | Data type and values | Multiplicity 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: String | Zero 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 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]:
| 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]:
| 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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.provenance[*].type | Type of the element. This property has the fixed value “ProvenanceStatement”. | Domain: ProvenanceStatement Range: String | Zero 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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.wasUsedBy[*].type | Type of the element. This property has the fixed value “Activity”. | Domain: Activity Range: String | Zero or one (optional) |
generated $.properties.wasUsedBy[*].generated | Refers to the conformity result which is encoded as an Entity. | Domain: Activity Range: Entity | One (mandatory) |
qualifiedAssociation $.properties.wasUsedBy[*].qualifiedAssociation | Refers to the specification against which conformity is expressed, encoded as an Association. | Domain: Activity Range: Association | One (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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.wasUsedBy[*].generated.type | Type of the element. This property has the fixed value “Entity”. | Domain: Entity Range: String | Zero 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/DegreeOfConformity | Domain: Entity Range: String (URI) | One (mandatory) |
description $.properties.wasUsedBy[*].generated.description | Description of the result. | Domain: Entity Range: String | Zero 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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.wasUsedBy[*].qualifiedAssociation.type | Type of the element. This property has the fixed value “Association”. | Domain: Association Range: String | Zero 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: Plan | One (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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.type | Type of the element. This property has the fixed value “Plan”. | Domain: Plan Range: String | Zero or one (optional) |
wasDerivedFrom $.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom | Refers to the specification against which conformity is expressed, encoded as a Standard. | Range: Standard | One (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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.type | Type of the element. This property has the fixed value “Standard”. | Domain: Standard Range: String | Zero 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: String | One (mandatory) |
issued $.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.issued | Issue date of the specification against which conformity is expressed. | Domain: Standard Range: DateTime | Zero or one (optional) |
versionInfo $.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.versionInfo | Version of the specification against which conformity is expressed. | Domain: Standard Range: String | Zero 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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity 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: String | Zero 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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.license[*].type | Type of the element. This property has the fixed value “LicenseDocument”. | Domain: LicenseDocument Range: String | Zero or one (optional) |
label $.properties.license[*].label | Free 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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.accessRights[*].type | Type of the element. This property has the fixed value “RightsStatement”. | Domain: RightsStatement Range: String | Zero 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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity 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 String | Zero 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 Property | Definition | Data type and values | Multiplicity 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: String | One (mandatory) |
label $.properties.categories[*].label | Human readable representation of the keyword. | Optional property in [NR5] Domain: Category Range: String | Zero 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 Type | Data instance |
Dependency | JSON [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 Type | Data instance |
Dependency | GeoJSON [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 Property | Definition | Data type and values | Multiplicity 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: String | One (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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity 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: DateTime | Zero 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: DateTime | Zero 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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity 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 31 | Zero 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 32 | Zero 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 29 | Zero 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 Property | Definition | Data type and values | Multiplicity 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 ENVISAT | Range: String (URI) | Zero or one (Optional) |
platformShortName $..acquisitionInformation[*].platform.platformShortName | Platform short name (e.g., “Seasat” or “ENVISAT”) | Domain: Platform Range: String | One (mandatory) |
platformSerialIdentifier $..acquisitionInformation[*].platform.platformSerialIdentifier | Platform serial identifier (e.g., for Seasat : 1). | Domain: Platform Range: String | Zero or one (Optional) |
orbitType $..acquisitionInformation[*].platform.orbitType | High level characterisation of main mission types taken from a codelist | Domain: Platform Range: String Values: GEO, LEO | Zero 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 Property | Definition | Data type and values | Multiplicity 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 ASAR | Domain: Instrument Range: String (URI) | Zero or one (optional) |
sensorType $..acquisitionInformation[*].instrument.sensorType | Sensor type based on codelist Values:
| Domain: Instrument Range: String | Zero or one (optional) |
instrumentShortName $..acquisitionInformation[*].instrument.instrumentShortName | Instrument (Sensor) name | Domain: Instrument Range: String | One (mandatory) |
description $..acquisitionInformation[*].instrument.description | Instrument description | Domain: Instrument Range: String | Zero 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 Type | Data instance |
Dependency | JSON [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 Property | Definition | Data type and values | Multiplicity 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 String | Zero 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 Double | Zero 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: String | Zero 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/4326 | Domain: 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 Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.spatial.type | Type of the object. This property has the fixed value “Location”. | Range: String Fixed value: “Location” | Zero or one (optional) |
id $.properties.spatial.type | URI of location object. | Range: String (URI) | Zero or one (optional) |
geometry $.properties.spatial.geometry | Associates 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.
-
Improve alignment with GeoDCAT-AP specification [OR15].
-
Refactor and refine JSON Schema [OR7] in Annex for documentation and structural validation by referring to external JSON schemas.
-
Extend JSON schema to allow properties such as “abstract”, “license”, “accessRights” etc. to contain rich text, e.g., “text/markdown” instead of or in addition to “text/plain”. Consider use of mime-bundle JSON object as defined by Jupyter Notebook format4.
-
Include annex with W3C Shapes Constraint Language (SHACL)5 or Shape Expressions (ShEx)6 to formally define the structure of the JSON-LD response elements.
-
Add alternative GeoJSON Feature encoding compatible with OGC API — Features — Part 1: Core (OGC 17-069r37 ), i.e. different encoding of links (e.g., $.links instead of $.properties.links), use of “id” which is not a URI (currently “identifier”) etc., add “self” link (currently “id”).
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 | |
Dependency | A JSON Schema Validator | |
Test | /conf/earthobservation | |
Requirement |
req/feature/properties, | |
Test purpose | Verify that the JSON instance document is a valid Feature object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.3. Conformance Class: /conf/properties
Conformance Class | /conf/properties | |
---|---|---|
Requirements | /req/properties | |
Dependency | A JSON Schema Validator | |
Test | /conf/properties | |
Requirement |
req/properties/properties, | |
Test purpose | Verify that the JSON instance document is a valid Properties object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.4. Conformance Class: /conf/metadata-information
Conformance Class | /conf/metadata-information | |
---|---|---|
Requirements | /req/metadata-information | |
Dependency | A JSON Schema Validator | |
Test | /conf/metadata-information | |
Requirement | req/metadata-information/properties req/standard | |
Test purpose | Verify that the JSON instance document is a valid MetadataInformation object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.5. Conformance Class: /conf/data-identification
Conformance Class | /conf/data-identification | |
---|---|---|
Requirements | /req/data-identification | |
Dependency | A JSON Schema Validator | |
Test | /conf/data-identification | |
Requirement | req/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 purpose | Verify that the JSON instance document is a valid DataIdentification object. | |
Test method | method Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.6. Conformance Class: /conf/data-contact
Conformance Class | /conf/data-contact | |
---|---|---|
Requirements | /req/data-contact | |
Dependency | A JSON Schema Validator | |
Test | /conf/data-contact | |
Requirement | req/data-contact/properties req/agent [req/attribution] | |
Test purpose | Verify that the JSON instance document is a valid DataContact object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.7. Conformance Class: /conf/attribution
Conformance Class | /conf/attribution | |
---|---|---|
Requirements | /req/attribution | |
Dependency | A JSON Schema Validator | |
Test | /conf/attribution | |
Requirement | req/attribution/properties req/agent | |
Test purpose | Verify that the JSON instance document is a valid Attribution object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.8. Conformance Class: /conf/activity
Conformance Class | /conf/activity | |
---|---|---|
Requirements | /req/activity | |
Dependency | A JSON Schema Validator | |
Test | /conf/activity | |
Requirement | req/activity/properties [req/association] req/entity | |
Test purpose | Verify that the JSON instance document is a valid Activity object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.9. Conformance Class: /conf/association
Conformance Class | /conf/association | |
---|---|---|
Requirements | /req/association | |
Dependency | A JSON Schema Validator | |
Test | /conf/association | |
Requirement | req/association/properties [req/plan] | |
Test purpose | Verify that the JSON instance document is a valid Association object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.10. Conformance Class: /conf/plan
Conformance Class | /conf/plan | |
---|---|---|
Requirements | /req/plan | |
Dependency | A JSON Schema Validator | |
Test | /conf/plan | |
Requirement | req/plan/properties req/standard | |
Test purpose | Verify that the JSON instance document is a valid Plan object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.11. Conformance Class: /conf/resource-constraints
Conformance Class | /conf/resource-constraints | |
---|---|---|
Requirements | /req/resource-constraints | |
Dependency | A JSON Schema Validator | |
Test | /conf/resource-constraints | |
Requirement | req/resource-constraints/properties req/standard req/license-document req/rights-statement req/use-constraints req/access-constraints | |
Test purpose | Verify that the JSON instance document is a valid ResourceConstraints object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.12. Conformance Class: /conf/descriptive-keywords
Conformance Class | /conf/descriptive-keywords | |
---|---|---|
Requirements | /req/descriptive-keywords | |
Dependency | A JSON Schema Validator | |
Test | /conf/descriptive-keywords | |
Requirement | req/descriptive-keywords/properties req/category req/location-keywords req/temporal-keywords | |
Test purpose | Verify that the JSON instance document is a valid DescriptiveKeywords object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.14. Conformance Class: /conf/links
Conformance Class | /conf/links | |
---|---|---|
Requirements | /req/links | |
Dependency | A JSON Schema Validator | |
Test | /conf/links | |
Requirement | req/links/properties, req/link | |
Test purpose | Verify that the JSON instance document is a valid Links object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.15. Conformance Class: /conf/offering
Conformance Class | /conf/offering | |
---|---|---|
Requirements | /req/offering | |
Dependency | A JSON Schema Validator | |
Test | /conf/offering | |
Requirement | req/offering/properties, req/operation | |
Test purpose | Verify that the JSON instance document is a valid Offering object as defined in OGC 14-055r2 [NR5]. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.16. Conformance Class: /conf/spatial-information
Conformance Class | /conf/spatial-information | |
---|---|---|
Requirements | /req/spatial-information | |
Dependency | A JSON Schema Validator | |
Test | /conf/spatial-information | |
Requirement | req/category [req/geometry] req/location-keywords | |
Test purpose | Verify that the JSON instance document is a valid SpatialInformation. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.17. Conformance Class: /conf/geometry
Conformance Class | /conf/geometry | |
---|---|---|
Requirements | /req/geometry | |
Dependency | A JSON Schema Validator | |
Test | /conf/geometry | |
Requirement | req/geometry/properties | |
Test purpose | Verify 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 method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.18. Conformance Class: /conf/temporal-information
Conformance Class | /conf/temporal-information | |
---|---|---|
Requirements | /req/temporal-information | |
Dependency | A JSON Schema Validator | |
Test | /conf/temporal-information | |
Requirement | req/temporal-extent req/temporal-keywords | |
Test purpose | Verify that the JSON instance document is a valid TemporalInformation object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.19. Conformance Class: /conf/acquisition-information
Conformance Class | /conf/acquisition-information | |
---|---|---|
Requirements | /req/acquisition-information | |
Dependency | A JSON Schema Validator | |
Test | /conf/acquisition-information | |
Requirement | req/acquisition-information/properties, req/platform, req/instrument, req/temporal-extent. | |
Test purpose | Verify that the JSON instance document is a valid AcquisitionInformation object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
A.20. Conformance Class: /conf/product-information
Conformance Class | /conf/product-information | |
---|---|---|
Requirements | /req/product-information | |
Dependency | A JSON Schema Validator | |
Test | /conf/product-information | |
Requirement | req/product-information/properties | |
Test purpose | Verify that the JSON instance document is a valid ProductInformation object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema (Annex E). Pass if no errors reported. Fail otherwise. | |
Test type | Capability |
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 Property | Vocabulary Property | JSON Property Reference | Vocabulary Reference | OGC 11-035r1, ISO19139, ISO19139-2 | UMM-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 | |
AcquisitionInformation | prov: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 |
Activity | prov: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 | |
Association | prov:Association (class) | [OR15], [OR30] |
Use Constraints (§2.2.15) | Table 15: Association object properties | ||
Attribution | prov: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. |
Category | skos: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 | ||
Entity | prov:Entity (Class) | [OR15], [OR30] |
\/\/dataQualityInfo/*/report/*/result/*/pass |
Quality (§2.2.14) | Table 14: Entity object properties | |
Feature | gj: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 | |
Instrument | eop: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 | |
LicenseDocument | dct: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 | |
LineString | gj:LineString | [NR2] | [OR18] |
SpatialExtent/HorizontalSpatialDomain/Geometry/Lines (§2.6.2) | ||
Link | atom:link (Class) | [OR14] |
Related URL | … ( §2.4, §2.8) | Table 25: Link object properties | ||
links | owc:links | [NR5] | [OR5] |
Related URL | … ( §2.4, §2.8) | Table 4: Properties object properties | |
links | owc:links | [NR5] | [OR5] |
Related URL | … ( §2.4, §2.8) | Table 4: Feature object properties | |
Links | owc:Links (Class) |
Related URL | … ( §2.4, §2.8) | Table 24: Links object properties | |||
Location | dct: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 | ||
MultiLineString | gj:MultiLineString | [NR2] | [OR18] |
SpatialExtent/HorizontalSpatialDomain/Geometry/Lines (§2.6.2) | ||
MultiPoint | gj:MultiPoint | [NR2] | [OR18] |
/Collection/Spatial/HorizontalSpatialDomain/Geometry/Point (§2.6.2) | ||
MultiPolygon | gj: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 | ||
PeriodOfTime | dct: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 | |
Plan | prov: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 |
Platform | eop: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 | |
ProductInformation | eop: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 | |
ProvenanceStatement | dct: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 | |
publisherb | dct: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 |
RightsStatement | dct: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 | ||
Standard | dct: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.
-
XMLSpy (http://www.altova.com)
-
http://json-ld.org/playground/ (JSON-LD 1.0).
-
http://jsonld.biothings.io/ (JSON-LD 1.1).
-
http://www.markus-lanthaler.com/jsonld/playground/ (JSON-LD 1.1)
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 > SPECTRAL/ENGINEERING > 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 > SPECTRAL/ENGINEERING > 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&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&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 > 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&table=aotarget&cmd=image&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&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&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:
-
eoc-geojson-schema.json
-
eoc-geojson.jsonld
-
example-1-landsat.json
-
example-1-landsat.jsonld
-
example-2-sentinel-2.json
-
example-2-sentinel-2.jsonld
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. |
|||
Annex C |
Range of properties removed from table. |
|||
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. |