[OpenLayers-Dev] SLD parsing and rendering

Andreas Hocevar andreas.hocevar at gmail.com
Wed Oct 17 16:35:20 EDT 2007


Hi,

the SLD parsing and rendering component (#533, [1]) I was working on
with Pierre Giraud of Camptocamp at the FOSS4G code sprint is now
ready for review. Since the code sprint, there have been major
improvements:

* OGC filter rules are no longer translated to JavaScript eval
snippets. There is a new object hierarchy under OpenLayers.Rule with
classes to store and evaluate rules. The big advantage of that is not
only performance, but also that it is much easier to use as a starting
point for a SLD editor that has to store rules and write them back to
a SLD file.

* More of the OGC filter spec is supported, namely the PropertyIsLike filter.

* Parsing of sld:NamedLayer/sld:Name and sld:UserStyle/sld:IsDefault.
Based on that, vector layers can now take the whole result hash of
OpenLayers.Format.SLD.read() as style property and automatically use
the default style for the NamedLayer that has the same name as the
vector layer and is marked as IsDefault.

* Improved example with the Tasmania data set from Geoserver [2]. The
first version of this was contributed by Alex of Lisasoft, along with
thorough testing.

* TestAnotherWay tests for basic functionality of all new classes.

* Improved code readability and comments.

* Changes on the OpenLayers trunk codebase are limited to a few lines
in two files: Layer/Vector.js and Control/SelectFeature.js

Please have a look at it, I hope you share my opinion that this thing
is ready for moving it to trunk. If not, feel free to comment on it
and tell me what to improve.

Once this is finished, it will be used for styling vector layers in
Mapbuilder based on the SLD properties in View/OWS Context documents.
It should also be a solid ground to build a SLD editor upon.

Regards,
Andreas.

[1] http://trac.openlayers.org/ticket/533
[2] http://dev.openlayers.org/sandbox/ahocevar/sldRenderer/examples/gml-tasmania-sld.html



More information about the Dev mailing list