GeoStyler Code Sprint 2022

From Tuesday, 07.06 until Friday, 10.06.2022 the first GeoStyler Code Sprint took place. 12 motivated coders from all over the world participated and provided great contributions to the GeoStyler project. Among them were four employees of terrestris who are also members of the GeoStyler Core Team.

During the Code Sprint, many new features were implemented, bugs were fixed, and GeoStyler was improved in multiple ways.

We thank all the participants of the Code Sprint for their contributions and engagement in the GeoStyler community!

Please see also the official blog post on

terrestris could contribute to following achievements:

GeoStyler User Manual

GeoStyler now has a user manual, which provides a user-centric description on how to style geodata with GeoStyler. It is still a work in progress but can already accessed at

GeoStyler CardLayout

A new layout was added to GeoStyler that focuses on being mobile-friendly and minimalism.

GeoStyler GeoServer Plugin

The GeoStyler community extension for GeoServer was improved by adding tests, pipelines and bugfixes. The extension is now maintained in its dedicated repository geostyler-geoserver-plugin.

Support for Expressions

For quite a while, the GeoStyler team was working on the support of expressions in GeoStyler. Through these, it is possible to set styling properties attributively and feature-based, which allows for more compact and dynamic styles. For example, color values can be calculated based on a function that uses attributes of the dataset as function arguments. So instead of providing a single rule for each possible color value respectively, users can now provide a single rule that describes the color value for all features based on a single expression.

Expressions are now supported in the geostyler-style format and were already implemented for the geostyler-cql-parser and the geostyler-sld-parser.

Unsupported properties

The GeoStyler UI as well as the geostyler-openlayers-parser and geostyler-sld-parser make now use of the unsupportedProperties interface. Due to these changes, the UI can now gives hints about properties that were used in the UI but are not supported by a specific parser.


All class based React components were refactored into the more compact and better maintainable function components.