Kategorien
Meinung

CSS vs. SLD

Die Frage ob man Layerstyles für den GeoServer besser als Cascading Style Sheets (CSS) oder als Styled Layer Descriptor (SLD) verfasst ist nicht eindeutig zu beantworten. Mehreren Faktoren spielen eine entscheidende Rolle. Welche, möchte ich Ihnen im folgenden beantworten.

Wer in die Verlegenheit gerät einen Kartenserver zu betreuen, ist mit an Sicherheit grenzender Wahrscheinlichkeit mit dem „heiligen Dreiklang der Webentwicklung“ – HTML / CSS / JavaScript – vertraut. Die im Vergleich zum XML-Schema SLD wesentlich simplere Syntax verleitet schnell zu der Festlegung auf CSS, doch Sie sollten mit dem kaskadierenden Verhalten von CSS wirklich vertraut sein, um ungewollte Effekte zu vermeiden (vgl. GeoServer, CSS Cascading).

Anders als CSS ist SLD ein Standard des Open Geospatial Consortium (OGC) und wird von vielen (fast allen) Anwendungen im „Open-GIS-Umfeld“, sowie von den meisten proprietären Systemen unterstützt (vgl. OGS, SLD). Der mehr Aufwand, den das Erlernen einer neuen Fähigkeit mit sich bringt, kann sich für Vollblutgeoinformatiker also durchaus auszahlen, wenn es darum geht gleiche Stiele auf mehreren Systemen zu verwenden.

Die native Form Ebenenstile für den GeoServer zu definieren ist SLD. Die Verwendung von CSS wird nur über eine (üblicherweise automatisch mit installierte) Erweiterung ermöglicht. Die in CSS formulierten Stiele werden intern in SLD umgewandelt (GeoServer, CSS-Styling). Das dies nicht immer reibungslos funktioniert zeigt der Versuch mit GeoServer Version 2.15.1 eine klassische Bahnsignatur mit metrischen Angaben zu erzeugen (Beispiel und Lösung finden Sie hier).

Fazit

Wer in kleinen Projekten schnell und unkompliziert zum Ziel kommen will für den ist CSS die richtige Wahl. Wer die volle Funktionalität und absolute Kontrolle über sein Projekt wünscht der kommt um SLD nicht herum. In der Praxis können Sie natürlich beide Möglichkeiten in ein und demselben Projekt verwenden, CSS für die einfachen Aufgaben und SLD dort, wo CSS an seine Grenze stösst.

Quellen und Links

GeoServer, CSS-Styling https://docs.geoserver.org/latest/en/user/styling/css/index.html

GeoServer, CSS Cascading https://docs.geoserver.org/latest/en/user/styling/css/cascading.html

OGC, SLD https://www.opengeospatial.org/standards/sld