Hello,
I have a problem with the chaining of process in sld since I have update geoserver version.
When I deploy geoserver version 2.26.1 with command line:
docker pull docker.osgeo.org/geoserver:2.26.1 && docker run -it -p9666:8080 --env INSTALL_EXTENSIONS=true --env STABLE_EXTENSIONS="wps" docker.osgeo.org/geoserver:2.26.1
If I apply my style on layer sf:archsites, it works, the wms query display some lines.
When I deploy the version 2.26.2 (same thing with 2.27.0, 2.27.1) with command line:
docker pull docker.osgeo.org/geoserver:2.26.2 && docker run -it -p9666:8080 --env INSTALL_EXTENSIONS=true --env STABLE_EXTENSIONS="wps" docker.osgeo.org/geoserver:2.26.2
the preview of the the layer sf:archsites with my style failed with error:
15 May 10:22:27 ERROR [renderer.lite] - Failed to evaluate the process function, error is: Parameter data is missing but has min multiplicity > 0
java.lang.RuntimeException: Failed to evaluate the process function, error is: Parameter data is missing but has min multiplicity > 0
at org.geotools.process.function.ProcessFunction.evaluate(ProcessFunction.java:162)
at org.geotools.process.function.ParameterFunction.evaluate(ParameterFunction.java:115)
…
Caused by: org.geotools.process.ProcessException: Parameter data is missing but has min multiplicity > 0
at org.geotools.process.factory.AnnotationDrivenProcessFactory$InvokeMethodProcess.buildProcessArguments(AnnotationDrivenProcessFactory.java:758)
at org.geotools.process.factory.AnnotationDrivenProcessFactory$InvokeMethodProcess.execute(AnnotationDrivenProcessFactory.java:626)
at org.geotools.process.function.ProcessFunction.evaluate(ProcessFunction.java:150)
The query for test:
The sld:
<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"
xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
xmlns="http://www.opengis.net/sld"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<NamedLayer>
<Name>BarnesContours</Name>
<UserStyle>
<Title>Barnes Surface Contours</Title>
<Abstract>Extracts contours from a computed surface</Abstract>
<FeatureTypeStyle>
<Transformation>
<ogc:Function name="gs:Contour">
<ogc:Function name="parameter">
<ogc:Literal>data</ogc:Literal>
<ogc:Function name="gs:BarnesSurface">
<ogc:Function name="parameter">
<ogc:Literal>data</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>valueAttr</ogc:Literal>
<ogc:Literal>cat</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>scale</ogc:Literal>
<ogc:Literal>10000</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>convergence</ogc:Literal>
<ogc:Literal>0.5</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>passes</ogc:Literal>
<ogc:Literal>3</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>minObservations</ogc:Literal>
<ogc:Literal>1</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>maxObservationDistance</ogc:Literal>
<ogc:Literal>70000</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>pixelsPerCell</ogc:Literal>
<ogc:Literal>10</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>outputBBOX</ogc:Literal>
<ogc:Function name="env">
<ogc:Literal>wms_bbox</ogc:Literal>
</ogc:Function>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>outputWidth</ogc:Literal>
<ogc:Function name="env">
<ogc:Literal>wms_width</ogc:Literal>
</ogc:Function>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>outputHeight</ogc:Literal>
<ogc:Function name="env">
<ogc:Literal>wms_height</ogc:Literal>
</ogc:Function>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>queryBuffer</ogc:Literal>
<ogc:Literal>10000</ogc:Literal>
</ogc:Function>
</ogc:Function>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>levels</ogc:Literal>
<ogc:Literal>0</ogc:Literal>
<ogc:Literal>1</ogc:Literal>
<ogc:Literal>2</ogc:Literal>
<ogc:Literal>3</ogc:Literal>
<ogc:Literal>4</ogc:Literal>
<ogc:Literal>5</ogc:Literal>
<ogc:Literal>6</ogc:Literal>
<ogc:Literal>7</ogc:Literal>
<ogc:Literal>8</ogc:Literal>
<ogc:Literal>9</ogc:Literal>
<ogc:Literal>10</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>simplify</ogc:Literal>
<ogc:Literal>true</ogc:Literal>
</ogc:Function>
</ogc:Function>
</Transformation>
<Rule>
<Name>rule1</Name>
<Title>Isotherm</Title>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:Function name="IEEERemainder">
<ogc:Function name="int2ddouble">
<ogc:PropertyName>value</ogc:PropertyName>
</ogc:Function>
<ogc:Function name="parseDouble">
<ogc:Literal>1.0</ogc:Literal>
</ogc:Function>
</ogc:Function>
<ogc:Literal>0</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</LineSymbolizer>
<TextSymbolizer>
<Label>
<ogc:Function name="round">
<ogc:PropertyName>value</ogc:PropertyName>
</ogc:Function>
</Label>
<Font>
<CssParameter name="font-family">Arial</CssParameter>
<CssParameter name="font-style">Normal</CssParameter>
<CssParameter name="font-size">12</CssParameter>
</Font>
<LabelPlacement>
<LinePlacement/>
</LabelPlacement>
<Halo>
<Radius>
<ogc:Literal>2</ogc:Literal>
</Radius>
<Fill>
<CssParameter name="fill">#FFFFFF</CssParameter>
<CssParameter name="fill-opacity">0.6</CssParameter>
</Fill>
</Halo>
<Fill>
<CssParameter name="fill">#000000</CssParameter>
</Fill>
<Priority>2000</Priority>
<VendorOption name="followLine">true</VendorOption>
<VendorOption name="repeat">100</VendorOption>
<VendorOption name="maxDisplacement">50</VendorOption>
<VendorOption name="maxAngleDelta">30</VendorOption>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>