Back to top

GeoStyler Code Sprint 2024

From Monday, 17.06 until Friday, 21.06.2024 the third GeoStyler Code Sprint took place in the offices of IGN in Paris, France. 16 motivated coders from France, Germany and Switzerland participated and provided great contributions to the GeoStyler project.

We want to thank everyone who contributed to the GeoStyler project. Thank you for your motivation and engagement, for all your great contributions, for all the ideas that came up during the code sprint and for all the fun we had during this week! You are awesome!

Thank you

@kaivolland, @hwbllmnn, @jansule, @geographika, @slafayIGN, @ocruze, @pprev94, @jwkaltz, @ger-benjamin, @linegallen, @sarastreit, @myriamfischer, @thomasmarti, @eschuh, @bsteinemann, @antonellostruzzolino!

Code Sprint Members


Sponsors

We also want to thank the sponsors of this year’s code sprint:

IGN France logo


FOSSGIS logo


Thank you, IGN, for hosting the code sprint and providing the fantastic catering!

Thank you, FOSSGIS e.V., for funding the travel expenses for many of our participants!

Thank you, Pozi and all other OpenCollective contributors, for sponsoring the social event!

Thank you, terrestris GmbH & Co. KG, for handing out these great GeoStyler cups!

Additional thanks to all companies that supported this event by allowing their employees to participate!

Without you the code sprint would not be possible and we would miss out on such a great community!

So thank you, @camptocamp, @compassinformatics, @IGNF, @kanton-aargau, @terrestris!

Contributions

During the Code Sprint, we achieved the following:

GeoStyler ArcGIS Parser

One of the probably biggest and hopefully most impactful achievements is the introduction of the geostyler-lyrx-parser which allows for parsing of ArcGIS Pro styles (.lyrx format)! The parser is based on the GeoCat/bridge-style and was ported from Python into TypeScript. It is now integrated into the GeoStyler ecosystem, so that it integrates seamlessly with all the other existing parsers! That means that it is now possible to convert ArcGIS styles to QGIS, Mapbox, OpenLayers, and SLD! So far reading ArcGIS Pro styles with features layers, meaning point, line, polygon or text classes, with margin, padding, offset, colors and more is possible! Expressions are already implemented but need some corrections. Handling icons is a work in progress.

Kudos to @ger-benjamin, @jwkaltz, @myriamfischer, @thomasmarti, @eschuh, @bsteinemann.

Besides that, an ArcGIS integration was created that allows for visually comparing ArcGIS styles with their SLD equivalents, making use of the GeoStyler REST API.

Kudos to @myriamfischer, @thomasmarti, @eschuh, @bsteinemann.

GeoStyler QGIS Plugin

Making use of the geostyler-cli, a new QGIS Plugin called geostyler-qgis-plugin was created that allows exporting layer styles from QGIS into the other formats supported by GeoStyler. In the future, we also intend to extend the plugin with importing capabilities, so that users are able to import other styling formats into QGIS.

GeoStyler QGIS Plugin

Kudos to @geographika, @jansule.

GeoStyler CLI

Dependencies in the geostyler-cli were upgraded to their latest versions. Furthermore, the executing commands for the different environments such as node, npx, binary executable, were harmonized. For all environments, the executing command will now be geostyler-cli!

Kudos to @geographika, @jansule.

GeoStyler-Style

The geostyler-style was extended with additional function expressions. The basic casting expressions toNumber and toString were added, which allow for converting values to numbers and strings, respectively. Additionally, step and interpolate expressions will now be supported, making it possible to provide categorized and interpolated values.

Kudos to @kaivolland, @jansule.

GeoStyler Mapbox Parser

The geostyler-mapbox-parser now successfully reads colors as hex-codes as well as RGBA strings into the GeoStyler style. This works for both hardcoded color values and color values in (nested) expressions. Also the parser now supports the newly introduced interpolate expression.

Kudos to @jansule.

GeoStyler SLD Parser

The usability of the geostyler-sld-parser was improved by automatically reading the version of a given SLD from the style itself. Through this, it is now possible to up-/downgrade SLDs while using only a single instance of the parser. Additionally, the geostyler-sld-parser now supports translating its error messages into multiple languages, which allows for easier communicating styling errors with the style editors.

Kudos to @ocruze, @pprev94.

GeoStyler UI

The GeoStyler UI was improved by adding an upload file button to the code editor. Additionally, the expressions UI was extended with elements for the case and step function expressions.

GeoStyler UI Step Expression

Kudos to @kaivolland, @pprev94.

GeoStyler Visual Comparator

A not-yet published tool for visually comparing different styles that were processed by GeoStyler was improved by adding additional styles to compare and tweaking the UI.

GeoStyler Visual Comparator

Kudos to @jansule.

GeoStyler Homepage Design

A new design concept for the GeoStyler Homepage was created that serves all static content at one place. As part of that, the homepage, tutorials, showcases, demo applications and more should all be directly accessible from the homepage. The new design is intended to better deliver the message of GeoStyler while still being easy to maintain.

GeoStyler Homepage Design

Kudos to @linegallen, @sarastreit, @antonellostruzzolino, @slafayIGN, @jansule.

ESModule Builds

The GeoStyler packages were harmonized and now all provide ESModule builds in their distributions. We also moved from webpack to vite and vitest in order to simplify our tooling.

Kudos to @kaivolland, @hwbllmnn.

GeoStyler REST

The GeoStyler REST API received some updates and now makes use of bun.

GeoStyler Rest Image

Kudos to @kaivolland.

GeoStyler and the French State Design System

IGN started working on integrating the GeoStyler UI components into applications using the French State Design System, showcasing the customization possibilities of these components.

GeoStyler in French State Design System

Kudos to @ocruze.

Additional achievements

Besides the above mentioned achievements, we also managed to upgrade dependencies, updated pipelines to include semantic-release and webhooks that notify our discord users about published releases, for many of our repositories. It is now also possible to publish beta releases in order to try out experimental features.

Kudos to @hwbllmnn, @kaivolland, @bsteinemann, @geographika, @jansule.

Stats

GeoStyler Code Sprint Stats

We especially want to welcome our new contributors to the GeoStyler project! We are happy for a growing community and are looking forward to the future development of the GeoStyler project.

Again, we want to thank everyone who participated in this Code Sprint. It was great fun and an absolute pleasure working with you! We are already excited to see you again on the next GeoStyler Code Sprint.