Hi, GeoTools library stops using everything that comes from JAI, library that was written by/for Sun before Java went to Oracle, and that had the final update by Oracle in 2006. That applies also to jai" in the class names etc. I do not understand the details but here are some links: https://github.com/eclipse-imagen/imagen?tab=readme-ov-file https://github.com/geotools/geotools/wiki/Replace-JAI
-Jukka Rahkonen- ________________________________________ Lähettäjä: Giuseppe Aruta <[email protected]> Lähetetty: Keskiviikko 24. syyskuuta 2025 11.13 Vastaanottaja: OpenJump develop and use <[email protected]> Aihe: Re: [JPP-Devel] singleband raster tiffs I see in GeoRaster that we use JAI.create("ImageRead,etc), possibly geosolution doesn't support thisIl giorno mer 24 set 2025 alle ore 10:09 Giuseppe Aruta <[email protected]> ha scritto:---------- Forwarded message ---------Da: Giuseppe Aruta <[email protected]>Date: mer 24 set 2025 alle ore 10:04Subject: Re: [JPP-Devel] singleband raster tiffsTo: <[email protected]>Hi Ede, sorry for the late answer, Today I tried OpenJUMP-Portable-20250922-r5327[d7ba8a5] which uses imageio-ext-tiff-1.4.16.These are the files I tested (both single banded raster): https://sourceforge.net/projects/opensit/files/Test%20file/Test%20raster/tif/mdt25.tif: this is a raster that comes from original sextante test filesmdt_32631.tif: the same previous file georelated to its epsg code and saved using my RasterTool plugin.I did the tests on these two conditions:a) Using the OpenJUMP and it is (TiffUtils2 points to it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReaderSpi())b) rewrite OpenJUMP in order that TiffUtils2 points to it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReaderSpi()The tests were: 1) Open the file using Sextante, 2) Extract a part of the raster with fence (OpenJUMP Plugin), 3) Extract slope from the raster.This is the result:----------------------------------------------------------------------------------------------------------------------TiffUtils2 points to it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReaderSpi(). The OpenJUMP.jar as it is1) Open mdt25.tif : OK2) Extract a part of the raster with fence (OpenJUMP Plugin) : Errorjava.io.IOException: com.vividsolutions.jump.workbench.imagery.ReferencedImageException: javax.media.jai.util.ImagingException: All factories fail for the operation "ImageRead"at org.openjump.core.rasterimage.TiffUtilsV2.getGeoReferencedRaster(TiffUtilsV2.java:81)at org.openjump.core.rasterimage.TiffUtilsV2.getRenderedOp(TiffUtilsV2.java:50)at org.openjump.core.rasterimage.RasterImageIO.getImageDimensions(RasterImageIO.java:394)3) Extract slope from raster (RasterTool plugin): errorjava.io.IOException: com.vividsolutions.jump.workbench.imagery.ReferencedImageException: javax.media.jai.util.ImagingException: All factories fail for the operation "ImageRead"at org.openjump.core.rasterimage.TiffUtilsV2.getGeoReferencedRaster(TiffUtilsV2.java:81)at org.openjump.core.rasterimage.TiffUtilsV2.getRenderedOp(TiffUtilsV2.java:50)1) Open mdt_32631.ti : Error[ERROR] 09:44:47.909 java.lang.reflect.InvocationTargetExceptionjava.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122) at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674) at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473) at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332) at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819) at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867) at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179) at com.vividsolutions.jump.workbench.imagery.geoimg.GeoRaster.fetchRaster(GeoRaster.java:222)TiffUtils2 points to it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReaderSpi(). Rewritten OpenJUMPAll the tests in both files were working fine. Il giorno mar 16 set 2025 alle ore 13:53 <[email protected]> ha scritto:hmm, we switched from jai-imageio to imageio-ext before but i can't find a reasoning beyond"readded old ImageIO-Ext tif driver in the hope to stabilize sextante raster layer loading"https://github.com/openjump-gis/openjump/commit/a3fabc931894bffd20a0ee126db4d1e742a9460acan you test the jai-imageio TIF reader against more files of you test set please before we make that change permanent again...edeOn 9/15/2025 6:16 PM, Giuseppe Aruta wrote:> In the org.openjump.core.rasterimage.TiffUtilsV2 class,> if I substitute:> > private static GeoReferencedRaster getGeoReferencedRaster(File tiffFile) throws IOException {> > ......> > try {> > geoRaster = new GeoReferencedRaster(tiffFile.toString(),> > new it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReaderSpi());> > // new com.github.jaiimageio.impl.plugins.tiff.TIFFImageReaderSpi());> > ......> > return geoRaster;> > }> > with> > private static GeoReferencedRaster getGeoReferencedRaster(File tiffFile) throws IOException {> > ......> > try {> > geoRaster = new GeoReferencedRaster(tiffFile.toString(),> > // new it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReaderSpi());> > new com.github.jaiimageio.impl.plugins.tiff.TIFFImageReaderSpi());> > ......> > return geoRaster;> > }> > It seems to work fine> > Il giorno lun 15 set 2025 alle ore 18:06 Giuseppe Aruta <[email protected] <mailto:[email protected]>> ha scritto:> > Hi Ede, I have the following error when I try to open a GeoTIFF with a single band with Sextante: [ERROR] 17:57:47.828 java.lang.reflect.InvocationTargetException> java.lang.reflect.InvocationTargetException> at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)> at java.base/java.lang.reflect.Method.invoke(Method.java:580)> at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)> at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)> at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)> at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)> at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)> at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)> at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)> at com.vividsolutions.jump.workbench.imagery.geoimg.GeoRaster.fetchRaster(GeoRaster.java:222)> at com.vividsolutions.jump.workbench.imagery.geoimg.GeoRaster.readRasterfile(GeoRaster.java:262)> at com.vividsolutions.jump.workbench.imagery.geoimg.GeoReferencedRaster.readRasterfile(GeoReferencedRaster.java:350)> at com.vividsolutions.jump.workbench.imagery.geoimg.GeoReferencedRaster.<init>(GeoReferencedRaster.java:140)> at org.openjump.core.rasterimage.TiffUtilsV2.getGeoReferencedRaster(TiffUtilsV2.java:75)> at org.openjump.core.rasterimage.TiffUtilsV2.getRenderedOp(TiffUtilsV2.java:50)> > Il giorno sab 13 set 2025 alle ore 18:34 edgar.soldin--- via Jump-pilot-devel <[email protected] <mailto:[email protected]>> ha scritto:> > hey Peppe,> > i wasn't sure anymore so i upgraded the tiff codec we pinned to an old version long time ago to make Sextante load single band rasters properly. can you please check the latest snapshot "d189c72" for any issues?> > thanks.. ede> > > _______________________________________________> Jump-pilot-devel mailing list> [email protected] <mailto:[email protected]>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel <https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel>> > > > _______________________________________________> Jump-pilot-devel mailing list> [email protected]> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel _______________________________________________ Jump-pilot-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
