Publication Date: 2020-02-06
Approval Date: 2019-11-22
Submission Date: 2019-10-31
Reference number of this document: OGC 19-018
Reference URL for this document: http://www.opengis.net/doc/PER/t15-D015
Category: OGC Public Engineering Report
Editor: Martin Klopfer
Title: OGC Testbed-15: Open Portrayal Framework Engineering Report
COPYRIGHT
Copyright © 2020 Open Geospatial Consortium. To obtain additional rights of use, visit http://www.opengeospatial.org/
WARNING
This document is not an OGC Standard. This document is an OGC Public Engineering Report created as a deliverable in an OGC Interoperability Initiative and is not an official position of the OGC membership. It is distributed for review and comment. It is subject to change without notice and may not be referred to as an OGC Standard. Further, any OGC Public Engineering Report should not be referenced as required or mandatory technology in procurements. However, the discussions in this document could very well lead to the definition of an OGC Standard.
LICENSE AGREEMENT
Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement.
If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.
THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD. THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.
This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.
Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications.
This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.
None of the Intellectual Property or underlying information or technology may be downloaded or otherwise exported or reexported in violation of U.S. export laws and regulations. In addition, you are responsible for complying with any local laws in your jurisdiction which may impact your right to import, export or use the Intellectual Property, and you represent that you have complied with any regulations or registration procedures required by applicable law to make this license enforceable.
- 1. Subject
- 2. Executive Summary
- 3. References
- 4. Terms and definitions
- 5. Overview
- 6. Open Portrayal Framework Scenario
- 7. Emerging OGC Web APIs
- 8. GeoPackage
- 9. Technical Discussions
- 10. Further Information and Videos
- Appendix A: Annex A: OPF Implementations
- Appendix B: Revision History
1. Subject
This Engineering Report (ER) describes the OGC Testbed-15 Open Portrayal Framework (OPF) Thread requirements, scenario, high-level architecture, and solutions. Main topics addressed in the OPF Thread include style changing and sharing, converting style encodings, client- / server-side rendering of vector- and raster data and data provision in denied, disrupted, intermittent, and limited bandwidth (DDIL) infrastructure situations. The work in the OPF Thread was focused on an OGC Application Programming Interface (API) oriented approach.
2. Executive Summary
This Engineering Report provides a detailed summary of the Open Portrayal Framework (OPF) Thread in OGC Testbed-15, executed from April to November 2019.
The Open Portrayal Framework is a set of emerging specifications that support interoperable portrayal of heterogeneous geospatial data. The Open Portrayal Framework facilitates the rendering of geospatial data in a uniform way, according to specific user requirements. The primary topics addressed in the OPF thread covered supporting style sharing and updates, client- and server-side rendering of both vector- and raster data, and converting styles from one encoding to another; all following a single conceptual style model. In addition, the requirement to render data according to style definitions in a scenario with denied, disrupted, intermittent, and limited bandwidth (DDIL) infrastructure has been addressed.
This Engineering Report describes the Open Portrayal Framework requirements, scenario, high-level architecture, and solutions that were developed. Further details on the work carried out in the OPF Thread are provided in the following ERs:
The shift from traditional Web Services towards Web APIs has strongly influenced the work in the OPF Thread and as a result three draft specification Engineering Reports have been developed:
A high-level summary is available in the following ER:
2.1. Document contributor contact points
All questions regarding this document should be directed to the editor or the contributors:
Contacts
Name | Organization | Role |
---|---|---|
Martin Klopfer |
Frisia IT |
Editor |
Jeff Yutzler |
Image Matters |
Contributor |
Joe Jagiella |
Image Matters |
Contributor |
Clemens Portele |
interactive instruments |
Contributor |
Keith Pomakis |
CubeWerx Inc. |
Contributor |
Andrea Aime |
GeoSolutions |
Contributor |
Stefano Bovio |
GeoSolutions |
Contributor |
Jerome St-Louis |
Ecere |
Contributor |
Joan Maso Pao |
Universitat Autònoma de Barcelona (CREAF) |
Contributor |
Jeff Harrison |
AGC |
Contributor |
Matt Sorenson |
AGC |
Contributor |
Carl Reed |
OGC |
Contributor |
Ingo Simonis |
OGC |
Contributor |
2.2. Foreword
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.
3. References
The following normative documents are referenced in this document.
4. Terms and definitions
For the purposes of this report, the definitions specified in Clause 4 of the OWS Common Implementation Standard OGC 06-121r9 shall apply. In addition, the following terms and definitions apply:
- Style
-
a sequence of rules of symbolizing instructions to be applied by a rendering engine on one or more features and/or coverages
- Style encoding
-
specification to express a style as one or more files
Note
|
In Testbed-15 Mapbox Styles, OGC SLD versions 1.0 and 1.1 are used. |
- Icons
-
In computing, an icon is a pictogram or ideogram displayed on a computer screen in order to help the user navigate a computer system. https://en.wikipedia.org/wiki/Icon_(computing)
- Layer
-
A layer is an abstraction of reality specified by a geographic data model (feature, coverage…) and represented using a set of symbols (Style) to plot it. A layer contributes to a single geographic subject and may be a theme.
- Sprites
-
A sprite is a computer graphics term for a two-dimensional bitmap that is integrated into a larger scene.
- Stylesheet
-
representation of a style in a style encoding.
- Style metadata
-
essential information about a style needed to support users to discover and select styles for rendering their data and for visual style editors to create user interfaces for editing a style.
- Coverages API
-
OGC API-Coverages provides the API building block to access coverages as defined by the Coverage Implementation Schema (CIS) 1.1 on the Web.
- Features API
-
OGC API-Features provides the API building block to create, modify and query features on the Web.
- Maps API
-
OGC API-Maps provides the API building block to describe, build and retrieve web maps.
- Styles API
-
OGC API-Styles is a Web API that enables map servers and clients as well as visual style editors to manage and fetch styles.
- Tiles API
-
OGC API-Tiles provides API building block to describe, build and retrieve tiles from any resource that can be subdivided in a regular set of tiles (e.g., maps, features and coverages).
- Web API
-
API using an architectural style that is founded on the technologies of the Web. [source: OGC API - Features - Part 1: Core]
5. Overview
An overview of the major work items of the Testbed-15 Open Portrayal Framework thread is shown in Figure 1.
The scenario for the emerging Open Portrayal Framework is described in detail in the following chapter Open Portrayal Framework Scenario. The scenario discussion explains the driving requirements for the various developments conducted in Testbed-15. Among these developments are a series of draft OGC Web APIs.
The draft OGC APIs are discussed from a more abstract viewpoint, with some of the major discussion items and design decisions being highlighted in the chapter Emerging OGC Web APIs. A detailed documentation of the APIs can be found in the respective ERs that are listed in the Executive Summary.
An enhanced GeoPackage model was developed to facilitate advanced styling in offline situations. The main results are discussed in the chapter GeoPackage.
The ER concludes with the documentation of a number of participant general discussions and design decisions required to complete the OPF Thread. These are reported in the chapter Technical Discussions.
A detailed description of implementation aspects and presentation of the results provided by the participants is presented in Annex A: OPF Implementations.
6. Open Portrayal Framework Scenario
The goal of the Testbed-15 Open Portrayal Framework thread was to implement a data discovery, access, and styled rendering scenario. The scenario included data updates performed as background tasks and support for online/offline functionality. The scenario is illustrated in Figure 2. Conceptually close steps are colored in matching shades of gray (i.e. steps 1-4, 5-6, 7-9, and 10-11). Logically differentiated Users 1-3 in this scenario can be realized as a single physical user.
Step 1: The user discovers API endpoints that provide vector, raster, or tiled vector or tiled raster data, maps, or coverages. The data can be retrieved via implementations of the OGC API – Features standard, or via emerging OGC API specifications for -Tiles and -Maps in addition to traditional OGC Web Services (OWS) such as WMS, WMTS, or WFS/WCS. Corresponding styles are made available at a dedicated endpoint. Links between the two allow understanding which style works with which data, and vice versa.
Step 2: User-1 loads styling instructions from the style server via the Styles API. Requirement: Style information shall be available at a dedicated endpoint that allows users to manage and modify styles.
Step 3: A user can modify any style using Visual Style Editors. These tools allow modifying styles and ideally transform styles from one encoding to another (e.g. from OGC SLD to Mapbox Style or vice versa).
Step 4: Styles are retrieved from the style API endpoint, modified in the Visual Style Editor, and uploaded to the style server again. The modified style is available to other users.
Step 5: Other users (here User-2) discover the same data. The references to the applicable styles have not changed.
Step 6: User-2 follows the reference to the styles and loads these. The rendered data now looks as defined by User-1.
Step 7: A third user or remote system makes new satellite imagery available to an image archive.
Step 8: This process triggers the re-building of individual tiles as served by Web API endpoints (APIs -Tiles or -Maps).
Step 9: Users interested in the changes since a given checkpoint can access the changed tiles (i.e. the change set) exclusively. This would allow large tile stores to be updated incrementally.
Step 10/11: In the future, the full scenario should be available to both online and offline situations. In this Testbed the focus was on adding styles and other data layers to OGC GeoPackages.
6.1. Scenario Details
The following paragraphs show the various implementations that have been created by participants in Technology Integration Experiments (TIEs) conducted in Testbed-15 and provide additional information.
Step 1 The user discovers API endpoints that provide vector, raster, or tiled vector or tiled raster data, maps, or coverages. The user loads the data and finds references to corresponding styles to render the data correctly (or retrieves pre-rendered tiles that apply the stylesheets).