JavaScript Object Notation (JSON)
The GeoJSON encoding defined in this document is defined as a compaction See section 4.1 and \[OR4].
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
Copyright
© 2021 Open Geospatial Consortium
To obtain additional rights of use, visit
http://www.ogc.org/legal/
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.
Permission is hereby granted by the Open Geospatial Consortium, (“Licensor”), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement.
If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.
THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD. THE INTELLECTUAL PROPERTY IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.
This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.
Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications. This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.
None of the Intellectual Property or underlying information or technology may be downloaded or otherwise exported or reexported in violation of U.S. export laws and regulations. In addition, you are responsible for complying with any local laws in your jurisdiction which may impact your right to import, export or use the Intellectual Property, and you represent that you have complied with any regulations or registration procedures required by applicable law to make this license enforceable.
This document defines an OGC Best Practice on a particular technology or approach related to an OGC standard. This document is not an OGC Standard and may not be referred to as an OGC Standard. It is subject to change without notice. However, this document is an official position of the OGC membership on this particular technology topic.
Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.
JavaScript Object Notation (JSON)
The GeoJSON encoding defined in this document is defined as a compaction See section 4.1 and \[OR4].
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
No security considerations have been made for this document.
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.
This OGC Best Practice defines a GeoJSON
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).
The implementation is derived from the conceptual models defined in OGC 11-035r1
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
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
Hereafter a brief outline of the document content allows readers to jump directly to the topic of their interest.
The conventions used in this document are explained in
Finally, the following information was moved to the appendices.
This section describes the compliance testing required for an implementation of this Best Practice.
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 site
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).
Conformance Class | Description | Clause |
---|---|---|
conf/feature | Single EO Collection objects. |
|
conf/properties | Properties objects. |
|
conf/metadata-information | MetadataInformation objects |
|
conf/data-identification | DataIdentification objects |
|
conf/data-contact | DataContact objects |
|
conf/attribution | Attribution objects |
|
conf/activity | Activity objects |
|
conf/association | Association objects |
|
conf/plan | Plan objects |
|
conf/resource-constraints | ResourceConstraint objects |
|
conf/descriptive-keywords | DescriptiveKeywords objects |
|
conf/related-url | RelatedUrl objects |
|
conf/links | Links objects |
|
conf/offering | Offering objects |
|
conf/spatial-information | Spatial information objects |
|
conf/geometry | Geometry objects |
|
conf/temporal-information | TemporalInformation objects |
|
conf/acquisition-information | AcquisitionInformation |
|
conf/product-information | ProductInformation |
|
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
For the purposes of this document, the following additional terms and definitions apply.
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
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.
A set of rules for interpreting a JSON-LD document as specified in the section “The Context” of the JSON-LD specification
Observations obtained by satellite instruments (OGC 10-140). See granule and product.
Domain (rdfs:domain) is used to state that any resource that has a given property is an instance of one or more classes
Embedding is a JSON-LD feature that allows using node objects as property values
The algorithm that removes [JSON-LD] context is called expansion
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
A geospatial data interchange format based on Javascript Object Notation (JSON)
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.
A lightweight, text-based, language-independent data interchange format, based on the Javascript programming language.
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
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.
Range (rdfs:range) is used to state that values of a property are instances of one or more classes
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.
Shared boundary between an automated system or human being and another automated system or human being [ISO 19101].
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.
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 |
The schema diagrams More details can be found in the online documentation of Altova XMLSpy 2016 available at .
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. |
The data dictionary tables in the current document use the JSONPath notation
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. |
The following namespace abbreviations will be used in this document:
Abbreviation | Full namespace URI | Reference |
---|---|---|
atom |
|
|
dcat |
|
|
dct |
|
|
eop |
|
|
foaf |
|
|
gj |
|
|
gsp |
|
|
iana |
|
|
locn |
|
|
owc |
|
|
prov |
|
|
rdf |
|
|
rdfs |
|
|
schema | ||
skos |
|
|
vcard |
|
|
xs | ||
xsd |
The normative provisions in the current document are denoted by the URI . All requirements and conformance classes that appear in this document are denoted by relative URIs which are relative to this base URI.
This document applies the “double quote” guideline defined in
This document includes data dictionary tables with information as per sub-clause 5.5 of OGC 06-121r9
Column 1 provides the JSON property name as well as the corresponding JSONPath
This specification defines a GeoJSON-based
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
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
The JSON format is currently described by two competing standards, RFC7159
GeoJSON
A “Feature” object representing an EO Collection shall implement the properties shown in
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
Complete description of Feature is given in
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 |
Property |
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 |
One (mandatory) |
properties $.properties |
Groups all other properties of the Feature not covered by the properties higher in this table as imposed by |
Property |
One (mandatory) |
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
A “Properties” object shall implement the properties shown in
A “Properties” object shall implement the properties of a DataIdentification object (
A “Properties” object shall implement the properties of a DescriptiveKeywords object (
A “Properties” object shall implement the properties of a RelatedUrl object (
The Properties block contains the EO Collection properties and hypermedia links to related objects. It inherits all DataIdentification, DescriptiveKeywords and RelatedUrl properties.
Complete description of Properties is given in
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 |
Zero or one (optional) |
acquisitionInformation $.properties.acquisitionInformation |
Contains product information as presented in |
Domain: Properties
Range: Array of AcquisitionInformation (See |
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 |
Zero or one (optional) |
A “MetadataInformation” object shall implement the properties shown in
The MetadataInformation is encoded as a CatalogRecord as defined by DCAT Version 2
Complete description of MetadataInformation is given in
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 |
Domain: CatalogRecord Range: string | Zero or one (optional) |
conformsTo $.properties.isPrimaryTopicOf.conformsTo |
An established standard to which the metadata conforms as defined in |
Domain: CatalogRecord Range: Standard | Zero or one (optional) |
A “DataIdentification” object shall implement the properties shown in
A “DataIdentification” object shall implement the properties of a DataDates object (
A “DataIdentification” object shall implement the properties of a DataContact object (
A “DataIdentification” object shall implement the properties of a ResourceConstraints object (
The DataIdentification properties are inherited by the Properties block. The DataIdentification inherits all properties of the Datadates, DataContact and ResourceConstraints object.
Complete description of DataIdentification is given in
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: . | Range: String | Zero or one (optional) |
doi $.properties.doi |
Digital Object Identifier identifying the collection (see ) | 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 |
Domain: Properties Range: string | Zero or one (optional) |
conformsTo $.properties.conformsTo |
An established standard to which the resource conforms as defined in |
Domain: Properties Range: Standard | Zero or one (optional) |
abstract $.properties.abstract |
Description of the collection content or purpose as defined in |
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 |
Zero or more (optional) |
wasUsedBy $.properties.wasUsedBy |
Description of the conformity of the metadata (DQ_ConformanceResult). | Domain: Properties
Range: Array of Activity (See |
Zero or more (optional) |
A “DataDates” object shall implement the properties defined in
Complete description of DataDates is given in
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) |
A “DataContact” object shall implement the properties shown in
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
Complete description of DataContact is given in
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 |
Zero or one (optional) |
authors $.properties.authors |
Entities or persons primarily responsible for making the response document (role is “Author”). | Optional property in |
Zero or one (optional) |
contactPoint $.properties.contactPoint |
Link an EO collection to relevant organisations (role is “Point of Contact”). | Optional property in |
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 |
Zero or one (Optional) |
An “Attribution” object shall implement the properties shown in
The Attribution object represents a responsible party and its role and is based on
Complete description of Attribution is given in
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 |
One (mandatory) |
An “Agent” object shall implement the properties defined in
The Agent object is a parent class which can contain the properties of a person or organization entity. It is based on vcard:Kind
Complete description of Agent is given in
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 |
Optional property in |
Zero or one (optional) |
email |
Email of author (or entity). | Optional property in |
Zero or one (optional) |
uri $..uri |
URI associated with the author (or entity). | Optional property in |
Zero or one (optional) |
phone $.properties.authors[*].phone |
Single phone number associated with the author (or entity). | Optional property in |
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 |
Optional property in |
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
|
Optional property in |
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
|
Optional property in |
Zero or one (optional) |
A “ProvenanceStatement” object shall implement the properties shown in
The proposed encoding is aligned with GeoDCAT-AP
Complete description of ProvenanceStatement is given in
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 |
One (mandatory) |
An “Activity” object shall implement the properties shown in
The proposed encoding is aligned with GeoDCAT-AP
Complete description of Activity is given in
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) |
An “Entity” object shall implement the properties shown in
The proposed encoding is aligned with GeoDCAT-AP
Complete description of Entity is given in
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 | Domain: Entity Range: String (URI) | One (mandatory) |
description $.properties.wasUsedBy[*].generated.description |
Description of the result. | Domain: Entity Range: String | Zero or one (optional) |
An “Association” object shall implement the properties shown in
The proposed encoding is aligned with GeoDCAT-AP
Complete description of Association is given in
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) |
A “Plan” object shall implement the properties shown in
The proposed encoding is aligned with GeoDCAT-AP
Complete description of Plan is given in
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) |
A “Standard” object shall implement the properties shown in
The proposed encoding is aligned with GeoDCAT-AP
Complete description of Standard is given in
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) |
A “ResourceConstraints” object shall implement the properties shown in
The proposed encoding is aligned with DCAT Version 2
Complete description of ResourceConstraints is given in
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 |
Property |
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 |
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 |
Zero or one (optional) |
A “LicenseDocument” object shall implement the properties shown in
The proposed encoding is aligned with GeoDCAT-AP
A LicenseDocument is encoded as an object or as a URI identifying such object. The complete description of the LicenseDocument object is given in
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 |
One (mandatory) |
A “RightsStatement” object shall implement the properties shown in
The proposed encoding is aligned with GeoDCAT-AP
A RightsStatement is encoded as an object or as a URI identifying such object. The complete description of RightsStatement is given in
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 |
One (mandatory) |
Use Constraints shall be implemented through the ResourceConstraints and LicenseDocument (Section 7.4.1) objects.
Access Constraints shall be implemented through the ResourceConstraints and RightsStatement (Section 7.4.2) objects.
A “DescriptiveKeywords” object shall implement the properties shown in
The DescriptiveKeywords properties are inherited by the Properties block. To align with GeoDCAT-AP
Complete description of DescriptiveKeywords is given in
JSON Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
subject $.properties.subject |
ISO topic categories related to the collection. | Property |
Zero or one (optional) |
categories $.properties.categories |
Keywords belonging to a controlled vocabulary related to the collection. | Optional property in |
Zero or one (optional) |
keyword $.properties.keyword |
Free keywords not belonging to a controlled vocabulary related to the collection. Defined in DCAT |
Property |
Zero or one (optional) |
A “Category” object shall implement the properties defined in OGC 14-055r2
The Category block contains the properties of a keyword and is defined in
Complete description of Category is given in
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 |
Optional property in |
Zero or one (optional) |
term $.properties.categories[*].term |
Identification of the keyword. See also |
Mandatory property in |
One (mandatory) |
label $.properties.categories[*].label |
Human readable representation of the keyword. | Optional property in |
Zero or one (optional) |
A “RelatedUrl” object shall implement the properties shown in
JSON Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
links $.properties.links |
Refers to related, actionable resources including quicklook, original or alternative metadata representations etc… See |
Domain: Properties
Range: Links. (See |
One (mandatory) |
offerings $.properties.offerings |
Service or online content offering for the resource targeted at OGC compliant clients. See OGC 14-055r2 |
Domain: Properties
Range: Array of Offering (See |
Zero or more (optional) |
A “Links” object shall implement the properties shown in
The Links block contains references to related resources as hypermedia links. They include specification references and references to alternative representations of the metadata. For the GeoJSON encoding of the Links object, we use the property names adopted by section 7.1.2 of the GeoJSON encoding for OWS Context OGC 14-055r2
The Links object is a map containing descriptions of potential Links. The key is the “relation” as defined in
The Link objects are grouped in arrays according to the “relation” they represent. Implementers may add additional properties if additional “relations” need to be represented. For consistency, all relations refer to arrays of Link objects and not to single Link objects. This allows to have similar references with different media types included for the same relation. The general pattern is thus $.properties.links.relation[*].href. It should be noted that also in Atom, multiple Atom links are allowed by the response syntax, whatever the value of the “rel” attribute. Clients shall use the combination of “rel” and “type” attribute to select the proper Link.
Complete description of Links is given in
JSON Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.links.type |
Type of the element. This property has the fixed value “Links”. | Range: String Fixed value: Links | Zero or one (optional) |
profiles $.properties.links.profiles |
Specification references identifying which specifications the metadata document complies with.
Is defined by |
Property |
Zero or one (optional) |
via $.properties.links.via |
Reference to a description of the resource of which the response document is derived (e.g., source of information).
Is defined by |
Range: array of Link as defined in |
Zero or one (optional) |
alternates $.properties.links.alternates |
Reference to a description of the resource in an alternative format.
Is defined by |
Range: array of Link as defined in |
Zero or one (optional) |
related $.properties.links.related |
Reference to the location of a related resource. Is also used to return results of correlated search as per OGC 13-068. | Range: array of Link as defined in |
Zero or one (optional) |
previews $.properties.links.previews |
Reference to a quick-look or browse image representing the resource.
Is defined by |
Range: array of Link as defined in |
Zero or one (optional) |
search $.properties.links.search |
Reference to a formal interface description (e.g., an OpenSearch Description Document, OpenAPI Document or SPARQL Service Description ) of the search interface that can be used to find resources (EO products) belonging to the collection represented by the feature. | Range: array of Link as defined in |
Zero or one (optional) |
describedby $.properties.links.describedby |
Reference to a description of the resource or documentation or (human readable) information related to the resource.
Such link can also be used to associate the response document with the corresponding JSON Schema file as defined in section 8.2 of |
Range: array of Link as defined in |
Zero or one (optional) |
The example below refers to a description of the resource on an HTML documentation page and a Jupyter Notebookfootnote::[] .
A “Link” object shall implement the properties shown in
The Link block contains the properties of a hypermedia link to a resource identified by its URI
For the GeoJSON encoding of each Link object, we use the encoding defined in section 7.1.10 of the GeoJSON encoding for OWS Context OGC 14-055r2
JSON Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
href $.properties.links.[].href |
URI describing the related resource.
Is defined by |
Range: String (URI) | One (mandatory) |
type $.properties.links.[].type |
Hint about the type of the representation that is expected to be returned when the value of href is dereferenced. | Range: String (contains a media type). | Zero or one (optional) |
title $.properties.links.[].title |
Human readable information about the link. Is defined by |
Range: String | Zero or one (optional) |
length $.properties.links.[].length |
Hint about the content length (in bytes) of the representation that is expected to be returned when the value of href is dereferenced. Is defined by |
Range: Integer | Zero or one (optional) |
lang $.properties.links.[].lang |
Language of the resource pointed to by the href attribute. String type, not empty with an RFC-3066 code. Is defined by |
Range: String | Zero or one (optional) |
An “Offering” object shall implement the properties defined in OGC 14-055r2
The Offering block is fully defined in OGC 14-055r2
View services allowing visualisation via OGC WMS or WMTS service interfaces;
Reference to download or ordering services according to specific OGC protocols (e.g., WCS); and
Reference to processing resources including WPS or hosted processing services.
JSON Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type $.properties.offerings[*].type |
Type of the element. This property has the fixed value “Offering”. | Domain: Offering Range: String | Zero or one (optional) |
code $.properties.offerings[*].code |
URI identifying the type of offering, e.g., requirement class identifier (URI) defining the offering listed in §7.2 to 7.12 of |
Domain: Offering Range: String (URI) | One (mandatory) |
operations $.properties.offerings[*].operations |
Array of operations used to invoke the service. Is defined by |
Domain: Offering Range: array of Operation. | Zero or more (optional) |
contents $.properties.offerings[*].contents |
Array of contents (inline or by reference). Is defined by |
Domain: Offering Range: array of Object | Zero or more (optional) |
styles $.properties.offerings[*].styles |
Array of style sets. Is defined by |
Domain: Offering Range: array of Object | Zero or more (optional) |
A number of examples for typical offerings (e.g., WMS, WPS) are included below.
An “Operation” object shall implement the properties of “Operation” defined in OGC 14-055r2
The Operation block is fully defined in OGC 14-055r2
JSON Property | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
code $.properties.offerings[].operations[].code |
URI identifying the type of operation. Typically, the OGC Service request type, e.g., “GetCapabilities” or “GetMap”.
Is defined by |
Domain: Operation Range: String | One (mandatory) |
method $.properties.offerings[].operations[].method |
Code identifying the HTTP verb type of Operation. Examples: GET, POST, PUT, HEAD, PATCH, DELETE. Is defined by |
Domain: Operation Range: String | One (mandatory) |
type $.properties.offerings[].operations[].type |
MIME type of the expected results. Is defined by |
Domain: Operation Range: String | Zero or one (optional) |
href $.properties.offerings[].operations[].href |
Service request URL. Is defined by |
Domain: Operation Range: String (URL) | One (mandatory) |
request $.properties.offerings[].operations[].request |
Optional request body content. Is defined by |
Domain: Operation Range: Object | Zero or one (optional) |
result $.properties.offerings[].operations[].result |
Optional result payload of the operation. Is defined by |
Domain: Operation Range: Object | Zero or one (optional) |
* | Any other element |
For examples, we refer to the examples of Offering given in section 7.6.3.
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
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
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.
Complete description of the Geometry properties is given in
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 |
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 |
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.
Note that according to
A “LocationKeywords” object shall implement the properties shown in
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”]
A “TemporalExtent” object shall implement the properties shown in
The TemporalExtent object contains the properties related to the start and end time of the acquisition of the data.
Complete description of the TemporalExtent properties is given in
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) |
A “TemporalKeywords” object shall implement the properties shown in
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”]
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
An “AcquisitionInformation” object shall implement the properties shown in
The AcquisitionInformation block can appear multiple times and contains information about the platform (i.e., satellite), the instrument and the acquisition parameters.
The complete description of the AcquisitionInformation properties is given in
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 |
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 |
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 |
Zero or one (optional) |
The encoding of platform information is identical to the encoding defined in OGC 17-003r2
A “Platform” object shall implement the properties shown in
The Platform block contains the properties of the platform that was used to perform the observation.
Complete description of the Platform properties is given in
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., 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) |
The encoding of instrument information is identical to the encoding defined in OGC 17-003r2
An “Instrument” object shall implement the properties shown in
The Instrument block contains the properties of the instrument that was used to perform the observation.
A complete description of the Instrument properties is given in
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., 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) |
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
A “ProductInformation” object shall implement the properties shown in
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.
The complete description of the AcquisitionInformation properties is given in
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., | Domain: ProductInformation Range: String (URI) | Zero or one (Optional) |
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
It is important to note that the JSON-LD Processing Algorithms
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
Other implementations may encode geometries as recommended by the GeoDCAT-AP specification
Complete description of Location is given in
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 |
Range: array of LOCN Geometry Objects |
One or more (mandatory) |
* |
When EO OpenSearch Responses are delivered using HTTP, the following MIME media types shall be used:
Media type | Description | |
---|---|---|
#1 | application/geo+json | GeoJSON representation with implicit normative context or normative context linked via a HTTP Link Header. See examples in annexes D.1.*.2. |
#2 | application/ld+json;profile=” | 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=” | GeoJSON-LD representation Uses “profile” to indicate RDF vocabulary as proposeded in “Negotiating Profiles in HTTP”, draft-svensson-accept-profile-00, available at . |
#5 | text/turtle;profile=” | Turtle Uses “profile” to indicate RDF vocabulary as proposeded in “Negotiating Profiles in HTTP”, draft-svensson-accept-profile-00, available at . |
#6 | application/rdf+xml;profile=” | RDF/XML |
Several future enhancements of this proposed document are possible. Obvious enhancements are as follows.
Improve alignment with GeoDCAT-AP specification
Refactor and refine JSON Schema
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 format
Include annex with W3C Shapes Constraint Language (SHACL) Shapes Constraint Language (SHACL), W3C Recommendation 20 July 2017, . Shape Expressions (ShEx) Primer, Draft Community Group Report 14 July 2017,
Add alternative GeoJSON Feature encoding compatible with OGC API — Features — Part 1: Core (OGC 17-069r3
Conformance is tested using a set of JSON Schema
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.
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 ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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
( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
Conformance Class | /conf/related-url | |
---|---|---|
Requirements | /req/related-url | |
Dependency | A JSON Schema Validator | |
Test | /conf/related-url | |
Requirement | req/related-url/properties [req/offering] [req/links] |
|
Test purpose | Verify that the JSON instance document is a valid RelatedUrl object. | |
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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 |
|
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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 |
|
Test method | Validate the JSON instance document using the appropriate object definition from the JSON Schema ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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 ( |
|
Test type | Capability |
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.
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
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
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
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.
The current annex provides the normative JSON-LD @context which is implied by the GeoJSON encoding as explained above. It is available at (See Annex F:).
JSON-LD 1.1
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.
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:
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.
Alternatively, the JSON-LD representation can use gj:Feature instead of dcat:Dataset as shown below:
This result can be obtained by slightly modifying the normative @context as shown below.
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
The table below maps the JSON and Vocabulary Properties to the equivalent property in the original OGC 11-035r1 and ISO metadata encoding
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.
JSON Property | Vocabulary Property | JSON Property Reference | Vocabulary Reference | OGC 11-035r1, ISO19139, ISO19139-2 | UMM-C |
Comments |
---|---|---|---|---|---|---|
@context $.@context |
@context |
|
||||
abstract $.properties.abstract |
dct:description |
|
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract /gco:CharacterString (source: UMM-C) |
Data Identification | Abstract [R] (§2.2.5) |
||
accessRights $.properties.accessRights |
dct:accessRights |
|
/gmd:MD_Metadata/gmd:identificationInfo/*/gmd:resourceConstraints/*/gmd:accessConstraints |
Data Identification | Access Constraints (§2.2.16) |
||
AcquisitionInformation | prov:Activity (class) |
|
|
Acquisition Information (§2.7) |
||
acquisitionInformation $.properties.acquisitionInformation |
prov:wasGeneratedBy |
|
|
/gmi:MI_Metadata/gmi:acquisitionInformation/ gmi:MI_AcquisitionInformation |
Acquisition Information (§2.7) |
|
Activity | prov:Activity (class) |
|
Use Constraints (§2.2.15) |
|||
agent $.properties.qualifiedAttribution[\*].agent |
prov:agent |
|
||||
Agent $.properties.qualifiedAttribution[*].agent[*] $.properties.contactPoint[\*] |
vcard:Kind (class) |
|
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
|
Agent $.properties.authors[\*] |
foaf:Agent (class) |
|
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
|
alternates $.properties.links.alternates |
iana:alternate |
|
|
Related URL | … ( §2.4, §2.8) |
||
Association | prov:Association (class) |
Use Constraints (§2.2.15) |
||||
Attribution | prov:Attribution (class) |
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
|||
authors $.properties.authors |
dct:creator |
|
|
/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) |
|
bbox $.bbox |
gj:bbox |
|
|
Spatial Information | Spatial Extent [R] (§2.6.2) |
||
beginningDateTime $.properties.temporal.beginningDateTime |
dcat.startDate |
|
|
/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 |
|
beginningDateTime $.properties.acquisitionInformation.acquisitionParameters.beginningDateTime |
prov:startedAtTime |
|
|
/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) 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). |
|
bibliographicCitation $.properties.bibliographicCitation |
dct:bibliographicCitation |
|
Data Identification | Publication Reference (§2.2.18) |
|||
categories $.properties.categories |
dcat:theme |
|
|
/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) |
|
Category | skos:Concept (Class) |
|
|
/gmi:MI_Metadata/gmd:identificationInfo\/\/gmd:descriptiveKeywords/gmd:MD_Keywords |
Descriptive Keywords (§2.3) |
|
code $.properties.offerings[\*].code |
owc:code |
|
|
|||
code $.properties.offerings[*].operations[*].code |
owc:code |
|
|
|||
conformsTo $.properties.isPrimaryTopicOf.conformsTo |
dct:conformsTo |
|
/gmd:MD_Metadata/gmd:metadataStandardName/gco:CharacterString |
|||
conformsTo $.properties.conformsTo |
dct:conformsTo |
|
||||
contactPoint $.properties.contactPoint |
dcat:contactPoint |
|
|
/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) |
|
contents $.properties.offerings[\*].contents |
owc:contents |
|
|
Related URL | … ( §2.4, §2.8) |
||
coordinates $.geometry.coordinates |
gj:coordinates |
|
|
/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) |
|||
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 |
Data Identification | Data Dates (§2.2.7) |
|||
data $.properties.links.data |
iana:enclosure |
|
|
Related URL | … ( §2.4, §2.8) |
||
date $.properties.date |
dct:date |
|
|
/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) |
|
degree $.properties.wasUsedBy[*].generated.degree |
dct:type |
|
\/\/dataQualityInfo/*/report/*/result/*/pass |
Related URL | … ( §2.4, §2.8) |
||
describedby $.properties.links.describedby |
iana:describedby |
|
Related URL | … ( §2.4, §2.8) |
|||
description $.properties.wasUsedBy[*].generated.description |
dct:description |
|
\/\/dataQualityInfo/*/report/*/result/* |
RelatedURL/Description (§2.4) |
||
description $..acquisitionInformation[*].instrument.description |
dct:description |
|
||||
doi $.properties.doi |
adms:identifier |
|
/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] |
||
email $.properties.qualifiedAttribution[*].agent[*].email $.properties.contactPoint[*].email |
vcard:hasEmail |
|
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
|
email $.properties.authors[*].email |
foaf:mbox |
|
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
|
endingDateTime $.properties.temporal.endingDateTime |
dcat:endDate |
|
/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 |
||
endingDateTime $.properties.acquisitionInformation.acquisitionParameters.endingDateTime |
prov:endedAtTime |
|
/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) 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). |
||
Entity | prov:Entity (Class) |
\/\/dataQualityInfo/*/report/*/result/*/pass |
Quality (§2.2.14) |
|||
Feature | gj:Feature (Class) or dcat:Dataset (class) |
|
||||
generated $.properties.wasUsedBy[*].generated |
prov:generated |
/gmi:MI_Metadata/gmd:dataQualityInfo/*/report/*/result/*/pass |
Use Constraints (§2.2.15) and/or Quality (§2.2.14) |
|||
geometry $.geometry |
gj:geometry |
|
|
/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) |
|
geometry $.properties.spatial.geometry |
locn:geometry |
Spatial Information | Spatial Extent [R] (§2.6.2) |
||||
hadPlan $.properties.wasUsedBy[*].qualifiedAssociation.hadPlan |
prov:hadPlan |
dataQualityInfo/*/report/*/result/*/specification |
Quality (§2.2.14) |
|||
hasAddress $.properties.qualifiedAttribution[*].agent[*].hasAddress $.properties.contactPoint[*].hasAddress |
vcard:hasAddress |
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
||
hasAddress $.properties.authors[*].hasAddress |
null |
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
||
hasName $.properties.qualifiedAttribution[*].agent[*].hasName $.properties.contactPoint[*].hasName |
vcard:hasName |
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
||
hasName $.properties.authors[\*].hasName |
@nest |
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
||
hasTelephone $.properties.qualifiedAttribution[*].agent[*].hasTelephone $.properties.contactPoint[*].hasTelephone |
vcard:hasTelephone |
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
||
hasTelephone $.properties.authors[*].hasTelephone |
null (Use phone property instead). |
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
||
href $.properties.links.*[*].href |
@id |
|
|
Related URL (§2.4) |
||
href $.properties.offerings[*].operations[*].href |
owc:href |
|
|
Related URL (§2.4) |
||
id $.id |
@id |
|
|
ShortName, Native_ID, Concept_ID, DOI (§2.2) |
||
identifier $.properties.identifier |
dct:identifier |
|
Data Identification | ShortName [R] (§2.2.1) |
|||
Individual $.properties.qualifiedAttribution[*].agent[*] $.properties.contactPoint[*] |
vcard:Individual (class) |
|
DataCenter/ContactPerson (§2.2.8) |
|||
Individual $.properties.authors[*] |
foaf:Person (class) |
|
DataCenter/ContactPerson (§2.2.8) |
|||
instrument $..acquisitionInformation[*].instrument |
prov:used |
|
|
Acquisition Information | Instrument [R] (§2.7.2) |
||
Instrument | eop:Instrument |
|
|
Acquisition Information | Instrument [R] (§2.7.2) |
||
instrumentShortName $..acquisitionInformation[*].instrument.instrumentShortName |
eop:instrumentShortName |
|
|
Acquisition Information | Instrument [R] (§2.7.2) |
||
isPrimaryTopicOf $.properties.isPrimaryTopicOf |
foaf:isPrimaryTopicOf |
|
Data Identification (§2.2) |
|||
issued $.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.issued |
dct:issued |
|
\/\/dataQualityInfo/*/report/*/result/*/specification/*/date/*/date |
Quality (§2.2.14) or Use Constraints (§2.2.15) |
||
keyword $.properties.keyword |
dcat:keyword |
|
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString |
Descriptive Keywords | Ancillary Keywords (§2.3.3) |
||
kind $.properties.kind |
dct:type |
|
/gmd:MD_Metadata/gmd:hierarchyLevel |
|||
Kind $.properties.qualifiedAttribution[*].agent[*] $.properties.contactPoint[*] |
vcard:Kind |
|
DataContact (§2.2.9) |
|||
Kind $.properties.authors[*] |
foaf:Agent |
|
DataContact (§2.2.9) |
|||
label $.properties.categories[*].label |
skos:prefLabel |
|
|
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword |
Descriptive Keywords (§2.3) |
|
label $.properties.license[].label + $.properties.accessRights[].label $.properties.provenance[*].label |
rdfs:label |
|
/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) |
||
lang $.properties.isPrimaryTopicOf.lang |
dct:language |
gmi:MI_Metadata/gmd:language |
Metadata Information | Metadata Language (§2.1.1) |
|||
lang $.properties.lang |
dct:language |
|
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/ gmd:language/gco:CharacterString (Source: UMM-C) |
Data Identification | Data Language (§2.2.6) |
||
lang $.properties.links.*[*].lang |
dct:language |
|
|
RelatedURL/Description (§2.4) |
||
length $.properties.links.*[*].length |
atom:length |
|
|
RelatedURL/GetData/ (§2.4) |
||
license $.properties.license |
dct:license |
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:useLimitation/gco:CharacterString |
Data Identification | Use Constraints (§2.2.15) |
|||
LicenseDocument | dct:LicenseDocument (class) |
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:useLimitation/gco:CharacterString |
UseConstraints/LicenseUrl/Linkage (§2.2.15) |
|||
LineString | gj:LineString |
|
|
SpatialExtent/HorizontalSpatialDomain/Geometry/Lines (§2.6.2) |
||
Link | atom:link (Class) |
|
Related URL | … ( §2.4, §2.8) |
|||
links | owc:links |
|
|
Related URL | … ( §2.4, §2.8) |
||
links | owc:links |
|
|
Related URL | … ( §2.4, §2.8) |
||
Links | owc:Links (Class) |
Related URL | … ( §2.4, §2.8) |
||||
Location | dct:Location (Class) |
SpatialExtent (§2.6.2) |
||||
method $.properties.offerings[*].operations[*].method |
owc:method |
|
|
|||
MultiLineString | gj:MultiLineString |
|
|
SpatialExtent/HorizontalSpatialDomain/Geometry/Lines (§2.6.2) |
||
MultiPoint | gj:MultiPoint |
|
|
/Collection/Spatial/HorizontalSpatialDomain/Geometry/Point (§2.6.2) |
||
MultiPolygon | gj:MultiPolygon |
|
|
SpatialExtent/HorizontalSpatialDomain/Geometry/GPolygons (§2.6.2) |
||
name $.properties.qualifiedAttribution[*].agent[*].name $.properties.contactPoint[*].name |
vcard:fn |
|
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
|
name $.properties.authors[*].name |
foaf:name |
|
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
|
offerings $.properties.offerings |
dcat:endpointDescription |
|
|
Related URL | … ( §2.4, §2.8) |
||
operations $.properties.offerings[*].operations |
owc:operations |
|
|
RelatedURL/GetService (§2.4) |
||
orbitType $..acquisitionInformation[*].platform.orbitType |
eop:orbitType |
|
|
Platform/Characteristics (§2.7.1) |
||
Organization $.properties.qualifiedAttribution[*].agent[*] $.properties.contactPoint[*] |
vcard:Organization (Class) |
|
DataCenter (§2.2.8) |
|||
Organization $.properties.authors[*] |
foaf:Organization (Class) |
|
DataCenter (§2.2.8) |
|||
PeriodOfTime | dct:PeriodOfTime (Class) |
|
TemporalExtent (§2.5.1) |
|||
Person $.properties.qualifiedAttribution[*].agent[*] $.properties.contactPoint[*] |
vcard:Individual (Class) |
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
||
Person $.properties.authors[*] |
foaf:Person (Class) |
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
||
phone $.properties.qualifiedAttribution[*].agent[*] $.properties.contactPoint[*] |
null (Use hasTelephone property instead). |
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
||
phone $.properties.authors[*] |
foaf:phone |
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
||
Plan | prov:Plan |
|
||||
platform $..acquisitionInformation[*].platform |
prov:used |
|
|
/gmi:MI_Metadata/gmi:acquisitionInformation/ gmi:MI_AcquisitionInformation /gmi:platform/gmi:MI_Platform |
Acquisition Information | Platform [R] (§2.7.1) |
|
Platform | eop:Platform |
|
|
Platform (§2.7.1) |
||
platformSerialIdentifier $..acquisitionInformation[*].platform.platformSerialIdentifier |
eop:platformSerialIdentifier |
|
|
Platform/Characteristics (§2.7.1) |
||
platformShortName $..acquisitionInformation[*].platform.platformShortName |
eop:platformShortName |
|
|
Platform/ShortName (§2.7.1) |
||
Point |
|
|
SpatialExtent/HorizontalSpatialDomain/Geometry/Points (§2.6.2) |
|||
Polygon |
|
|
SpatialExtent/HorizontalSpatialDomain/Geometry/GPolygons (§2.6.2) |
|||
previews $.properties.links.previews |
iana:icon |
|
|
Related URL | … ( §2.4, §2.8) |
||
processingLevel $.properties.productInformation.processingLevel |
eop:processingLevel |
|
|
/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) |
|
productInformation $.properties.productInformation |
eop:productInformation |
|
|
Data Identification — Acquisition Information — Spatial Information — Temporal Information |
||
ProductInformation | eop:ProductInformation (Class) |
|
|
Processing Level — Collection Data Type — Spatial Representation Information |
||
productType $.properties.productInformation.productType |
eop:productType |
|
|
Entry Title |
||
profiles $.properties.links.profiles |
iana:profile |
|
|
|||
properties $.properties |
@nest |
|
|
|||
Properties | - (Class) | |||||
provenance $.properties.provenance |
dct:provenance |
|
/gmi:MI_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:statement/gco:CharacterString |
Data Identification | Quality (§2.2.14) |
||
ProvenanceStatement | dct:ProvenanceStatement (Class) |
|
Data Identification | Quality (§2.2.14) |
|||
published $.properties.isPrimaryTopicOf.published |
dct:issued |
|
|
N/A |
Metadata Information / Metadata Date / CREATE (§2.1.2) |
|
published $.properties.published |
dct:issued |
|
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 |
Data Identification | Data Dates (§2.2.7) |
||
publisher 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. |
dct:publisher |
|
|
/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 |
qualifiedAssociation $.properties.wasUsedBy[*].qualifiedAssociation |
prov: qualifiedAssociation |
\/\/dataQualityInfo/*/report/*/result/*/specification/*/title \/\/dataQualityInfo/*/report/*/result/*/specification/*/date/*/date |
Quality (§2.2.14) |
|||
qualifiedAttribution $.properties.qualifiedAttribution |
prov:qualifiedAttribution (Other) |
|
/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 |
|
referenceSystemIdentifier $.properties.productInformation.referenceSystemIdentifier |
eop:referenceSystemIdentifier |
|
|
Spatial Extent / HorizontalSpatialDomain/Geometry/CoordinateSystem Or GranuleSpatialRepresentation |
||
related $.properties.links.related |
iana:related |
|
|
Related URL | … ( §2.4, §2.8) |
||
request $.properties.offerings[*].operations[*].request |
owc:request |
|
|
|||
resolution $.properties.productInformation.resolution |
eop:resolution |
|
|
Platform/Instrument/Characteristics/Unit |
||
result $.properties.offerings[*].operations[*].result |
owc:result |
|
|
|||
rights $.properties.rights |
dct:rights |
|
/gmd:MD_Metadata/gmd:identificationInfo/*/gmd:resourceConstraints |
UseConstraints (§2.2.15) or Access Constraints (§2.2.16) |
||
RightsStatement | dct:RightsStatement |
/gmd:MD_Metadata/gmd:identificationInfo/*/gmd:resourceConstraints |
UseConstraints (§2.2.15) or Access Constraints (§2.2.16) |
|||
role $.properties.qualifiedAttribution[*].role |
dct:type |
|
gmd:CI_ResponsibleParty/gmd:role/gmd:CI_RoleCode |
DataCenter/Roles or DataCenter/ContactPerson/Roles or DataCenter/ContactGroup/Roles (§2.2.8) |
||
scheme $.properties.categories[*].scheme |
skos:inScheme |
|
|
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:thesaurusName/gmx:Anchor
See also OGC 08-167r2 |
Descriptive Keywords (§2.3) |
|
search $.properties.links.search |
iana:search |
|
Related URL | … ( §2.4, §2.8) |
|||
sensorType $..acquisitionInformation[*].instrument.sensorType |
eop:sensorType |
|
|
Platform/Instrument/Technique (§2.7) |
||
spatial $.properties.spatial |
dct:spatial |
|
Spatial Extent (§2.6.2) |
|||
Standard | dct:Standard (class) |
|
dataQualityInfo/*/report/*/result/*/specification |
|||
subject $.properties.subject |
dct:subject |
|
/gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:topicCategory/gmd:MD_TopicCategoryCode |
Descriptive Keywords | ISO Topic Category (§2.3.1) |
||
term $.properties.categories[*].term |
@id |
|
|
/gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gmx:Anchor
See also OGC 08-167r2 |
Descriptive Keywords (§2.3) |
|
timeliness $.properties.productInformation.timeliness |
eop:timeliness |
|
|
Data Identification | Collection Data Type (§2.2.10) |
||
title $.properties.title $.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom.title $.properties.links.*[*].title |
dct:title |
|
/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) |
||
type | @type |
|
|
All tables except |
||
type $.properties.links.*[*].type |
atom:type |
|
|
Related URL | … ( §2.4) |
||
type $.properties.offerings[*].contents[*].type |
owc:type |
|
|
RelatedURL/GetData/MimeType or RelatedURL/GetService/MimeType (§2.4) |
||
type $.properties.offerings[*].operations[*].type |
owc:type |
|
|
RelatedURL/GetData/MimeType or RelatedURL/GetService/MimeType (§2.4) |
||
up $.properties.links.up |
iana:up |
|
Related URL | … ( §2.4, §2.8) |
|||
updated $.properties.isPrimaryTopicOf.updated |
dct:modified |
|
/gmd:MD_Metadata/gmd:dateStamp
(See |
Metadata Information | Metadata Date (§2.1.2) |
||
updated $.properties.updated |
dct:modified |
|
|
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 |
Data Identification | Data Dates (§2.2.7) |
|
uri $.properties.qualifiedAttribution[*].agent[*].uri $.properties.contactPoint[*].email |
vcard:hasURL |
|
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
|
uri $.properties.authors[*].uri |
foaf:page |
|
|
/gmi:MI_Metadata/gmd:contact/gmd:CI_ResponsibleParty |
Data Identification | Data Contact (§2.2.9) |
|
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) |
|||
via $.properties.links.via |
iana:via |
|
|
Related URL | … ( §2.4, §2.8) |
||
wasDerivedFrom $.properties.wasUsedBy[*].qualifiedAssociation.hadPlan.wasDerivedFrom |
prov:wasDerivedFrom |
dataQualityInfo/*/report/*/result/*/specification |
N/A |
|||
wasUsedBy $.properties.wasUsedBy |
prov:wasUsedBy |
|
N/A |
|||
/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… |
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 ()
(JSON-LD 1.0).
(JSON-LD 1.1).
(JSON-LD 1.1)
The example below is identical to the example in the previous section, only a @context property is added.
The example below is identical to the example in the previous section, only a @context property is added.
JSON Schema E.g., or
The schemas below assume that numbers are not surrounded by double quotes as per the JSON Style Guidelines
The file is available at (See Annex F:).
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 .
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 . 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. |
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.