I guess BuildingSymbolizer specifies height in screen pixels.I've done it with <ogc:Function name="offset">, specifying the same value and the result looks similar.
I also found ot, that converting mapniks
([render] = '3_inline') and ([stylegroup] = 'railway') and ([type] = 'subway') and ([tunnel] = 1) construction
results in nested
<And>
<And>
<And>
SLD tags, when it could be just one <And> tag. Idon't know how much it influences on the rendering speed, but it surely adds some lines of XML to the style.
This probably does not have much impact on performance. I know SLD file size can be an issue but as I said Mapnik2Geotools is very much an incomplete project. I am not actively working on it, and if I were then reducing nested filters would be a pretty low priority while there are Mapnik tags that are not supported at all.
David, I'm trying to convert OSM Bright mapnik style (
http://db.tt/eczllCEr) with mn2gt, and I'm having some hard times with that.
I've managed to get SLD files from mapnik XML and I've created postgis views for them manually, registered every layer in geoserver and created a layer group with this styles.
The result looks somewhat different from what I get with TileMill (I guess I'll get the same in pure Mapnik - haven't tried it out yet).
The basic difference is that the converted styles have only one FeatureSymbolizer per style, so mn2gt basically ignores the drawing order, which is very important for roads/bridges/tunnels outlines and casing.
So now I have to figure out how to apply a different conversion or edit about 50000 lines of SLD XML.
Are you aware that mn2gt can automatically configure GeoServer with a layergroup in the right order? It should handle multiple featuretypes properly, but I am quite ready to believe there are bugs in the way it's handled.
I'm pretty much sure, that geoserver SLD renderer can draw pretty much everything mapnik can, but there's gotta be an easier way to generate filter-heavy sld's.
Geoserver CSS module is quite nice fo that, but it lacks some SASS/LESS features like variables, nesting etc., that TileMill's Carto language has. Maybe Carto styles can be converted directly to SLD somehow?
And Geoserver has a great advantage comparing to TileMill/TileStream in that you don't have to seed tiles to mbtiles storage before publishing them, tiles can be generated/updated on the fly.
Now I'm looking at mapnik + mapproxy solution for serving out a basemap, but I really like geoserver better 'cause it's much more flexible, so maybe I'll try rearranging SLD rules somehow programmatically to get a better result.
What do you think?
Mapnik2GeoTools actually already does some re-ordering - the SLD spec requires a particular ordering of elements within rules so this ensures that they are in the right order. It might be applicable to your problem as well.