This repository hosts the working draft documents for the OGC Styles & Symbology Models and Encodings - Part 1: Core ("SymCore") 2.0.
The latest version of this draft is available in HTML or PDF.
In comparison to the current OGC Symbology Conceptual Model: Core Part ("SymCore") version 1.0, the new draft candidate Standard aims to better reflect its classification as an OGC Implementation Standard by including the requirements classes needed to enable the implementation of interoperable encodings, renderers (e.g., OGC API - Maps / OGC API - Tiles) and systems parsing and/or generating style definitions (e.g., OGC API - Styles, visual style editors, style transcoders).
It does so by featuring:
- A modular logical and conceptual model for styling capabilities,
- A minimal Core requirements class including clear extension mechanisms, through the definition of abstract Selectors, Symbolizers, and Expressions,
- a basic Vector Styling requirements class,
- a basic Coverage Styling requirements class,
- requirements classes providing additional styling functionality,
- a JSON encoding of the conceptual and logical model facilitating machine readability,
- a CSS-inspired encoding of the conceptual and logical model facilitating hand-editing.
The current published version of OGC Symbology Conceptual Model: Core Part (SymCore) 1.0 is available in HTML or PDF.
This draft candidate Standard defines conformance classes for:
- a core symbology conceptual and logical model based on Styles as a list of Styling Rules consisting of a Symbolizer and optional Selector Expression,
- basic vector styling,
- basic coverage styling,
- basic labeling,
- hill shading,
- font outlines,
- shape graphics including circles, ellipses, arcs, rectangles (rounded or not) and paths (polylines and polygons),
- dashed strokes,
- casing and center lines,
- hatches, gradients and stipples
- expressions as parameter values for any symbolizer properties,
- using identifiers in the right side of operation expressions,
- conditional expressions,
- variables,
- arithmetic operators,
- bitwise operators,
- text relation operators,
- function call expressions,
- spatial relation standard functions,
- temporal relation standard fuctions,
- array relations standard functions,
- text manipulation standard functions,
- geometry manipulation standard functions,
- specific joins and caps for Strokes
- Graphic pattern Strokes,
- Graphic pattern Fills,
- shape outlines,
- vector graphic hierarchy, including full 2D transforms,
- 3D model graphics and 3D transforms,
- JSON encoding that can be readily parsed by a generic JSON parser,
- Cascading Cartographic Symbology Style Sheets, a more expressive encoding inspired from Web CSS and other cartographic CSS-like (e.g., GeoCSS, CartoCSS, MapCSS, GNOSIS CMSS) which is better suited to hand-edit styles.
Join the OGC Styles & Symbology mailing list.
Visit the OGC Styles & Symbology project on the OGC portal after signing the Observer Agreement.
Most work on the specification takes place in GitHub issues, so browse there to get a good idea of what is happening, as well as past decisions.
The contributor understands that any contributions, if accepted by the OGC Membership, shall be incorporated into OGC standards documents and that all copyright and intellectual property shall be vested to the OGC.
The OGC Styles & Symbology Standards Working Group (SWG) is the group at OGC responsible for the stewardship of the standard, but is working to do as much work in public as possible.
Pull Requests from contributors are welcomed. However, please note that by sending a Pull Request or Commit to this GitHub repository, you are agreeing to the terms in the Observer Agreement.