Some rendering transformations do not benefit from advanced projection handling and dateline wrapping

Description

Rendering transformations generating raster data do not benefit from the "advanced projection handling" and "dateline wrapping" machinery, as such they can only render the true source locations, but do not get replicated across the dateline.

First image shows global pressure with cut raster on date line. (webmercator) This example layer uses Ras:Jiffle.
https://www.dropbox.com/s/7yi3fg1zjb58fed/pressure.png?dl=0
Second image shows global temperature. This example layer does not use Jiffle.
https://www.dropbox.com/s/b09t4v3bbjrrggg/temp.png?dl=0

Queried BBOX is extended webmercator BBOX in the X coordinate around 1.5 times and is the same for both examples: &bbox=-3.00360832789244E7%2C-2.00496140146E7%2C3.00375042789244E7%2C2.005866104014594E7

Part of SLD style for pressure: Jiffle for example divides pressure by 100. Contours are drawn outside of bbox even though Jiffle is used for them too, while ColorMap is not.
<FeatureTypeStyle>
<Transformation>
<ogc:Function name="ras:Jiffle">
<ogc:Function name="parameter">
<ogc:Literal>coverage</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>script</ogc:Literal>
<ogc:Literal>
pres = src[0];
dest = pres / 100.0;
</ogc:Literal>
</ogc:Function>
</ogc:Function>
</Transformation>
<Rule>
<RasterSymbolizer>
<Opacity>0.4</Opacity>
<ColorMap>
<ColorMapEntry color="#FFFFFF" quantity="950" opacity="1" />
<ColorMapEntry color="#9380F7" quantity="960" opacity="1" />
<ColorMapEntry color="#7986f8" quantity="970" opacity="1" />
<ColorMapEntry color="#6EB7F8" quantity="980" opacity="1" />
<ColorMapEntry color="#60CDF6" quantity="985" opacity="1" />
<ColorMapEntry color="#51F1F4" quantity="990" opacity="1" />
<ColorMapEntry color="#3BF49D" quantity="995" opacity="1" />
<ColorMapEntry color="#9AF32D" quantity="1000" opacity="1" />
<ColorMapEntry color="#DAF32B" quantity="1005" opacity="1" />
<ColorMapEntry color="#F3CA27" quantity="1010" opacity="1" />
<ColorMapEntry color="#F2641E" quantity="1015" opacity="1" />
<ColorMapEntry color="#DD151E" quantity="1020" opacity="1" />
<ColorMapEntry color="#85093E" quantity="1030" opacity="1" />
<ColorMapEntry color="#180112" quantity="1040" opacity="1" />
</ColorMap>
</RasterSymbolizer>
</Rule>
<FeatureTypeStyle>
</FeatureTypeStyle>
<Transformation>
<ogc:Function name="ras:Contour">
<ogc:Function name="parameter">
<ogc:Literal>data</ogc:Literal>
<ogc:Function name="ras:Jiffle">
<ogc:Function name="parameter">
<ogc:Literal>coverage</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>script</ogc:Literal>
<ogc:Literal>
pres = src[0];
dest = pres / 100.0;
</ogc:Literal>
</ogc:Function>
</ogc:Function>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>levels</ogc:Literal>
levels...

Issue from gis stackexchange also linked to this:
https://gis.stackexchange.com/questions/303023/geoserver-sld-contours-fail-to-draw-some-times-when-panning-using-layer-preview

Environment

None

Assignee

Daniele Romagnoli

Reporter

Lubomír Bucek

Triage

None

Fix versions

Affects versions

Components

Priority

Medium
Configure