<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>

<html xmlns="http://www.w3.org/1999/xhtml";><head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
 </head><body style="font-family: arial,helvetica,sans-serif; font-size: 
13pt"><p>OK, I see,</p><p>The drivers wich did not work still does not work 
:-(</p><p>Will do some more test tomorrow.</p><p>Anyway, I spent several days 
trying to catch an error to return a more informative message to the user, but 
without success</p><p>Using the apache driver, I get </p><p>[ERROR] 
2020-09-13_00:07:45.190 Index 8000 out of bounds for length 8000</p><p>That's 
OK, I can catch it and report it. </p><p>When using the jai drivers (either 
TIFF or XTIFF), I just catch a NPE, but looking at the log file, I can 
see,</p><p>the same error as with apache (Index 8000 out of bounds for length 
8000 ) and before that, an IOException :</p><p>java.io.IOException: Planar 
(band-sequential) format TIFF is not supported.</p><p>I tried to catch those 
error to return them in the Error dialog instead of the NPE but without 
success. </p><p>I'm not sure it is very useful, but I'm quite frustrated 
because I can't understand when this error is logged and why I can't catch it 
through the UI. If you have an idea, I would be very 
interested.</p><p>Miichaël</p><p></p><blockquote type="cite"><p 
style="font-family: Arial,Helvetica,sans-serif; font-size: 14px;"><strong 
style="color: #000;">envoyé :</strong> <span style="color: #666;">12 septembre 
2020 à 15:33</span><br><strong style="color: #000;">de :</strong> <span 
style="color: #666;">ede <e...@users.sourceforge.net></span><br><strong 
style="color: #000;">à :</strong> <span style="color: #666;">"[jump-pilot:bugs] 
" <4...@bugs.jump-pilot.p.re.sourceforge.net></span><br><strong style="color: 
#000;">objet :</strong> <span style="color: #666;">[jump-pilot:bugs] Re: #498 
Most GeoTIFF drivers fail with a simple GeoTIFF image</span></p><br><div 
class="ox-6dbc3f3648-markdown_content"><p>On 12.09.2020 11:31, michael michaud 
wrote:</p><blockquote><p>I tried to handle errors in a more friendly way in 
r6443, but it seems that the best improvement wrt this ticket has been made by 
changing old jai libray by the new oss version. Thanks 
EDE.</p></blockquote><p>my patchset unfortunately disabled GeoImage framework 
with forced loaders so all variants actually used the first loader, which is 
the new oss one. just fixed that in r6446. so please retest.</p><p>you can 
check which loader was actually used in the ImageLayerManager (layer context 
menu).</p><blockquote><p>There is still two drivers failing in reading the 
small_world tiff image. One of them is Apache Commons 
Imaging.</p></blockquote><p>as i wrote above. there is an open ticket in their 
bug tracker. the latest version, which we include now, still chokes on 
it.</p><blockquote><p>It may be worthwhile keeping this driver if we find 
images that only this driver can read. Otherwise...</p></blockquote><p>that's 
my reasoning as well. they support some exotic formats.</p><blockquote><p>Peppe 
also fixed Info tools (thanks) and report some more problems.<br> Maybe we 
should close this ticket and open more specific ones about remaining problems. 
What do you think ?</p></blockquote><p>let's wait for the monoband issue fix 
and close then. ..ede</p><hr><p><strong> <a class="ox-6dbc3f3648-alink" 
href="https://sourceforge.net/p/jump-pilot/bugs/498/";>[bugs:#498]</a> Most 
GeoTIFF drivers fail with a simple GeoTIFF 
image</strong></p><p><strong>Status:</strong> open<br> 
<strong>Milestone:</strong> OJ_future<br> <strong>Created:</strong> Sun Aug 30, 
2020 08:02 AM UTC by michael michaud<br> <strong>Last Updated:</strong> Sat Sep 
12, 2020 11:54 AM UTC<br> <strong>Owner:</strong> nobody<br> 
<strong>Attachments:</strong></p><ul><li><a class="" 
href="https://sourceforge.net/p/jump-pilot/bugs/498/attachment/small_world.tif";>small_world.tif</a>
 (240.6 kB; image/tiff)</li></ul><p>I often have a bad experience trying to 
read simple geotiff. To have a more objective view of the situation, I get a 
very simple image from the test directory of GDAL library and tested it against 
all our drivers.<br> Image is attached. Here are its main characteristics (I 
think they are very common one) :<br> small_world.tif <br> size : 400 x 200<br> 
Coordinate System : wgs84 (4326)<br> Metadata : AREA_OR_POINT=AREA<br> Image 
Structure Metadata : INTERLEAVE=BAND<br> 3 bands, Block=400x20, Type=Byte, 
ColorInterp=RGB</p><p>I tried to import it with all the image drivers we 
propose (8 from Open File + ImageRaster Sextante). 3 drivers only could import 
the image. All others fail throughing a rough java exception. Image Raster 
don't fail immediately, but it does not display the image and throws NPE if one 
try to get more information.</p><p>List of success/failures and exceptions 
thrown</p><p>Referenced Image (ImageIO[ext],JAI) : OK<br> ImageIO TIFF Image 
Reader version 1.0 : OK<br> ImageIO TIFF Image Reader version 1.1 : OK<br> 
Standard TIFF Image Reader <br> java.lang.IllegalAccessException: class 
com.vividsolutions.jump.workbench.imagery.ImageryLayerDataset cannot access 
class com.sun.imageio.plugins.tiff.TIFFImageReaderSpi (in module java.desktop) 
because module java.desktop does not export com.sun.imageio.plugins.tiff to 
unnamed module @12405818<br> at 
java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361)<br>
 at 
java.base/jdk.internal.reflect.Reflection.ensureMemberAccess(Reflection.java:99)<br>
 at java.base/java.lang.Class.newInstance(Class.java:579)<br> at 
com.vividsolutions.jump.workbench.imagery.ImageryLayerDataset.createFeatureFactory(ImageryLayerDataset.java:236)<br>
 at 
com.vividsolutions.jump.workbench.imagery.ImageryLayerDataset.attachImage(ImageryLayerDataset.java:117)<br>
 Referenced Image (JAI TIF)<br> java.lang.NullPointerException 
java.lang.NullPointerException at 
com.sun.media.jai.util.SunCachedTile.<init>(SunCachedTile.java:80) <br> at 
com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257) <br> at 
javax.media.jai.OpImage.addTileToCache(OpImage.java:1087) <br> at 
javax.media.jai.OpImage.getTile(OpImage.java:1142) <br> at 
javax.media.jai.PlanarImage.getData(PlanarImage.java:2085) <br> at 
javax.media.jai.RenderedImageAdapter.getData(RenderedImageAdapter.java:158) 
<br> at javax.media.jai.ScaleOpImage.computeTile(ScaleOpImage.java:1099) <br> 
at 
com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904) 
<br> at javax.media.jai.OpImage.getTile(OpImage.java:1129) <br> at 
com.sun.media.jai.opimage.CropOpImage.getTile(CropOpImage.java:122) <br> at 
com.sun.media.jai.opimage.TranslateIntOpImage.getTile(TranslateIntOpImage.java:132)
 at javax.media.jai.PlanarImage.copyData(PlanarImage.java:2343) <br> at 
