FOSS4G Code Sprint
I’m at FOSS4G this week. I’ll be at the code sprint at the end of the week and thought it might be a good idea to write up some thoughts about what I’d be interested in working on there. I’m breaking the list down by project.
I’ve also been eyeing One-Jar as a means of producing an executable Jar distribution of the Scala interpreter with GeoScript and GeoTools preloaded, as a really simple means of trying out GeoScript (no installer needed) for those who don’t want or need to learn SBT.
gsconfig.py is a Python library for controlling GeoServer remotely. It’s already in heavy use in the GeoNode project but can be useful for smaller tasks as well – for example, here’s a script using it to copy a layergroup from one GeoServer to another. Again, documentation would be useful – one thing I feel is really missing from the documentation is some info on hacking it 🙂 There are a lot of corners in the GeoServer REST API which are currently not supported in gsconfig, and it would be nice if it was more accessible for those sorts of improvements to be made by developers other than me. Fortunately, Python is a nice language and gsconfig does a pretty simple task (effectively just slicing, dicing, and duct-taping XML documents together) and the whole thing is less than 1500 lines of code, so an overview for developers should be pretty attainable.
I also received a brisk reminder during my tutorial on GeoServer Scripting with Python that there is no documentation online about how to actually install gsconfig for use in Python scripts 🙂
mapnik2geotools is a tool (in Scala, of course ;)) to translate map styles between Mapnik XML and OGC’s SLD standard (complete with support for GeoServer extensions and using GeoServer’s REST API to set up the styles in a live GeoServer instance.) It’s a rough project at this point, but I think an interesting one. It also doesn’t use or need too many exotic features of the Scala programming language, so if you are interested in getting started with Scala, hacking on mapnik2geotools might be a good introduction to the language. While we have used it a bit at OpenGeo for bootstrapping our OpenStreetMap styling efforts, I haven’t had a lot of time to refine it, and there is a lot of room for improvement. I am not even going to list ideas here 🙂 but instead refer readers to the Github issues list.
The GeoServer CSS module is another style converter I work on. There are some interesting problems left to be solved, and some polish to be added to the GeoServer UI related to it. It would be interesting this weekend to think about styling raster data with CSS. Automatic conversion of existing SLD documents into CSS would also be an interesting and useful feature. I haven’t considered the deeper GeoServer integration too much, but the interactive styling page could use some cleanup (and maybe generalization to work with SLD styles too). It would also be interesting to allow inline CSS in WMS requests, and possibly have a REST API for getting SLD equivalents to CSS, for use with OpenLayers.