i. Abstract
This standard describes the GeoJSON encoding of the OGC Web Services (OWS) Context conceptual model. This standard defines how to encode an OWS context document that 1.) can be extended to allow a context referencing a fully configured service set, and 2.) can be defined and consistently interpreted by clients.
The OWS Context Document standard (OWS Context) was created to allow a set of configured information resources to be passed between applications primarily as a collection of services (but also potentially in-line content). The objective is to support use cases such as the distribution of search results, the exchange of a set of resources in a Common Operating Picture (COP), or delivery of a set of configured processing services to allow the processing to be reproduced on different processing nodes.
The goal for OWS Context is to replace previous OGC standards and best practices that provide similar capability. Web Map Context (WMC) has been reasonably successful but is limited to working with only Web Map Service (WMS) instances. Other work on the Location Organizer Folder[1] (LOF) was also taken into consideration. The concept of OWS Context and the first prototype document was produced as part of OWS Testbed 7 and documented in [OGC10-035r1], Information Sharing Engineering Report.
A principal goal of the OWS Context SWG was to develop encodings that would appeal for use in mass market applications yet also provide facilities for more advanced uses. OWS-7 originally considered the application of existing encoding standards for OWS Context. The OGC Standards Working Group (SWG) has concluded that this standard can have multiple encoding formats and that each encoding format will be described in a separate OGC Extension to the Core model.
An additional goal is that transformations of context documents between the different encodings should be lossless.
GeoJSON[2] 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: 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.
This document concentrates on the GeoJSON encoding of the OWS Context Model as described in abstract terms in OGC 12-080r2 OGC OWS Context Conceptual Model ( OGC 12-080r2). The goal of OWS Context is to allow many types of OGC data delivery services to be referenced and therefore exploited - not just OGC Web Map Service but other OGC web services and content specifications, including but not limited to Web Feature Service, Web Coverage Service, Web Processing Service, GML, GeoTIFF and KML. This document does not explicitly define the encoding of these services and data encodings in the core, only the general approach to be used for different types of service and data interface.
ii. Keywords
The following are keywords to be used by search engines and document catalogues.
ogcdoc, ogc documents, COP, Common Operating Picture, OWC, Context, JSON, GeoJSON
iii. Preface
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.
iv. Submitting organizations
The following organizations submitted this document to the Open Geospatial Consortium (OGC):
- Envitia Ltd
- Esri Inc.
- ImageMatters LLC
- NGA
- Terradue Srl.
- Universitat Autònoma de Barcelona-CREAF
- USGS
v. Submitters
All questions regarding this submission should be directed to the editor or the submitters:
Name | Affiliation | OGC Member |
---|---|---|
Pedro Gonçalves | Terradue Srl | Yes |
Roger Brackin |
Envitia Ltd |
Yes |
Glenn Guempel |
USGS |
Yes |
Marten Hogeweg |
Esri Inc |
Yes |
Joan Maso |
Universitat Autònoma de Barcelona-CREAF |
Yes |
David Wesloh |
NGA |
Yes |
Jeff Yutzler |
Image Matters LLC |
Yes |
1. Scope
This document specifies how applications supporting the OWS Context GeoJSON encoding can exchange information context with other supporting applications in compliance with the OWS Context Conceptual Model.
2. Conformance
This standard defines a standardization target for encoding an OWS Context Document. It establishes requirements classes for the ‘core’ and then for a series of offering extensions, relating to services or content. The URIs are as follows:
- Core: http://www.opengis.net/spec/owc-geojson/1.0/req/core
- WMS: http://www.opengis.net/spec/owc-geojson/1.0/req/wms
- WFS: http://www.opengis.net/spec/owc-geojson/1.0/req/wfs
- WCS: http://www.opengis.net/spec/owc-geojson/1.0/req/wcs
- WPS: http://www.opengis.net/spec/owc-geojson/1.0/req/wps
- WMTS: http://www.opengis.net/spec/owc-geojson/1.0/req/wmts
- CSW: http://www.opengis.net/spec/owc-geojson/1.0/req/csw
- GML: http://www.opengis.net/spec/owc-geojson/1.0/req/gml
- KML: http://www.opengis.net/spec/owc-geojson/1.0/req/kml
- GeoTIFF: http://www.opengis.net/spec/owc-geojson/1.0/req/geotiff
- GMLJP2: http://www.opengis.net/spec/owc-geojson/1.0/req/gmljp2
- GMLCOV: http://www.opengis.net/spec/owc-geojson/1.0/req/gmlcov
Requirements and conformance test URIs defined in this document are relative to the base URL http://www.opengis.net/spec/owc-geojson/1.0.
Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site[3].
Requirements for two standardization target types are considered:
- An OWS Context Document Encoded in GeoJSON; and
- The interpretation of an OWS Context Document by a client (Requirements and abstract tests for this are not included in this release of the document).
In order to conform to this OGC® interface standard, a software implementation shall implement:
- Conformance to the ‘Core GeoJSON’ encoding; and
- Conformance with zero or more of the offering-specific extensions.
All requirements-classes and conformance-classes described in this document are owned by the standard identified as OWS Context [OGC 14-055].
3. References
The following normative documents contain provisions that, through reference in this text, constitute provisions of this document. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. For undated references, the latest edition of the normative document referred to applies.
3.1 Normative References
- OGC: [OGC 12-080] - OWS Context Conceptual Model, 2014
- ECMA: [ECMA-262] - ECMA International, “ECMAScript Language Specification, Edition 5.1”, Standard ECMA-262, June 2011, http://www.ecma-international.org/publications/standards/Ecma-262.htm, 2011
- ECMA: [ECMA-404] - The JSON Data Interchange Format http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf, 2013
- ISO: [ISO-8601] - Data elements and interchange formats — Information interchange Representation of dates and times, Third edition, 2004
- OGC: [OGC 05-077r4] - OGC Symbology Encoding Implementation Specification, 2006
- OGC: [OGC 06-042] - OGC Web Map Service (WMS) Implementation Specification, 2006
- OGC: [OGC 06-121r9] - OGC Web Service Common Implementation Specification, 2010
- OGC: [OGC 07-036] - OGC Geography Markup Language (GML) Encoding Standard, 2007
- IETF: [RFC-3339] - Date and Time on the Internet: Timestamps, 2002
- IETF: [RFC-3986] - Uniform Resource Identifier (URI): Generic Syntax, 2005
- IETF: [RFC-3987] - Internationalized Resource Identifiers (IRIs), 2005
- IETF: [RFC-7159] - The JavaScript Object Notation (JSON) Data Interchange Format, 2014
- W3C: [XML 1.0] - Extensible Markup Language (XML) 1.0 (Third Edition) - http://www.w3.org/TR/2004/REC-xml-20040204/, 2004
- IETF: [RFC-7946] - The GeoJSON Format, 2016
4. Terms and Definitions
This document uses the terms defined in Sub-clause 5.3 of [OGC 06-121r9[4]], which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard.
For the purposes of this document, the following additional terms and definitions apply.
- 4.1 Area Of Interest
-
An Area Of Interest is a geographic area that is significant to a user.
- 4.2 Common Operating Picture
-
A single identical display of relevant information shared by more than one user group. A common operational picture facilitates collaborative planning and assists all user groups to achieve situational awareness.
- 4.3 Context Document
-
A Context Document is a document describing the set of services and their configuration, and ancillary information, such as the area of interest, which defines the information representation of a shared view or data collection.
- 4.4 Resource
-
A resource is a configured set of information that is uniquely identifiable to a user. Can be realized as in-line content or by one or more configured web services.
5. Conventions
This section provides details and examples for any conventions used in the document. Examples of conventions are symbols, abbreviations, use of XML schema, or special notes regarding how to read the document.
5.1 Abbreviated Terms
CSW – Catalogue Services for the Web
CRS – Coordinate Reference System
GML – Geographical Markup Language
GMLCOV - GML Coverage
GMLJP2 - GML in JPEG 2000 for Geographic Imagery
HTML - Hypertext Markup Language
HTTP - Hypertext Transfer Protocol
IETF - Internet Engineering Task Force
IRI - Internationalized Resource Identifier
ISO - International Organization for Standardization
JSON - JavaScript Object Notation
KML - Keyhole Markup Language
MIME - Multipurpose Internet Mail Extensions
OGC - Open Geospatial Consortium
OWC - OGC Web Services Context
OWS - OGC Web Services
RFC - Request for Comments
UML - Unified Modeling Language
URI - Uniform Resource Identifier
URL - Uniform Resource Locator
WCS - Web Coverage Service
WFS - Web Feature Service
WMS - Web Map Service
WMTS - Web Map Tile Service
WPS - Web Processing Service
XHTML - Extensible Hypertext Markup Language
XML - Extensible Markup Language
5.2 Data dictionary tables
This document includes data dictionary tables related to the UML model specified in [OGC 12-080 OWS Context Conceptual Model]. The contents of the columns in these tables are described in sub-clause 5.5 of [OGC 06-121r9]. The contents of these data dictionary tables are normative, including any table footnotes.
6. Overview
This clause specifies the links from the encoding to the underlying OWS Context data model. This clause defines a mapping for all classes and attributes of the OWS Conceptual model. This includes mandatory requirements for the encoding of a context document and the necessary semantics of how that encoding should be interpreted. The conceptual model on which this encoding is based is divided into various packages. These are shown in Figure 1. Note that these packages map directly to requirement classes.
6.1 JavaScript Object Notation
JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format that defines a small set of formatting rules for the portable representation of structured data. JSON is derived from the object literals of JavaScript, as defined in the ECMAScript Programming Language Standard [ECMA-262] and can represent four primitive types (strings, numbers, boolean values, and null) and two structured types (objects and arrays). Even though JSON is based on a subset of the JavaScript Programming Language it is currently well supported by nearly all programming languages, including Java, Python, and C#.
The JSON format is currently described by two competing standards, [RFC7159] and [ECMA-404]. Both standards documents are consistent, but the latter defines mainly the grammatical syntax where the former provides some additional semantic and security points.
6.2 GeoJSON Format Specification
GeoJSONis a format for encoding collections of simple geographical features along with their non-spatial attributes using JSON. GeoJSON consists of a single object representing a geometry, feature, or collection of features. The geometries supported include Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon and Geometry Collections.
GeoJSON was originally defined in 2008 by [GeoJSON] and since 2014 there is an activity to define GeoJSON as an IETF RFC (standards track) [IETF GeoJSON]. The document has now reached the status of Draft RFC 7946. The IETF draft provides additional clarity regarding coordinate order and CRS and complies with the OGC Axis Order Policy Guidance.
7. GeoJSON Encoding Specification
This clause specifies the links from the encoding to the underlying OWS Context data model. This clause defines a mapping for all classes and attributes of the OWS Conceptual model. This includes mandatory requirements for the encoding of a context document and the necessary semantics of how that encoding should be interpreted. The conceptual model on which this encoding is based is divided into various packages. Note that these packages map directly to requirement classes.
7.1 OWS Core Context GeoJSON Encoding
The GeoJSON object is used in the OWS Context to describe the context document.
Requirements Class | |
---|---|
Target type |
Token |
Dependency |
|
Requirement |
http://www.opengis.net/spec/owc-geojson/1.0/req/geojsonRules An OWS Context document encoded in GeoJSON (GeoJSON Context Document) SHALL comply with the rules specified in [IETF GeoJSON] |
Requirement |
http://www.opengis.net/spec/owc-geojson/1.0/req/mime-type GeoJSON
OWS Context documents SHALL adopt the GeoJSON MIME-type |
Requirement |
http://www.opengis.net/spec/owc-geojson/1.0/req/file-extension GeoJSON OWS Context documents using GeoJSON SHALL use the file extension of ‘.geojson’ or ‘.json’ |
Requirement |
http://www.opengis.net/spec/owc-geojson/1.0/req/owc-encoding GeoJSON encoded OWS Context documents SHALL comply with the encoding rules given in the section 7.1.1. |
7.1.1 Class OWC:Context
The OWC:Context Class is mapped to a GeoJSON Feature Collection object. The mapping of the OWC:Context Class in the geojson object is shown in Table 1.
Names: Conceptual GeoJSON mapping a,d | Definition | Data type and value | Multiplicity and use |
---|---|---|---|
<xz>.type |
Type of geojson object |
String type that SHALL have the value “FeatureCollection” |
One (mandatory) |
specReference <xz>.properties. |
Specification Reference (requirements class) identifying that this is an OWC Context document and its version |
Array of links profiles (as defined in Table 10 where one element SHALL have the href value “http://www.opengis.net/spec/owc-geojson/1.0/req/core” in this version |
One (mandatory) |
Language <xz>.properties. |
Language of Context document content |
String type, not empty with an RFC-3066 code |
One (mandatory) |
Id <xz>.id |
Unambiguous reference to the identification of the Context document (IRI) |
String type that SHALL contain a URI value |
One b (mandatory) |
Title <xz>.properties. |
Title for the Context document |
String type, not empty |
One (mandatory) |
Abstract <xz>.properties. |
Description of the Context document purpose or content |
String type, not empty |
Zero or one (optional) |
updateDate <xz>.properties. |
Date of a creation or update of the Context document |
RFC-3339 date e |
One (mandatory) |
author <xz>.properties. |
Entity primarily responsible for making the Context document |
String type, not empty |
Zero or more (optional) c |
Publisher <xz>.properties. |
Identifier for the publisher of the Context document |
String type, not empty |
Zero or one (optional) |
creator <xz>.properties.
<xz>.properties. |
Tool/application used to create the Context document and its properties |
OWC:Creator (as defined in Table 7)
|
Zero or one (optional) |
rights <xz>.properties. |
Information about rights held in and over the Context document |
String type, not empty |
Zero or one (optional) |
areaOfInterest <xz>.bbox |
Geographic Area of interest of the users of the Context document according to the GeoJSON “bbox” definition |
Double type |
Zero or 2*n (n is the number of dimensions) (optional) |
timeIntervalOfInterest <xz>.date |
Date or range of dates relevant to the resource |
String representing a date according to the ISO-8601f format |
Zero or one (optional) |
Keyword <xz>.properties. |
Category related to this context document. It MAY have a related code-list that is identified by the scheme attribute |
String type, not empty |
Zero or more (optional) |
resource <xz>.features |
Resources available on the Context document |
Features array element as defined in Section 7.1.2 |
Zero or more (optional) |
contextMetadata <xz>.properties. |
Reference to a resource from which the present resource is derived (e.g. source of the information) |
Array of links via (as defined in Table 10) |
Zero or more (optional) |
Extension <xz>.* |
Any other element |
Any (outside of the scope of OWS Context) |
Zero or more (optional) |
a This specification assigns no significance to the order of appearance of the child elements of geojson object with the exception of member of the features array (the actual Resources). The order of the member of the features MAY be used to identify the drawing order of the resources. In that case, the first item of the array represents the top most layer (see section 7.1.1.13 for further details). b URIs used as identifiers should be in canonical form, as described by section 6 of RFC-3986. Avoid the use of URI like http://server.com/path that should be written as http://server.com/path/ c geojson objects MUST contain one or more elements on the properties.author array, unless all of the entries of the features array contain one or more elements on the properties.authors array. d <xz> is the name of the geojson object that depends on the implementation e RFC 3339 defines a profile of ISO 8601 for use in Internet protocols and standards. It explicitly excludes durations and dates before the common era. The more complex formats such as week numbers and ordinal days are not permitted. https://www.ietf.org/rfc/rfc3339.txt f See http://www.iso.org/iso/home/standards/iso8601.htm
|
7.1.1.1 specReference
Path: <xz>.properties.links.profiles[]
The value of this element is the OGC standard reference (requirements class) identifying that this is an OWC Context document and its version.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
“links” : {
“profiles” : [
"http://www.opengis.net/spec/owc-geojson/1.0/req/core"
],
…
},
“features”: [{
…
}]
}
7.1.1.2 language
Path: <xz>.properties.lang
A GeoJSON Context object SHALL have a langelement. The format and interpretation of this value must follow the same rules as specified in [XML 1.0 W3C.REC], Section 2.12.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
“lang” : “en”,
….
},
“features”: [{
…
}]
}
7.1.1.3 id
Path: <xz>.id
The id element defines a mandatory reference to the identification of the Context document. The content for the id element SHALL be an IRI, as defined by IETF [RFC-3987]. By defining the id element as an “IRI” the use of relative references is excluded and thus the id element SHALL NOT be assumed to convey dereferenceable information. The content of this element SHALL be created in a way that assures uniqueness and follows the recommendations of IETF [RFC-4287] section 4.2.6. The id should be in canonical form, i.e. including the trailing ‘/’ (so avoiding the use of URI like http://server.com/path and using http://server.com/path/ instead).
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
….
“features”: [{
…
}]
}
7.1.1.4 title
Path: <xz>.properties.title
This element contains the title of the Context document. This element is mandatory and SHOULD convey a human-readable title.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
“title” : “OWS Context GeoJSON Example”,
….
},
“features”: [{
…
}]
}
7.1.1.5 abstract
Path: <xz>.properties.subtitle
This element is optional and contains the description of the Context Document’s purpose or content.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
“title” : “OWS Context GeoJSON Example”,
“subtitle” : “This Context document uses WMS and GML”,
….
},
“features”: [{
…
}]
}
7.1.1.6 updateDate
Path: <xz>.properties.updated
This element is mandatory and indicates the most recent instant in time when the feed was modified in a way the publisher considers significant and does not necessarily account for minor modifications. The content of this element SHALL conform to the “date-time” production in IETF [RFC-3339]. In addition, an uppercase “T” character SHALL be used to separate date and time, and an uppercase “Z” character SHALL be present in the absence of a numeric time zone offset.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
“title” : “OWS Context GeoJSON Example”,
“updated” : “2012-11-04T17:26:23Z”,
….
},
“features”: [{
…
}]
}
7.1.1.7 author
Path: <xz>.properties.authors
This element is optional and indicates the authors array of the Context document. This element MAY contain name (conveys a human-readable name for the person), email (email address for the person) and uri (home page for the person) elements.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
“title” : “OWS Context GeoJSON Example”,
“authors” : [{
“name” : “Joe Doe”,
“email” : “jdoe@some.com”,
“uri” : “http://some.com/jdoe”
}]
….
},
“features”: [{
…
}]
}
7.1.1.8 publisher
Path: <xz>.properties.publisher
This element is optional and describes the entity responsible for making the Context document available. Examples of a Publisher include a person, an organization, or a service.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
“title” : “OWS Context GeoJSON Example”,
“publisher” : “ACME Inc.”,
….
},
“features”: [{
…
}]
}
7.1.1.9 creator
Path: <xz>.properties.creator
The element is optional and expresses the entity or agent (e.g. software) responsible for making the Context document.
Example:
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
“title” : “OWS Context GeoJSON Example”,
“creator” : “ACME CSW Server”,
….
},
“features”: [{
…
}]
}
7.1.1.10 rights
Path: <xz>properties.rights
This element is optional and contains information about rights held in and over the Context document. Please note that this element SHALL NOT be used to convey machine-readable licensing information.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
“rights” : “ACME Srl, licensed under a Creative Commons Attribution 3.0 License”,
….
},
“features”: [{
…
}]
}
7.1.1.11 areaOfInterest
Path: <xz>.bbox
This element is optional and expresses the geographic area of interest Context document using the GeoJSON “bbox” object. The value of the bbox member SHALL be a 2*n array where n is the number of dimensions represented in the contained geometries, with the lowest values for all axes followed by the highest values. The axes order of a bbox follows the axes order of geometries. In addition, the coordinate reference system for the bbox is assumed to match the coordinate reference system of the GeoJSON object of which it is a member [IETF GeoJSON].
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
….
},
“bbox”: [100.0, 0.0, 105.0, 1.0],
“features”: [{
…
}]
}
7.1.1.12 timeIntervalOfInterest
Path: <xz>.date
This element is optional and expressed a date or range of dates relevant to the Context document. It can contain the element start, stop and instant. The values of these elements SHALL conform to the “date-time” production of ISO-8601[5]. An uppercase “T” character SHALL be used to separate date and time, and an uppercase “Z” character SHALL be present in the absence of a numeric time zone offset. To specify a range of dates the “/” character SHALL be used.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
“date”: “2012-11-04T00:01:23Z/2012-12-05T17:28:56Z”
….
},
“features”: [{
…
}]
}
7.1.1.13 resource
Path: <xz>.features
The resources of a Context document are mapped by the array elements described below in section 7.1.2.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
….
},
“features”: [{
…
}]
}
Note: This standard identifies the order of the features array element in relation to interpretation of the context document contents. Elements are ordered from highest importance to lowest in the file. In particular in relation to visualization geographically, the first entry in the GeoJSON document is the topmost layer in the display.
7.1.1.14 contextMetadata
Path: <xz>.properties.links.via
This element is optional and references an external resource from which the Context document is derived (e.g. metadata document from which the metadata of the resource is derived). The via element is an array of link objects that contains four elements named type, href, title and lang.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…,
“links” : {
“via” : [{
“href” : “http://www.acme.com/collections/algal.xml”,
“type” : “application/xml”,
“title” : “Algal XML metadata”,
“lang” : “en”
}]
….
},
“features”: [{
…
}]
}
7.1.1.15 keyword
Path: <xz>.properties.categories
This array is an optional and expresses categories related to this Context document. Keyword MAY have a related code-list that is identified by the scheme attribute. Each item of the category array has one required element, term (identifies the category), and two optional elements, scheme (identifies the categorization scheme via a URI) and label (provides a human-readable label for display). This standard assigns no significance to the order of items in the array.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
“categories” : [{
“scheme” : “http://www.acme.com/category”,
“term” : “oceansec”,
“label” : “Ocean Integrated Maritime Security”
}]
…
},
“features”: [{
…
}]
}
7.1.1.16 extension
Any other element can be added to the JSON object as long as they do not clash with the elements names defined within table 1.
7.1.2 Class OWC:Resource
The list of OWC: Resource Class is mapped to an array of GeoJSON Feature objects. The mapping of the OWC:Resource Class in shown in the table below.
Names: Conceptual GeoJSON mapping a,e |
Definition | Data type and values | Multiplicity and use |
---|---|---|---|
<xz>.features[i].type |
Type of geojson object |
String type that SHALL have the value “Feature” |
One (mandatory) |
Id <xz>.features[i].id |
Unambiguous reference to the identification of the Context resource (IRI) |
String type that SHALL contain a URI value |
One (mandatory) |
Title <xz>.features[i].properties.title |
Title given to the Context resource |
String type, not empty |
One (mandatory) |
abstract <xz>.features[i].properties. |
Account of the content of the Context resource. The purpose is to provide a generic description of the content in a format understandable by generic readers |
String type, not empty
|
Zero or one (optional)
|
updateDate <xz>.features[i].properties. |
Date of the last update of the Context resource |
String type representing a date according to the RFC-3339 date format |
One (mandatory) |
author <xz>.features[i].properties. |
Entity primarily responsible for making the content of the Context resource |
String type, not empty |
Zero or more (optional) b |
publisher <xz>.features[i].properties. |
Entity responsible for making the Context resource available |
String type, not empty |
Zero or one (optional) |
rights <xz>.features[i].properties. |
Information about rights held in and over the Context resource |
String type, not empty |
Zero or one (optional) |
geospatialExtent <xz>.features[i].geometry |
Spatial extent or scope of the content of the Context resource |
GeoJSON geometry object |
Zero or one (optional) |
temporalExtent <xz>.features[i].properties.date |
Date or range of dates relevant to the Context resource |
String representing a date or an interval according to the ISO-8601 format |
Zero or one (optional) |
contentDescription <xz>.features[i].properties.links.alternates
|
Reference to a description of the Context resource in alternative format |
Array of link objects (as defined in Table 10) |
Zero or more (optional) c |
Preview <xz>.features[i].properties.links.previews |
Reference to a quick-look or browse image representing the Context resource |
Array of link objects (as defined in Table 10). The elements length SHOULD be provided |
Zero or more (optional) |
contentByRef <xz>.features[i].properties.links.data |
Reference to the location of the data resource described in the Context resource |
Array of link objects (as defined in Table 10) d |
Zero or more (optional) |
Offering <xz>.features[i].properties. |
Service or inline content offering for the resource targeted at OGC compliant clients |
owc:OfferingType, see Table 3 |
Zero or more (optional) |
Active <xz>.features[i].properties. |
Flag value indicating to the client if the Context resource should be displayed by default |
Boolean Possible values are 'true' or 'false'. Default value is ‘true’ |
Zero or one (optional) |
resourceMetadata <xz>.features[i].properties.links.via |
Reference to a resource from which the Context resource is derived (e.g. source of the information) |
Link object (as defined in Table 10) |
Zero or more (optional) e |
Keyword <xz>.features[i].properties. |
Category related to this resource. It MAY have a related code-list that is identified by the scheme attribute |
String type, not empty |
Zero or more (optional) |
minScaleDenominator <xz>.features[i].properties. minscaledenominator |
Minimum scale for the display of the Context resource |
Double |
Zero or one (optional) |
maxScaleDenominator <xz>.features[i].properties.maxscaledenominator |
Maximum scale for the display of the Context resource |
Double |
Zero or one (optional) |
folder <xz>.features[i].properties.folder |
Definition of the folder in which the resource is placed |
String type, not empty |
Zero or one (optional) |
extension <xz>.features[i].properties.* |
Any other element |
Any (outside of the scope of OWS Context) |
Zero or more (optional) |
a This specification assigns no significance to the order of appearance object elements. b The features array entries MUST contain one or more elements on the authors array, unless the parent GeoJSON object contains at least one element on its authors array. c A features array entry MUST NOT contain more than alternate element with the same combination of type and lang element values d Because it describes a resource potentially large in size and might require special handling the length and type attribute SHOULD be provided. e <xz> is the name of the geojson object that depends on the implementation |
7.1.2.1 id
Path: <xz>.features[i].id
This element defines a mandatory reference to the identification of the Context resource. Its content SHALL be an IRI, as defined by RFC-3987. By defining it as an “IRI” the use of relative references is excluded and it SHALL NOT be assumed to convey dereferencable information. The content of this element SHALL be created in a way that assures uniqueness and follow the recommendations of RFC-4287 section 4.2.6. The id should be in canonical form and avoiding the use of URI like http://server.com/path and using http://server.com/path/ instead.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#world_countries”,
…
}]
}
7.1.2.2 title
Path: <xz>.features[i].properties.title
This element is mandatory and SHALL convey a human-readable title of the Context resource.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#world_countries”,
“properties” : {
“title”: " Base World Map”,
…
},
…
}]
}
7.1.2.3 abstract
Path: <xz>.features[i].properties.abstract
This element is optional and contains the description of the Context resource purpose or content.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#MERIS”,
“properties” : {
“abstract”: “ENVISAT MERIS Level 1 Reduced Resolution”,
…
},
…
}]
}
7.1.2.4 updateDate
Path: <xz>.features[i].properties.updated
This element is optional and contains the date of a creation or update of the Context resource (ISO-8601 date). This value indicates the most recent instant in time when the Context resource was modified in a way the publisher considers significant and not necessarily covering all any minor modifications. The content of this element SHALL conform to the “date-time” production in RFC-3339. In addition, an uppercase “T” character SHALL be used to separate date and time, and an uppercase “Z” character SHALL be present in the absence of a numeric time zone offset.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#world_countries”,
“properties” : {
“updated”: “2012-05-10T14:35:00.400Z”,
…
},
…
}]
}
7.1.2.5 author
Path: <xz>.features[i].properties.authors[j].name
This element is optional and indicates the authors array of the Context resource. It MAY contain name (conveys a human-readable name for the person), email (email address for the person) and uri (home page for the person) elements.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#world_countries”,
“title”: " Base World Map”,
“properties” : {
“authors” : [{
“name” : “Joe Doe”,
“email” : “jdoe@some.com”,
“uri” : “http://some.com/jdoe”
}]
…
},
…
}]
}
7.1.2.6 publisher
Path: <xz>.features[i].properties.publisher
This element is optional and defines an entity responsible for making the Context resource available. Examples of a Publisher include a person, an organization, or a service.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#world_countries”,
“properties” : {
“publisher”: “ACME Project”,
…
},
…
}]
}
7.1.2.7 rights
Path: <xz>.features[i].properties.rights
This element is optional and contains information about rights held in and over the Context resource. Please note that this element SHALL NOT be used to convey machine-readable licensing information
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#world_countries”,
“properties” : {
“rights”: “ACME Srl, licensed under a Creative Commons Attribution 3.0 License”,
…
},
…
}]
}
7.1.2.8 geospatialExtent
Path: <xz>.features[i].geometry
This element is optional and expresses the geographic area of interest of the Context resource according to the GeoJSON geometry object.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#world_countries”,
“geometry”: {
“type” : “Polygon”,
“coordinates” : [[[-2,45],[8,45],[8,55],[-2,55],[-2,45]]]
},
“properties” : {
…
},
…
}]
}
7.1.2.9 temporalExtent
Path: <xz>.features[i].properties.date
This element is optional and expresses a date or range of dates relevant to the Context document. It can contain the element start, stop and instant. The values of these elements SHALL conform to the “date-time” production of ISO-8601. An uppercase “T” character SHALL be used to separate date and time, and an uppercase “Z” character SHALL be present in the absence of a numeric time zone offset. To specify a range of dates the “/” character SHALL be used.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#world_countries”,
“properties” : {
“date”: “2009-01-23T09:08:56.000Z/2009-01-23T09:14:08.000Z”,
…
},
…
}]
}
7.1.2.10 preview
The preview property of the Context resource is optional and can be expressed by using the following elements:
Path: <xz>.features[i].properties.links.previews[j].href
Reference to a quick-look or browse image representing the Context resource. The attributes length and type SHOULD be provided
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wmts/#algal20090123090856”,
“properties” : {
“links”: {
“previews” : [{
“href” : “http://www.acme.com/products/algal20090123090856.png”,
“type” : “image/png”,
“length” : “12321”,
“title” : " Quicklook for the entry 2009-01-23 09:08:56"
}]
}
…
},
…
}]
}
7.1.2.11 contentDescription
Path: <xz>.features[i].properties.links.alternates[j].href
This element is optional and contains a reference to a description of the Context resource in alternative format.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
“properties” : {
“links”: {
“alternates” : [{
“href” : “http://www.acme.com/products/algal20090123090856.html”,
“type” : “text/html”,
“title” : “Information for the entry 2009-01-23 09:08:56”
}]
}
…
},
…
}]
}
7.1.2.12 contentByRef
Path: xz.features[i]. properties.links.data[j].href
This element is optional and contains a reference to the location of the data resource described in the Context resource. Because it describes a resource potentially large in size and might require special handling the length and type attributes SHOULD be provided.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
“properties” : {
“links”: {
“data” : [{
“href” : “http://www.acme.com/products/algal20090123090856.hdf”,
“type” : “application/x-hdf5”,
“length” : “453123432”,
“title” : “HDF file for the entry 2009-01-23 09:08:56”
}]
}
…
},
…
}]
}
7.1.2.13 offering
Path: xz.features[i].properties.offerings[i]
This element is optional and can contain a number of offerings defined by the class OWC:Offering (defined in section 7.1.3 below). This standard assigns no significance to the order of appearance on the offerings array.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/wms”,
…
},{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
…
}]
…
}]
}
7.1.2.14 active
Path: <xz>.features[i].properties.active
This element optional and is a Boolean value indicating to the client if the Context resource should be displayed by default.
Example:
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
“properties” : {
“active”: true,
…
},
…
}]
}
7.1.2.15 resourceMetadata
Path: xz.features[i]. properties.links.via.href
This element is optional and contains a reference to a resource from which the present resource is derived. Any alternative representation of the resource should use the alternative representation shown in 7.1.2.10.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
“properties” : {
“links”: {
“via” : {
“href” : “http://www.acme.com/products/algal20090123090856.xml”,
“type” : “application/xml”,
“length” : “435”,
“title” : “XML metadata file for the entry 2009-01-23 09:08:56”
}
}
…
},
…
}]
}
7.1.2.16 keyword
Path: <xz>.features[i].properties.categories[j].term
This array is optional and expresses a category related to the Context resource. Keyword MAY have a related code-list that is identified by the scheme attribute. Each item of the category array has one required element, term (identifies the category), and two optional elements, scheme (identifies the categorization scheme via a URI) and label (provides a human-readable label for displaying). This standard assigns no significance to the order of items in the array.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
…
“properties” : {
“categories” : [{
“scheme” : “http://www.acme.com/category”,
“term” : “high_concentration”,
“label” : “High Concentration was detected on this entry”
},{
“scheme” : “http://www.earthobservations.org/category”,
“term” : “GEOSSDataCore”,
“label” : “GEOSS Data Collection of Open Resources for Everyone”
},{
…
}]
…
}]
}
7.1.2.17 minScaleDenominator
Path: <xz>.features[i].properties.minscaledenominator
This element is optional and defines the minimum scale denominator for the display of the resource. The scale denominator is defined with respect to a “standardized rendering pixel size” of 0.28 mm × 0.28 mm (millimeters). The definition is the same used in WMS 1.3.0 [OGC 06-042] and in the OGC Symbology Encoding Implementation Specification 1.1.0 [05-077r4]. Frequently, the true pixel size is unknown and 0.28 mm is a common actual size for current displays.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
“properties” : {
“minscaledenonimator” : 100.0,
…
},
…
}]
}
7.1.2.18 maxScaleDenominator
Path: <xz>.features[i].properties.maxscaledenominator
This element is optional and defines the maximum scale denominator for the display of the resource. The scale denominator is defined with respect to a “standardized rendering pixel size” of 0.28 mm × 0.28 mm (millimeters). The definition is the same used in WMS 1.3.0 [OGC 06-042] and in the OGC Symbology Encoding Implementation Specification 1.1.0 [05-077r4]. Frequently, the true pixel size is unknown and 0.28 mm is a common actual size for current displays.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
“properties” : {
“maxscaledenominator” : 1000000.0,
…
},
…
}]
}
7.1.2.19 folder
Path: <xz>.features[i].properties.folder
This element is optional and defines the folder name in a folder structure in which the resource is placed.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
“properties” : {
“folder” : “/root/algal”,
…
},
…
}]
}
7.1.2.20 extension
Any other element can be added to the JSON object as long as they do not clash with the elements names defined within table 2.
7.1.3 DataType OWC:Offering
The mapping between the OWC:Offering Class and JSON is shown in the table below.
Names: Conceptual JSON mapping a |
Definition | Data type and values | Multiplicity and use |
---|---|---|---|
code <off>.code |
Code identifying the type of offering |
URI A requirement class identifier (URI) for the extension defining the operation. See sections 7.1.9.1 to 7.12 |
One (mandatory) |
operation <off>. |
Array of operations used to invoke the service |
owc:OperationType, see Table 4 |
Zero or more (optional) |
content <off>. |
Array of contents (inline or byRef) |
owc:ContentType, see Table 5 |
Zero or more (optional) |
styleSet <off>.styles[k] |
Array of style sets |
owc:StyleSetType, see Table 6 |
Zero or more (optional) |
extension <off>.* |
Any other element |
Any (outside of the scope of OWS Context) |
Zero or more (optional) |
a <off>
is the name of the offering
object in the offerings Array <xz>.features[i].properties. |
7.1.3.1 code
Path: <xz>.features[i].properties.offerings[j].code
The offering code is defined as the requirement class identifier (URI) for the extension defining the operation. “code” can be an OWC extension or one defined in a profile.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/wms”,
…
},{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
…
}]
…
}]
}
7.1.3.2 operation
Path: <xz>.features[i].properties.offerings[j].operations[k]
Defines an operation within an offering. Valid operations for an offering are defined in the relevant offering extension (Section 6.2.4 DataType OWC:Operation).
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/wms”,
“operations” : [{
“code” : “GetCapabilities”,
“href” : "http://www.someserver.com/wrs.cgi?REQUEST=GetCapabilities&
amp;SERVICE=WMS&VERSION=1.1.1"
}]
…
},{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
…
}]
…
}]
}
7.1.3.3 content
Path: <xz>.features[i].properties.offerings[j].contents[k]
Defines a content within an offering of the class OWC:Content (see section 7.1.5)
7.1.3.4 styleSet
Path: <xz>.features[i].properties.offerings[j].styles[k]
Defines a style within an offering of the OWC:StyleSet (see section 7.1.6 class for further details).
7.1.3.5 extension
Any other element can be added to the JSON object as long as they do not clash with the elements names defined within table 3.
7.1.4 DataType OWC:Operation
This class defines the operation either to get the information or to get the capabilities. Note that service specific extension requirements may mandate more than one operation. As such this element is an array of operations.
Names: Conceptual JSON mapping |
Definition | Data type and values | Multiplicity and use |
---|---|---|---|
code <op>.code
|
Code identifying the type of Operation |
String type, not emptya |
One (mandatory) |
method <op>.method |
Code identifying the HTTP verb type of Operation. |
String type, not empty. Example values are GET and POST. |
One (mandatory) |
type <op>.type |
MIME type of the expected results |
String type, not empty that contains a MIME media type. |
Zero or one (optional) |
requestURL <op>.href
|
Service Request URL b |
URL |
One (mandatory) |
request <op>.request
|
Optional request body content c |
owc:ContentType, see Table 5
|
Zero or one (optional) |
result <op>.result |
Optional Result Payload of the operationc |
owc:ContentType, see Table 5
|
Zero or one (optional) |
extension <op>.* |
Any other element |
Any (outside of the scope of OWS Context) |
Zero or more (optional) |
a Typically the OGC Service request type, e.g. “GetCapabilities” or “GetMap”. b Full request URL for an HTTP GET, and request URL for HTTP POST. c Not necessarily XML as the content is defined by MIME-type. If the content is text/xml or application/*+xml it SHALL be present as a XML fragment (without the <?xml... header) and the encoding SHALL be the same as the feed. e <op> is the name of the operation object in the operations Array <xz>.features[i].properties.offerings[j].operations[k]. <xz>.is the name of the geojson object. |
7.1.4.1 code
Path: <xz>.features[i].properties.offerings[j].operations[k].code
This identifies the type of operation. The valid operation types are defined within each specific extension within the OWS Context conceptual model [OGC 12-080].
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/wms”,
“operations” : [{
“code” : “GetCapabilities”,
“href” : "http://www.someserver.com/wrs.cgi?REQUEST=GetCapabilities&
amp;SERVICE=WMS&VERSION=1.1.1"
}]
…
},{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
…
}]
…
}]
}
7.1.4.2 method
Path: <xz>.features[i].properties.offerings[j].operations[k].method
This identifies the method (verb) of the operation. Default value is GET.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/wms”,
“operations” : [{
“code” : “GetCapabilities”,
“method” : “GET”,
“href” : "http://www.someserver.com/wrs.cgi?REQUEST=GetCapabilities&
amp;SERVICE=WMS&VERSION=1.1.1"
}]
…
},{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
…
}]
…
}]
}
7.1.4.3 type
Path: <xz>.features[i].properties.offerings[j].operations[k].type
“type” defines the MIME-type of the content class.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/csw/oceans”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/csw”,
“operations” : [{
“code” : “GetRecords”,
“type” : “application/xml”
“method” : “POST”,
“href” : “http://www.someserver.com/wrs.cgi?service=CSW&request= GetCapabilities&VERSION=2.0.2”
}]
}]
…
}]
}
7.1.4.4 requestURL
Path: <xz>.features[i].properties.offerings[j].operations[k].href
For HTTP GET the serviceURL item is used to capture the entire request. For POST (and SOAP) requests, the serviceURL is used to capture the address, and an additional requestelement (section 7.1.4.5) may be specified.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/wms/#algal20090123090856”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/wms”,
“operations” : [{
“code” : “GetCapabilities”,
“method” : “GET”,
“href” : "http://www.someserver.com/wrs.cgi?REQUEST=GetCapabilities&
amp;SERVICE=WMS&VERSION=1.1.1"
}]
}]
…
}]
}
7.1.4.5 request
Path: <xz>.features[i].properties.offerings[j].operations[k].request.content
request is an optional element of the type OWC:Content that captures the request of an operation as it was sent to the server. This can be defined inline or as a reference. For POST and SOAP Requests, an element request with the payload contents may be required.
Note: not necessarily XML as the content is defined by MIME-type. If the content is text/xml or application/xml+* it SHALL be present as a XML fragment (without the <?xml… header) and the encoding SHALL be the same as the feed.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/csw/oceans/”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/csw”,
“operations” : [{
“code” : “GetCapabilities”,
“method” : “GET”,
“href” : “http://www.someserver.com/wrs.cgi?service=CSW&request= GetCapabilities&VERSION=2.0.2”
},{
“code” : “GetRecords”,
“type” : “application/xml”,
“method” : “POST”,
“href” : “http://www.someserver.com/wrs.cgi?service=CSW&request= GetCapabilities&VERSION=2.0.2”,
“request”:{
“type” : “application/xml”,
“content” : “<csw:GetRecords maxRecords=\”10\" outputFormat=\“application/xml\”
outputSchema=\“http://www.isotc211.org/2005/gmd\” resultType=\“results\” service=\“CSW\”
startPosition=\“1\” version=\“2.0.2\” xmlns:ogc=\“http://www.opengis.net/ogc\”
xmlns:csw=\“http://www.opengis.net/cat/csw/2.0.2\”><csw:Query
typeNames=\“csw:Record Service Association\” xmlns:ogc=\“http://www.opengis.net/ogc\”
xmlns:csw=\“http://www.opengis.net/cat/csw/2.0.2\”><csw:ElementSetName
typeNames=\“csw:Record\” xmlns:csw=\“http://www.opengis.net/cat/csw/2.0.2\”>full
</csw:ElementSetName><csw:Constraint version=\“1.1.0\”
xmlns:ogc=\“http://www.opengis.net/ogc\” xmlns:csw=\“http://www.opengis.net/cat/csw/2.0.2\”>
<ogc:Filter xmlns:ogc=\“http://www.opengis.net/ogc\”><ogc:PropertyIsEqualTo
xmlns:ogc=\“http://www.opengis.net/ogc\”><ogc:PropertyName
xmlns:ogc=\“http://www.opengis.net/ogc\”>csw:Record/@id</ogc:PropertyName><ogc:Literal
xmlns:ogc=\“http://www.opengis.net/ogc\”>9496276a-4f6e-47c1-94bb-f604245fac57</ogc:Literal>
</ogc:PropertyIsEqualTo></ogc:Filter></csw:Constraint>
</csw:Query></csw:GetRecords>"
}
}]
}]
…
}]
}
7.1.4.6 result
Path: <xz>.features[i].properties.offerings[j].operations[k].result.content
Result is an optional element of the type OWC:Content that captures the result of an operation as it was returned from the server. This can be defined inline or as a reference. When the result content is inline XML it should be as a XML fragment (without the <?xml… header) and the encoding SHALL be the same as the GeoJSON file itself.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/csw/oceans/”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/csw”,
“operations” : [{
“code” : “GetCapabilities”,
“method” : “GET”,
“href” : “http://www.someserver.com/wrs.cgi?service=CSW&request= GetCapabilities&VERSION=2.0.2”
},{
“method” : “POST”,
“code” : “GetRecords”,
“href” : “http://www.someserver.com/wrs.cgi?”,
“request”:{
“type” : “application/xml”,
“content” : “<GetRecords service=\”CSW\" version=\“2.0.2\” maxRecords=\“5\” startPosition=\“1\”
resultType=\“results\” outputFormat=\“application/xml\” outputSchema=\“http://www.opengis.net/cat/csw/2.0.2\”
xsi:schemaLocation=\“http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\”
xmlns:xsi=\“http://www.w3.org/2001/XMLSchema-instance\” xmlns:gml=\“http://www.opengis.net/gml\”
xmlns:ogc=\“http://www.opengis.net/ogc\” xmlns:csw=\“http://www.opengis.net/cat/csw/2.0.2\”
xmlns=\“http://www.opengis.net/cat/csw/2.0.2\”><Query typeNames=\“csw:Record\”
xmlns:gml=\“http://www.opengis.net/gml\” xmlns:ogc=\“http://www.opengis.net/ogc\”
xmlns:csw=\“http://www.opengis.net/cat/csw/2.0.2\”
xmlns=\“http://www.opengis.net/cat/csw/2.0.2\”><ElementSetName
typeNames=\“csw:Record\” xmlns:csw=\“http://www.opengis.net/cat/csw/2.0.2\”
xmlns=\“http://www.opengis.net/cat/csw/2.0.2\”>full</ElementSetName>
<Constraint version=\“1.1.0\” xmlns:gml=\“http://www.opengis.net/gml\”
xmlns:ogc=\“http://www.opengis.net/ogc\” xmlns:csw=\“http://www.opengis.net/cat/csw/2.0.2\”
xmlns=\“http://www.opengis.net/cat/csw/2.0.2\”><ogc:Filter xmlns:gml=\“http://www.opengis.net/gml\”
xmlns:ogc=\“http://www.opengis.net/ogc\”><ogc:And xmlns:gml=\“http://www.opengis.net/gml\”
xmlns:ogc=\“http://www.opengis.net/ogc\”><ogc:PropertyIsLike escapeChar=\“\\\”
singleChar=\“?\” wildCard=\“*\” xmlns:ogc=\“http://www.opengis.net/ogc\”><ogc:PropertyName
xmlns:ogc=\“http://www.opengis.net/ogc\”>dc:title</ogc:PropertyName><ogc:Literal
xmlns:ogc=\“http://www.opengis.net/ogc\”>*Elevation*</ogc:Literal></ogc:PropertyIsLike>
<ogc:Intersects xmlns:gml=\“http://www.opengis.net/gml\” xmlns:ogc=\“http://www.opengis.net/ogc\”>
<ogc:PropertyName xmlns:ogc=\“http://www.opengis.net/ogc\”>ows:BoundingBox</ogc:PropertyName>
<gml:Envelope xmlns:gml=\“http://www.opengis.net/gml\”><gml:lowerCorner
xmlns:gml=\“http://www.opengis.net/gml\”>14.05 46.46</gml:lowerCorner><gml:upperCorner
xmlns:gml=\“http://www.opengis.net/gml\”>17.24 48.42</gml:upperCorner></gml:Envelope>
</ogc:Intersects></ogc:And></ogc:Filter></Constraint></Query></GetRecords>"
},
“result”:{
“type” : “application/xml”,
“content” : “<csw:Record xsi:schemaLocation=\”http://www.opengis.net/cat/csw/2.0.2
http://schemas.opengis.net/csw/2.0.2/record.xsd\" xmlns:xsi=\“http://www.w3.org/2001/XMLSchema-instance\”
xmlns:ows=\“http://www.opengis.net/ows\” xmlns:dct=\“http://purl.org/dc/terms/\”
xmlns:dc=\“http://purl.org/dc/elements/1.1/\” xmlns:csw=\“http://www.opengis.net/cat/csw/2.0.2\”>
<dc:creator xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>U.S. Geological Survey</dc:creator>
<dc:contributor xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>State of Texas</dc:contributor>
<dc:publisher xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>U.S. Geological Survey</dc:publisher>
<dc:subject xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>Elevation, Hypsography, and Contours
</dc:subject><dc:subject xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>elevation</dc:subject>
<dct:abstract xmlns:dct=\“http://purl.org/dc/terms/\”>Elevation data collected for the National
Elevation Dataset (NED) based on 30m horizontal and 15m vertical accuracy.</dct:abstract><dc:identifier
xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>ac522ef2-89a6-11db-91b1-7eea55d89593</dc:identifier>
<dc:relation xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>OfferedBy</dc:relation><dc:source
xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>dd1b2ce7-0722-4642-8cd4-6f885f132777</dc:source>
<dc:rights xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>Copyright © 2004, State of Texas</dc:rights>
<dc:type xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>Service</dc:type><dc:title
xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>National Elevation Mapping Service for Texas</dc:title>
<dct:modified xmlns:dct=\“http://purl.org/dc/terms/\”>2004-03-01</dct:modified><dc:language
xmlns:dc=\“http://purl.org/dc/elements/1.1/\”>en</dc:language><ows:BoundingBox
xmlns:ows=\“http://www.opengis.net/ows\”><ows:LowerCorner
xmlns:ows=\“http://www.opengis.net/ows\”>-108.44 28.229</ows:LowerCorner><ows:UpperCorner
xmlns:ows=\“http://www.opengis.net/ows\”>-96.223 34.353</ows:UpperCorner>
</ows:BoundingBox></csw:Record>"
}
}]
}]
…
}]
}
7.1.4.7 extension
Any other element can be added to the JSON object as long as they do not clash with the elements names defined within table 4.
7.1.5 DataType OWC:Content
This class defines a generic container for any content. It is the class defining the array elements of the objects offerings[i].contents[j], offerings[i].operations[j].request, offerings[i].operations[j].result and offerings[j].styles[k].content
elements
Names: Conceptual JSON mappinga |
Definition | Data type and values | Multiplicity and use |
---|---|---|---|
type <cont>.type |
MIME type of the Content |
String type, not empty that contains a MIME media type. |
One (mandatory) |
URL <cont>.href |
URL of the Content |
URL |
Zero or one (optional) a |
title <cont>.title |
Title of the Content |
String type, not empty |
Zero or one (optional) |
content <cont>.content |
In-line content for the Content element |
String type, not empty that can contain any text encoded media type |
Zero or one (optional) a |
extension <cont>.* |
Any other element |
Any (outside of the scope of OWS Context) |
Zero or more (optional) |
a If the “href” attribute is present, the element content SHALL be empty. If “href” is not provided, content SHALL be provided. b <cont> is the name of the content that can be: <xz>.features[i].properties.offerings[i].contents[j],
<xz>.features[i].properties.offerings[i].operations[j].request, <xz>.features[i].properties.offerings[i].operations[j].result
and |
7.1.5.1 type
Path: <xz>.features[i].properties.offerings[j].operations[k].result.type
Path: <xz>.features[i].properties.offerings[j].operations[k].request.type
Path: <xz>.features[i].properties.offerings[j].contents[k].type
Path: <xz>.features[i].properties.offerings[j].styles[k].content.type
It defines the MIME-type of the content class.
7.1.5.2 URL
Path: <xz>.features[i].properties.offerings[j].operations[k].result.href
Path: <xz>.features[i].properties.offerings[j].operations[k].request.href
Path: <xz>.features[i].properties.offerings[j].contents[k].href
Path: <xz>.features[i].properties.offerings[j].styles[k].content.href7
“URL” provides the path to the content. This element can be a full URL or a relative reference. For example you can use an http:, ftp:, file: etc., or simply a file name if the OWS context document and the content share the same location.
7.1.5.3 content
Path: <xz>.features[i].properties.offerings[j].operations[k].result.content
Path: <xz>.features[i].properties.offerings[j].operations[k].request.content
Path: <xz>.features[i].properties.offerings[j].contents[k].content
Path: <xz>.features[i].properties.offerings[j].styles[k].content.content
This element contains the inline content or a local file reference (encoded in any form in the document and definable via MIME Type).
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/gml/draw20090123090856”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
“contents” : [{
“type” : “application/gml+xml”,
“content” : " <my_srf:RoadCollection gml:id=\“ID_ROADS1\” xsi:schemaLocation=\“http://www.opengis.net/gml/3.2
http://schemas.opengis.net/gml/3.2.1/gml.xsd http://www.opengis.net/owc/1.0/examples/gml/1 road.xsd\”
xmlns:xsi=\“http://www.w3.org/2001/XMLSchema-instance\” xmlns:gml=\“http://www.opengis.net/gml/3.2\”
xmlns:my_srf=\“http://www.opengis.net/owc/1.0/examples/example1\”><my_srf:road >
<my_srf:Road gml:id=\“ID_ROAD1\”><my_srf:position><gml:LineString
gml:id=\“ID_LINEROAD1\”>300 200</gml:pos><gml:pos>350 222</gml:pos>
</gml:LineString></my_srf:position><my_srf:width>4.1</my_srf:width>
<my_srf:name>M30</my_srf:name></my_srf:Road>
</my_srf:road></my_srf:RoadCollection>"
}]
}]
…
}]
}
7.1.5.4 extension
Any other element can be added to the JSON object as long as they do not clash with the elements names defined within table 5.
7.1.6 DataType OWC:StyleSet
This class defines a portrayal style for a resource inline or service derived content. It is specified at an offering level.
Names: Conceptual JSON mapping a |
Definition | Data type and values | Multiplicity and use |
---|---|---|---|
name <style>.name |
Unique name of the styleSet within a given offering |
String type, not empty |
One (mandatory) |
title <style>.title |
Human Readable title of the styleSet within a given offering |
String type, not empty |
One (mandatory) |
abstract <style>.abstract |
Description of the styleSet |
String type, not empty |
Zero or one (optional) |
default <style>.default |
Whether this styleSet is the one to be defined by default |
Boolean type. Possible values are 'true' or 'false'. Default value is ‘false’ |
Zero or one (optional) |
legendURL <style>.legendURL |
URL of a legend image for the styleSet |
URL |
Zero or one (optional) |
content <style>.content |
The inline or a external reference to the styleSet definition |
owc:ContentType, see Table 5 |
Zero or one (optional) |
extension <style>.* |
Any other element |
Any (outside of the scope of OWS Context) |
Zero or more (optional) |
a <style>
is the name of the style object in
the styles array |
The intention of the StyleSet is that the client could visualize the resource using for example the WMS GetMap request (which would have defined styling) but could also offer the selection of alternative styles for the layer to the user. These would be derived from the style set offering.
7.1.6.1 name
Path: <xz>.features[i].properties.offerings[j].styles[k].name
The name of the style is used to present to the service in order to invoke a standard style. It is not required on referenced styles.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/gml/draw20090123090856”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
“contents” : [{
…
}]
“styles” : [{
“name”: “Simple Line”,
…
}]
…
}]
}
7.1.6.2 title
Path: <xz>.features[i].properties.offerings[j].styles[k].title
This element is intended to provide a human readable name for an element (used in any label or legend for the style).
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/gml/draw20090123090856”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
“contents” : [{
…
}]
“styles” : [{
“title”: “SLD Cook Book: Simple Line”,
…
}]
…
}]
}
7.1.6.3 abstract
Path: <xz>.features[i].properties.offerings[j].styles[k].abstract
The abstract provides a textual description of the style.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/gml/draw20090123090856/”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
“contents” : [{
…
}]
“styles” : [{
“abstract”: “SLD Cook Book: Simple Line extracted from http://docs.geoserver.org/latest/en/user/_downloads/line_simpleline.sld”,
…
}]
…
}]
}
7.1.6.4 default
Path: <xz>.features[i].properties.offerings[j].styles[k].default
Specifies the style to be applied when the service is invoked (other styles are there as alternatives).
Note: The default does not need to be defined and is not required when a service request in an offering already has a way of specifying the default. For example, where a WMS request can include the style request, this element is not required. However, when specifying the style for a WFS or a GML File (where there is no place to specify styling) the default can be used.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/gml/draw20090123090856”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
“contents” : [{
…
}]
“styles” : [{
“default”: true,
…
}
}]
…
}]
}
7.1.6.5 legendURL
Path: <xz>.features[i].properties.offerings[j].styles[k].legendURL
The legend URL specifies a link to a legend image.
Example:
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/gml/draw20090123090856/”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
“contents” : [{
…
}]
“styles” : [{
“legendURL”: “http://docs.geoserver.org/latest/en/user/_images/line_simpleline1.png”,
…
}]
…
}]
}
7.1.6.6 Content
Path: <xz>.features[i].properties.offerings[j].styles[k].content
The content element allows an external or an inline style definition to be identified. It is a owc:Content class and as such if it has a value on the attribute href it SHALL NOT have inline content. This could potentially be an OGC Styled Layer Descriptor document but also potentially a Cascading Style Sheet. The valid types of document for a given service/inline content are specified in the relevant offering extension.
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/gml/draw20090123090856/”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
“contents” : [{
…
}]
“styles” : [{
“name”: “Simple Line Linked”,
“title”: “SLD Cook Book: Simple Line Linked”,
“content”: {
“type”: “application/vnd.ogc.sld+xml”,
“href”: “http://docs.geoserver.org/latest/en/user/_downloads/line_simpleline.sld”
}
}]
…
}]
}
or an inline content as
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…
},
“features”: [{
“id”: “http://www.acme.eu/geoserver/gml/draw20090123090856/”,
…
“properties” : {
“offerings” : [{
“code” : “http://www.opengis.net/spec/owc-geojson/1.0/req/gml”,
“contents” : [{
“type” : “application/gml+xml”,
“content” : " <my_srf:RoadCollection gml:id=\“ID_ROADS1\”
xsi:schemaLocation=\“http://www.opengis.net/gml/3.2
http://schemas.opengis.net/gml/3.2.1/gml.xsd http://www.opengis.net/owc/1.0/examples/gml/1 road.xsd\”
xmlns:xsi=\“http://www.w3.org/2001/XMLSchema-instance\” xmlns:gml=\“http://www.opengis.net/gml/3.2\”
xmlns:my_srf=\“http://www.opengis.net/owc/1.0/examples/example1\”><my_srf:road >
<my_srf:Road gml:id=\“ID_ROAD1\”><my_srf:position><gml:LineString
gml:id=\“ID_LINEROAD1\”>300 200</gml:pos><gml:pos>350 222</gml:pos>
</gml:LineString></my_srf:position><my_srf:width>4.1</my_srf:width>
<my_srf:name>M30</my_srf:name></my_srf:Road></my_srf:road>
</my_srf:RoadCollection>"
}]
}]
“styles” : [{
“name”: “Simple Line</owc:name”,
“title”: “SLD Cook Book: Simple Line”,
“content”: {
“type”: “application/vnd.ogc.sld+xml”,
“content”: “<StyledLayerDescriptor version=\”1.0.0\" xmlns=\“http://www.opengis.net/sld\”
xmlns:ogc=\“http://www.opengis.net/ogc\” xmlns:xlink=\“http://www.w3.org/1999/xlink\”
xmlns:xsi=\“http://www.w3.org/2001/XMLSchema-instance\” xsi:schemaLocation=\“http://www.opengis.net/sld
../../../sld/1.1/StyledLayerDescriptor.xsd\”><NamedLayer><Name>Simple Line</Name>
<UserStyle><Title>SLD Cook Book: Simple Line</Title><FeatureTypeStyle><Rule>
<LineSymbolizer><Stroke><CssParameter name=\“stroke\”>#000000</CssParameter>
<CssParameter name=\“stroke-width\”>3</CssParameter></Stroke></LineSymbolizer>
</Rule></FeatureTypeStyle></UserStyle></NamedLayer></StyledLayerDescriptor>"
}
}]
…
}]
}
7.1.6.7 extension
Any other element can be added to the JSON object as long as they do not clash with the elements names defined within table 6.
7.1.7 DataType OWC:Creator
This datatype class provides place to encode information related to the creator of the context document. It includes the creator application and any relevant properties or settings for the application.
Names: Conceptual JSON mapping |
Definition | Data type and values | Multiplicity and use |
---|---|---|---|
creatorApplication <xz>.properties. |
The name, reference and version of the creator application used to create the context document |
owc:CreatorApplication |
Zero or one (optional) |
creatorDisplay <xz>.properties. |
Properties of the display in use when the context document was created (for display based applications only). |
owc:CreatorDisplay |
Zero or one (optional) |
Extension |
Any encoding should allow the user to extend the Creator information to include custom items |
n/a |
Zero or more (optional) |
7.1.7.1 creatorApplication
The name, reference and version of the creator application used to create the context document. Complex type defined in Table 8.
7.1.7.2 creatorDisplay
The properties of the creator display (Complex type as defined in Table 9).
7.1.7.3 extension
Any other element can be added to the JSON object as long as they do not clash with the elements names defined within table 7.
7.1.8 DataType OWC:Creator/OWC:CreatorApplication
This datatype class provides place to encode information related to the application responsible to the creation of the context document (not necessarily the content described).
Names: Conceptual JSON mapping |
Definition | Data type and values | Multiplicity and use |
---|---|---|---|
Title <xz>.properties. |
Title or name of the application |
String
|
Zero or one (optional) |
uri <xz>.properties. |
URI describing the creator application |
URI |
Zero or one (optional) |
Version <xz>.properties. |
Version of the creator application |
String
|
Zero or one (optional) |
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…,
“generator” : {
“title”: “Web Enterprise Suite”,
“uri”: “http://www.somewebside.org/WebEnterpriseSuite”
},
….
},
“features”: [{
…
}]
}
7.1.8.1 title
Path: <xz>.properties.generator.title
The content of this element SHALL be a human-readable text (character string).
7.1.8.2 uri
Path: <xz>.properties.generator.uri
The optional uri attribute is a URI that when dereferenced SHALL produce a representation that is relevant to the client (web address).
7.1.8.3 version
Path: <xz>.properties.generator.version
The optional version attribute is a character string that conveys the version of the generating application.
7.1.9 DataType OWC:Creator/OWC:CreatorDisplay
The OWC:CreatorDisplay class provides place to encode information related to the display area used in the creator application when the OWS Context document was produced. This class is optional and intended for creator applications that use a graphical user interface with a geographical display within a fixed pixel size and not scalable to different computational devices. The set of properties of this class are only informative and creator applications should not expect clients to use them to reproduce the original graphical display. It is not intended that Client applications use the information in this class to define the size of their own graphical interface; the values present on this class are to be considered as creator application metadata. In addition, the presence of this class in a Context document should not be considered an indication of any type of limitation or constraint of the Context resources (features elements). The mapping between the OWC:CreatorDisplay Class and JSON encoding is shown in the table below.
Names: Conceptual JSON mapping |
Definition | Data type and values | Multiplicity and use |
---|---|---|---|
pixelWidth <xz>.properties. display.pixelWidth |
Width measured in pixels of the display showing the Area of Interest |
Positive Integer type |
Zero or one (optional) |
pixelHeight <xz>.properties.display.pixelHeight |
Width measured in pixels of the display showing by the Area of Interest |
Positive Integer type |
Zero or one (optional) |
mmPerPixel <xz>.properties.display.mmPerPixel |
The size of a pixel of the display in milimeters (combined with the previous ones allows for the real display size to be calculated) |
Double type |
Zero or one (optional) |
extension <xz>.properties.display.* |
Any other element |
Any |
Zero or more (optional) |
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/geojson/1/”,
“properties” : {
…,
“display”: [{
“pixelWidth”: 600,
“pixelHeight”: 400,
“mmPerPixel”: 0.28
}],
….
},
“features”: [{
…
}]
}
7.1.9.1 pixelWidth
Path: <xz>.properties.display.pixelWidth
The content of this element is an integer number representing the width of the display showing the Area of Interest.
7.1.9.2 pixelHeight
Path: <xz>.properties.display.pixelHeight
The content of this element is an integer number representing the height of the display showing the Area of Interest.
7.1.9.3 mmPerPixel
Path: <xz>.properties.display.mmPerPixel
The content of this element is a floating point number representing the size of a pixel of the display in milimeters.
7.1.10 DataType links
The links class provides place to encode link relations in a OWS Context document. This class is used in several places in the model and mimics the Atom link element and maps it into JSON.
JSON Name: | Definition | Data type and values | Multiplicity and use |
---|---|---|---|
<xz>.href |
URI describing the related resource |
URI |
One (mandatory) |
<xz>.type |
Hint about the type of the representation that is expected to be returned when the value of the href attribute is dereferenced |
String type, not empty that contains a media type. |
Zero or one (optional) |
<xz>.lang |
Language of the resource pointed to by the href attribute |
String type, not empty with an RFC-3066 code[6] |
Zero or one (optional) |
<xz>.title |
Human-readable information about the link |
String type, not empty |
Zero or one (optional) |
<xz>.length |
Hint about the content length in octets of the representation returned when the IRI in the href attribute is mapped to a URI and dereferenced. |
Integer type, non-negative |
Zero or one (optional) |
extension <xz>.* |
Any other element |
Any |
Zero or more (optional) |
{
…,
{
“href” : “http://www.acme.com/collections/algal.xml”,
“type” : “application/xml”,
“title” : “Algal XML metadata”,
“lang” : “en”
}
….
7.1.10.1 href
Path: <xz>.href
Reference to a resource related to this one.
7.1.10.2 type
Path: <xz>.type
Expected MIME type of resource pointed by the href.
7.1.10.3 lang
Path: <xz>.lang
Expected language of resource pointed by the href.
7.1.10.4 title
Path: <xz>.title
This element contains the title of resource pointed by the href. This element conveys a human-readable title.
7.1.10.5 length
Path: <xz>.length
Expected length of resource pointed by the href.
7.2 GeoJSON WMS Offering
Requirement Class: http://www.opengis.net/spec/owc-geojson/1.0/req/wms
Scope: All requirements in this subsection relate to the above requirement class)
Dependencies: http://www.opengis.net/spec/owc/1.0/req/wms , http://www.opengis.net/spec/owc-geojson/1.0/req/core
Requirement id: http://www.opengis.net/spec/owc-geojson/1.0/req/wms/content
Requirement tx: Encodings of this offering shall be populated in accordance with the requirements of the referenced wms conformance class (see REF 1, OWS Context Conceptual Model)
7.3 GeoJSON WFS Offering
Requirement Class: http://www.opengis.net/spec/owc-geojson/1.0/req/wfs
Scope: All requirements in this subsection relate to the above requirement class)
Dependencies: http://www.opengis.net/spec/owc/1.0/req/wms , http://www.opengis.net/spec/owc-geojson/1.0/req/core
Requirement id: http://www.opengis.net/spec/owc-geojson/1.0/req/wfs/content
Requirement tx: Encodings of this offering shall be populated in accordance with the requirements of the referenced wfs conformance class (see REF 1, OWS Context Conceptual Model)
7.4 GeoJSON WCS Offering
Requirement Class: http://www.opengis.net/spec/owc-geojson/1.0/req/wcs
Scope: All requirements in this subsection relate to the above requirement class)
Dependencies: http://www.opengis.net/spec/owc/1.0/req/wcs, http://www.opengis.net/spec/owc-geojson/1.0/req/core
Requirement id: http://www.opengis.net/spec/owc-geojson/1.0/req/wcs/content
Requirement tx: Encodings of this offering shall be populated in accordance with the requirements of the referenced wcs conformance class (see REF 1, OWS Context Conceptual Model)
7.5 GeoJSON WPS Offering
Requirement Class: http://www.opengis.net/spec/owc-geojson/1.0/req/wps
Scope: All requirements in this subsection relate to the above requirement class)
Dependencies: http://www.opengis.net/spec/owc/1.0/req/wps , http://www.opengis.net/spec/owc-geojson/1.0/req/core
Requirement id: http://www.opengis.net/spec/owc-geojson/1.0/req/wps/content
Requirement tx: Encodings of this offering shall be populated in accordance with the requirements of the referenced wps conformance class (see REF 1, OWS Context Conceptual Model)
7.6 GeoJSON CSW Offering
Requirement Class: http://www.opengis.net/spec/owc-geojson/1.0/req/csw
Scope: All requirements in this subsection relate to the above requirement class)
Dependencies: http://www.opengis.net/spec/owc/1.0/req/csw , http://www.opengis.net/spec/owc-geojson/1.0/req/core
Requirement id: http://www.opengis.net/spec/owc-geojson/1.0/req/csw/content
Requirement tx: Encodings of this offering shall be populated in accordance with the requirements of the referenced csw conformance class (see REF 1, OWS Context Conceptual Model)
7.7 GeoJSON WMTS Offering
Requirement Class: http://www.opengis.net/spec/owc-geojson/1.0/req/wmts
Scope: All requirements in this subsection relate to the above requirement class)
Dependencies: http://www.opengis.net/spec/owc/1.0/req/wmts , http://www.opengis.net/spec/owc-geojson/1.0/req/core
Requirement id: http://www.opengis.net/spec/owc-core/1.0/req/wmts/content
Requirement tx: Encodings of this offering shall be populated in accordance with the requirements of the referenced wmts conformance class (see REF 1, OWS Context Conceptual Model)
7.8 GeoJSON GML Offering
Requirement Class: http://www.opengis.net/spec/owc-geojson/1.0/req/gml
Scope: All requirements in this subsection relate to the above requirement class)
Dependencies: http://www.opengis.net/spec/owc/1.0/req/gml , http://www.opengis.net/spec/owc-geojson/1.0/req/core
Requirement id: http://www.opengis.net/spec/owc-geojson/1.0/req/gml/content
Requirement tx: Encodings of this offering shall be populated in accordance with the requirements of the referenced gml conformance class (see REF 1, OWS Context Conceptual Model)
Note it is also valid to specify a file or url reference to gml content. See the content class definition for details.
7.9 GeoJSON KML Offering
Requirement Class: http://www.opengis.net/spec/owc-geojson/1.0/req/kml
Scope: All requirements in this subsection relate to the above requirement class)
Dependencies: http://www.opengis.net/spec/owc/1.0/req/kml , http://www.opengis.net/spec/owc-geojson/1.0/req/core
Requirement id: http://www.opengis.net/spec/owc-geojson/1.0/req/kml/content
Requirement tx: Encodings of this offering shall be populated in accordance with the requirements of the referenced kml conformance class (see REF 1, OWS Context Conceptual Model)
Note it is also valid to specify a file or url reference to gml content. See the content class definition for details.
7.10 GeoJSON GeoTIFF Offering
Requirement Class: http://www.opengis.net/spec/owc-geojson/1.0/req/geotiff
Scope: All requirements in this subsection relate to the above requirement class)
Dependencies: http://www.opengis.net/spec/owc/1.0/req/geotiff , http://www.opengis.net/spec/owc-geojson/1.0/req/core
Requirement id: http://www.opengis.net/spec/owc-geojson/1.0/req/geotiff/content
Requirement tx: Encodings of this offering shall be populated in accordance with the requirements of the referenced geotiff conformance class (see REF 1, OWS Context Conceptual Model)
Note it is also valid to specify a file or url reference to GeoTIFF content. See the content class definition for details.
7.11 GeoJSON GMLJP2 Offering
Requirement Class: http://www.opengis.net/spec/owc-geojson/1.0/req/gmljp2
Scope: All requirements in this subsection relate to the above requirement class)
Dependencies: http://www.opengis.net/spec/owc/1.0/req/gmljp2 , http://www.opengis.net/spec/owc-geojson/1.0/req/core
Requirement id: http://www.opengis.net/spec/owc-geojson/1.0/req/gmljp2/content
Requirement tx: Encodings of this offering shall be populated in accordance with the requirements of the referenced gmljp2 conformance class (see REF 1, OWS Context Conceptual Model)
7.12 GeoJSON GMLCOV Offering
Requirement Class: http://www.opengis.net/spec/owc-geojson/1.0/req/gmlcov
Scope: All requirements in this subsection relate to the above requirement class)
Dependencies: http://www.opengis.net/spec/owc/1.0/req/gmlcov , http://www.opengis.net/spec/owc-geojson/1.0/req/core
Requirement id: http://www.opengis.net/spec/owc-geojson/1.0/req/gmlcov/content
Requirement tx: Encodings of this offering shall be populated in accordance with the requirements of the referenced gmlcov conformance class (see REF 1, OWS Context Conceptual Model)
8. Media Types for any data encoding(s)
N/A
Annex : Conformance Class Abstract Test Suites (Normative)
This conformance test is targeted at the GeoJSON encoding of an OWS Context document and validates the encoding of an OWS Context Document is correct.
A.1 Conformance Test Class: core
The OGC URI identifier of this conformance class is: http://www.opengis.net/spec/owc-geojson/1.0/conf/core. Tests identifiers below are shown in full but all relate to http://www.opengis.net/spec/owc-geojson/1.0/core.
Fully Implements the Rules of GeoJSON
URI:http://www.opengis.net/spec/owc-geojson/1.0/req/geojsonRules
Test Purpose:
To test requirementhttp://www.opengis.net/spec/owc-geojson/1.0/conf/geojsonRules
Test Method:
Validate the JSON encoded owc:context document is compliant with the GeoJSON specification by using a GeoJSON validator.
Uses the specified MimeType
URI:http://www.opengis.net/spec/owc-geojson/1.0/req/mimeType
Test Purpose:
To test requirementhttp://www.opengis.net/spec/owc-geojson/1.0/conf/mimeType
Test Method:
Validate that any reference to an OWS Context document uses the mimetype specified in the requirement. In terms of validation, this requirement may only be validated in terms of a reference from one OWS context document to another as it is a requirement on users of context documents.
Uses the specified File Extension
URI:http://www.opengis.net/spec/owc-geojson/1.0/req/fileExtension
Test Purpose:
To test requirementhttp://www.opengis.net/spec/owc-geojson/1.0/conf/fileExtension
Test Method:
Validate that the OWS Context document uses the file extension specified in the requirement.
Encoding of Content is compliant with OWS Context Content
URI:http://www.opengis.net/spec/owc-geojson/1.0/conf/owcencoding
Test Purpose:
To test requirementhttp://www.opengis.net/spec/owc-geojson/1.0/req/owcencoding
Test Method
Verify that the encoding of each of the owc:context classes correctly populates the properties including populating all mandatory properties in compliance with the specification using automated validation.
A.2 Conformance Test Class: wms
URI: http://www.opengis.net/spec/owc-geojson/1.0/conf/wms
Test Purpose:
To test requirement http://www.opengis.net/spec/owc-geojson/1.0/req/wms
Test Method:
Verify that the encoding of offering using the above extension correctly populates the properties of the offering class using automated validation.
A.3 Conformance Test Class: wfs
URI: http://www.opengis.net/spec/owc-geojson/1.0/conf/wfs
Test Purpose:
To test requirement http://www.opengis.net/spec/owc-geojson/1.0/req/wfs
Test Method:
Verify that the encoding of offering using the above extension correctly populates the properties of the offering class using automated validation.
A.4 Conformance Test Class: wcs
URI: http://www.opengis.net/spec/owc-geojson/1.0/conf/wcs
Test Purpose:
To test requirement http://www.opengis.net/spec/owc-geojson/1.0/req/wcs
Test Method:
Verify that the encoding of offering using the above extension correctly populates the properties of the offering class using automated validation.
A.5 Conformance Test Class: wps
URI: http://www.opengis.net/spec/owc-geojson/1.0/conf/wps
Test Purpose:
To test requirement http://www.opengis.net/spec/owc-geojson/1.0/req/wps
Test Method:
Verify that the encoding of offering using the above extension correctly populates the properties of the offering class using automated validation.
A.6 Conformance Test Class: csw
URI: http://www.opengis.net/spec/owc-geojson/1.0/conf/csw
Test Purpose:
To test requirement http://www.opengis.net/spec/owc-geojson/1.0/req/csw
Test Method:
Verify that the encoding of offering using the above extension correctly populates the properties of the offering class using automated validation.
A.7 Conformance Test Class: wmts
URI: http://www.opengis.net/spec/owc-geojson/1.0/conf/wmts
Test Purpose:
To test requirement http://www.opengis.net/spec/owc-geojson/1.0/req/wmts
Test Method:
Verify that the encoding of offering using the above extension correctly populates the properties of the offering class using automated validation.
A.8 Conformance Test Class: gml
URI: http://www.opengis.net/spec/owc-geojson/1.0/conf/gml
Test Purpose:
To test requirement http://www.opengis.net/spec/owc-geojson/1.0/req/gml
Test Method:
Verify that the encoding of offering using the above extension correctly populates the properties of the offering class using automated validation.
A.9 Conformance Test Class: kml
URI: http://www.opengis.net/spec/owc-geojson/1.0/conf/kml
Test Purpose:
To test requirement http://www.opengis.net/spec/owc-geojson/1.0/req/kml
Test Method:
Verify that the encoding of offering using the above extension correctly populates the properties of the offering class using automated validation.
A.10 Conformance Test Class: geotiff
URI: http://www.opengis.net/spec/owc-geojson/1.0/cof /geotiff
Test Purpose:
To test requirement http://www.opengis.net/spec/owc-geojson/1.0/req/geotiff
Test Method:
Verify that the encoding of offering using the above extension correctly populates the properties of the offering class using automated validation.
A.11 Conformance Test Class: gmljp2
URI: http://www.opengis.net/spec/owc-geojson/1.0/conf/gmljp2
Test Purpose:
To test requirement http://www.opengis.net/spec/owc-geojson/1.0/req/gmljp2
Test Method:
Verify that the encoding of offering using the above extension correctly populates the properties of the offering class using automated validation.
A.12 Conformance Test Class: gmlcov
URI: http://www.opengis.net/spec/owc-geojson/1.0/conf/gmlcov
Test Purpose:
To test requirement http://www.opengis.net/spec/owc-geojson/1.0/req/gmlcov
Test Method:
Verify that the encoding of offering using the above extension correctly populates the properties of the offering class using automated validation.
Annex : Examples
B.1 wmts.json
{
“type”: “FeatureCollection”,
“id”: “http://www.opengis.net/owc/1.0/examples/wmts/”,
“properties”:
{
“lang”: “en”,
“title”: “WMTS Example”,
“subtitle”: “WMTS Example”,
“updated”: “2012-11-04T17:26:23Z”,
“authors”: [{
“name”: “Joan Masó”
}],
“links”:
{
“profiles”: [{
“href”: “http://www.opengis.net/spec/owc-geojson/1.0/req/core”,
“title”: “This file is compliant with version 1.0 of OGC Context”
}]
}
},
“features”:
[
{
“type”: “Feature”,
“id”: “http://www.opengis.net/spec/owc-geojson/1.0/req/wmts/1/”,
“geometry”:
{
“type”: “Polygon”,
“coordinates”: [[[0.077448,41.03779],[0.077448,42.04698],[1.640905,42.04698], [1.640905,41.03779],[0.077448,41.03779]]]
},
“properties”:
{
“title”: “WMTS Example”,
“abstract”: “WMTS Example in KVP and REST”,
“updated”: “2011-11-01T00:00:00Z”,
“content”: “WMTS example”,
“offerings”:
[
{
“code”:
“http://www.opengis.net/spec/owc-geojson/1.0/req/wmts”,
“operations”:
[
{
“code”: “GetCapabilities”,
“method”: “GET”,
“type”: “application/xml”,
“href”:
“http://www.opengis.uab.es/cgi-bin/ICCTiled/MiraMon.cgi?REQUEST=GetCapabilities&SERVICE=WMTS”
},
{
“code”: “ServiceMetadata”,
“method”: “GET”,
“type”: “application/xml”,
“href”:
“http://www.opengis.uab.es/SITiled/ICC/1.0.0/WMTSCapabilities.xml”
},
{
“code”: “GetTile”,
“method”: “GET”,
“type”: “image/jpeg”,
“href”:
“http://www.opengis.uab.es/cgi-bin/ICCTiled/MiraMon.cgi?REQUEST=GetTile&SERVICE=WMTS&version=1.0.0&format=image/jpeg
&layer=Topo250k_Vers5_ICC&TileMatrixSet=Cat_topo250k_v5_EPSG23031&TileMatrix=200m&TileRow=1&TileCol=0”
},
{
“code”: “Tile”,
“method”: “GET”,
“type”: “image/jpeg”,
“href”:
“http://www.opengis.uab.es/SITiled/ICC/Topo250k_Vers5_ICC/default/Cat_topo250k_v5_EPSG23031/200m/1/0.jpg”
}
]
}
]
}
}
]
}
Annex : Schemas and Examples
The schemas and examples are provided in the OGC schema repository:
http://schemas.opengis.net/owc/1.0
Annex : Revision history
Date | Release | Author | Paragraph modified | Description |
---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[1] http://portal.opengeospatial.org/files/?artifact_id=1042
[2] GeoJSON is a draft international standard (see Ref 14) RFC7946. As such referencing it normatively is valid within an OGC Standard
[3] www.opengeospatial.org/cite
[4] http://portal.opengeospatial.org/files/?artifact_id=38867
[5] Note [ISO 8601] time type is used here as this property can contain a point time value or an interval. [IETF 3339] does not support intervals.