javax.media.jai.RenderedOp.copyData(RenderedOp.java:2299) <br> at 
javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2525) <br> at 
javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2546) <br> at 
com.vividsolutions.jump.workbench.imagery.geoimg.GeoImage.paint(GeoImage.java:285)
 <br> at 
com.vividsolutions.jump.workbench.imagery.ReferencedImageStyle.paint(ReferencedImageStyle.java:61)<br>
 Referenced Image (JAI TIF) : same error</init></p><p>Buffered Image (common) : 
<br> com.vividsolutions.jump.workbench.imagery.ReferencedImageException: 
java.lang.ArrayIndexOutOfBoundsException: Index 8000 out of bounds for length 
8000<br> at 
com.vividsolutions.jump.workbench.imagery.graphic.CommonsImage.initImage(CommonsImage.java:112)<br>
 at 
com.vividsolutions.jump.workbench.imagery.graphic.AbstractGraphicImage.computeEnvelope(AbstractGraphicImage.java:122)<br>
 at 
com.vividsolutions.jump.workbench.imagery.graphic.AbstractGraphicImage.getEnvelope(AbstractGraphicImage.java:114)<br>
 at 
com.vividsolutions.jump.workbench.imagery.ImageryLayerDataset.attachImage(ImageryLayerDataset.java:125)<br>
 at 
