Porter-Duff composite is wrong when tiled option is true

Description

The duff-porter composite through the SLD VendorOption doesn't work well when a tiled WMS getMap call is requested. Single-tile works as expected.

We have two FeatureStyles that we composite with a destination-in operation to color linestrings only when they are intersecting a polygon, but if we zoom in sufficiently where no linestrings are present, parts of the polygons appear (cut in a way that follows tiling).

This seems to lead to a bug in the way the tiling works.

The two screenshots show the same area (at different zoom levels), and you see the polygons appear on each side of the linestrings.

Environment

OS X Yosemite, Ubuntu 14.04

Attachments

5

Activity

Jukka Rahkonen 
November 30, 2017 at 11:58 AM

Thank you for a working advice on how to make the issue to appear.

I do not quite know what is the desired result but I can get polygons to show also in single tile mode if BBOX does not contain any roads.

http://localhost:8080/geoserver/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&STYLES&LAYERS=tasmania_test&SRS=EPSG%3A4326&WIDTH=768&HEIGHT=673&BBOX=147.32940673828125%2C-40.919952392578125%2C149.43878173828125%2C-39.071502685546875

Andrea Aime 
June 26, 2016 at 9:00 AM

Hi sorry I did not see your comment. If you want to look into it, you can put a breakpoint here and then follow up from there:
https://github.com/geotools/geotools/blob/master/modules/library/render/src/main/java/org/geotools/renderer/style/SLDStyleFactory.java#L1531

Sebastien Ouellet 
June 2, 2016 at 5:06 PM

It would at least be helpful to know where to look in the source code, as we could fix the issue with a few helpful tips if no regular developer can commit to resolve it.

Sebastien Ouellet 
June 2, 2016 at 4:54 PM
(edited)

1 - Create a layer group with tasmania_states and tasmania_roads.


(order as seen in the screenshot)

2 - Edit the simple_road default style for tasmania_roads and add <VendorOption name="composite">destination-in</VendorOption> (file provided)

3 - Use the preview. You'll see at first that it looks as expected. Now change from Single-tile to Tiled and you'll see polygons in tiles where no roads are present.

Andrea Aime 
June 2, 2016 at 4:30 PM

Please provide step by step instructions to reproduce:

  • Small datasets (eventually the demo ones included in the release, if suitable)

  • Style(s)

  • Request

Details

Assignee

Reporter

Affects versions

Components

Priority

Created June 2, 2016 at 3:26 PM
Updated November 30, 2017 at 11:58 AM