It is more that I am not aware of any change that could cause this
regression.

Were you able to determine when the problem was introduced and report the
issue to the issue tracker?

I am curious to what you will find. Determing which release the problem
started in will help a great deal.
--
Jody Garnett


On Jun 13, 2024 at 8:07:09 AM, Carsten Klein <c.kl...@datagis.com> wrote:

> Hi Jody,
>
> why a puzzle? I've just checked this: The error is reproducible with the
> latest GeoServer main branch, by simply adding an Interpolate filter
> function in color mode to one of the standard SLD styles (e.g.
> simple_roads) in standard data directory.
>
> Making CSSParameter stroke depend on wms_scale_denominator:
>
> <Stroke>
>     <CssParameter name="stroke">
>         <ogc:Literal>#AA3333</ogc:Literal>
>         <ogc:Function name="Interpolate">
>             <ogc:Function name="env">
>                 <ogc:Literal>wms_scale_denominator</ogc:Literal>
>             </ogc:Function>
>             <ogc:Literal>2132</ogc:Literal>
>             <ogc:Literal>#AA3333</ogc:Literal>
>             <ogc:Literal>17471320</ogc:Literal>
>             <ogc:Literal>#AA9999</ogc:Literal>
>             <ogc:Literal>color</ogc:Literal>
>         </ogc:Function>
>     </CssParameter>
>     <CssParameter name="stroke-width">
>         <ogc:Literal>2</ogc:Literal>
>     </CssParameter>
> </Stroke>
>
> leads to exception:
>
> [...]
> Caused by: java.lang.IllegalArgumentException: Trying to evaluate the
> function as Object but the method parameter is set as COLOR
>     at
> org.geotools.filter.function.InterpolateFunction.evaluate(InterpolateFunction.java:323)
>     at
> org.geotools.filter.function.InterpolateFunction.evaluate(InterpolateFunction.java:301)
>     at
> org.geotools.filter.visitor.SimplifyingFilterVisitor.visit(SimplifyingFilterVisitor.java:484)
>     at
> org.geotools.filter.function.InterpolateFunction.accept(InterpolateFunction.java:296)
>     at
> org.geotools.styling.visitor.DuplicatingStyleVisitor.copy(DuplicatingStyleVisitor.java:379)
>     at
> org.geotools.styling.visitor.DuplicatingStyleVisitor.visit(DuplicatingStyleVisitor.java:655)
>     at org.geotools.styling.StrokeImpl.accept(StrokeImpl.java:420)
>     [....]
>
> thrown here:
>
>
> https://github.com/geotools/geotools/blob/f0c9961dc4d40c5acfce2169fab92805738de5ea/modules/library/main/src/main/java/org/geotools/filter/function/InterpolateFunction.java#L320
>
> Seems like *Class<T> context* does not implement *Color* It works fine if
> method is "numeric" (in contrast to "color").
>
> Carsten
>
>
> Am 10.06.2024 um 20:55 schrieb Jody Garnett:
>
> H there x 2,
>
> That is quite a puzzle.
>
> It may be a case of:
>
>    1. Trying to reproduce the error with the standard data directory and
>    making a bug report
>    2. Trying the different version between 2.22.2 and 2.25.1 to see when
>    it breaks (and then we could learn more)
>    If doing this approach it is best to bisect debugging approach: take a
>    version in the middle, and then you know to test higher or lower.  Take in
>    the middle of the new range etc...
>
>
> --
> Jody Garnett
>
>
> On Jun 9, 2024 at 11:59:07 PM, Carsten Klein <c.kl...@datagis.com> wrote:
>
>> Hi there,
>>
>> I've updated one of our GeoServes from version 2.22.2 to latest stable
>> 2.25.1. When requesting SLD-styled maps via WMS I'm getting this OWS
>> exception:
>>
>> Error rendering layer mga.bl: Trying to evaluate the function as Object
>> but the method parameter is set as COLOR
>>
>> I guess, it's about the Interpolate function, which we use to vary line
>> colors depending on wms_scale_denominator:
>>
>>     <Fill>
>>         <CssParameter name="fill">
>>             <ogc:Function name="Interpolate">
>>                 <ogc:Function name="env">
>>                     <ogc:Literal>wms_scale_denominator</ogc:Literal>
>>                 </ogc:Function>
>>                 <ogc:Literal>2132</ogc:Literal>
>>                 <ogc:Literal>#202020</ogc:Literal>
>>                 <ogc:Literal>17471320</ogc:Literal>
>>                 <ogc:Literal>#404040</ogc:Literal>
>>                 <ogc:Literal>color</ogc:Literal>
>>             </ogc:Function>
>>         </CssParameter>
>>     </Fill>
>>
>> There's no longer any error after removing that function from SLDs.
>>
>> The styles have not been changed. These used to work well with the 2.22.2
>> version.
>>
>> I haven't found any breaking changes in the documentation for filter
>> function Interpolate. Actually, my SLD seems quite identical to what the
>> documentation shows:
>>
>>
>> https://docs.geoserver.org/main/en/user/styling/sld/tipstricks/transformation-func.html#id2
>>
>> Any help and ideas are very appreciated.
>>
>> Cheers
>> Carsten
>> _______________________________________________
>> Geoserver-users mailing list
>>
>> Please make sure you read the following two resources before posting to
>> this list:
>> - Earning your support instead of buying it, but Ian Turton:
>> http://www.ianturton.com/talks/foss4g.html#/
>> - The GeoServer user list posting guidelines:
>> http://geoserver.org/comm/userlist-guidelines.html
>>
>> If you want to request a feature or an improvement, also see this:
>> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>>
>>
>> Geoserver-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>
>
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to