com.vividsolutions.jump.workbench.imagery.ImageryLayerDataset.attachImage(ImageryLayerDataset.java:106)<br>
 at 
com.vividsolutions.jump.workbench.imagery.ReferencedImageFactoryFileLayerLoader.createImageFeature(ReferencedImageFactoryFileLayerLoader.java:199)<br>
 at 
com.vividsolutions.jump.workbench.imagery.ReferencedImageFactoryFileLayerLoader.open(ReferencedImageFactoryFileLayerLoader.java:102)<br>
 at 
org.openjump.core.ui.plugin.file.open.OpenFileWizard.run(OpenFileWizard.java:164)<br>
 GeoTIFF plus (JAI) :<br> java.lang.NullPointerException 
java.lang.NullPointerException at 
com.sun.media.jai.util.SunCachedTile.<init>(SunCachedTile.java:80) <br> at 
com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257) <br> at 
javax.media.jai.OpImage.addTileToCache(OpImage.java:1087) <br> at 
javax.media.jai.OpImage.getTile(OpImage.java:1142) <br> at 
javax.media.jai.PlanarImage.getData(PlanarImage.java:2085) <br> at 
javax.media.jai.RenderedImageAdapter.getData(RenderedImageAdapter.java:158) 
<br> at javax.media.jai.ScaleOpImage.computeTile(ScaleOpImage.java:1099) <br> 
at 
com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904) 
<br> at javax.media.jai.OpImage.getTile(OpImage.java:1129) <br> at 
com.sun.media.jai.opimage.CropOpImage.getTile(CropOpImage.java:122) <br> at 
com.sun.media.jai.opimage.TranslateIntOpImage.getTile(TranslateIntOpImage.java:132)
 at javax.media.jai.PlanarImage.copyData(PlanarImage.java:2343) <br> at 
javax.media.jai.RenderedOp.copyData(RenderedOp.java:2299) <br> at 
javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2525) <br> at 
javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2546) <br> at 
com.vividsolutions.jump.workbench.imagery.geoimg.GeoImage.paint(GeoImage.java:285)
 <br> at 
com.vividsolutions.jump.workbench.imagery.ReferencedImageStyle.paint(ReferencedImageStyle.java:61)</init></p><p>Image
 Raster (Sextante) : no exception but does not display<br> NPE Exception comes 
if one click on layer properties<br> java.lang.NullPointerException<br> at 
com.sun.media.jai.util.SunCachedTile.<init>(SunCachedTile.java:80)<br> at 
com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257)<br> at 
javax.media.jai.OpImage.addTileToCache(OpImage.java:1087)<br> at 
javax.media.jai.OpImage.getTile(OpImage.java:1142)<br> at 
javax.media.jai.PlanarImage.copyData(PlanarImage.java:2343)<br> at 
javax.media.jai.RenderedImageAdapter.copyData(RenderedImageAdapter.java:163)<br>
 at javax.media.jai.RenderedOp.copyData(RenderedOp.java:2299)<br> at 
javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2525)<br> at 
org.openjump.core.rasterimage.RasterImageIO.loadRasterData(RasterImageIO.java:202)<br>
 at 
org.openjump.core.rasterimage.RasterImageLayer.getRasterData(RasterImageLayer.java:1505)<br>
 at 
org.openjump.core.ui.plugin.raster.RasterImageLayerPropertiesPlugIn.setInfo(RasterImageLayerPropertiesPlugIn.java:444)<br>
 at 
org.openjump.core.ui.plugin.raster.RasterImageLayerPropertiesPlugIn.infoText(RasterImageLayerPropertiesPlugIn.java:248)<br>
 at 
org.openjump.core.ui.plugin.raster.RasterImageLayerPropertiesPlugIn.execute(RasterImageLayerPropertiesPlugIn.java:363)
 </init></p><hr><p>Sent from sourceforge.net because you indicated interest in 
<a 
href="https://sourceforge.net/p/jump-pilot/bugs/498/";>https://sourceforge.net/p/jump-pilot/bugs/498/</a></p><p>To
 unsubscribe from further messages, please visit <a 
