[Geoserver-devel] [JIRA] (GEOS-10024) Pointsymbolizer graphic size under 3 pixel is not rendered properly in the Legend.

Karsten D. created an issue

GeoServer / BugGEOS-10024

Pointsymbolizer graphic size under 3 pixel is not rendered properly in the Legend.

Issue Type:

BugBug

Affects Versions:

2.16.2, 2.18.2

Assignee:

Unassigned

Attachments:

Point_Sizes_1_to_6.png, Point_Sizes_2_to_6.png, Point_Sizes_3_to_6.png, point_size_1.png, point_size_2.png, point_size_3.png

Components:

styling

Created:

16/Apr/21 12:38 PM

Priority:

MediumMedium

Reporter:

Karsten D.

Hello

I have run in the a issue, when creating a simple style, where i need to use the Pointsymbolizer.

My style works fine when the point is a size 3, but as soon as i set it to 2 or 1, the Legend is not displaying the style correct.

Under here is my example where the size is 3:

<?xml version=“1.0” encoding=“ISO-8859-1”?>
<StyledLayerDescriptor xmlns=“http://www.opengis.net/sld
xmlns:ogc=“http://www.opengis.net/ogc
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” version=“1.1.0”
xmlns:xlink=“http://www.w3.org/1999/xlink” xsi:schemaLocation=“http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd
xmlns:se=“http://www.opengis.net/se”>
<NamedLayer>
<se:Name>Point</se:Name>
<UserStyle>
<se:Description>
<se:Title>Point</se:Title>
<se:Abstract>This is a test point</se:Abstract>
</se:Description>
<se:FeatureTypeStyle>
<se:Rule>
<se:Description>
<se:Title>Test point</se:Title>
</se:Description>
<se:PointSymbolizer>
<se:Graphic>
<se:Mark>
<se:WellKnownName>circle</se:WellKnownName>
<se:Fill>
<se:SvgParameter name=“fill”>#000099</se:SvgParameter>
</se:Fill>
</se:Mark>
<se:Size>3</se:Size>
</se:Graphic>
</se:PointSymbolizer>
</se:Rule>
</se:FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>

When the size is change to 2 or 1, the legend no longer displayes (renders?) the correct size. This is quite a problem when users are using the legend to make sure they look at the right data.

I have attached 3 images of how the Legend looks at size 1,2 and 3.

The biggest problem is when you haev multiple rules and different sizes, if just one point is set to size 1 or 2 the rest of the sizes are effected on the Legend, generated by Geoserver.

I have extented my example with multiple rules and sizes:

Sizes here are from 3 to 6.

<?xml version=“1.0” encoding=“ISO-8859-1”?>
<StyledLayerDescriptor xmlns=“http://www.opengis.net/sld
xmlns:ogc=“http://www.opengis.net/ogc
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” version=“1.1.0”
xmlns:xlink=“http://www.w3.org/1999/xlink” xsi:schemaLocation=“http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd
xmlns:se=“http://www.opengis.net/se”>
<NamedLayer>
<se:Name>Point</se:Name>
<UserStyle>
<se:Description>
<se:Title>Point</se:Title>
<se:Abstract>This is a test point</se:Abstract>
</se:Description>
<se:FeatureTypeStyle>
<se:Rule>
<se:Description>
<se:Title>Test point size 6</se:Title>
</se:Description>
<se:PointSymbolizer>
<se:Graphic>
<se:Mark>
<se:WellKnownName>circle</se:WellKnownName>
<se:Fill>
<se:SvgParameter name=“fill”>#000099</se:SvgParameter>
</se:Fill>
</se:Mark>
<se:Size>6</se:Size>
</se:Graphic>
</se:PointSymbolizer>
</se:Rule>
<se:Rule>
<se:Description>
<se:Title>Test point size 5</se:Title>
</se:Description>
<se:PointSymbolizer>
<se:Graphic>
<se:Mark>
<se:WellKnownName>circle</se:WellKnownName>
<se:Fill>
<se:SvgParameter name=“fill”>#000099</se:SvgParameter>
</se:Fill>
</se:Mark>
<se:Size>5</se:Size>
</se:Graphic>
</se:PointSymbolizer>
</se:Rule>
<se:Rule>
<se:Description>
<se:Title>Test point size 4</se:Title>
</se:Description>
<se:PointSymbolizer>
<se:Graphic>
<se:Mark>
<se:WellKnownName>circle</se:WellKnownName>
<se:Fill>
<se:SvgParameter name=“fill”>#000099</se:SvgParameter>
</se:Fill>
</se:Mark>
<se:Size>4</se:Size>
</se:Graphic>
</se:PointSymbolizer>
</se:Rule>
<se:Rule>
<se:Description>
<se:Title>Test point size 3</se:Title>
</se:Description>
<se:PointSymbolizer>
<se:Graphic>
<se:Mark>
<se:WellKnownName>circle</se:WellKnownName>
<se:Fill>
<se:SvgParameter name=“fill”>#000099</se:SvgParameter>
</se:Fill>
</se:Mark>
<se:Size>3</se:Size>
</se:Graphic>
</se:PointSymbolizer>
</se:Rule>
<se:Rule>
<se:Description>
<se:Title>Test point also size 3</se:Title>
</se:Description>
<se:PointSymbolizer>
<se:Graphic>
<se:Mark>
<se:WellKnownName>circle</se:WellKnownName>
<se:Fill>
<se:SvgParameter name=“fill”>#000099</se:SvgParameter>
</se:Fill>
</se:Mark>
<se:Size>3</se:Size>
</se:Graphic>
</se:PointSymbolizer>
</se:Rule>
</se:FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>

If I change just one of the sizes to 2 or 1 the rest of the points are effected on the Legend.

I have attached 3 additional images then shows the one without any size under 3 and two images where the size is 1 and 2.

I hope that someone can tell me if the is a bug or what i is?

I dont like showing users a Legend that is not correct.

Best regards

Karsten

Add Comment

Add Comment

Get Jira notifications on your phone! Download the Jira Cloud app for Android or iOS


This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100157-sha1:cf9946a)

Atlassian logo