2

I am trying to do a buffer with WPS request builder of GeoServer. I copied the URL of the gml3 output in GeoServer:

enter image description here

and I pasted it as the input URL

enter image description here

I ran the process and I received the following error:

JTS:bufferBufferReturns a polygonal geometry representing the input geometry enlarged by a given distance around its exterior.Failed to retrieve value for input geom

the request is like this: enter image description here

What can I do to fix it? Is the way I gave the URL as input of the process correct?

Should I change the name of the geom column of the input data?

1

This looks like a bug.

In the log file I see:

2019-12-20 17:55:41,351 WARN [org.geoserver.wps.executor] - Failed to retrieve value for input geom
java.lang.IllegalArgumentException: Decoded result is not a org.locationtech.jts.geom.Geometry, got a: org.geotools.gml3.bindings.DelayedSchemaFeatureCollection
        at org.geoserver.wps.executor.RemoteRequestInputProvider.getValueInternal(RemoteRequestInputProvider.java:217)
        at org.geoserver.wps.executor.AbstractInputProvider.getValue(AbstractInputProvider.java:100)
        at org.geoserver.wps.executor.LazyInputMap.parseInputs(LazyInputMap.java:89)
        at org.geoserver.wps.executor.LazyInputMap.get(LazyInputMap.java:49)
        at org.geotools.process.factory.AnnotationDrivenProcessFactory$InvokeMethodProcess.buildProcessArguments(AnnotationDrivenProcessFactory.java:740)
        at org.geotools.process.factory.AnnotationDrivenProcessFactory$InvokeMethodProcess.execute(AnnotationDrivenProcessFactory.java:620)
        at org.geoserver.wps.executor.ProcessStartupFilter$ProcessStartupWrapper.execute(ProcessStartupFilter.java:50)
        at org.geoserver.wps.executor.DefaultProcessManager$ProcessCallable.call(DefaultProcessManager.java:227)
        at org.geoserver.wps.executor.DefaultProcessManager$ProcessCallable.call(DefaultProcessManager.java:195)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
2019-12-20 17:55:41,351 ERROR [org.geoserver.wps.executor] - Process execution failed
org.geoserver.wps.WPSException: Failed to retrieve value for input geom
        at org.geoserver.wps.executor.RemoteRequestInputProvider.getValueInternal(RemoteRequestInputProvider.java:229)
        at org.geoserver.wps.executor.AbstractInputProvider.getValue(AbstractInputProvider.java:100)
        at org.geoserver.wps.executor.LazyInputMap.parseInputs(LazyInputMap.java:89)
        at org.geoserver.wps.executor.LazyInputMap.get(LazyInputMap.java:49)
        at org.geotools.process.factory.AnnotationDrivenProcessFactory$InvokeMethodProcess.buildProcessArguments(AnnotationDrivenProcessFactory.java:740)
        at org.geotools.process.factory.AnnotationDrivenProcessFactory$InvokeMethodProcess.execute(AnnotationDrivenProcessFactory.java:620)
        at org.geoserver.wps.executor.ProcessStartupFilter$ProcessStartupWrapper.execute(ProcessStartupFilter.java:50)
        at org.geoserver.wps.executor.DefaultProcessManager$ProcessCallable.call(DefaultProcessManager.java:227)
        at org.geoserver.wps.executor.DefaultProcessManager$ProcessCallable.call(DefaultProcessManager.java:195)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Oddly, it also fails for a JSON payload:

2019-12-20 17:56:16,569 WARN [org.geoserver.wps.executor] - Failed to retrieve value for input geom
java.lang.RuntimeException: java.lang.NoSuchMethodException: org.geotools.geojson.feature.FeatureCollectionHandler.<init>(org.locationtech.jts.geom.GeometryFactory)
        at org.geotools.geojson.DelegatingHandler.createDelegate(DelegatingHandler.java:125)
        at org.geotools.geojson.geom.GeometryHandler.primitive(GeometryHandler.java:58)
        at org.json.simple.parser.JSONParser.parse(Unknown Source)
        at org.json.simple.parser.JSONParser.parse(Unknown Source)
        at org.geotools.geojson.GeoJSONUtil.parse(GeoJSONUtil.java:260)
        at org.geotools.geojson.geom.GeometryJSON.parse(GeometryJSON.java:623)
        at org.geotools.geojson.geom.GeometryJSON.read(GeometryJSON.java:181)
        at org.geotools.geojson.geom.GeometryJSON.read(GeometryJSON.java:193)
        at org.geoserver.wps.ppio.GeoJSONPPIO$Geometries.decode(GeoJSONPPIO.java:79)
        at org.geoserver.wps.executor.RemoteRequestInputProvider.getValueInternal(RemoteRequestInputProvider.java:207)
        at org.geoserver.wps.executor.AbstractInputProvider.getValue(AbstractInputProvider.java:100)
        at org.geoserver.wps.executor.LazyInputMap.parseInputs(LazyInputMap.java:89)
        at org.geoserver.wps.executor.LazyInputMap.get(LazyInputMap.java:49)
        at org.geotools.process.factory.AnnotationDrivenProcessFactory$InvokeMethodProcess.buildProcessArguments(AnnotationDrivenProcessFactory.java:740)
        at org.geotools.process.factory.AnnotationDrivenProcessFactory$InvokeMethodProcess.execute(AnnotationDrivenProcessFactory.java:620)
        at org.geoserver.wps.executor.ProcessStartupFilter$ProcessStartupWrapper.execute(ProcessStartupFilter.java:50)
        at org.geoserver.wps.executor.DefaultProcessManager$ProcessCallable.call(DefaultProcessManager.java:227)
        at org.geoserver.wps.executor.DefaultProcessManager$ProcessCallable.call(DefaultProcessManager.java:195)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchMethodException: org.geotools.geojson.feature.FeatureCollectionHandler.<init>(org.locationtech.jts.geom.GeometryFactory)
        at java.lang.Class.getConstructor0(Class.java:3082)
        at java.lang.Class.getConstructor(Class.java:1825)
        at org.geotools.geojson.DelegatingHandler.createDelegate(DelegatingHandler.java:119)
        ... 21 more
| improve this answer | |
  • I am using version : 2.15.0. yes, I tried with many functions and many data types. Never worked unless when I used GeoJSON as Text input. I have no idea what is wrong. maybe it is the way I am feeding the input or maybe the installation of WPS has problem. I have no idea. – milad Dec 20 '19 at 19:19
  • 1
    As I say, I think it's a bug. Nothing to do with you or your install. – Ian Turton Dec 20 '19 at 20:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.