SLD Point Stacker

<?xml version="1.0" encoding="ISO-8859-1"?> <StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <NamedLayer> <Name>g_stacker</Name> <UserStyle> <Title>Point Stacker</Title> <Abstract>A sample style that aggregates points</Abstract> <FeatureTypeStyle> <Transformation> <ogc:Function name="gs:PointStacker"> <ogc:Function name="parameter"> <ogc:Literal>data</ogc:Literal> </ogc:Function> <ogc:Function name="parameter"> <ogc:Literal>cellSize</ogc:Literal> <ogc:Literal>50</ogc:Literal> </ogc:Function> <ogc:Function name="parameter"> <ogc:Literal>outputBBOX</ogc:Literal> <ogc:Function name="env"> <ogc:Literal>wms_bbox</ogc:Literal> </ogc:Function> </ogc:Function> <ogc:Function name="parameter"> <ogc:Literal>outputWidth</ogc:Literal> <ogc:Function name="env"> <ogc:Literal>wms_width</ogc:Literal> </ogc:Function> </ogc:Function> <ogc:Function name="parameter"> <ogc:Literal>outputHeight</ogc:Literal> <ogc:Function name="env"> <ogc:Literal>wms_height</ogc:Literal> </ogc:Function> </ogc:Function> </ogc:Function> </Transformation> <Rule> <PointSymbolizer> <Graphic> <Mark> <WellKnownName>circle</WellKnownName> <Fill> <CssParameter name="fill">#0000FF</CssParameter> <CssParameter name="fill-opacity">0.5</CssParameter> </Fill> </Mark> <Size><ogc:Mul><ogc:PropertyName>countunique</ogc:PropertyName><ogc:Literal>3</ogc:Literal></ogc:Mul></Size> </Graphic> </PointSymbolizer> <TextSymbolizer> <Label> <ogc:PropertyName>countunique</ogc:PropertyName> </Label> <Font> <CssParameter name="font-family">Arial</CssParameter> <CssParameter name="font-size">12.0</CssParameter> <CssParameter name="font-style">normal</CssParameter> <CssParameter name="font-weight">normal</CssParameter> </Font> <LabelPlacement> <PointPlacement> <AnchorPoint> <AnchorPointX> <ogc:Literal>0.5</ogc:Literal> </AnchorPointX> <AnchorPointY> <ogc:Literal>0.5</ogc:Literal> </AnchorPointY> </AnchorPoint> <Rotation> <ogc:Literal>0.0</ogc:Literal> </Rotation> </PointPlacement> </LabelPlacement> <Halo> <Radius> <ogc:Literal>2</ogc:Literal> </Radius> <Fill> <CssParameter name="fill">#FFFFFF</CssParameter> </Fill> </Halo> <Fill> <CssParameter name="fill">#000000</CssParameter> </Fill> </TextSymbolizer> </Rule> </FeatureTypeStyle> </UserStyle> </NamedLayer> </StyledLayerDescriptor>
GeoServer Integration: rendering transformations - GeoServer Training
Geometry transformations have been added almost one year ago to GeoTools to allow the application of a filter function to the geometry before rendering it. This allows for quite a bit of flexibility, yet still fails to address some needs: transformations that do need to take into account more than one feature at a time transformations that perform raster to vector transformations, like contouring.
GeoServer Integration: rendering transformations - GeoServer Training

Recommendations