href="https://sourceforge.net/auth/subscriptions/";>https://sourceforge.net/auth/subscriptions/</a></p></div><div>
 <br></div></blockquote></body></html>


---

** [bugs:#498] Most GeoTIFF drivers fail with a simple GeoTIFF image**

**Status:** open
**Milestone:** OJ_future
**Created:** Sun Aug 30, 2020 08:02 AM UTC by michael michaud
**Last Updated:** Sat Sep 12, 2020 02:15 PM UTC
**Owner:** nobody
**Attachments:**

- 
[small_world.tif](https://sourceforge.net/p/jump-pilot/bugs/498/attachment/small_world.tif)
 (240.6 kB; image/tiff)


I often have a bad experience trying to read simple geotiff. To have a more 
objective view of the situation, I get a very simple image from the test 
directory of GDAL library and tested it against all our drivers.
Image is attached. Here are its main characteristics (I think they are very 
common one) :
small_world.tif 
size : 400 x 200
Coordinate System : wgs84 (4326)
Metadata : AREA_OR_POINT=AREA
Image Structure Metadata : INTERLEAVE=BAND
3 bands, Block=400x20, Type=Byte, ColorInterp=RGB

I tried to import it with all the image drivers we propose (8 from Open File + 
ImageRaster Sextante). 3 drivers only could import the image. All others fail 
throughing a rough java exception. Image Raster don't fail immediately, but it 
does not display the image and throws NPE if one try to get more information. 

List of success/failures and exceptions thrown

  Referenced Image (ImageIO[ext],JAI) : OK
  ImageIO TIFF Image Reader version 1.0 : OK
  ImageIO TIFF Image Reader version 1.1 : OK
  Standard TIFF Image Reader 
        java.lang.IllegalAccessException: class 
com.vividsolutions.jump.workbench.imagery.ImageryLayerDataset cannot access 
class com.sun.imageio.plugins.tiff.TIFFImageReaderSpi (in module java.desktop) 
because module java.desktop does not export com.sun.imageio.plugins.tiff to 
unnamed module @12405818
        at 
java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361)
        at 
java.base/jdk.internal.reflect.Reflection.ensureMemberAccess(Reflection.java:99)
        at java.base/java.lang.Class.newInstance(Class.java:579)
        at 
com.vividsolutions.jump.workbench.imagery.ImageryLayerDataset.createFeatureFactory(ImageryLayerDataset.java:236)
        at 
com.vividsolutions.jump.workbench.imagery.ImageryLayerDataset.attachImage(ImageryLayerDataset.java:117)
  Referenced Image (JAI TIF)
        java.lang.NullPointerException java.lang.NullPointerException at 
com.sun.media.jai.util.SunCachedTile.<init>(SunCachedTile.java:80) 
        at com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257) 
        at javax.media.jai.OpImage.addTileToCache(OpImage.java:1087) 
        at javax.media.jai.OpImage.getTile(OpImage.java:1142) 
        at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085) 
        at 
javax.media.jai.RenderedImageAdapter.getData(RenderedImageAdapter.java:158) 
        at javax.media.jai.ScaleOpImage.computeTile(ScaleOpImage.java:1099) 
        at 
com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904) 
        at javax.media.jai.OpImage.getTile(OpImage.java:1129) 
        at com.sun.media.jai.opimage.CropOpImage.getTile(CropOpImage.java:122) 
        at 
com.sun.media.jai.opimage.TranslateIntOpImage.getTile(TranslateIntOpImage.java:132)
 at javax.media.jai.PlanarImage.copyData(PlanarImage.java:2343) 
        at javax.media.jai.RenderedOp.copyData(RenderedOp.java:2299) 
        at 
javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2525) 
        at 
javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2546) 
        at 
com.vividsolutions.jump.workbench.imagery.geoimg.GeoImage.paint(GeoImage.java:285)
 
        at 
com.vividsolutions.jump.workbench.imagery.ReferencedImageStyle.paint(ReferencedImageStyle.java:61)
  Referenced Image (JAI TIF) : same error
  
  Buffered Image (common) : 
        com.vividsolutions.jump.workbench.imagery.ReferencedImageException: 
java.lang.ArrayIndexOutOfBoundsException: Index 8000 out of bounds for length 
8000
        at 
