Publication Date: 2018-10-09
Approval Date: 2018-06-08
Posted Date: 2018-05-17
Reference number of this document: OGC 17-094r1
Reference URL for this document: http://www.opengis.net/doc/PER/portrayalCDS
Category: Public Engineering Report
Editor: Jeff Yutzler, Rob Cass
Title: OGC Portrayal Concept Development Study
COPYRIGHT
Copyright © 2018 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 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, ("Licencor"), 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 sub license 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 LICENCOR.
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 NON-INFRINGEMENT 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, COMMERCIALISATION 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 sub license 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 LICENCOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENCOR, 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 LICENCOR 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 authorisation of LICENCOR or such copyright holder. LICENCOR is and shall at all times be the sole entity that may authorise you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENCOR 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 LICENCOR 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.
- Abbreviated terms
- 1. Summary
- 2. References
- 3. Overview
- 4. SWOT Analysis
- 5. Case Study 1 - Arctic Spatial Data Infrastructure (SDI)
- 6. Case Study 2 - Canadian Federal GeoSpatial Platform
- 7. Vision
- 8. Roadmap
- 8.1. Draft Portrayal Conceptual Model (PCM)
- 8.2. Semantic Portrayal GeoPackage Implementation
- 8.3. Portrayal Interoperability Experiment
- 8.4. PCM Standardization
- 8.5. Arctic SDI Semantic Portrayal Pilot
- 8.6. Semantic Portrayal Interoperability Experiment
- 8.7. Semantic Portrayal API Standardization
- 8.8. Arctic SDI Semantic Portrayal Implementation
- Appendix A: Supplemental Information
- Appendix B: Styled Layer Descriptor and Symbology Encoding
- B.1. Limitations of SLD and SE
- B.2. Third-party mitigations
- B.3. Review of relevant research
- B.4. OGC Change Requests regarding SE/SLD
- B.4.1. 10-146 - Add a way to select se:ExternalGraphics using data content
- B.4.2. 10-181 - Add extension point to UserStyle element
- B.4.3. 10-145 - Add hatching to se:Fill
- B.4.4. 11-024 - Cartogram Symbolizer
- B.4.5. 11-131 - Composite rule with support for 'Else If' and nested objects
- B.4.6. 10-139 - Rapport in repeated linear patterns generated by se:Stroke
- B.4.7. 10-143 - Reformulate specification on scale selection in Rules
- B.4.8. 12-170 - Replace ogc:filter with fes:AbstractQueryExpression
- Appendix C: Terms and definitions
- Appendix D: Revision History
- Appendix E: Bibliography
Abbreviated terms
-
AML Additional Map Layers
-
API Application Programming Interface
-
APP-6 Allied Procedural Publication 6
-
ASDI Arctic Spatial Data Infrastructure
-
CAFF Conservation of Arctic Flora and Fauna
-
CITE Compliance Integration and Testing Environment
-
CDS Concept Development Study
-
COM Component Object Model
-
COTS Commercial Off The Shelf
-
CQL Common Query Language
-
CR Change Request
-
CRS Coordinate Reference System
-
CRUD Create Read Update Delete
-
CSS Cascading Style Sheet
-
CSW Catalogue Service for the Web
-
DCAT Data Catalogue Vocabulary
-
DCE Distributed Computing Environment
-
DCOM Distributed Component Object Model
-
DGIWG Defence Geospatial Information Working Group
-
DNC Digital Navigational Chart
-
ebRIM electronic business Registry Information Model
-
ENC Electronic Navigational Chart
-
ESRI Environmental Systems Research Institute
-
FES Filter Encoding Specification
-
FGP Federal Geospatial Program
-
FPS Feature Portrayal Service
-
GIS Geospatial Information System
-
GPU Graphics Processing Unit
-
GSC Geological Survey of Canada
-
GWG Geospatial Working Group
-
HTML Hypertext Markup Language
-
HTTP HyperText Transfer Protocol
-
IDL Interface Definition Language
-
IHO International Hydrographic Organisation
-
ISO The International Organisation for Standardisation
-
JSON JavaScript Object Notation
-
KML Keyhole Markup Language
-
NATO North Atlantic Treaty Organisation
-
NGA National Geospatial Intelligence Agency
-
NRCAN Natural Resources Canada
-
OWS OGC Web Services
-
PNG Portable Network Graphics
-
REST Representational State Transfer
-
RFC Request for Comments
-
SDI Spatial Data Infrastructure
-
SDO Standards Developing Organisation
-
SE Symbology Encoding
-
SIDC Symbol Identification Code
-
SLD Styled Layer Description Language
-
SQL Structured Query Language
-
STANAG Standardisation Agreement
-
SVG Scalable Vector Graphics
-
SWG Standards Working Group
-
SWOT Strengths, Weaknesses, Opportunities, Threats
-
TDL Topographic Data Layer
-
URI Universal Resource Identifier
-
URL Uniform Resource Locator
-
WKT Well Known Text
-
WMS Web Map Service
-
WMTS Web Map Tile Service
-
XML eXtensible Markup Language
-
YAML Yet Another Markup Language
-
YSLD YAML Styled Layer Descriptor
1. Summary
Digital cartography, even in today’s technology age, remains a fine art. As digital maps are increasingly used in urban development, disaster relief, and mission planning activities, inaccurate and inconsistent map generation are potentially detrimental to the success of those activities. The goal of this concept development study (CDS) is to advance the standards and guidance that will allow production of high-quality digital maps over the web from existing vector data. In this Engineering Report, the CDS Team has done this through the following three activities.
-
Assessing the current state of feature portrayal. This was done through a high-level overview (see SWOT Analysis), reviewing the existing workflows that support the capability (see [WorkflowsClause]), reviewing relevant technologies, standards, and research papers (see Styled Layer Descriptor and Symbology Encoding), and by conducting two case studies (see Case Study 1 - Arctic Spatial Data Infrastructure (SDI) and Case Study 2 - Canadian Federal GeoSpatial Platform).
-
Establishing a vision for a set of capabilities that will meet the long-term goals of the geospatial community in this area (see Vision).
-
Providing a roadmap for achieving the set of capabilities identified in the vision (see Roadmap).
The CDS Team determined that existing capabilities are insufficient to meet industry needs. While the existing Styled Layer Descriptor (SLD) and Symbology Encoding (SE) standards were designed to support interoperable mapping, they have a number of issues as described in Limitations of SLD and SE. Revising these standards will lead to a more flexible, adaptable, and powerful standard that is capable of meeting the broad needs of the industry. However, portrayal standards by themselves are not sufficient to manage the complexity caused by multiple data sources, multiple potential styling rules, multiple map production stacks, and multiple client needs. The emerging concept of Semantically-Enabled Portrayal is designed to mitigate this complexity. Ideally this technology will allow producers to maintain their logical workflows, but not restrict physical implementations based on any one particular GIS system.
The CDS Team believes that these technologies working together will enable the geospatial industry to meet its long-term goals in this area. As these are emerging technologies, they will need to be built incrementally in conjunction with interoperability experiments and other activities. These activities will require both funding and engineering support. OGC is well-positioned to lead and supervise these activities, but ultimately the activities will only be as successful as the support they get from the broader geospatial community. The next challenge is to establish a coalition of geospatial community stakeholders who are willing and able to support these activities.
1.1. Background
As vector maps moved into the digital age, domain models and schemas were developed to store, re-use, and disseminate feature information for production. Examples of these models are the National Systems for Geospatial-Intelligence (NSG) Application Schema (NAS), US Army’s Ground-Warfighter Geospatial Data Model (GGDM), and the US Geological Survey’s (USGS) Geological Map Schema (GeMS). They provide standardized attribution and relationships of feature data to unify production, simplify visualization logic, and increase overall utility from its hard-copy predecessor. While these models were designed to be independent of any physical implementation, to ensure consistency, existing map generation workflows are generally aligned with a specific Geographic Information System (GIS). This is not sustainable in a modern environment where geospatial maps are created by people all over the world using the wide variety of tools that are available in the market.
Robinson (et. al.) in The Elements of Cartography ([Elements-Carto]) states, “in order to represent the chosen characteristics of spatial data in meaningful fashion, we must make use of variations in the graphic qualities, analogous as communicative media to the sounds of speech, have been called the visual variables. These are the perceptual dimensions of graphic character that can be systematically modulated to convey meaning.” Robinson lists the visual variables in map making: position, shape, size, color, value, pattern and direction. The current domain of web-based map driven display often ignores the fundamental concepts of basic cartography. The developers of the web-based map tools are often programmers with little cartographic experience or training. Representation of similar features with arbitrary use of colors, symbols, patterns, shapes and sizes can cause major problems.
One attempt to help resolve this gap of understanding was to develop a pair of Open Geospatial Consortium (OGC) standards that developers could “plug in” and use, called Styled Layer Descriptor (SLD) and Symbology Encoding (SE). These standards could be used to establish a preset list of styles and symbols that digital cartographers could use to ensure the ensuing maps use appropriate for their intended use. The operational use of these standards has been limited for a number of reasons. Various OGC testbeds over the years have attempted to make them more usable but very little tangible progress has been made. As a result, common styling and symbology is not being used in scenarios that would benefit. The OGC Architecture Board (OAB) has identified the renovation of SLD as a key issue in OGC.
1.2. Document contributor contact points
All questions regarding this document should be directed to the editor or the contributors:
Name | Organisation |
---|---|
Jeff Yutzler |
Image Matters LLC |
Rob Cass |
Compusult Ltd. |
Adam Parsons |
Compusult Ltd. |
Terry Idol |
OGC |
Luis Bermudez |
OGC |
1.3. 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.
2. References
The following normative documents are referenced in this document.
-
OGC: OGC 12-080r2, OGC Web Services Context Document (OWS Context), 2014
-
OGC: OGC 06-042, OpenGIS Web Map Service (WMS) Implementation Specification, Version 1.3.0, 2006
-
OGC: OGC 05-078r4, OpenGIS Styled Layer Descriptor Profile of the Web Map Service Implementation Specification, Version 1.1.0, 2007
-
OGC: OGC 05-077r4, OpenGIS Symbology Encoding Implementation Specification, Version 1.1.0, 2007
-
OGC: OGC 07-057r7, OpenGIS Web Map Tile Service Implementation Standard, Version 1.0.0, 2010
-
OGC: OGC 12-168r6, OGC® Catalogue Services 3.0 - General Model, Version 3.0, 2016
-
OGC: OGC 09-025r2, Web Feature Service 2.0 Interface Standard, Version 2.0.2, 2014
-
ISO: ISO 19117:2012, Geographic information - Portrayal, 2012
-
IHO: IHO S-52 Edition 6.1, Specifications for Chart Content and Display Aspects of ECDIS, 2015
3. Overview
The main goal of this CDS is to advance the standards and guidance that will allow production of high-quality digital maps over the web from existing vector data.
3.1. Document Layout
The document is organized into the following sections.
Section 4 (SWOT Analysis) presents strengths, weaknesses, opportunities, and threats relevant to this CDS.
Section 5 ([WorkflowsClause]) presents a review of the two main workflows (conventional and semantic) that are available for producing maps.
Section 6 (Case Study 1 - Arctic Spatial Data Infrastructure (SDI)) presents a case study for the Arctic Spatial Data Infrastructure.
Section 7 (Case Study 2 - Canadian Federal GeoSpatial Platform) presents a case study for the Canadian Geospatial Platform.
Section 8 (Vision) presents a vision of a set of capabilities that together will allow the geospatial community to realize the goals presented in the case studies.
Section 9 (Roadmap) presents a roadmap for future work, including pilots, testbeds, interoperability experiments, and standards development work that will advance to required capabilities.
Appendix A (Supplemental Information) presents additional information that was deemed relevant to an overview of the standards process.
Appendix B (Styled Layer Descriptor and Symbology Encoding) presents a detailed review of SLD and SE, including change requests that have been issued to the SLD standard.
Appendix C (Terms and definitions) presents terms and definitions.
Appendix D (Revision History) presents revision history.
Appendix E (Bibliography) presents a bibliography.
4. SWOT Analysis
In the beginning stages of the project, the CDS Team performed a Strengths, Weaknesses, Opportunities, and Threats (SWOT) analysis with regards to the current state of the feature portrayal capabilities.
4.1. Strengths
The first step identified the following strengths.
-
Current technologies exist that can serve as a starting point.
-
SLD
-
Semantic Portrayal
-
-
There is interest/motivation/energy in solving the problem.
-
The OGC Architecture Board (OAB) recently identified the renewal of SLD as a key priority. The OAB took an action to promote a Portrayal ad‐hoc meeting during the June 2017 Technical Committee (TC) meetings. The agenda included a range of use cases from simple to complex. The need for a conceptual model was identified as a method to move forward.
-
Symbology / Styling was identified as the top priority for GeoPackage as part of a survey conducted in 2015 (http://geopackage.blogspot.com/2015/10/extensions-survey.html).
-
4.2. Weaknesses
The second step examined the major weaknesses.
-
Existing services and cartographic libraries are too tightly coupled due to security provisions and internal architectures.
-
Currently there is a perception that the existing portrayal standards are complicated to use.
-
The implementation of portrayal capabilities is not consistent from vendor to vendor so the expected interoperability is not realized.
-
The current portrayal standards are not extensible so there is no clear way to add additional capabilities without a burdensome standard revision process.
-
The current portrayal standards lack test suites.
4.3. Opportunities
The third step looked at possible opportunities.
-
There is emerging portrayal standards work. This consists of an ongoing effort underway to revise the SLD and SE standards to correct flaws in those original portrayal works. This work is likely to culminate in a useful standard.
-
Semantic Portrayal is an emerging technology that has the potential to allow diverse datasets to share common portrayal rules.
-
GeoPackage can be an excellent portrayal incubator. The relatively fast adoption of the GeoPackage Encoding Standard gives the community a platform to experiment with new portrayal capabilities.
4.4. Threats
The final portion of the analysis was to examine possible threats.
-
There are closed solutions that rely on unique technologies. These closed solutions create barriers to broad implementation of capabilities as it is unrealistic to expect every organization to be willing and able to use the same underlying technology stack. Even worse, these technology solutions do not necessarily follow the same cartographic methods. This often means that there is no straightforward way to incorporate a new technology into the workflow without completely eliminating another part of it.
-
The cost/benefit of standardizing portrayal is an issue. Many organizations have expressed a desire for the capabilities described here but the desired capabilities may require moderate or expensive engineering work. Some of these organizations lack the funding to support the effort. Other organizations have the funding but do not have the business case to prioritize this effort over others.
-
Becoming too encoding-oriented can cause misplaced effort. As of today, there is no ideal format for exchanging portrayal information. Organizations have tried a number of different formats over the years, with middling results. Each new format further fragments the industry and makes it harder to achieve interoperability. == Digital Mapping Workflows This section presents two workflows for producing and using digital maps. The Conventional Workflow is more closely aligned to what it is done in most environments today. Many organizations have attempted to implement the Conventional Workflow with varying degrees of success. The approach has been proven to be insufficient when confronting a scenario with multiple data sources, styling rules, or technology stacks.
In response, a new Semantically-Enabled Workflow is under development. This workflow is specifically designed to mitigate the lack of scalability (in multiple dimensions) demonstrated by the Conventional Workflow. The Semantically-Enabled Workflow, while substantially more complex than the Conventional Workflow, shows promise for its ability to seamlessly integrate elements with disparate origins.
4.5. Conventional Workflow
In the Conventional Workflow, digital maps are produced in a linear process that takes base feature and raster data, applies styles to those data, and produces digital maps which can then be shared and displayed. There are two variations on this workflow. In the first (server-side portrayal), the portrayal occurs on the server-side and the resulting maps are shared. In the second (client-side rendering), the portrayal engine is present on the client. However, the preceding operations occur in a similar way and the resulting capabilities have similar limitations.
The following subsections describe each phase of this workflow in detail. The phases are presented in reverse order because this roughly corresponds to the order in which they were developed and their level of maturity. The discussion also presents the phases in order of distance from the consumer of the final map product.
Note
|
This section is heavily influenced by the four use cases for sharing maps as part of a Spatial Data Infrastructure (SDI) that are presented in [Bocher-Ertz]. These four use cases are discover, author, catalog, and collaborate. |
4.5.1. Digital Map Display
In this phase, a digital map is presented on the user’s display. There are generally two ways in which this is done, server-side portrayal and client-side rendering.
Server-Side Portrayal
In server-side portrayal, a map is portrayed by a server and transmitted in a graphical format to the client. This can be done beforehand or in a just-in-time manner. While the just-in-time approach has the advantage of ensuring that the most up-to-date data is used, the server processing costs may be problematic so often maps are produced beforehand (see Map Portrayal below).
The following subsections describe the large number of enabling technologies that have emerged to support this need.
Web Map Service
WMS ([WMS]) is an OGC open standard that allows a client to use a GetMap operation to request a map from a server based on a narrow set of criteria such as extents, CRS, layer name, and pre-defined style. Typically the maps are produced during run-time. This has the advantage of ensuring that the resulting map is based on the most current underlying data available. Also, when supported by the server, the ability to provide a style allows the client a great amount of flexibility in customizing the resulting map. However, WMS requires robust servers and network infrastructure that make it a poor fit for many operational environments.
Styled Layer Descriptor and Symbology Encoding
To date, OGC’s efforts to standardize portrayal have focused on two complementary standards, Styled Layer Descriptor (SLD) and Symbology Encoding (SE). The OpenGIS Styled Layer Descriptor Profile of the Web Map Service Implementation Specification ([WMS-SLD]) allows SLD and SE to be used in conjunction with WMS to enable just-in-time map portrayal.
For a detailed review of SLD and SE, see Styled Layer Descriptor and Symbology Encoding.
Web Map Tile Service
WMTS ([WMTS]) is an OGC open standard that allows a map to be accessed as a set of raster map tiles. Unlike WMS, map tiles are generally stylized and produced in advance. This lowers the processing burden on the server and in effect the performance of a GetTile operation depends almost completely on the speed of I/O operations. In addition, since tiles are discrete, clients can cache them, reducing the I/O burden even further. However, clients have limited flexibility in customizing the ensuing views.
Tile Matrix Set
Tile Matrix Set is an emerging OGC candidate standard for defining a way to index the space based on a set of regular grids defining a domain in a CRS (tile matrix) at a limited list of scales. The model is drawn from what is currently in WMTS. This candidate standard has not yet been released for public comment. If it is adopted by OGC, other standards, including but not limited to WMTS, will be able to reference it and use its model in a consistent way, allowing tiles to be shared across different underlying technologies. While this does not affect portrayal directly, it does simplify the use of shared tiles (vector or raster) across systems.
Client-Side Portrayal
Implementers who develop browser-based and mobile-based applications have found that SLD/SE-based approaches are a poor fit for their environments. Today’s applications use technologies such as Scalable Vector Graphics (SVG) and WebGL to aid in rendering operations. These technologies allow the Graphical Processing Unit (GPU) to aid in rendering, which improves performance (both speed and battery use) on web and mobile clients.
The uptake of client-side portrayal has been driven by the use cases most often encountered in the deployment of online maps. Client developers are typically only interested in a focused portrayal of similar, and often single datasets, such as retail store locations. An efficient method for accomplishing this is to access a well-known 3rd party mapping platform such as OpenLayers, Mapbox, or Google Maps that provide an interactive base map over which the client focused data is overlaid. The client-side implementor does not need to construct a rendering back-end, base set of styles, reference mapping data, or a means to interact with the data. Instead, introducing the new layer of interest involves providing a source of GeoJSON or vector tiles, then using JavaScript to integrate with the map client overriding basic styles using JavaScript interfaces. Extending renderers involves one JavaScript method to interact with the imported API.
Developers participating in these use cases see mapping as a small part of their set of requirements and are not typically geospatial specialists or cartographers. It is no coincidence that both Mapbox and OpenLayers provide this approach in their distribution and support for online maps. The similarity between these two systems underlines their effectiveness in the hands of the modern web developer and supports the development of a tool that can use the same interface to style data for MapBox or OpenLayers frameworks [maputnik].
Vector Tiles
Since raster data tends to be denser than vector data, in many operational environments, it is more efficient to deliver the vector data to the client (for example, as vector tiles) and to portray the data locally. Vector tiling is a technique for splitting vector data (as opposed to raster data) into appropriately sized segments. The encoding of vector tiles into a transport format allows this data to be transmitted to the client so that it can be analyzed and/or portrayed in a map client. Since vector data is less dense than raster data containing the same information, the I/O demands are reduced. This improves performance in many operational environments.
The vector tiling approach supports both analysis and visualization in a more storage/bandwidth-efficient way than server-side approaches, but until recently the costs of client-side rendering have been prohibitive. SLD and SE are poorly suited to client-side rendering. The encoding style of SLD and SE is not as efficient as JSON. Some required portrayal functionality is not properly supported in SLD/SE including portrayal concepts related to 3-dimensional portrayal such as lighting, camera position, pitch, etc.
In response, implementers have looked for alternatives to SLD/SE that directly support these technologies and are more conducive to client side rendering. The Testbed-12 Vector Tiling Engineering Report ([VectorTilesTB12ER]) notes that there are a wide range of aspects and possible approaches related to implementing vector tiling and that there is currently no open standard for vector tiles. Since there is currently no open standard for vector tiles or portrayal thereof, interoperability of this capability cannot be assured.
Mapbox Vector Tiles
Mapbox has produced a specification ([MapboxVectorTiles]) based on Protocol Buffers. The Testbed-12 Vector Tiling Implementation Engineering Report ([VectorTilesImpTB12ER]) presents a competing approach to the Mapbox approach using GeoJSON ([GeoJSON]). At this time, the Protocol Buffers-based approach is only used in Mapbox Vector tiles, so GeoJSON is more interoperable. However, Protocol Buffers are a more efficient storage mechanism than JSON.
Mapbox Style Specification
The Mapbox Style Specification ([MapboxStyles]) is a JSON encoding for styles that is specifically designed to work with Scalable Vector Graphics (SVG), WebGL, and vector tiles. Mapbox styling supports some 3d portrayal concepts. The JSON encoding is intended for client side interpretation and portrayal. Boundless is researching the use of this format as an alternative to SLD or YSLD. The implementation provided by Boundless converts Mapbox styling directives to SLD on the server.
Open Layers Style Specification
The Open Layers Style Specification ([OLStyles]) is a Javascript API that supports most of the same concepts as MapBox and SLD/SE. It supports the same paradigm as Mapbox styles.
GeoPackage
GeoPackage ([GeoPackage]) is an open, standards-based, platform-independent, portable, self-describing, compact format for transferring geospatial information. The GeoPackage Encoding Standard describes a set of conventions for storing geospatial data and information within an SQLite database. Since a GeoPackage is a database container, it supports direct use. This means that data in a GeoPackage can be accessed and updated in a "native" storage format without intermediate format translations. GeoPackages that comply with the standard and do not implement vendor-specific extensions are interoperable across all enterprise and personal computing environments. GeoPackages are particularly useful on mobile devices such as cell phones and tablets and in communications environments where there is limited connectivity and bandwidth. Since GeoPackage uses the same underlying data models for geospatial data, the data can be shared across computing environments and portrayed using the same techniques described throughout this paper.
OWS Context
OWS Context ([OWS-Context]) is a set of OGC open standards describing an open format linking geospatial web services and information. The structure is a hierarchical set of offerings, which may be heterogeneous. OWS Context supports a number of use cases including a map view. For example, an OWS Context document may include a base map from a WMTS, overlays from a WMS, and feature data as GeoJSON styled with SLD.
OGC has adopted the OWS Context conceptual model and two encodings, ATOM and JSON (a third encoding for SQLite is currently under consideration). OWS Context uses a "core and extensions" model that makes it straight-forward to incorporate other resources into a document, either inline or via reference.
While OWS Context was adopted by OGC in 2014, adoption by the geospatial community has been limited. However, there is no clear limitation preventing OWS Context documents from being used to share a map portrayal as long as the underlying components are able to express that portrayal fully and completely.
KML
KML (originally Keyhole Markup Language) is now an OGC open standard ([KML]) describing an XML language focused on geographic visualization, including annotation of maps and images. While KML was a popular format when it was released by Google last decade, interest in it has waned. Its styling model, while clever for supporting level of detail, is not well-suited to high-quality digital map products. This is because it has limited styling for two-dimensional geometries. KML does not use selectors, but binds the symbol instance directly to the geometry via reference, or embedding the style directly. There is no open KML method of processing a feature when its attributes change to render a different style.
MapML
MapML ([MapML]) is a draft community specification for encoding map information for the World Wide Web. The objective of MapML is to allow Web-based user agent software (browsers and others) to interact with web servers by relying only on publicly defined Web standards (e.g., URI, HTTP, HTML), and not on URL recipes/templates, with the goal of displaying modern interactive Web maps. According to the draft specification, MapML elements should be style-able with CSS rules supplied by the MapML author. For example, the MapML author should be able to link to a stylesheet from a MapML document. However, neither the draft specification nor the Testbed 13 MapML Engineering Report ([MapMLTB13ER]) give any guidance on how this can be done.
The Testbed 13 ER also reviewed the draft MapML specification in detail and made a number of recommendations. There is no known timeline for MapML to become a standard that can be recommended to meet the needs identified in this study.
4.5.2. Digital Map Sharing
Map Layers are accessible today from specialized web services such as OGC Web Map Service (WMS), OGC Web Map Tile Services (WMTS), or ESRI ArcGIS Map service. A layer is defined as a rendering of geospatial data (raster or vector) using a given portrayal style. A layer can be rendered dynamically by using web map services and can be downloaded from a distribution (KML files, feeds) to be rendered on the client side.
By providing enough metadata description about the layers, it is possible to catalog layers and enable search and discovery of relevant layers and usage for federated composition for federated composition of layers from multiples sources to create maps. Example of metadata include layer classification (defined in controlled vocabularies), theme, function, audience, geographic extent, temporal extent, keywords, thumbnails, styles, supported formats, and APIs.
Unfortunately, most map layers published on the web have poor metadata description, making it difficult to discover relevant map layers for use in map composition. There is a need to define a set of metadata for describing geospatial map and layer. Current industry efforts are focused on describing dataset metadata (DCAT) to enable search and discovery of datasets. Similar efforts are needed for layer and map metadata.
Catalog Services
Catalog Services ([CAT]) is an OGC open standard that provides a model and protocol bindings for cataloging and discovering resources such as web services and styles. This potentially allows clients to discover these web services and styles for use in their own maps and other applications. However, while many SDIs offer catalog services, internally they tend to use their own specialized models and interfaces that are easier to integrate with their client applications.
Work developed on Testbed 12 provided findings related to the Semantic Portrayal, which extends a catalog for registering and finding styles ([SEMPORTB12ER]).
GetStyles
As [Bocher-Ertz] notes, the deprecated 1.0 version of the SLD Profile of WMS includes a GetStyles operation. This constitute the minimum level of capability needed to share styes that could subsequently be used for just-in-time server-side portrayal. However, the results of a GetStyles operation do not provide any context for the results so it is difficult for a user to determine which style or styles are fit for any particular purpose.
4.5.3. Map Portrayal
In this phase, digital map products are produced using existing data. The CDS Team identified a number of ways that this is done operationally, but they share the same basic workflow of portrayal rules and vector data being fed to a graphics engine, which then produces raster data.
-
The SLD Profile for WMS ([WMS-SLD]) allows a client to submit an SLD to the server as part of a GetMap request.
-
Many geospatial servers include a feature portrayal server that allows a client to define a custom map layer that includes a feature layer and a custom style.
-
Tools such as TileMill produce map tiles by applying styles to an existing vector data store.
Most vendors have developed their own graphics engines to meet their requirements. These engines are generally not based on standards like SLD or SE because those standards did not meet their requirements[1]. The general approach is to map standards like SLD and SE into the internal graphics engine. No matter what is done on the standards front, those engines are unlikely to be rewritten to map to a new model.
SLD and SE have a number of limitations that currently prevent it from being a complete portrayal solution (including lack of interoperability, extensibility, and capability see Styled Layer Descriptor and Symbology Encoding).
4.5.4. Style Collaboration
In this phase, multiple Spatial Data Infrastructure (SDI) users work together in the authoring process. This requires making styles available as sharable, updatable objects. However, there is little evidence that this phase is actually performed in most workflows. Instead, each map producer develops the styles independently using GIS, desktop publishing, or paper tools. For example, as part of the Canadian Federal Geospatial Platform, styles are developed internally by government data production shops using Esri software. These styles are only shared internally and are generally only compatible with other Esri products such as Esri REST services (see Case Study 2 - Canadian Federal GeoSpatial Platform for more information).
There were some early attempts to support standards-based style collaboration. The deprecated 1.0 version of the SLD Profile of WMS includes a PutStyles as well as a GetStyles operation. This approach did not prove to be popular. It may be a better approach to separate the management of style documents from the map service and make it available as part of the catalog solution for the same reasons listed in the previous subsection. To date, there is not a standard way of doing this, but it is being explored as part of Semantic Portrayal Registries (see next section).
4.6. Semantically-Enabled Workflow
As the two case studies will illustrate, the Conventional Workflow fails to fully meet the needs of the digital mapping community. Limitations of SLD and SE are only a part of this failing. The more serious issue is that the workflow does not scale to handle multiple sets of styling rules, portrayal engines, or data sources. This concept becomes more important when organizations have the requirement to produce competing map views using the same data (e.g., Electronic Nautical Chart (ENC) vs. Digital Nautical Chart (DNC)) or when they have to produce maps using the same styling rules on disparate data sources.
Semantically-Enabled Portrayal is a set of capabilities that are emerging to improve on each of the phases of the Conventional Workflow. The target architecture for this approach is currently being researched. The Testbed-12 Semantic Portrayal, Registry, and Mediation Engineering Report ([SEMPORTB12ER]) describes a need for the following services.
-
Semantic Registry Service, which allows discovering and search of geospatial assets (e.g., datasets, services, schemas, portrayal information, and layers). It is based on the W3C Data Catalog Vocabulary (DCAT).
-
Semantic Mediation Service, a hypermedia-driven REST API that provides the ability to perform transformation of data from one schema to another.
-
Semantic Portrayal Service, which provides the ability to render datasets to multiple output formats (e.g., SVG and PNG) and generate different styling encoding (e.g., SLD, MapCSS, and CartoCSS). It is based a set of portrayal ontologies for styles, symbols, and graphics.
In this workflow, the above services are integrated into a new workflow that is more flexible, robust, and capable.
4.6.1. Portrayal Ontologies
Current portrayal standards such as OGC SLD and SE are document-centric and are forced to adhere to an XML schema. This causes a lot of duplication of portrayal elements between documents due to the lack of globally addressable identifier mechanism. Testbed 11, 12, and 13 activities explored the use of linked data and ontologies to tackle the issue of addressability and defining common portrayal vocabularies that enable search and discovery of portrayal information. SLD documents were converted to a common linked data representation to make their content addressable. The export of SLD from this Linked Data representation was also demonstrated.
During Testbeds 11, 12, and 13, Image Matters developed a set of portrayal ontologies aligned with the OGC Semantic Registry Information Model (SRIM), OGC SLD, OGC SE standards, and SVG. The ontologies were encoded with the Web Ontology Language (OWL). The portrayal ontologies are composed of extensible modules that can be reused in different contexts. The models were used as baseline for performing semantic mediation of symbology for transnational incident representation (Testbed 11) and as the core model for Semantic Portrayal Registry and Portrayal Service using REST API with hypermedia links. In Testbed 13, a client demonstration using these services was performed to demonstrate the creation of custom styles and layers on heterogeneous data sources (WFS, GeoJSON, Shapefile).
The primary focus of the development of these ontologies was on developing a portrayal model for rendering feature data. Future extensions will be needed to describe coverage portrayal and describe useful metadata for style and layers to enable a better search and discovery experience.
4.6.2. Semantic Portrayal Registries
In this phase, a cartographer uses a catalog/registry to search and discover portrayal related artifacts such as styles, symbol sets, symbols, symbolizers, graphic elements, or rules to be used for customization of user-defined layers. Each portrayal element is addressable, so it can be referred to and linked to other entities (such as user defined layers or user-defined styles). Each portrayal element should also have enough metadata for machine and human interpretation so they can discovered easily. The indexing of addressable portrayal elements favor reusability and interoperability of portrayal information.
Early efforts in this area included the addition of a portrayal electronic business Registry Information Model (ebRIM) profile for Catalogue Services for the Web (CSW). The Defence Geospatial Information Working Group (DGIWG) advanced an approach to the Catalog use case. In 2013, an interface specification for such a catalog was published (see [DGIWG_PORT_REG]). The main part of this specification provides an interface-independent information model for a Portrayal Registry. Annex A specifies how the information model can be mapped to the CSW ebRIM registry interface. Annex B specifies a RESTful interface to the model. The basis of the this service is a service oriented interface. The registry stores rules, symbols, fonts, and sets of these artifacts based on known application schemas. The service provides discovery mechanisms for searching and retrieving these items. The information model of this profile addresses only a subset of the portrayal elements expressed by SLD and the portrayal used in Testbed 11, 12, and 13. Furthermore the use of custom user-defined query extensions prevents users from performing more advanced query search and requires upgraded ebRIM clients to support the profile. There are very few implementation of ebRIM clients today due to the complexity of the model and query language.
In response, Testbed 11, 12, and 13 portrayal activities explored the definition of a Semantic Registry Information Model (SRIM)-based Portrayal Profile to support the registration and search of portrayal information and the use of that information to support user-defined layer creation in the Semantic Portrayal Service. The generic search capability of an SRIM-based semantic registry is more suitable for use in downstream services.
4.6.3. Map and Layer Authoring
With the emergence of better search and discovery of geospatial datasets (enabled by the DCAT-related efforts and Open Data policies from governments), users want to represent these data as map or map layers to convey geospatial information to a target audience. In this phase, a cartographer composes a map or layer by applying user-defined or shared styles (discovered from a portrayal catalog, for example) to existing geospatial data (independently of its format), gets a rendering of map/layer from a portrayal service or portrayal client application, and saves the context of map/layer to a portrayal/map service.
The Testbed 13 Portrayal activity has defined a RESTful Portrayal Service that provides the ability to manage and render user-defined layers with custom styles or styles discovered from the Semantic Portrayal Registry. The Application Programming Interface (API) supports JSON-LD, Linked Data encoding, and Hypermedia Application Format (HAL). The service supports Create Read Update Delete (CRUD) operations for layers, symbolizers, and styles. It provides a rendering endpoint for layers, maps (using the WMS GetMap operation), legend, symbol, and symbolizers as raster formats. More work is needed to define the description of layer metadata useful for search and discovery, in particular by aligning it with the SRIM and DCAT standard. The REST API of the service was successfully integrated with an off-the-shelf client map viewer (Leaflet) and the rendering of user-defined styled layers from different formats (Shapefile, GeoJSON, WFS) was demonstrated. This demonstration aimed to showcase the viability of the use of linked data, its extensibility to accommodate different data models, addressability of portrayal information and integration with other sources of information (datasets and services).
Another approach uses the OGC WMS ([WMS]) standard, which allows a client to use a GetMap operation to request a map from a server based on a narrow set of criteria such as extents, CRS, layer name, and pre-defined style by name. The most recent versions of WMS provides the ability to define as user-defined layer or styles using SLD/SE encoding with data coming from WCS or WFS and having the rendering done on the server side. However, WMS specification does not provide an API to manage custom styles and layers.
4.6.4. Symbology Mediation
In Testbeds 11 and 12, the challenge of symbology mediation was addressed in the context of the Law Enforcement and Public Safety (LEAPS) domain. There are various Symbology Best Practices available for LEAPS used in the context of Emergency Management (e.g., US FGDC ANSI 415-2006 INCITS Homeland Security Map Symbol Standard, Canadian Emergency Management Symbology (EMS), etc.). Since in house-symbols are preferred, few of these best practices have been widely adopted. In the case of multi-institutional activities, the lack of a common set of symbology can be problematic. Semantic Mediation of Symbology provides a viable solution that allows the representation of an incident information using symbology of a given community to a target incident information model using symbology of another community. To address these symbology mediation challenges, a knowledge-centric approach was adopted. The knowledge-based approach employs a standards-based formal, sharable framework (RDF, OWL, SPARQL) that provides a conceptual domain model to accommodate various business needs. Among these standards, there are Resource Description Framework (RDF), RDF Schema, OWL, and SPARQL. Using these standards, a set of ontologies were developed during this testbed to represent incidents, portrayal information and semantic mediation mappings. A Semantic Mediation Service was developed in Testbed 11 and Testbed 12 to perform the transformation from one application schema to another in order to support the symbology mediation.
5. Case Study 1 - Arctic Spatial Data Infrastructure (SDI)
5.1. Description
The Arctic Council, consisting of the 8 participating National Mapping Agencies of Canada, Finland, Iceland, Norway, Russia, Sweden, USA, and Denmark (including the administrations of the Faroe Islands Home Rule and the Greenland Self-Government), sponsors the Arctic Spatial Data Infrastructure (Arctic SDI) ([ASDI-Framework]). The aim of this formal cooperation is to provide politicians, governments, policy makers, scientists, private enterprises, and citizens in the Arctic with access to geographically related arctic data, digital maps, and tools to facilitate monitoring and decision-making. The Arctic SDI has two basic requirements with regards to portrayal. The first is the background map, which they can produce with great difficulty. The second is thematic maps, which are mostly beyond their capabilities today.
5.2. Methodology
To perform this case study, the CDS team contacted Arctic SDI members and discussed their existing Arctic SDI map production workflows. While each member does things differently, common concepts emerged. From there, the team explored the possibilities for producing the desired map products. This was a critical input to the Vision and Roadmap sections of this document.
Since a new version of SLD is being developed concurrently with the development of this CDS, the CDS team reviewed the Arctic SDI Cartographic Data Model ([ASDI-Carto]) and crosswalked the model with the capabilities evident in the emerging SLD draft specification. This gave CDS members valuable information which was then provided to the SLD Standards Working Group (SWG) to ensure that the emerging standard met Arctic SDI needs.
5.4. Use Cases
5.4.1. Background Maps
To provide a seamless background map of the entire Arctic cross borders, reference data (a least common multiple of map layers) are provided by the involved mapping organizations, covering the arctic region as defined by each organization. This data includes coastline, hydrography, road networks, topography, geographical names, and bathymetry ([ASDI-Manual]).
The process that has been used for setting up Arctic SDI services is as follows:
-
Find the correct data - the data that best corresponds to the scale of 1:250000;
-
Define the layers and the order of them in the WMS tool;
-
Implement the cartography on the layers according to the Arctic SDI cartographic specification ([ASDI-Carto]);
-
Adjust the size (width and height) depending on the specific tool used in the country; and
-
Test and compare the service with WMS’s from neighboring countries.
Experiences from Arctic SDI are summarized below:
-
When setting up a WMS there have been two main challenges:
-
to find dataset of the same level of detail in each country - a correct set of data; and
-
the size of the objects, width and height of point, lines and symbols;
-
-
Different tools have different interpretations of the map size which affects the cartography;
-
All tools seems to support SLD but some tools (i.e., ArcGIS) only support it partially, which can cause issues; and
-
Performance needs to be investigated when using SLD.
SLD could be a possible solution if an SLD was created that works for each of the tools used in the Arctic Countries (MapServer, GeoServer, ArcGIS) but currently this is not done.
5.4.2. Thematic Maps
Thematic Data are spatial datasets of interest in the Arctic region, organzsed as thematic layers. Dataset providers could be governmental or interested organizations, companies, etc. These datasets and metadata could be delivered and harvested using the same service alternatives as described for the reference data. Examples of thematic data that are relevant to the Arctic SDI include:
-
Permafrost
-
Land cover
-
Treeline
-
Biodiversity
-
Tourism
-
Urban environments
-
Energy and Mining
-
Shipping routes
-
Forestry
-
Geology
-
Conservation areas
-
Ice cover
-
Weather
-
Ecologically and Biologically Significant Areas (EBSAs)
-
Local communities and local knowledge
For end users, Arctic SDI Applications provide access to discover and view the underlying datasets. Different applications with different Graphical User Interfaces (GUIs) could present the datasets in numerous ways, according to independent needs and hardware/software platform. One of the roles of the Arctic SDI is to ensure that this information is available in an interoperable way.
In the example thematic map shown in the figure below, complex styling rules are implemented with rule-overriding capabilities.
5.5. Production Approaches
Individual members are free to use their own technology stacks as part of the map production process. Map servers in use include ArcGIS, GeoServer, and MapServer. Some organizations use SLD internally, but SLDs are not shared between members.
5.5.1. National Background Map Creation
In each country, OGC Web Map Services (WMS) have been developed from data at 1:250,000 scale. The eight national WMSs support a common symbology based on the EuroRegionalMap specification to provide consistent cartography. All layers are served using several Lambert Azimuthal Equal Area coordinate reference systems to provide regional views centered on the North Pole. National map data includes the territorial sea, defined as a 12 nautical mile buffer into the sea or ocean. An OGC Web Map Tile Service (WMTS) is being created to provide a rapid-access cached tile view of the Arctic. OGC Web Feature Services are also being investigated as companions to the WMS to enable download of selected map features and data for further GIS analysis.
The current background map process involves harmonizing existing data to comply to a standard cartographic product based on a standardized set of symbology. This harmonization process is mostly manual, though the particulars depend on the GIS tools available in that country. Each member nation uses a different method to symbolize the features, depending on the software available locally. Ideally users would have more flexibility to customize the base map beyond the projections and two color palettes (color and black/white) but this is not possible today.
SLD is not currently a required part of this workflow. Some countries use SLD to portray maps, but it is not used as a shareable resource. The main reason for this is a lack of interoperability, specifically, the lack of consistency between implementations. For SLD to be a part of the picture, implementers need to be sure that SLDs are portrayed consistently. There are also secondary concerns relating to a) the different vendor implementations which are not optimized for SLD and therefore make SLD harder to use, b) reduced performance, and c) the security implications of opening up web services to arbitrary SLDs. While SLD editing is a complex process, this complexity seems reasonable relative to the complexity of the map product being produced.
5.5.2. Arctic SDI Background Map Creation
Once the maps for each nation are produced, they are served together by a Cascading WMS. To improve performance, the maps are also pre-tiled and served as a WMTS. The tiling process is complicated by the fact that 7 map projections are commonly used as part of the Arctic SDI.
5.6. Findings and Conclusions
After looking at the entire end-to-end workflow for Arctic SDI basemap production and the needs for thematic map production, the CDS team concludes that a two-pronged approach is needed.
5.6.1. SLD
There is general consensus that SLD is not capable of fully meeting the needs of the Arctic SDI today. A number of the capability gaps identified in the SLD/SE Review (see: Styled Layer Descriptor and Symbology Encoding) apply here. Thankfully, the emerging SLD 2.0 conceptual model has the potential to meet many (if not all) Arctic SDI needs.
The CDS Team recommends that the SLD SWG establish a "basic" profile for SLD 2.0 that is released along with the initial encoding of the standard. This profile should be aligned with the mandatory elements in the Arctic SDI Cartography Data Model so that Arctic SDI members will be able to produce minimally compliant maps as quickly as possible. This profile must include the following extensions:
-
FeatureTypeSymbolizer
-
AreaSymbolizer
-
LineSymbolizer
-
PointSymbolizer
-
RasterSymbolizer
-
TextSymbolizer
-
SolidFill
-
PenStroke
-
RGBColor
The CDS Team recommends that the Arctic SDI establish a profile for SLD 2.0 that extends the "basic" profile and includes all of the optional elements in the Arctic SDI Cartography Data Model. Representatives of the Arctic SDI will need to work with the SLD SWG to ensure that the necessary extensions are developed in a timely manner. The profile must include the following extensions:
-
GraphicFill
-
HatchedFill
-
DashProperties
-
ParallelHatch
ParallelHatch
ParallelHatch is not in the draft SLD 2.0 draft at the time of writing. It would allow cross lines to support railroad lines or (in the case of the Arctic SDI, rocky shorelines, cliffs, or precipices; see An Icy Precipice). It could be modeled after the PerpendicularOffset extension, but the parameters are different (see ParallelHatch Extension Elements.
Name | Definition | Data Type and Value | Multiplicity and Use |
---|---|---|---|
|
The stroke to use to style hatches |
Stroke data type |
zero or one |
|
Distance between geometry bases of two consecutive hatches |
Double ParameterValue data type, Value range is [0;+∞[. Default is equivalent to 2mm. |
zero or one |
|
Centered (default), left, or right |
Enumeration |
zero or one |
Semantic Portrayal
While SLD is not currently sufficient for Arctic SDI needs, this is not the only technology gap. SLDs are, by nature, closely coupled to the underlying data models and since individual mapping agencies understandably do not share common data models, it will not be possible to share SLDs directly without an intervening technology. Semantic Portrayal has the potential to bridge the common SLDs and the unique data models of each national mapping agency. Furthering this technology until it becomes a workable solution is vital to ensuring that this community’s needs are met.
6. Case Study 2 - Canadian Federal GeoSpatial Platform
6.1. Description
This case study was commissioned by NRCAN GeoConnections to study the application of portrayal conventions and standards to geospatial datasets. These datasets will be integrated with other datasets and reference maps furnished by the Federal Geospatial Platform to create maps. Some of these maps are carefully curated. Others are the result of mash-ups created by end users who have no great cartographic expertise or expectations. The case study will document the impact of the delivery pipeline architecture, viewing platforms and technical decisions on the final web mapping symbology.
6.2. Methodology
A number of stakeholders provided the input for this case study.
During the period of the case study, teleconferences were held between the OGC and key experts within NRCAN to identify the scope of the case study. Specific mapping products were presented at these telecons as examples of what works and what does not. These examples helped to focus the discussion and some screen shots from these sessions are presented in the case study as examples. As a supplement to these teleconferences, emails were also exchanged for clarification purposes.
A Questionnaire was also delivered to NRCAN to distribute to cartography and on-line mapping experts as a template for providing feedback during these discussions.
Experts from the following agencies and departments participated in further teleconferences:
-
Canadian Federal Geospatial Platform (FGP)
-
Canadian HydroGraphic Service
-
Geological Survey of Canada
A virtual mapping workshop was held to introduce the OGC to the processes and technologies employed by the Federal Geospatial Platform (FGP) to portray mapping data for public and internal consumption. During the workshop, information was gathered to support the use case and identify the state of the art of online mapping in the FGP. Shortcomings and challenges were also noted.
A teleconference was held between OGC and mapping experts at the Geological Survey of Canada (GSC). The scope of this teleconference was more specific and covered the process of generating digital geological maps. Specific shortcomings and challenges were noted. A form of symbology standardization exercised at the GSC was also explained.
6.3. Questionnaire
The following questionnaire was circulated as part of this effort.
"There are a number of paradigms for web mapping, but all require the careful application of symbology to create effective maps for end users.
Sometimes, a variety of factors influence symbology decisions that can result in digital maps that have presentation issues. The causes of these issues may include, but are not limited to:
-
Data availability
-
Collision between symbology styles
-
Naive end-user styling
-
Multi-source integration issues
-
Inadequate styling mechanisms
-
Platform architecture shortcomings
Sometimes, the available mechanisms work just fine.
The Open Geospatial Consortium (OGC) is conducting a Concept Development Study (CDS) aimed at understanding the state of the art for digital map portrayal in order to help advance the next generation of open geospatial styling standards to support online cartography best practices.
The Portrayal CDS is looking to the OGC membership and beyond to help define the future direction of portrayal and digital cartographic practices within the OGC and beyond.
As part of this CDS, we are seeking feedback from members of Canadian Government organisations to create a case study aimed at understanding the processes and requirements of digital map creators as they apply symbology to new geographic data. The case study will document this process as it is currently occurring.
Some questions we would like you to consider and answer are:
-
How will you get from vector data to base maps or specialised overlays?
-
How are these datasets to be visually presented?
-
What sorts of client applications are to be used and how do these client applications interact with symbology, if at all?
-
What sorts of server applications are to be used? What is the symbology technology used?
-
-
Do you intend to provide thematic maps on-line? Specifically, how are these produced?
-
What portrayal/symbology standards and conventions will you be drawing from to define the symbology of these new layers?
-
Are these expressed as documents/guidance, or are they available in a format that is used for styling directly?
-
-
How are you planning to visually integrate these new data sets with currently available base maps or other layers?
-
There has been a study recently done by NRCAN regarding Quality of Service for online map presentation [OGC17-049]. The discussion outlines some proposed portrayal best practices and recommendations to alleviate usability. Would this guidance help to influence your approach to web mapping?
-
What are the obstacles to efficiently generate symbology for new data?
Thank You, The OGC Portrayal CDS Team"
6.4. Stakeholders
The case study identified the following stakeholders involved in the production, deployment, styling and consumption of FGP data:
-
Federal Geospatial Program,
-
End users from the public at large,
-
Workers in Government Departments,
-
Commercial/Non-Profit integrators using publicly available data to create their own maps,
-
International organizations cooperating with Canadian Government organizations,
-
Ad-hoc groups that emerge to deal with emergency situations,
-
Provinces and Territories, and;
-
Municipalities.
6.5. Producers
Digital map producers bring vector and raster data sets to life as visualizations of information. The core function of a digital map producer is to portray data to highlight or communicate concepts using the visual presentation of geographic data. Any digital map producer engages the audience and the party that commissions the generation of the map to optimize the conveyance of the intended information using a map. These maps are used for analysis and education and reference purposes.
The following digital map producers were identified during the case study.
-
Provincial mapping agencies
-
Federal Geospatial Program
-
NRCAN
-
Geological Survey of Canada
6.7. Targeted Data Sets
FGP and GSC target different forms of datasets. For FGP, the variation is unlimited. GSC has a much narrower focus. In the case study, most data sets were presented as examples that caused symbology and labelling issues.
Arctic place names presented a particular challenge. Because a non-Latin character set and language was being portrayed, the font rendering engine could generate invalid characters, or calculate the placement of characters or labels. This issue is discussed further in Obstacles.
The creation of thematic maps for studying demographic phenomena based on census region is a common client requirement. The approach envisioned by clients who commission these maps is that they will be able to visualize the spatial relationship of a demographic characteristic with place or other demographic characteristics. The nature of census data, and election riding areas, for Canada is interesting as the census regions are based primarily on population density. This leads to very dense clustering of regions in populous areas such as Southern Ontario and very sparse clusters in the north. This prevents portrayal of an accurate national picture. Solving this problem may require generalization, but that process can eliminate some regions entirely. Some missing regions may have the most insightful information, but be eliminated from the map using stock generalization processes. See Full Census Regions and Generalized Census Regions as examples of census region maps. There may be cartographic approaches to better solve this issue, but the symbology is not available in current technology or standards.
Some datasets have many attributes per feature. One example presented by FGP was the producing mines layer. The display of these features is dictated by the choice of a couple of attributes to pick a symbology. What is missing from a purely raster-based view is the complete picture. A symbol may be chosen, but it only reflects one aspect of the feature. Thematic mapping solutions, e.g., pie charts could be derived from the data, but current technology does not support the dynamic display of the thematic data in this manner.
The most effective manner to deliver this information with the current technology is to use client-side rendering which can present all of the information in an application interface. This exposes the information via the interface, but does not address the cartographic issues. Furthermore, foreign, poorly understood interface components are exposed to the user. Simpler interfaces using the raster map approach prevent theme selection and styling to deliver the best map.
The FGP produces and disseminates emergency GIS layers ad maps for situational awareness (i.e., BC Forest Fires of 2017). These are constructed on demand using a variety of data sources from different organizations and are a good example of a mash-up controlled by mapping experts. Uncontrollable factors prevent the ideal cartographic outcome. These factors include layer opacity, labelling conflicts, non-harmonious symbologies, map cluttering. These issues can be traced to two architectural issues, server-side, the decision to provide the data layers as raster data prevents manipulation on the client, it also forces the portrayal and layering to follow a fixed view. There is no adaptation of layers to each others' content. For example, red is often the color used to symbolize both road lines and forest fire polygons.
6.8. Client Use Cases
Clients need to interact with symbology to:
-
Make the data have more meaning in their own community
-
De-clutter the map
-
De-emphasize background data
-
Improve the aesthetic appearance
Clients need to combine datasets to view spatial relationships between different phenomena, e.g., areas high in one socio-economic factor may consistently contain a higher incidence of another factor. Clients need to combine data sets that were never envisioned as working together such as fire risk areas and public institutions.
6.9. Current Symbology Standards and Conventions
The FGP provides standardized base maps such as the Canada Base Map - Transportation (CBMT). These base maps also have variants to support labelling, different projections, language etc. They resemble standardized topographic maps provided by the NTDB at larger scales. However, when the FGP is commissioned to stage new data, especially thematic data, they engage in an iterative consultation with the client to determine an appropriate cartography for the client’s thematic data. Much of the FGP’s work concerns thematic data and the extraction of specific conventions and standards is difficult because clients' needs are unique and focused.
Within the FGP, portrayal conventions and good practice are maintained as a disciplinary "oral tradition" relying on experience and lessons learned to develop general approaches and good style when creating digital maps. This tradition underscores the complexity of cartography as a creative discipline performed by experts. Thus, there are no explicitly recorded best practices for the digital paradigm. In other cases, such as the Geological Survey of Canada (GSC), conventions and standards exist. These are explicitly defined using proprietary technology which is then required to perform mapping using these standards.
The GSC relies upon a standard for geological mapping that has been agreed upon by stakeholders. This standard used in the digital maps to harmonize the portrayal of surficial and bedrock data models indicating age, type, and reliability of measurement. This standard is versioned, curated, and stored in an accessible format for anyone to use. Change proposals are reviewed by committee before release.
This symbology is stored in a proprietary format which relies on the existence of a styling attribute to trigger the choice of symbol, rather than a boolean expression derived from the data attributes. The reasoning for this approach is that it is easy to use the style field to determine the appropriate symbol. This attribute also makes it easier to cross-reference the style attribute with a "catalogue" of styles.
6.10. Production Approaches
Production of maps for digital display is foremost governed by the requirement for accurate, clear, and compelling content to convey the information represented in the portrayal. Client requirements, technology, resource, and time constraints can all affect this portrayal. Certain scenarios recur in the creation of digital maps within NRCAN that are unique to their mandate compared to more focused mapping agencies.
Five map production drivers come to light after conducting this case study, four of which are controlled internally within NRCAN, one other is not.
-
Planned map production with domain specific and generalized layers e.g. arctic place names with no strict portrayal guidance;
-
On-demand thematic maps e.g. census data themes;
-
On-demand mash-ups such as emergency maps;
-
Planned map production with domain specific layers using carefully designed symbology standards; and
-
End-user mash-ups using publicly available layers of vector data.
Typically, a dataset is provided to the mapping specialists who then create a map using desktop technology to define symbology, labelling, scale-based rendering approaches, and painting order to serve the stated requirement. The decisions made at this point are derived from prior conventions and experience generating other maps. Great care is placed on creating a cartographically correct map. Once the map is created in the desktop environment, it can be published as a raster "online" map. At this point, the map is verified internally before release.
6.11. Symbology Technology
Server side symbology technology is primarily constructed using ArcGIS software.
Fonts are created to overcome issues of scaling icons. Sometimes labels are images and not text drawn on the screen. Some informational text is not presentable as text, or an inset, but as a separate raster layer. This prevents interactive mapping, but solves the problem of maintaining descriptive text with the map.
The rendering process may be as tiled image data, vector tiles, GeoJSON, or WFS responses. The use of WMS layers often results in drop-outs. The rendering process is too compute-intensive for publicly accessible applications.
The standard mapping platform uses specific client and server side solutions. Publishing what works from an ArcMap view as a map in a web-based mapping environment does not always translate visually.
Web-based map clients are built upon a variety of platforms such as Open Layers, MapML, ESRI ArcGIS javascript clients, and custom NRCAN clients.
6.12. Obstacles
This section describes obstacles that prevent the ideal cartography in digital maps using the current technology employed within NRCAN. These obstacles were raised during consultation and are not exhaustive, but highlight pain points that can be addressed by a combination of vendor provided enhancements, better time and personnel availability and enhanced standards and applications.
6.12.1. Point Symbols
The server technology employed at NRCAN uses fonts to define graphic point symbols and glyphs for point features and ticks along lines and polygon borders. This technology provides a mechanism for displaying symbols in a "sharp" non-pixelated manner at different symbol sizes. However, there is some overhead in designing and implementing a font for this purpose. More flexibility would be possible with support for external vector symbols such as SVG.
The currently available technology employs a mechanism for styling using a bitmap-based image instead of font glyphs. This approach provides custom map symbols for the map maker without the overhead of constructing a font. However, close inspection of the rendered symbol reveals that the bitmap-based mark can be pixelated. There are additional cases where the glyph size is tied to ground units and using a bitmap-based glyph is impossible due to pixel blurriness caused by scaling. These requirements illustrate a need to support multiple methods for drawing symbols.
6.12.2. Legends
Legend generation using the current technology cannot support advanced requirements such as those for geological map legends. Geological maps are information heavy and are precise in their symbology and interpretation. The Geological Survey of Canada Phanerozoic map legend has requirements which are best delivered in a matrix cross-referencing age and rock type. This legend would probably never be automatically generated by a map server, but there is no mechanism in the LegendGraphic concept in WMS to support anything other than an image of particular height and width. In a web-based client, this legend could provide "click-through" functionality to provide more information. A legend for a map layer that could also be an interactive mini-application would be useful in this case. This case presents an online mapping challenge. Are there implications for web mapping protocols to extend the legend declaration approach.
6.12.3. Labelling
"Like all other marks on a map, the type functions as a symbol, but it is considerably more complicated in its function this way than most symbols."
Elements of Cartography
When considering the function of a map to communicate a particular theme or message, labelling is equally, if not more important than symbology choices. The nature of digital mapping, especially on the web, presents labelling challenges to any cartographer.
Labelling in cartography is a painstaking process. In the "single-view" paper and document map, labels can be carefully re-aligned, rotated, scaled, kerned, and translated. They can be omitted altogether, prioritized, given leader lines - all through manual manipulation. In digital mapping environments that provide a continuous scale, and dynamically rendered maps, labelling is an exercise in compromise between quality and effectiveness.
Labeling is difficult due to a number of issues:
-
layer collisions consisting of physical overruns
-
duplication
-
differing fonts
-
cluttering
-
legibility
-
sizing between scales
-
language representation in available fonts
There is no understanding at the client platform level of what is being labelled when the information is most often delivered as raster data from a multitude of different services.
-
The technology currently used to symbolize maps and distribute these maps online has some limitations regarding fonts, scaling images, easy labelling, combining layers of different servers.
-
The data is often geographically grouped such that it presents poorly due to natural differences. One example is Census Data.
End-users often combine layers from different map servers in a single map view. It was the original intent of web-based WMS clients to enable the "sandwiching" of layers from different servers. The standard client used by the FGP does not support the interleaving of individual layers from different servers. Other OGC standards based servers present their own issues. The traffic and load experienced by some FGP map servers prevents the use of WMS as a solution. A tiling solution is implemented to support the map.
6.13. Findings and Conclusions
The vendor technology currently defines the approaches used by the FGP for client and server solutions. This would be true for any adopted technology, but there are some issues that have been highlighted in other sections that can be addressed using other available solutions. Perhaps, these have been investigated. It would be beneficial for the OGC efforts regarding symbology, server and client technology around map display to consider the symbology and rendering issues that are highlighted in this case study.
There are diverse mapping needs within FGP that require a great deal of flexibility and creativity. Though potentially useful, the catalogue paradigm described in [Bocher-Ertz] does not fit well. Unless there is a funded effort to document and store the conventions and apply this approach beyond the tools that are available to the cartographers at FGP. In addition to conventions, supporting multiple overlays may be possible if style choices are constrained and guided. To support this, the client-side applications used by non-experts must be constrained to guide the choice of thematic styling, labelling, and reference/base maps. To build this approach requires a significant effort to create compatible symbologies and base maps that can be harmonized to create usable digital maps.
An important point that emerged from discussion with the FGP is that trained cartographers emerging from school do not have the required background in digital online mapping. The particular challenges presented by online mapping are not addressed in the cartography curriculum. Traditional methods need to be supplemented with further training to support this new paradigm.
The intended use of publicly available "mashable" layers is at odds with the intent of specialized map layer design. Generalized symbology for thematic data may work well for the combination of multiple layers with a reference base map, but that symbology may fall short of a specific client’s needs. Conversely, domain-specific symbology may have great relevance and be effective within that particular domain, but lack meaning in a more general context for a number or reasons. Domain-specific symbology may require training to interpret, also visual design decisions may create symbology that naturally conflicts with symbology that standard users expect, creating a "noisy" or cluttered map.
Thematic layers created by the FGP often begin as components of a digital map designed for a specific application and client-base. These layers become available for "re-use." These layers can present poorly when re-used by the public or other agencies as part of an unrelated application or map.
To mitigate these conflicts, it may be possible to generate symbologies for generalized use, however, the resources and time need to be available to create this visualization ideal not only for a particular dataset, but for the overall visual context. Pursuing a general symbology for mash-ups and integration requires backdrop data that supports a wide variety of overlay data without interference. Because there is "no one size fits all" solution for background maps, more than one background map should be available. Curated overlay symbologies should be presented to the user who can actively choose a "best fit" using criteria such as the background map, the intended audience and the thematic focus and physical nature of the overlays.
7. Vision
This section presents a vision of a set of capabilities that would improve on the current state of the art.
Note
|
There are limits to what the CDS Team can establish at this time. For example, it is premature to specify the default format for a basic implementation of portrayal standards (see Section 9.1). There are a number of candidate technologies (CSS, JSON, etc.) and it would be presumptuous for the CDS Team to attempt to pick one without the benefit of an interoperability experiment to prove the approach (see Section 9.3). The engineers involved in the SLD SWG and the associated interoperability experiment should be the ones making these design decisions and other implementation details. However, the CDS Team is confident that the vision and roadmap, if fully implemented, will achieve the goals of the sponsors, including but not limited to the scenarios identified in the two case studies. |
7.1. Portrayal Conceptual Model (PCM)
The definition of a common conceptual model and vocabulary for describing portrayal-related information is essential to enable cartographic portrayal interoperability. The SLD and SE standards were developed directly as XML schemas without the definition of a conceptual model and is strongly based on the assumption that data are encoded in XML. A decade later, this assumption is no longer valid, as alternative formats such as GeoPackage, JSON, CSV and Linked Data formats such JSON-LD, Turtle, and RDF/XML have emerged.
The portrayal conceptual model (PCM) needs to have a future-proof design that can accommodate varieties of data model by providing extension mechanisms to a core model. While a UML model is adequate to document the conceptual model, it fails to express implicit semantic and be machine-processable ready. The CDS Team recommends complementing the UML model with an ontology encoding using W3C standard Web Ontology Language (OWL) to capture the full semantics of the portrayal conceptual models. The portrayal ontologies developed in Testbed 11, 12, and 13 need to be reconciled with the proposed portrayal conceptual models proposed by the SLD SWG.
This design of conceptual model should adhere to the following key principles.
7.1.1. Minimal Ontological Commitment
A modular design of the ontologies follows the principle of making a minimal ontological commitment to the nature of concepts and of relationships between concepts. As explained by Thomas Gruber [Gruber] an ontology should require the minimal ontological commitment sufficient to support the intended knowledge sharing activities. An ontology should make as few claims as possible about the world being modeled, allowing the parties committed to the ontology freedom to specialize and instantiate the ontology as needed (which is often called ontology or application profile).
Opting for such a minimal approach is made dramatically easier by the vocabulary extension mechanisms offered natively by Semantic Web technology. Applications that require more constrained behavior may define compatible extensions to OWL or SKOS. For example, modelers may coin sub-classes and sub-properties of OWL or SKOS properties, or associate those properties with specific formal axioms. By making a minimal ontological commitment, the ontologies can be applied and reused across multiple Communities of Interests (COIs), thus increasing the rate of wide-spread adoption.
7.1.2. Modularization
Quoting Stuckenschmidt and Klein [Stuckenschmidt04], “ontologies that contain thousands of concepts cannot be created and maintained by a single person.” Modularization helps designers manage complexity by reducing the size of the design problem [6]. Ideally designers design modules of a size that they can manage, and later either integrate these modules into a final repository or build up the relationships between the interoperable modules (this is a typical application of the divide-and-conquer principle).
Modularization also provides a way to keep performance of ontology-based services at an acceptable level. Performance concerns may be related to query processing techniques, reasoning engines, and ontology modeling and visualization tools. The reasoners that are currently available perform well on small-scale ontologies, but performance degrades rapidly as the size of the ontology increases. Keeping ontologies small is one way to avoid the performance loss, and modularization is a way to replace an ontology that tends to become oversized by smaller subsets. Modularization fulfills the performance goal if, whenever a query has to be evaluated or an inference to performed, this can be done by looking at just few modules, rather than exploring the whole ontology [Stuckenschmidt09].
7.1.3. Reusability
Re-usability is a well-known goal in software engineering. Reuse is most naturally seen as an essential motivation for approaches aiming at building a broader, more generic repository from existing, more specialized repositories. However, it may also apply to the inverse approaches aimed at splitting an ontology into smaller modules. In this case, the decomposition criterion should be based on the expected re-usability of a module, i.e., how well can a module fill the purpose of various applications. Re-usability emphasizes the need for rich mechanisms to describe a module in a way that maximizes the chances for modules to be understood, selected, and used by other services and applications.
7.1.4. Understandability
An obvious prerequisite is the ability to use an ontology to understand the concepts and properties it conveys. Whether the content is shown in visual or textual format, understanding is easier if the ontology is small (a module). Small ontologies are undoubtedly preferable if the user is a human being. However, size is not the only criterion that influences understandability. The way it is structured contributes to improving or decreasing understandability.
7.2. Server-Side Portrayal
Mapping agencies and other groups have a requirement to produce digital cartographic products such as base maps and thematic maps. Ideally these maps can be produced via a straightforward workflow of vector data through a portrayal engine (subsequent operations can then prepare those products for dissemination). However, the international mapping community often has cartographic standards for map products that are shared among its members. A single set of portrayal rules that is shared by a community of interest and implemented by each member using the software available locally would improve efficiency. Producing a set of portrayal rules is a complicated, error-prone process. Preferably this should be done once per map product and then shared throughout a community-of-interest.
Mapping agencies typically have more than one product that they must support. Since vector data management is also a complicated, time-consuming process, ideally agencies would manage a single set of vector data and apply it to each map product. This is problematic because invariably the requirements for different products are inconsistent and at times contradictory. It was found that ambiguous situations arose too frequently and that attempting to address this ambiguity through complex styling rules was not sustainable.
Semantic Portrayal is a means of managing this complexity. Semantic Portrayal consists of three key elements.
-
a Semantic Registry contains the ontologies that encode the details of the portrayal model in a machine-usable way
-
a Semantic Mediation Service which transforms content mapped to a particular ontology (in this case the Portrayal Ontology) to a specific format
-
a Semantic Portrayal Engine which produces maps based on content provided by the Semantic Registry
In the long run, it is easier to map the existing vector data to a Semantic Registry and to use a Semantic Portrayal Engine to produce map products based on the contents of that Semantic Registry. The Portrayal Ontology manages the complexity by encoding the intent of the data in a machine-usable way.
The end result of this workflow is a two-step process. Each member of a community-of-interest maps its own vector data to the Semantic Registry. Representatives of a community-of-interest establish sets of semantic portrayal rules that are also stored in the Semantic Registry. The individual map products are produced through a service chain that goes from vector data → Semantic Registry → Semantic Portrayal Engine. This would specifically meet the need of the Arctic SDI basemap and would also support thematic maps (a requirement of both the Arctic SDI and the Canadian Geospatial Platform) that are portrayed on the server side.
7.3. Client-Side Rendering
The mechanics of client-side rendering are different from server-side portrayal. On the server side, the goal is to produce an image that can be displayed by a client. While this can also be done in the client side, it is more efficient and scalable to use screen rendering (drawing) capabilities. Vector data is much more compact than raster data and therefore can be distributed more efficiently, whether via network or through data formats such as GeoPackage. Since client devices typically have hardware limitations such as processing power and battery life that do not apply nearly as much on servers, efficient rendering techniques are required to support a satisfactory user experience.
The geospatial community has yet to settle on a single technology solution to encode styling information in a way that aligns most closely to screen rendering but this capability is in such high demand that progress is inevitable (while the MapBox approach is the most likely candidate, more research is required before this can be declared definitively), Once this client-side rendering technology is developed, a broad-reaching, interoperable solution is possible. One difference between this and the server-side rendering case is that the combination of dataset and styling rule will not necessarily be known in advance. End users desire the ability to produce mash-ups between different data sources and to apply sensible styles to them.
The Semantic Portrayal capabilities identified in the previous subsection apply equally here. In this scenario, a user selects a dataset that has previously been registered in a Semantic Registry. The user is then able to select from the registry an appropriate style set from the list of compatible style sets. This style set is transformed via a Semantic Mediation Service (if needed) then used by a portrayal engine to produce the required screen output. This is a longer-term problem because there is the additional challenge of proving that the Semantic Portrayal architecture can be fully implemented client-side. However, once this is proven, it will be possible to reproduce thematic maps (for Arctic SDI, Canadian Geospatial Platform, et. al.) in a highly efficient manner.
7.4. Cartographic Guidance
As part of this study, it was observed that there was a lot of frustration with what is considered poor cartographic practices. OGC is in a position to do something about this. It is not just a standards body, it is also a group of highly respected geospatial experts. The group should look for opportunities to identify and promote good cartography.
As other parts of this roadmap are completed, OGC will be more able to promote good cartographic principles. For example, a publicly-available Semantic Registry Service would be a place where high-quality portrayal rules sets could be published. Members of the community can be encouraged to use these rather than developing their own.
8. Roadmap
In this chapter, the roadmap is presented in a series of interrelated activities that will lead to the desired capabilities presented in the Vision.
8.1. Draft Portrayal Conceptual Model (PCM)
8.1.1. Objective and Benefits
In light of the criticisms of the existing SLD and SE standards, there is broad agreement that a new symbology and portrayal standard is required. An updated standard must have a core and extensions model, support multiple encodings, and have a useful default or basic implementation that is suitable for use by a large percentage of the potential user base. A draft standard document describing the portrayal conceptual model (PCM), as presented in Vision, will serve as a starting point for further activities. The PCM will address the limitations of SLD and SE as identified in Limitations of SLD and SE and will ultimately lead to a new OGC standard.
8.1.2. Dependencies
The PCM has no new dependencies, but it does build on prior work from the SLD SWG and Semantic Portrayal activities from recent OGC testbeds.
8.1.3. Status
At the time of writing, the PCM development is currently in progress. A draft specification has been produced and is currently under review by the SLD SWG. It still needs to be harmonized with the Portrayal Ontology that was produced during OGC Testbed 13. The default profile has not yet been established. A candidate standard should be available by the second half of 2018.
8.2. Semantic Portrayal GeoPackage Implementation
8.2.1. Objective and Benefits
In this task, software will be built to demonstrate features which are styled using semantic portrayal, encoded in a GeoPackage, and displayed on a mobile / handheld device. As part of this effort, a GeoPackage encoding for semantic styling information will have to be developed. This work will demonstrate that Semantic Portrayal is a viable technique for client-side rendering of feature data.
8.2.2. Dependencies
This activity builds on activities from recent OGC testbeds. Separate previous activities in recent OGC testbeds have demonstrated the ability to display (render) feature data stored in a GeoPackage on a mobile-handheld device and the ability to execute Semantically-Enabled Portrayal capabilities on a mobile-handheld device. This effort would combine these two capabilities, implementing Semantically-Enabled Portrayal on GeoPackage-hosted data on a mobile-handheld device.
If available, the draft PCM should be used as an input.
8.3. Portrayal Interoperability Experiment
8.3.1. Objective and Benefits
An Interoperability Experiment (IE) will determine whether multiple implementations of the portrayal conceptual model can be used by producers and consumers to share portrayal information and produce compliant maps.
Primary focus will be on the basic implementation of the PCM, but organizations should be free to introduce other profiles. There is a benefit to experimenting whether a portrayal with one or more extensions works properly (sans extensions) in software that is not aware of those extensions.
8.3.2. Use Cases
Arctic SDI
Arctic SDI members should use this IE to prove that the PCM is capable of meeting Arctic SDI needs. To do this, engineers supporting the effort must produce the following:
-
a profile of the portrayal conceptual model that supports all known Arctic SDI portrayal requirements (this profile may or may not include extensions to the portrayal conceptual model);
-
portrayal rules that comply with the PCM and that satisfy Arctic SDI portrayal requirements; and
-
a portrayal engine capable of supporting the PCM as described above.
Once these components are produced, the engine and portrayal rules will be used to produce the base map for an Arctic SDI member country. When this IE is complete, Arctic SDI members will have confidence that the PCM is a robust standard, that there is a profile for the PCM that meets Arctic SDI needs, and that there is a set of styling rules that can be shared across the Arctic SDI.
8.3.3. Dependencies
This is dependent on a stable draft of the PCM and a default implementation (including encoding and mandatory extensions). It is permissible to develop the default implementation as part of the IE but the draft PCM should be developed first and at least be feature-complete before the IE starts. It is normal to revise and refine both the PCM and default implementation during the IE.
8.4. PCM Standardization
8.4.1. Objective and Benefits
Once the PCM is proven as a viable candidate standard as a result of a successful IE, it should be adopted by OGC as a standard. There are likely to be multiple standard documents, one for the core and one for each encoding. In general, the following activities will need to occur:
-
completion of the draft standard
-
approval by the SLD SWG (or its successor)
-
approval by the OGC Architecture Board (OAB)
-
a public 30-day comment period
-
adjudication of comments generated during the comment period by the SWG
-
approval by the OGC Technical Committee
-
approval by the OGC Planning Committee
While not technically required, an executable test suite should also be produced. In addition, proof of multiple implementation is strongly desirable.
Adoption as a standard would be a strong signal to the market that this specification is ready for use. It would also enable organizations to include the technology in procurement language as a requirement.
8.5. Arctic SDI Semantic Portrayal Pilot
8.5.1. Objective and Benefits
A pilot project will explore the emerging Semantic Portrayal capabilities and evaluate them for use as part of the Arctic SDI. The pilot project team will consist of one of the Arctic SDI members, a group of geospatial software engineers, and an OGC representative.
In the first phase of the pilot, a semantically-grounded map representation (containing references to both the feature types required to compose the Arctic SDI basemap and the Arctic SDI semantic portrayal rules) will be produced and stored in a Semantic Registry. The basemap production workflow will be modified so that the Semantic Portrayal Engine runs against the Semantic Registry, reaching out to the vector data stores where needed and applying the appropriate portrayal rules as needed. This will demonstrate that Semantic Portrayal is capable of producing a complex, cartographically accurate map product.
In the second phase of the pilot, one or more thematic maps will be produced using the same workflow. This will demonstrate a complete Semantic Portrayal workflow where multiple semantically-grounded maps can be produced on top of the same data and processed to create multiple diverse, cartographically accurate map products.
8.6. Semantic Portrayal Interoperability Experiment
8.6.1. Objective and Benefits
An Interoperability Experiment will determine whether multiple producers and consumers will be able to share and discover map layers and styles and combine them together to produce compliant maps. Unlike the previous interoperability experiment (focusing on the PCM), this IE will focus on the semantic services (semantic registry, mediation server, and portrayal server) that allow resources to be shared in an intelligent way.
8.6.2. Use Cases
Both Arctic SDI and Canadian Geospatial Platform members should use this opportunity to prove that the Semantic Portrayal ecosystem is capable of meeting the need of supporting user-defined thematic maps. Styles and map layers will be developed independently and stored in a Semantic Registry. Users will be able to discover this information and compose maps from it. The Semantic Mediation Server will transform resources as needed for submission to a client-side Portrayal Server. The Portrayal Server will reproduce the maps on a wide variety of local devices.
8.7. Semantic Portrayal API Standardization
8.7.1. Objective and Benefits
Once the different components of Semantic Portrayal have been proven, their interfaces must be standardized so that they are implementable by different software vendors. The process and benefits are similar to PCM standardization.
8.8. Arctic SDI Semantic Portrayal Implementation
8.8.1. Objective and Benefits
In this activity, Semantic Portrayal as envisioned in this document is implemented by each Arctic Council member. The Arctic Council has a single set of workflows that can be executed by each member organization to produce basemaps and thematic maps.
Appendix A: Supplemental Information
The information in this appendix was collected during the CDS process. It is believed to be informative, but did not fit directly into the narrative that emerged.
A.1. The Standards Process
Open Standards work best when they are part of an orderly progression. They start out as community specifications where one group identifies a set of requirements for a particular domain. This allows disparate groups who have a common problem to solve it the same way. However, community specifications generally lack the robustness of Open Standards. After evidence of implementation, a standards body such as OGC may endorse a community specification, turning it into a Community Standard. A standards body may adopt an Open Standard after documenting specific trackable, testable requirements and putting the ensuing document under rigorous inspection by its members. At the final stage, the standards body provides a compliance suite that allows implementers to prove the compliance of a particular holding.
A.2. Portrayal and Symbology in Three Dimensions
In 2009, there was some effort to bring three-dimensional portrayal into focus (See [OGC-09-166r2] and [OGC-09-042]). Part of this effort was to propose a proof-of-concept extension to SLD to cover the three-dimensional case. This SLD extension was proposed as a method to support a 3D web portrayal system to provide a rendered scene using a set of parameters, in much the same way as a WMS operates.
To support extra styling ideas in 3D, it was proposed in the paper to extend SLD/SE using the following styling mechanisms:
-
Rotation of elements for all three axes
-
Displacements and positions are extended by Z
-
SurfaceSymbolizer for defining surface visualizations (eg. Contour, Elevation)
-
SolidSymbolizer for object volume description
-
Integration of external 3d objects into the scene
-
Defining material properties
-
LOD Handling
-
Billboards
-
3D legends
-
Lines displayed as cylindrical pipes (e.g. for routing, etc.)
Additionally, it was proposed to extend SLD to support the use of Levels of Detail (LODs) as filter parameters in SLD rules. Portrayal rules were also proposed to support complex fills and shading. This approach was tested in an implementation of XNavigator.
This approach has not seen further development as a standard within the OGC. However, portrayal of 3D data is rapidly coming to the forefront as a focus area for some OGC members. Additionally, client software is capable of rendering three dimensional data in real time to a sufficient level of detail to be usable in real-world applications. The data is available, there are formats for storing and delivering the data, there are formats for styling the data on the client, but there is no open method for defining an objects style that is parallel to the 2 dimensional styling methods that exist.
A.3. Defence and Intelligence Community
A.3.1. MIL-STD-2525
MIL-STD-2525 is a military symbology standard; a graphics library of military objects and the uses, capabilities, and status of those objects. It is a visual language that provides a rapid and cognitive understanding of an object, activity, event, task, etc. to DoD service members. This library could very well be a significant contribution to a symbology repository as envisioned by the Geospatial Intelligence Standards Working Group (GWG). MIL-STD-2525 is NOT a military messaging or information exchange standard.
The purpose of the standard is to provide systems with a universal language that enables the capability to visually identify (symbolize) an object, event, task, etc., based upon the Standard Identity reported in tactical data link (TDL) military messages. In MIL-STD-2525, marker symbols are composed of several levels of information (for example, StandardIdentity1, Status, Icon, and so on). Each level’s options are represented by a unique set of one or more digits. These codes are concatenated into a unique Symbol Identification Code (SIDC) that will determine the look of the final symbol. The role of the 2525 SIDC is to enable a system to uniquely identify, acquire, assemble, and depict a military object, event, etc. The 30-digit SIDC enables that capability by using a language that computers understand best: numbers.
The NATO Allied Procedural Publication 6(APP-6) is another military symbology standard developed directly from MIL-STD-2525. Though the standards have changed at different paces, both organizations involved are working together to develop a common comprehensive joint military symbology.
An interoperability experiment [OG-13-080r3] was submitted to the OGC in 2013. One of the experiments was to demonstrate the implementation of the latest draft version of 2525D/APP6C symbolization for a land and maritime based scenario. The report notes that the changes for 2525D specification were an improvement over previous versions of the standard making it easier to support, specifically changes to the binary identifier and the simplification of symbol rules.
A.3.2. Additional Military Layers (AML) Portrayal Specification
[AML] are a set of geospatial data product specifications defined by NATO STANAG 7170. The Portrayal Specification defines symbols and rules for the display of vector AML datasets and supports AML 1.0, 2.1, and 3.0 vector products. It builds on the IHO ([S-52]) Edition 6.1 standard and the Preslib 4.0. Where appropriate, other symbology specifications have been used as the source for symbols and rules, resulting in a comprehensive and interoperable symbology repository. These specifications include IHO S-411, NATO APP-6, MIL-STD-2525, and MIL-DTL-89045A.
Appendix B: Styled Layer Descriptor and Symbology Encoding
Geospatial data (vector and raster) have no intrinsic visual component. In order to see data, it must be styled. Styling specifies color, thickness, and other visible attributes used to render data on a map. A WMS provides a set of style options for each data set; however these are preconfigured by the server, and the user cannot create, inspect, or modify a style. To date, OGC’s efforts to standardize portrayal have focused on two complementary standards, Styled Layer Descriptor (SLD) and Symbology Encoding (SE). The SLD standard enables an application to configure in an XML document how to properly portray layers and legends in a WMS. It uses SE to specify styling of features and coverages. The SLD Profile of WMS enhances a WMS with additional operations to support styling of features from WFS and coverages from WCS.
This appendix captures the current state of these standards.
B.1. Limitations of SLD and SE
As part of the process of producing this ER, the CDS Team has analyzed the limitations of the adopted versions of SLD and SE. While this analysis is independent, it drew heavily on prior work, including work described in other subsections of this Appendix.
The details of this analysis follow.
B.1.1. Tight Coupling of SLD/SE with XML Model
The SLD/SE standards are tightly coupled with the OGC Feature Model and its XML encoding in GML. XML is a poor language for describing information in a concise manner. The implementation of the standards in an OGC Web Map Service (WMS) assumes typically that vector data is provided by OGC Web Feature Service (WFS). Some short notation based on CQL has been introduced to try to bridge the gap, but it is mostly used as syntactic sugar.
There are many formats that are not based on XML such as GeoJSON, Linked Data formats (Turtle, JSON-LD, NT), and Comma Separated Values (CSV). Each of these standards uses different schema language (JSON Schema, OWL, RDFS, CSV schema). When it comes to enable semantic interoperability of portrayal information with a feature model, there needs to be a way to represent the feature model semantically and map it to the different schemas encoding existing for each of the format. There is also a need to have an extensible addressing framework that can accommodate different data models.
Another challenge is the ability to identify feature types in unified way that is independent of the data model used. Most of the OGC standards use XML schema and GML to represent feature type definitions. In Linked Data (such as in GeoSPARQL), Feature types are represented through an OWL class Uniform Resource Identifier (URI). Property Binding in SLD uses XPath to represent paths in XML structure. In Linked Data, properties are typically defined globally and defined as URI. SPARQL Protocol and RDF Query Language (SPARQL) and the Shapes Constraint Language (SHACL) provide a mechanism to define RDF Path. A unified approach is needed to define property paths on different data models (JSON, XML, Linked Data, CSV, etc.).
B.1.2. Addressability
One of the main challenges with the SLD/SE standards is the lack of a global unique identifier for representing the different portrayal information expressed by SLD/SE. The identifiers are identified within the scope of the SLD document and make it hard to reuse and link to other artifacts expressed in other SLDs documents or knowledge base such as feature dictionary. As a result a single SLD/SE file cannot be used to style a map comprised of multiple layers. In addition, because any rule whose criteria matches is immediately a candidate for rendering, it offers no opportunity to further tweak (override) the styles based on additional criteria. Because it does not enable rules overriding, it is also impossible to cascade multiple style sheets so as to customize map styling at multiple levels.
B.1.3. Expression bindings
The OGC SE standard uses OGC Filter Encoding standard [OGC 09-026r2] to express portrayal rules conditions and binding expressions to symbolizer attributes. The OGC Filter Encoding standard describes an XML and Key-Value Pair (KVP) encoding of a system-neutral syntax for expressing the projection, selection and sorting clauses of a query expression. The intent is that this neutral representation can be easily validated, parsed, and then translated into some target query language such as SPARQL or SQL for processing. The OGC SE standard extends the expression model with some pre-built functions commonly used in Portrayal (categorization, formatting functions). While the goal of the OGC Filter Encoding standard is to define a system-neutral syntax, it suffers of many drawbacks.
-
The standard requires to implement converters from OGC Filter to a target native query language (ex. SPARQL, SQL), which are not always trivial to implement against specific target data models.
-
Verbosity: The XML encoding of simple expression can be very verbose compared to other standards query language (CQL, SPARQL).
-
Lack of a standard mechanism to define and share functions.
-
Assumption that the feature model is mappable to XML and can be represented in XML Schema. This is not always the case, always available (ex. JSON, RDF, CSV), or even feasible. Other schema languages can be used such as JSON Schema, OWL, RDF Schema, or CSV Schema.
-
Use of XML QNames: The QName to URI Mapping is broken when trying to map to RDF ontology. Fundamentally, using “QNames” as abbreviations for URIs is a bad idea. QNames have a number of restrictions on them because they are built to be legal XML Names: the kinds of things that one can call elements and attributes. URIs don’t have these restrictions: it’s perfectly possible for the last part of a URI to consist purely of numbers, or to have a slash at the end, or even to have request parameters. Fair enough that meaningful QNames can be used for some URIs, but if one cannot use them properly for all URIs, then there has to be a better way.
All the parameter attribute values for the symbolizers defined in the OGC SE standard XML encoding require an OGC expression based on the OGC Filter specification. This makes the encoding very verbose in case a user wants to assign a simple value such as stroke-width to a number. It also makes it difficult to validate the expression as the actual types of parameter attributes are not strongly typed.
B.1.4. Feature Type modeling
SLD/SE defines two properties to refer to FeatureType information.
-
The FeatureTypeName identifies the specific feature type that the feature-type style is for. It can be optional but only if a feature type is in-context or if it is intended for usage for a number of feature types using SemanticTypeIdentifier.
-
The SemanticTypeIdentifier is experimental and is intended to be used to identify what the feature style (or coverages in case of usage inside a CoverageStyle) is suitable to be used for using community-controlled name(s). For example, a single style may be suitable to use with many different feature types. The syntax of the SemanticTypeIdentifier string is undefined, but the strings “generic:line,” “generic:polygon,” “generic:point,” “generic:text,” “generic:raster,” and “generic:any” are reserved to indicate that a FeatureTypeStyle may be used with any feature type with the corresponding default geometry type (i.e., no feature properties are referenced in the feature style).
These properties are not well adapted to accommodate different schema languages and do provide mechanisms to indicate where to get additional information about the feature types. For example, an OpenStreetMap Feature could be encoded in GML, JSON, or XML and would require one to define a different SLD encoding for each of these schemas. It would be useful to define the feature type at the conceptual (semantic) level and then provide links to different encodings and distributions of the schema. Having a global unique identifier for each feature type will enable the integration/linking of the feature type dictionary with styling information and minimize duplication.
B.1.5. Lack of interoperability
It is not unusual for systems to suffer from interoperability defects in terms of rendering quality. These problems may occur for any of a number of reasons.
-
SLD and SE are relatively complicated standards and it is typical for systems to only implement a subset of them. There is no way for a system to express which parts of the system it does conform to.
-
There are two versions of symbology instructions (SLD 1.1.0 and SE 1.1) and this may confuse parsers.
-
There are ambiguities in the standards that have not been reconciled.
-
There is currently no substantial executable test suite to verify that implementations conform to these standards.
The OGC Compliance and Interoperability Testing Initiative (CITE) was designed to be a clearinghouse for executable tests but that work has not been done in this case. As a result, implementers do not have repeatable, certified processes for verifying compliance.
B.1.6. Lack of extensibility
SLD and SE were not developed with extensibility in mind. There are no explicit extension points defined in the underlying models. This means that there is no mechanism for meeting new capabilities other than creating new versions of the standards. These standards have not been revised in approximately a decade. Failure to standardize basic elements such as stroke width, color, etc. resulted in different vendor extensions for very basic styles (e.g., SVG and CSS parameters).
B.1.7. Lack of capability
Geometry styling requires compliant producers to add appropriate style extensions and compliant consumers to apply styling rules when rendering geometries. The TENET Report ([TENET]) enumerates limitations of the OGC SE in portraying military Alternative Military Layers ([AML]) and hydrographic layers compliant with International Hydrographic Organization (IHO) [S-52].
These limitations include the following.
-
OGC SE does not adequately address complex line styles required to portray complex styles, as found in hydrographic layers, such as anchorage areas. The report notes that incorporation of standards such as SVG would address this problem.
-
OGC SE does not support symbology ‘pivot points,’ that is rotation of symbology about a reference hot spot positioned along an explicitly defined control point geometry.
-
OGC SE does not support feature types that require multiple delineations. It is therefore impossible to define feature portrayals that differentiate between different delineations.
-
SLD does not support conditional symbology, whereby attributes within the features (including spatial relationships with other features) control the display of symbols.
-
OGC SE is insufficiently aligned to ISO 19117, including:
-
PF_FeaturePortrayal uses an attribute to identify the geometry delineation; FeatureTypeStyle does not explicitly support this concept;
-
ISO 19117 models portrayal mapping conditions such as scale, lighting and display medium using the interface PF_Context attached to a higher level interface PF_PortrayalMapping; SE supports scale conditions at the level of the FeatureTypeStyle element; and
-
A PF_PortrayalRule instance is associated with a single SR_Symbol – a composition of other subordinate SR_Symbols and leaf SR_SymbolElements; whereas an SE Rule element may consist of multiple Symbolizers but these do not support the hierarchical structure of SR_Symbol.
-
B.2. Third-party mitigations
A number of organizations have attempted to mitigate the issues with SLD and SE in their own work. The following subsections describe some of these attempts.
B.2.1. GeoServer extensions
GeoServer is a well known and widely adopted web service platform that implements OGC service protocols including the mapping services WMS and WMTS, FPS, and CPS. As a response to real demands for styling functionality, the GeoServer team developed an extension mechanism[GeoServer] to support these evolving styling requirements. Many of the recommendations from the change reports have made their way into GeoServer’s SLD/SE extension as well, but have not fed back into the appropriate standards.
In 2011 a Change request for SE (11-023) was issued highlighting the SE extensions created for GeoServer.
The following SLD extensions are implemented in GeoServer.
-
Transformations - functions that take a source geometry or data and convert it to another geometry or raster for display purposes only, these are used for heatmaps or for vertex extraction.
-
Marker extensions - marker symbolizers include wind barbs, cold fronts, contour markers. Also introduced was the introduction of custom shapes defined using WKT. Font glyphs were also introduced as a source of markers. Externally defined markers are also given a size attribute, properties files containing sets of mark definitions can be used in a method similar to fonts.
-
Dynamic expressions - SLD contains marker or style elements where expressions defining values are fixed. GeoServer introduces the use of CQL to dynamically alter these values using feature attributes.
-
Environment parameters as function input - functions use environment variables passed in the rendering context to set what would be fixed values in an SLD. These can be custom variables, but GeoServer provides standard environment variables describing the output viewport.
-
Labeling improvements - Collision prevention
-
Graphic fill enhancements - margins and randomized graphic placement
-
Color compositing and blending - SVG compositing and blending is supported using "VendorOption" tags.
-
Z-ordering - Z-ordering is used within features to group feature sub-types and their painting order to help with complex issues such as generating attractive road casings.
B.2.2. Alternative encodings
SLD and SE only have XML encodings and their models are strongly linked to XML modeling principles. As there is a long-term trend for disliking XML, particularly in web-based operations, implementers have looked to other data formats.
-
CartoCSS ([CartoCSS]), based on Cascading Style Sheets (CSS), was developed for TileMill, a tile renderer for vector data.
-
YSLD ([YSLD]) was developed in support of GeoServer, an open-source geospatial server. YSLD uses YAML, a human-readable data serialization language, which is more concise and easier to manage than XML.
While these formats have proven to be more convenient to work with than XML, they have failed to gain long-term support.
B.2.3. URL parameters
If a client wants to fully control the styling, the process of creating an XML document and sending it to the server is a little complex. In response, ncWMS (https://reading-escience-centre.github.io/ncwms/) created a scheme using using URL parameters (https://reading-escience-centre.gitbooks.io/ncwms-user-guide/content/04-usage.html#getmap). This is non-standard and a bit less flexible, but is easier on client developers and has been quite successful. Recently, GeoServer has implemented the same scheme (http://docs.geoserver.org/latest/en/user/community/ncwms/index.html).
B.3. Review of relevant research
A number of organizations have performed research regarding the current state of portrayal standards. A review of this research follows.
B.3.1. 17-059 Technical Report from the DGIWG Portrayal Technical Panel Testing of SLD 1.1.0
A report [OGC17-059] was submitted to the OGC by DGIWG in 2017. The report provides the results of an investigation into the usability of SLD/SE for styling of "military-specific topographic feature vector datasets within a number of software products." The paper claims to have found a number of deficiencies in SLD/SE. These reported issues are presented as a barrier to interoperability.
The report re-iterated the concerns of other past change requests and pointed out that certain attributes such as rotation are interpreted differently from application to application. This implies that the specification needs to be more explicit.
Proposed enhancements for SLD are also included in the paper. Deficiencies and requested enhancements are outlined in the accompanying change request, and are listed in Appendix A [SLDChangeRequests]). This change request also acknowledges that GeoServer implements the missing functionality identified in the paper through vendor-specific extensions.
B.3.2. Bocher and Ertz proposal
[Bocher-Ertz] recommends the creation of a new standard for symbology that encapsulates what was previously in SLD[2] and SE. The overall purpose of the effort is to make the standards dedicated to cartography more attractive. The candidate standard will incorporate the recent change requests to SLD and SE (these are summarized in Appendix A [SLDChangeRequests]). In addition, it will implement a modular structure with a core and many extensions. Finally, it will feature a single encoding-neutral conceptual model and many encodings. (XML may be the first or default encoding but this has not been confirmed at this time.)
The paper makes some additional recommendations for this candidate standard:
-
Reintroduce the concepts of PutStyles and GetStyles to relevant web services to enable the discovery and collaboration of styles; and
-
Add new symbolization capabilities, including unit of measure, transformations, functions, CompoundStroke, HatchFill, DiagramSymbolizer, and multiple drawing pass.
Finally, the paper identifies OrbisGIS as a candidate reference implementation for the emerging standard.
B.3.3. SLD SWG
The OGC SLD Standards Working Group (SWG) has reconvened and is in the process of producing a new draft candidate standard consistent with the proposals in [Bocher-Ertz] and the portrayal ontologies developed by Image Matters during Testbed 11, 12, and 13.
B.4. OGC Change Requests regarding SE/SLD
OGC members have issued change requests to SLD and SE. After an initial period of interest, these have not moved forward.
The following is the list of change requests issued against the current versions of SLD/SE. Some are omitted based on their overly specific intent or repetitive nature. These change requests were all submitted between 2010 and 2012.
B.4.1. 10-146 - Add a way to select se:ExternalGraphics using data content
This Change Request (CR) recommends a method for selecting graphics for graphic symbolizers using the data attributes of the feature. This use an se:ParameterValueType as an option for se:ExternalGraphic providing a method to get the external online resource for the graphic. Implementing this would allow an expression that incorporates the feature data to generate a URI for an external graphic.
B.4.2. 10-181 - Add extension point to UserStyle element
The motivation for this CR was to provide a mechanism to reach out to a Portrayal Registry to retrieve a style definition. An SLD user style is inline and not by reference. The implication for this extension is that providers/consumers will be able to exchange customized extensions for style elements to support domain or use case specific applications that are not covered by an accepted SLD version. The comparison in the change request is to the _ExtendedCapabilities element in the WMS capabilities schema.
B.4.3. 10-145 - Add hatching to se:Fill
This CR addresses a symbology shortfall in SE. Hatching is a common fill method in cartography and using the current implementation in SE, must be done with raster fills. This often produces less-than-ideal visual results where raster seams are visible. The CR proposes using a new element se:HatchedFill, with stroke, angle, distance, and reference point to support this cartographic need.
B.4.4. 11-024 - Cartogram Symbolizer
Cartograms are a thematic mapping tool that enables cartographers to emphasize some characteristic of a theme such as population density using distortion of features. This CR proposes a CartogramSymbolizer to distort features using a feature attribute and distortion level. The background for this CR is a paper by the author that provides a reasonable overview of the shortcomings of SE/SLD related to thematic mapping and the efforts of some developers and researchers to address these shortcomings.
B.4.5. 11-131 - Composite rule with support for 'Else If' and nested objects
The purpose of this CR was to support the addition of a method to nest rules. This nesting supports the selection of multiple rules to style a feature. The example this change request provides is the addition of multiple geometries that may or may not be required to render the primary feature being styled. This change request also proposes that filter clauses within the rules be tagged to function as if/else rules. The inclusion of if/else will prevent the need to have "a condition that is the inverse of the conditions of the other rules." A further change request, 11-148, Symbolizer for styling of nested child objects,
separates the child symbolizer idea from the composite rule, but is essentially one half of this change request. As the author points out:
In fact, the functionality described in the composite rule CR is in itself sufficient to meet the styling requirement, so this one can be seen as useful but not a necessity if the composite rule CR is adopted.
OGC Change Request 11-148
B.4.6. 10-139 - Rapport in repeated linear patterns generated by se:Stroke
When repeated stroke patterns are applied to lines or boundaries, the length of line between patterns often causes strokes/ticks etc at the closure of lines to interfere with each other. Rapport is scaling the distribution of the pattern symbolizers on the line to be cartographically correct. The distance between patterns placed on the line must be adjusted from the supplied value to one that generates a more aesthetically correct result. This CR proposes a modification to se:Stroke to toggle rapport.
B.4.7. 10-143 - Reformulate specification on scale selection in Rules
This CR claims that the description of how to interpret scale based on pixel size in the SE specification is confusing and misleading. Scale in the specification is based on a pre-determined pixel size. At issue is the reality that pixel sizes in different mediums such as computer monitors and paper are variable. If interpreted according to the specification, a styling engine will select different rules from medium to medium when those rules are based on scale. The example given in the change request is the different results using the pixel size of printer output vs. the pixel size of monitor output.
B.4.8. 12-170 - Replace ogc:filter with fes:AbstractQueryExpression
The current version of SLD/SE is dependent upon OGC Filter Encoding Specification(FES) 1.1.0. FES is at 2.0 and supports the idea of an AbstractQueryExpression which can include query expressions that include newer components of WFS queries. This change request is a solution to extend the SLD query mechanism to accommodate new changes in WFS. If implemented, this solution would align Web Feature Processing Services with the some WFS 2.0 enhancements.
Appendix C: 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.
-
control point geometry
Refers to the geospatial positions that define the parametric control points for a symbol. Control point geometry is expressed in absolute spatial coordinates, which often corresponds exactly with the feature geometry, but are not bound to topology rules. Within the scope of this discussion, control points refer to the corresponding control points within the symbol definition, including point ordinality restrictions.
-
delineation
Refers to the geometric dimension associated with the spatial attribute used to portray a feature.
-
extended symbol ID
The concatenation of the symbology set identifier and the symbol identifier is collectively referred to the extended symbol ID for the purpose of this document. The extended symbol ID uniquely identifies a symbol across all possible symbol sets.
-
feature geometry
Refers to the geospatial positions that define a simple feature, such as a point, line, polyline, or polygon. Feature geometries are typically expressed in absolute spatial coordinates, and are bound by simple feature topology rules.
-
map
A pictorial representation of geographic data.
-
military symbology
Pictographic representations of features, movements, or events on a map or other geospatial display context that convey information visually, particularly as it pertains to military arts (e.g. MILSTD-2525, NATO-APP6)
-
portrayal
The process of transforming geospatial data into a format suitable for visualization.
-
rendering
The process of drawing visual information onto a screen.
-
style
A document that defines the visual appearance of a map.
-
symbol geometry
Refers to the drawing primitive geometry that is required to render a symbol at the location designated by the feature geometry. Symbol geometry is typically expressed in coordinates relative to the feature geometry.
-
symbol identifier (symbol ID)
Each unique symbol within a symbology set is assigned a unique identifier within the symbology set. Each symbology set defines a set of rules for the composition of symbol components that are assembled from a decomposition of the symbol ID. For the purpose of this discussion, the symbol is modeled as an opaque resource string of indeterminate length, as it is beyond the scope of this document to detail symbol ID composition rules, which vary by symbology set, revision, and even among change notices.
-
symbol modifier
Military symbology specifications (MIL-STD-2525 and NATO APP-6) allow the addition of text and graphic modifiers to be applied to a base symbol. For the purpose of this discussion, these modifiers further extend the extended symbol ID to define the symbol instance resource identifier. The symbol instance resource identifier must uniquely identify the symbol instance and the binding of a specific feature.
-
symbology set
A collection of pictograms or glyphs that are used to visually depict features. A symbology set may also include an explicit set of rules for the composition and rendering of symbol. A symbology set may also rely on implicit rules for rendering a symbol, consisting of a single PNG or SVG renderable object for each unique symbol ID. A symbology set identifier is a opaque resource string of indeterminate length that uniquely identifies the symbology set. It is beyond the scope of this document to document the details of the symbology set identifier (E.g. MIL-STD-2525B-CN1, NATO-APP6(B), or HSWG-ERS-2.0)
-
technical symbology
Pictographic representations of features, movements, or events on a map or other geospatial display context that convey information visually, particularly as it pertains to technical or scientific arts, such as weather symbols, emergency management symbols, aviation, geology, agriculture, or any specialized fields that uses pictorial representations of ground, air, or water features (e.g. Homeland Security Working Group Emergency Response Symbology).
Acknowledgements
The OGC expresses its gratefulness to its sponsor Natural Resources Canada for supporting this work. The authors would like to express their gratitude to the following companies and organizations, who provided support and contributions to the Concept Development Study.
Organisation/Company
Compusult Ltd.
Geographic Service of the Czech Armed Forces
Image Matters LLC
NGA / GWG
NRCAN
OGC
Strategic Alliance Consulting Inc. / AGC
UK Hydrographic Office
virtualcitySYSTEMS
US Army Geospatial Center
Appendix D: Revision History
Date | Editor | Release | Primary clauses modified | Descriptions |
---|---|---|---|---|
2018-01-04 |
J. Yutzler |
.1 |
all |
IER |
2018-04-10 |
J. Yutzler |
.9 |
all |
DER |
2018-05-17 |
J. Yutzler |
.91 |
all |
PER |
2018-06-15 |
J. Yutzler |
.92 |
1, 4, 8, 9 |
ER |
Appendix E: Bibliography
-
A redesign of OGC Symbology Encoding standard for sharing cartography, 8 January 2018. https://peerj.com/articles/cs-143.pdf
-
Feature Attribute Coding Catalog (FACC) – DIGEST Part 4, https://www.dgiwg.org/digest/html/DIGEST_2-1_Part4.pdf, Nov 2015
-
Some Unresolved Issues with the OGC Symbology Encoding (SE), 18 July 2008, http://portal.opengeospatial.org/files/?artifact_id=29160
-
NATO Vector Graphics Protocol, Version 2.0, TIDE Baseline 4, Allied, Command Transformation, 22 May 2015, https://tide.act.nato.int/tidepedia/images/6/6a/TTB_ANNEX_N_NATO_Vector_Graphics_v2.0.pdf.
-
CartoCSS – Stylesheets for Maps, http://tilemill-project.github.io/tilemill/docs/manual/carto/
-
MapBox Style Specification, https://www.mapbox.com/help/studio-manual-styles/
-
MapBox Vector Tiles Specification, Version 2.1, https://www.mapbox.com/vector-tiles/specification/
-
Map Markup Language, October 13, 2015, https://maps4html.github.io/MapML/spec/
-
MapML Engineering Report, January 11, 2018, http://docs.opengeospatial.org/per/17-019.html
-
Testbed-11 Symbology Mediation, https://portal.opengeospatial.org/files/?artifact_id=64385
-
Testbed-12 Vector Tiling Engineering Report, http://docs.opengeospatial.org/per/16-068r4.html
-
Testbed-12 Vector Tiling Implementation Engineering Report, http://docs.opengeospatial.org/per/16-067r4.html
-
Testbed-12 Semantic Portrayal, Registry and Mediation Engineering Report, http://docs.opengeospatial.org/per/16-059.html
-
Testbed-13 Portrayal Engineering Report, http://docs.opengeospatial.org/per/17-045.html
-
OpenGeoSuite 4.3 Component Manuals, Web Map Styling with YSLD, http://suite.opengeo.org/docs/latest/cartography/ysld/index.html, Dec 2015.
-
STANAG 7170, Additional Military Layers(AML) - Digital Geospatial Data Products, https://www.ukho.gov.uk/Defence/AML/Documents/Item%2071%20Additional%20Military%20Layers%20Portrayal%20Specification.pdf
-
Joint Military Symbology - MIL-STD-2525D; MIL-STD 2525 Revision D, superseding version MIL-STD-2525C.
-
Common Warfighting Symbology - MIL-STD-2525C; MIL-STD-2525 Revision C, superseding version MIL-STD-2525B w/CHANGE 2, Common Warfighting Symbology.
-
NATO Joint Military Symbology - NATO APP-6C; NATO APP-6 Revision C, superseding version NATO APP-6B
-
NATO Military Symbology - NATO APP-6B; NATO APP-6 Revision B
-
OGC ® Military Operations Geospatial Interoperability Experiment (MOGIE) , November 2013, https://portal.opengeospatial.org/files/?artifact_id=552522013
-
Extending SLD and SE for cartograms, Emanuel Rita, https://www.ttu.ee/public/e/ehitusteaduskond/Instituudid/Teedeinstituut/Geodeesia_oppetool/oppematerjalid/54.pdf, 2011
-
Visual Map Designer for Mapbox GL, http://editor.openmaptiles.org/#0.55/-0/0, 2018
-
SLD Extensions in GeoServer, http://docs.geoserver.org/latest/en/user/styling/sld/extensions/index.html, 2018
-
ol.style http://openlayers.org/en/master/apidoc/ol.style.html, 2018
-
Technical report from the DGIWG Portrayal Technical Panel testing of SLD (1.1.0) for OGC http://docs.opengeospatial.org/dp/17-059/17-059.html , 2017
-
QoSE DWG Quality of Service Experience - Discussion Paper 17-049 https://portal.opengeospatial.org/files/?artifact_id=74403&version=1, 2017
-
[] Arctic SDI Framework Document v2.0, June 2015, https://arctic-sdi.org/wp-content/uploads/2014/08/20150825-Arctic-SDI-Framework-Document_V2-0.pdf
-
[] Spatial Data Infrastructure (SDI) Manual for the Arctic v1.0, September 2016, https://arctic-sdi.org/wp-content/uploads/2017/04/SDI-Manual-for-the-Arctic-EDITED2_PS.pdf
-
Web View Service Discussion Paper, February 2010, http://portal.opengeospatial.org/files/?artifact_id=37257
-
3D-Symbology Encoding Discussion Draft, October 2009, http://portal.opengeospatial.org/files/?artifact_id=32904
-
Portrayal Registry Service Interface Specification - 118, April 2013, https://portal.dgiwg.org/files/?artifact_id=8487&format=pdf
-
Elements of Cartography, Arthur Howard Robinson, Randall D. Sale, Joel L. Morrison, Wiley, Jan 1, 1978 - Cartographie - 448 pages
-
Toward principles for the design of ontologies used for knowledge sharing? Gruber, Thomas R. International journal of human-computer studies 43, no. 5 (1995): 907-928.
-
Structure-based partitioning of large concept hierarchies. Stuckenschmidt, Heiner, and Michel Klein. In The Semantic Web–ISWC 2004, pp. 289-303. Springer Berlin Heidelberg, 2004.
-
Modular ontologies: concepts, theories and techniques for knowledge modularization. Stuckenschmidt, Heiner, Christine Parent, and Stefano Spaccapietra, eds. Vol. 5445. Springer, 2009.