I’m trying to download a tiff file through the gs:Download WPS process.
I choose to use the “image/jpeg” output format but I get the following error:
<wps:ProcessFailed>
<ows:ExceptionReport version="1.1.0">
<ows:Exception exceptionCode="NoApplicableCode">
<ows:ExceptionText>Process failed during execution
java.lang.IllegalArgumentException: Requested region cannot be represented by a single Raster.
Requested region cannot be represented by a single Raster.</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
</wps:ProcessFailed>
I suspect this is because the source file is too big:
23759 × 30686 x 3 bands = 2.187.206.022 > 2.147.483.647 (max int size)
Here is the sample file (203MB) : https://www.dropbox.com/s/zouhvbq7ahbb0mh/OLCIL1RGB_9445_2002170403.tif?dl=0
The log is:
09 giu 15:27:10 ERROR [wps.executor] - Process execution failed
org.geotools.process.ProcessException: java.lang.IllegalArgumentException: Requested region cannot be represented by a single Raster.
at org.geoserver.wps.gs.download.DownloadProcess.execute(DownloadProcess.java:433)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.geotools.process.factory.AnnotationDrivenProcessFactory$InvokeMethodProcess.execute(AnnotationDrivenProcessFactory.java:621)
at org.geoserver.wps.executor.ProcessStartupFilter$ProcessStartupWrapper.execute(ProcessStartupFilter.java:50)
at org.geoserver.wps.executor.DefaultProcessManager$ProcessCallable.call(DefaultProcessManager.java:224)
at org.geoserver.wps.executor.DefaultProcessManager$ProcessCallable.call(DefaultProcessManager.java:192)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalArgumentException: Requested region cannot be represented by a single Raster.
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2163)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2016)
at javax.media.jai.RenderedOp.getData(RenderedOp.java:2266)
at java.desktop/com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeOnThread(JPEGImageWriter.java:427)
at java.desktop/com.sun.imageio.plugins.jpeg.JPEGImageWriter.write(JPEGImageWriter.java:371)
at org.geotools.image.ImageWorker.writeJPEG(ImageWorker.java:3987)
at org.geoserver.wps.ppio.CoveragePPIO$JPEGPPIO.encode(CoveragePPIO.java:117)
at org.geoserver.wps.gs.download.RasterDownload.writeRaster(RasterDownload.java:879)
at org.geoserver.wps.gs.download.RasterDownload.execute(RasterDownload.java:368)
at org.geoserver.wps.gs.download.DownloadProcess.execute(DownloadProcess.java:336)
... 12 more
Is this a known limit of the gs:Download process or an actual bug?
|