Hi Ede
>also Peppe. i don't recall, did you try BufferedImage(Commons) with your 
>monoband dem files? i am asking because it might make sense to replace the 
>somewhat hackish state of RasterImage reading with a cleaner way using apache 
>commons, as Rasterimage is buffering the whole file in memory anyway.
Not yet, sorry Ede. This weekend I have done time to do a more accurate test.
I did some tests the time we were reconsidering the bugs on RasterImage. And 
Apache commons did open monoband raster.  Afair my first impression was that 
Apache commons was using more resources to load It comparing to ImageIo (I have 
to resume those tests).
Regarding RasterInage, possibly we can also investigate on Imagej software. It 
can easily manage very  large raster.
As far as I understood Imagej uses an own implementation on imageio.
Peppe
--
Inviato da myMail per Android lunedì, 24 maggio 2021, 09:06PM +02:00 da  
edgar.sol...@web.de :

>hey Pepe,
>
>On 24.05.2021 15:04, Giuseppe Aruta wrote:
>SNIP
> First of all, I discovered that jai_codec-1.1.3.jar and jai_core-1.1.3.jar 
> files are missing in both  Core and Plus version OpenJUMP-20210523-r4895 
> distros. I had to move  a copy of this two files  from a previous version of 
> OJ  into  OJ/LIB folder to load tiff (strangely OJ without JAI can still load 
> a tiff/tfw or a monoband tif file; the first is displayed in the correct 
> position while the second is shift to upper/left coordinates 0-0)
>actually the sun jai jars were only missing in CORE distros. in PLUS they are 
>located in lib/etc/imageio-ext/ as i falsely assumed we hold no dependency to 
>them. unfortunately we do in our org.libtiff.jai.codec.XTIFF* code, which we 
>use to traverse TIFF tags.
>
>i'll add them again as CORE dependencies for now, but we should really find a 
>way to replace these outdated/proprietary libs. unfortunately they also seem 
>to be needed for the JAI codec registering and such. will have to read up what 
>the replacement API is for that.
>
> *OpenJUMP-20210523-r4895 - Using ReferenceImage *
> *
> *
> Loading Tif/Tfw and Multinband files. They are loaded with no problem at the 
> exact position
>
> D) loading Monoband geotiff file.Error message:
> / (Referenced Image Exception)
> [ERROR] 14:32:47.991 java.lang.ArrayIndexOutOfBoundsException
> com.vividsolutions.jump.workbench.imagery.ReferencedImageException: 
> java.lang.ArrayIndexOutOfBoundsException
> at 
> com.vividsolutions.jump.workbench.imagery.geoimg.GeoImage.paint(GeoImage.java:307)/
>
> I was expecting this as AFAIR all tiff libraries related to ReferenceImage 
> never worked fine with this type of file
>
>indeed they didn't. BufferedImage(Commons) can read them though. can someone 
>check that please?
>
>also Peppe. i don't recall, did you try BufferedImage(Commons) with your 
>monoband dem files? i am asking because it might make sense to replace the 
>somewhat hackish state of RasterImage reading with a cleaner way using apache 
>commons, as Rasterimage is buffering the whole file in memory anyway.
>
> *OpenJUMP-20210523-r4895 - Using RasterImageLayer*
>
> Loading monoband geotiff or multiband tiff: everything is file, files are 
> loaded at the correct position*.*
> *
> *
> Loading tif/tfw file
> The file is not loaded. Java console shows an error message:
> /[ERROR] 14:38:59.945 java.lang.NullPointerException
> java.lang.NullPointerException
> at 
> org.openjump.core.rasterimage.AddRasterImageLayerWizard.addImage(AddRasterImageLayerWizard.java:231)
> at 
> org.openjump.core.rasterimage.AddRasterImageLayerWizard.open(AddRasterImageLayerWizard.java:161)/
>
> This bug probably came out before JTS 1.8 migration. But nobody realized, 
> including me, as usually we use RasterImageLayer only for DTM which are 
> usually (or the one I studied) geotagged tif files
>
>i fixed the loading part by making 
>ProjUtils.getSRSInfoFromLayerSource(RasterImageLayer layer) more robust.
>  
>https://github.com/openjump-gis/openjump/commit/ec86df4519300df662a3425be4876009b5cf2da9
>
>issue still remains in RasterImageLayerPropertiesPlugIn (see below), which is 
>trying to read it from file again(!) in a separate routine, which is really 
>bad coding, as the result of the first run should have either be attached to 
>the layer or the georefdimg in the first place.
>please find a way to reuse the value!
>
>sunny regards ..ede
>
>[ERROR] 20:32:04.709 Unknown value: 0.9 0.9 0 for: 33550 (0x830e: 
>ModelPixelScaleTag):  at 
>com.vividsolutions.jump.workbench.ui.WorkbenchFrame.handleThrowable(WorkbenchFrame.java:1243)
>org.apache.commons.imaging.ImageReadException: Unknown value: 0.9 0.9 0 for: 
>33550 (0x830e: ModelPixelScaleTag):
>at 
>org.apache.commons.imaging.formats.tiff.TiffField.getDoubleArrayValue(TiffField.java:507)
>at org.openjump.core.rasterimage.TiffTags.readMetadata(TiffTags.java:63)
>at 
>org.openjump.core.ui.plugin.raster.RasterImageLayerPropertiesPlugIn.setInfo(RasterImageLayerPropertiesPlugIn.java:425)
>at 
>org.openjump.core.ui.plugin.raster.RasterImageLayerPropertiesPlugIn.infoText(RasterImageLayerPropertiesPlugIn.java:243)
>at 
>org.openjump.core.ui.plugin.raster.RasterImageLayerPropertiesPlugIn.execute(RasterImageLayerPropertiesPlugIn.java:358)
>at 
>com.vividsolutions.jump.workbench.plugin.AbstractPlugIn$1.actionPerformed(AbstractPlugIn.java:355)
>at 
>java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
>at 
>java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
>at 
>java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
>at 
>java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
>at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
>at 
>java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1012)
>at 
>java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1056)
>at java.desktop/java.awt.Component.processMouseEvent(Component.java:6614)
>at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
>at java.desktop/java.awt.Component.processEvent(Component.java:6379)
>at java.desktop/java.awt.Container.processEvent(Container.java:2263)
>at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4990)
>at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
>at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
>at 
>java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4919)
>at 
>java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4548)
>at 
>java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4489)
>at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
>at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2769)
>at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
>at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
>at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
>at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
>at 
>java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
>at 
>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
>at 
>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
>at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
>at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
>at 
>java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
>at 
>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
>at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
>at 
>java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
>at 
>java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
>at 
>java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
>at 
>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
>at 
>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
>at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
>
>
>_______________________________________________
>Jump-pilot-devel mailing list
>Jump-pilot-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to