OGC API - Maps SWG
Maso Pau, Joan (Universitat Autònoma de Barcelona (CREAF))
Sankaran, Satish (Esri)
Cechini, Matthew (Science Systems & Applications, Inc. (SSAI))
The purpose of this Standards Working Group is to:
· Develop and maintain an OGC API - Maps core standard.
· Develop and maintain extensions of the OGC API - Maps standard as identified in section 4 (Scope).
· Maintain the WMS standard.
The formal proposed name of the new multi-part standard is "OGC API - Maps". The short name “Maps API” may also be used to refer to this effort in the charter and work products. This charter defines a ‘map’ as a portrayal of geographic information as a digital image file suitable for display on a computer screen (OGC 06-042).
In October 2019, the Programmable Web reported that a web mapping product was amongst the top-two tracked APIs on the Programmable Web API directory. The presence of a web mapping product among the top-two tracked APIs on Programmable Web is evidence of the wide interest across both the geospatial community and the general public. Further evidence of the popularity and adoption of web mapping can be seen from the uptake of the Web Map Service (WMS) standard which, as of May 2020, has the most implementations of any of the OGC standards. See: Implementation Statistics.
The use of OpenAPI and Swagger have provided a framework for describing and sharing OGC API definitions more suitable for interoperability standardization. The concept of a Maps API was demonstrated in various OGC Innovation Program initiatives.
The OGC API - Maps SWG will build on those efforts to more fully develop and document a Maps API candidate standard that will provide a web based, common, and consistent interface to services that aligns with the current architecture of the Web and the Spatial Data on the Web Best Practices (https://www.w3.org/TR/sdw-bp/).
The OGC API - Maps SWG will develop a Maps API candidate standard which is consistent with the emerging OGC API best practices and existing OGC API standards examples, such as the OGC API - Features, to define core API functions of GET, PUT, PATCH, POST, DELETE applied to maps as resources. The Maps API will also document metadata requirements for maps to enhance discovery and exchange of maps.
• Architecture: The OGC API - Maps standard will specify an implementation standard aligned with prior work in OGC for maps and Web APIs. The proposed standard will define API building blocks for maps. OGC API - Maps will be consistent with HTTP and HTTPS.
• Encodings: The first version of the Maps API will support JSON and HTML as encodings for descriptions of map resources in the API. No encoding will be mandatory and other encodings may be used as well. The HTTP focus is designed to support the use of multiple formats and defines rules about how servers can return the encoding that the client can best handle (“content negotiation”).
• Information model: The Maps API standard will utilize standard modelling languages such as UML to describe information model(s) and as well follow OGC API best practices. The development of any conceptual and logical models underpinning Maps API will consider recommendations from recent and current OGC Innovation Program initiatives such as Testbeds, Pilots, Sprint and others.
• Modularization: OGC API - Maps - Part 1: Core will define a basic set of capabilities organized in multiple conformance classes building on each other. The minimal conformance class will specify a simple interface to access metadata from maps that is sufficient for interfaces to exchange and perform basic web functions with the maps. Additional conformance classes will define additional extensions based on the requirements and requirements classes defined in the core. These extensions will meet the needs of use cases that require such capabilities.
• Reuse: The use of unique Maps API resources or components will be minimized and, where available, will instead use existing industry-standards or patterns that are commonly used by developers . The most important example for this is the use of an OpenAPI description instead of OGC-specific "Capabilities" documents and to use the OGC API - Common components to the maximum extent practicable.
Extensions may be proposed and addressed in revisions to this charter. The primary goal of the Maps API SWG is to develop the core of "OGC API - Maps" as quickly as possible and work on extensions after that. Extensions will be driven by community interest. An important aspect is to ensure that implementing the standard will lead to efficient implementations, happy developers of both server and client components, and satisfied users of such components.
Before finalizing parts of the future versions of the "OGC API - Maps", completion of the following goals should be verified:
• Working implementations of all capabilities must be available and tested.
• Implementation feedback must be taken into account.
A consequence of this verification process is that the period between the availability of what is considered a mature draft and the finalization of the candidate standard may be longer than in the past. The length of time depends on the availability of evidence about the suitability of the candidate standard based on implementations. Developers will be encouraged as early as possible to implement the draft API specification and provide feedback. An aspect of this is public access to drafts from the beginning. To this end, the SWG intends to use a public GitHub repository in the development of this standard. The OGC believes GitHub is the environment many developers are familiar with and use on a daily basis.
3.1 Statement of relationship of planned work to the current OGC standards baseline
This proposed standard is intended to be a major component of the OGC API framework. The proposed standard will take advantage of Web API patterns identified in existing OGC API standards, such as OGC API – Features, and other ongoing API efforts (e.g. OGC API - Common development in OWS Common SWG). This approach will enable better align with current and emerging IT practices. The Maps API provides a means for sharing maps developed under OGC and other map encodings.
3.2 What is Out of Scope?
Standards are important for interoperability. At the same time, it is important that standards only state requirements that are important for a significantly large group of users. Proposals for new parts of OGC API - Maps or change requests to existing parts to the draft standard must identify the user group that will benefit from the proposal and for each proposed conformance class. Otherwise the proposal will be considered out-of-scope.
OGC API - Maps is envisioned to be a modular, multi-part standard. Extensions and profiles not identified as in scope in the previous section will require a revision to the SWG charter prior to commencement of work. If a community has a need to develop a profile, the profile should be specified and governed by that community.
The basic resource described in OGC API - Maps are maps. The Maps API describes the interface and exchange of maps. The construction of the main components of maps is addressed in multiple OGC and other map encoding standards.
3.3 Specific Contribution of Existing Work as a Starting Point
The starting point for the work will be the draft document that is currently on the proposed SWG’s repository (https://github.com/opengeospatial/OGC-API-Maps). This charter recognizes the prior work done by the Web Map Service (WMS) SWG. Upon approval of this Charter, responsibility for OGC API - Maps and WMS standards shall be transferred to the proposed OGC API - Maps SWG. The OGC API - Maps SWG will meet with the OGC API - Tiles SWG on a regular basis.
The work shall also be based on the following specifications and by recommendations found in:
· OGC/W3C Spatial Data Working Group on the Web Best Practices (https://www.w3.org/TR/sdw-bp/).
· OGC Geospatial API White Paper [OGC 16-019r4].
· OGC API - Features - Part 1: Core standard, [OGC 17-069r3].
Each of these documents recommends an emphasis on resource-oriented APIs in future OGC standards development including use of tools such as OpenAPI.
4.1 Initial Deliverables
The following deliverables will result from the work of this SWG:
• A final version of the "OGC API - Maps - Part 1: Core" document for submission to the TC.
• Identification of at least three prototype implementations of the core based on the standard — although more would be preferred.
• Zero or more additional parts as time and community interest permits.
Part 1 will cover basic capabilities to GET, PUT, PATCH, POST, and DELETE maps and define map metadata. Capabilities for richer map interfaces or extension for unique geospatial resource considerations will be specified in additional parts.
The targeted start date is in July 2020 or once charter is approved. Formal approval of the core Maps API is envisaged to take place nearer December 2020.
4.2 Additional SWG Tasks
To be completed as SWG takes on new tasks.
✓ RAND-Royalty Free. RAND for fee
Geospatial resource providers.
Developers implementing services.
Map producers and publishers.
Producers of data used to create maps.
Users of geospatial resources.
The Architecture DWG will review the proof-of-concept at https://github.com/opengeospatial/OGC-API-Maps and this SWG charter. A statement of endorsement is anticipated at, or soon after, the June 2020 Virtual OGC Members' meeting.
a. Similar or Applicable Standards Work (OGC and Elsewhere).
The following standards work may be applicable to the work of the proposed SWG:
• 17-069, OGC API - Features
• 06-042, OGC Web Map Service (WMS) standard
Additionally, the proposed SWG will monitor other OGC API work ongoing in various Standards and Innovation Program activities.