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