com.vividsolutions.jump.workbench.imagery.graphic.CommonsImage.initImage(CommonsImage.java:112)
        at 
com.vividsolutions.jump.workbench.imagery.graphic.AbstractGraphicImage.computeEnvelope(AbstractGraphicImage.java:122)
        at 
com.vividsolutions.jump.workbench.imagery.graphic.AbstractGraphicImage.getEnvelope(AbstractGraphicImage.java:114)
        at 
com.vividsolutions.jump.workbench.imagery.ImageryLayerDataset.attachImage(ImageryLayerDataset.java:125)
        at 
com.vividsolutions.jump.workbench.imagery.ImageryLayerDataset.attachImage(ImageryLayerDataset.java:106)
        at 
com.vividsolutions.jump.workbench.imagery.ReferencedImageFactoryFileLayerLoader.createImageFeature(ReferencedImageFactoryFileLayerLoader.java:199)
        at 
com.vividsolutions.jump.workbench.imagery.ReferencedImageFactoryFileLayerLoader.open(ReferencedImageFactoryFileLayerLoader.java:102)
        at 
org.openjump.core.ui.plugin.file.open.OpenFileWizard.run(OpenFileWizard.java:164)
  GeoTIFF plus (JAI) :
        java.lang.NullPointerException java.lang.NullPointerException at 
com.sun.media.jai.util.SunCachedTile.<init>(SunCachedTile.java:80) 
        at com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257) 
        at javax.media.jai.OpImage.addTileToCache(OpImage.java:1087) 
        at javax.media.jai.OpImage.getTile(OpImage.java:1142) 
        at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085) 
        at 
javax.media.jai.RenderedImageAdapter.getData(RenderedImageAdapter.java:158) 
        at javax.media.jai.ScaleOpImage.computeTile(ScaleOpImage.java:1099) 
        at 
com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904) 
        at javax.media.jai.OpImage.getTile(OpImage.java:1129) 
        at com.sun.media.jai.opimage.CropOpImage.getTile(CropOpImage.java:122) 
        at 
com.sun.media.jai.opimage.TranslateIntOpImage.getTile(TranslateIntOpImage.java:132)
 at javax.media.jai.PlanarImage.copyData(PlanarImage.java:2343) 
        at javax.media.jai.RenderedOp.copyData(RenderedOp.java:2299) 
        at 
javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2525) 
        at 
javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2546) 
        at 
com.vividsolutions.jump.workbench.imagery.geoimg.GeoImage.paint(GeoImage.java:285)
 
        at 
com.vividsolutions.jump.workbench.imagery.ReferencedImageStyle.paint(ReferencedImageStyle.java:61)
        
  
Image Raster (Sextante) : no exception but does not display
        NPE Exception comes if one click on layer properties
        java.lang.NullPointerException
        at com.sun.media.jai.util.SunCachedTile.<init>(SunCachedTile.java:80)
        at com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257)
        at javax.media.jai.OpImage.addTileToCache(OpImage.java:1087)
        at javax.media.jai.OpImage.getTile(OpImage.java:1142)
        at javax.media.jai.PlanarImage.copyData(PlanarImage.java:2343)
        at 
javax.media.jai.RenderedImageAdapter.copyData(RenderedImageAdapter.java:163)
        at javax.media.jai.RenderedOp.copyData(RenderedOp.java:2299)
        at javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2525)
        at 
org.openjump.core.rasterimage.RasterImageIO.loadRasterData(RasterImageIO.java:202)
        at 
org.openjump.core.rasterimage.RasterImageLayer.getRasterData(RasterImageLayer.java:1505)
        at 
org.openjump.core.ui.plugin.raster.RasterImageLayerPropertiesPlugIn.setInfo(RasterImageLayerPropertiesPlugIn.java:444)
        at 
org.openjump.core.ui.plugin.raster.RasterImageLayerPropertiesPlugIn.infoText(RasterImageLayerPropertiesPlugIn.java:248)
        at 
org.openjump.core.ui.plugin.raster.RasterImageLayerPropertiesPlugIn.execute(RasterImageLayerPropertiesPlugIn.java:363)
 



---

Sent from sourceforge.net because jump-pilot-devel@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/jump-pilot/bugs/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/jump-pilot/admin/bugs/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to