[JPP-Devel] [jump-pilot:bugs] #498 Most GeoTIFF drivers fail with a simple GeoTIFF image

2020-09-06 Thread Giuseppe Aruta via Jump-pilot-devel
OpenJUMP 6430 . Almost solved reading pixel data (Info tool , pixel inspection 
and raster profile) for test image small_word.tif (not for Aster dem file). 
Removed also warnings substituting GeoReferencedRaster.getImage() method  to 
read PlanarImage of TIFF (instead of JAI.create("fileload"..)


---

** [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:** Sun Sep 06, 2020 04:47 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.(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 

[JPP-Devel] SVN: [6430] core/trunk/src/org/openjump/core/rasterimage/ RasterImageIO.java

2020-09-06 Thread jump-pilot-svn--- via Jump-pilot-devel
Revision: 6430
  http://sourceforge.net/p/jump-pilot/code/6430
Author:   ma15569
Date: 2020-09-06 21:55:39 + (Sun, 06 Sep 2020)
Log Message:
---
trying to remove several warnings on pixel value using 
GeoReferencedRaster.class for TIFF files

Modified Paths:
--
core/trunk/src/org/openjump/core/rasterimage/RasterImageIO.java

Modified: core/trunk/src/org/openjump/core/rasterimage/RasterImageIO.java
===
--- core/trunk/src/org/openjump/core/rasterimage/RasterImageIO.java 
2020-09-06 21:51:48 UTC (rev 6429)
+++ core/trunk/src/org/openjump/core/rasterimage/RasterImageIO.java 
2020-09-06 21:55:39 UTC (rev 6430)
@@ -314,28 +314,41 @@
 
public static Double readCellValue(String filenameOrURL, int col, int 
row,
int band) throws IOException {
-
+   RenderedOp  renderedOp;
+   Rectangle rectangle = new Rectangle(col, row, 1, 1);
if (filenameOrURL.toLowerCase().endsWith(".gif")
|| filenameOrURL.toLowerCase().endsWith(".png")
-   || filenameOrURL.toLowerCase().endsWith(".tif")
-   || 
filenameOrURL.toLowerCase().endsWith(".tiff")) {
+   ) {
 
-   RenderedOp renderedOp = 
javax.media.jai.JAI.create("fileload",
+renderedOp = javax.media.jai.JAI.create("fileload",
filenameOrURL);
-   Rectangle rectangle = new Rectangle(col, row, 1, 1);
+
 
return renderedOp.getData(rectangle)
.getSampleDouble(col, row, band);
+   }else if (filenameOrURL.toLowerCase().endsWith(".tif")
+   || 
filenameOrURL.toLowerCase().endsWith(".tiff")) {
+   
+   GeoReferencedRaster geoRaster;
+   
+   try {
+   geoRaster = new  GeoReferencedRaster(new 
File(filenameOrURL).toURI().toString());
+renderedOp = geoRaster.getImage();
+   } catch (ReferencedImageException e) {
+   // TODO Auto-generated catch block
+renderedOp = JAI.create("fileload", filenameOrURL);
+   }   
+   
+   return renderedOp.getData(rectangle)
+   .getSampleDouble(col, row, band);   
+   
 
-   // return pImage.copyData().getSampleDouble(col, row, 
0); //copy
-   // data so we do not get a ref
-
} else if (filenameOrURL.toLowerCase().endsWith(".jpg")) {
// PlanarImage pimage;
 
-   RenderedOp renderedOp = 
javax.media.jai.JAI.create("fileload",
+renderedOp = javax.media.jai.JAI.create("fileload",
filenameOrURL);
-   Rectangle rectangle = new Rectangle(col, row, 1, 1);
+
 
return renderedOp.getData(rectangle)
.getSampleDouble(col, row, band);
@@ -372,18 +385,29 @@
 
public static Point getImageDimensions(String filenameOrURL)
throws IOException {
-
-   if (!filenameOrURL.toLowerCase().endsWith(".jpg")
-   && !filenameOrURL.toLowerCase().endsWith(".flt")
-   && !filenameOrURL.toLowerCase().endsWith(".asc")
-   && !filenameOrURL.toLowerCase().endsWith(".txt")
-   && 
!filenameOrURL.toLowerCase().endsWith(".jp2")) {
-
+   if (filenameOrURL.toLowerCase().endsWith(".gif")
+   || 
filenameOrURL.toLowerCase().endsWith(".png")) {
javax.media.jai.PlanarImage pImage = 
javax.media.jai.JAI.create(
"fileload", filenameOrURL);
if (pImage != null) {
return new Point(pImage.getWidth(), 
pImage.getHeight());
}
+   
+   } else if (filenameOrURL.toLowerCase().endsWith(".tif")
+   || 
filenameOrURL.toLowerCase().endsWith(".tiff")) {
+   GeoReferencedRaster geoRaster;
+   RenderedOp  renderedOp;
+   try {
+   geoRaster = new  GeoReferencedRaster(new 
File(filenameOrURL).toURI().toString());
+renderedOp = geoRaster.getImage();
+   } catch (ReferencedImageException e) {
+   // TODO 

[JPP-Devel] SVN: [6429] core/trunk/src/org/openjump/core/rasterimage/ RasterImageLayer.java

2020-09-06 Thread jump-pilot-svn--- via Jump-pilot-devel
Revision: 6429
  http://sourceforge.net/p/jump-pilot/code/6429
Author:   ma15569
Date: 2020-09-06 21:51:48 + (Sun, 06 Sep 2020)
Log Message:
---
patch to correct bug #498 Most GeoTIFF drivers fail with a simple GeoTIFF image 
: now it should be possible to query pixel values in the test image

Modified Paths:
--
core/trunk/src/org/openjump/core/rasterimage/RasterImageLayer.java

Modified: core/trunk/src/org/openjump/core/rasterimage/RasterImageLayer.java
===
--- core/trunk/src/org/openjump/core/rasterimage/RasterImageLayer.java  
2020-09-06 21:45:40 UTC (rev 6428)
+++ core/trunk/src/org/openjump/core/rasterimage/RasterImageLayer.java  
2020-09-06 21:51:48 UTC (rev 6429)
@@ -106,7 +106,7 @@
 //-- end
 
 protected BufferedImage imageProcessingStep1 = null, imageProcessingStep2 
= null;
-
+protected BufferedImage imageProcessingStep3=null;
 
 protected Envelope actualImageEnvelope = null, visibleEnv = null, 
oldVisibleEnv;
 protected Envelope originalImageEnvelope = null;
@@ -483,13 +483,15 @@
 }
 
 if (imageToDraw != null) {
-return imageToDraw;
+   imageProcessingStep3=imageToDraw;
+
 } else if (imageProcessingStep2!=null) {
-return imageProcessingStep2;
+   imageProcessingStep3=imageProcessingStep2;
+
 }
 
-
-return null;
+   
+return imageProcessingStep3;
 }
 
 /**
@@ -1677,7 +1679,15 @@
 
 int pos = row * origImageWidth + col;
 
-return RasterImageIO.readCellValue(imageFileName, col, row, band);
+double value;
+try {
+   value =  imageProcessingStep3.getData().getSampleFloat(col, 
row, band);
+   
+   //  
imageProcessingStep2.getData().getSampleFloat(col, row, 
band);//actualRasterData.getSampleDouble(col, row, band);
+} catch (ArrayIndexOutOfBoundsException e) {
+   value = RasterImageIO.readCellValue(imageFileName, col, row, 
band);
+}
+return  value;
 
 }   
 



___
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


[JPP-Devel] SVN: [6428] core/trunk/src/org/openjump/core/ui/plugin/raster

2020-09-06 Thread jump-pilot-svn--- via Jump-pilot-devel
Revision: 6428
  http://sourceforge.net/p/jump-pilot/code/6428
Author:   ma15569
Date: 2020-09-06 21:45:40 + (Sun, 06 Sep 2020)
Log Message:
---
patch to remove warning:  Can't find resource for bundle 
java.util.PropertyResourceBundle

Modified Paths:
--
core/trunk/src/org/openjump/core/ui/plugin/raster/ProfileGraphPlugIn.java
core/trunk/src/org/openjump/core/ui/plugin/raster/ProfileGraphTool.java
core/trunk/src/org/openjump/core/ui/plugin/raster/RasterQueryCursorTool.java
core/trunk/src/org/openjump/core/ui/plugin/raster/RasterQueryPlugIn.java

Modified: 
core/trunk/src/org/openjump/core/ui/plugin/raster/ProfileGraphPlugIn.java
===
--- core/trunk/src/org/openjump/core/ui/plugin/raster/ProfileGraphPlugIn.java   
2020-09-06 16:46:01 UTC (rev 6427)
+++ core/trunk/src/org/openjump/core/ui/plugin/raster/ProfileGraphPlugIn.java   
2020-09-06 21:45:40 UTC (rev 6428)
@@ -135,10 +135,15 @@
 @Override
 public void initialize(PlugInContext context) throws Exception {
 FeatureInstaller.getInstance().addMainMenuPlugin(this,
-new String[] { MenuNames.RASTER }, sName + "...", false,
+new String[] { MenuNames.RASTER }, getName() + "...", false,
 getIcon(), check());
 }
 
+@Override
+public String getName() {
+   return sName;
+}
+
 public static MultiEnableCheck check() {
 final EnableCheckFactory checkFactory = EnableCheckFactory
 .getInstance();

Modified: 
core/trunk/src/org/openjump/core/ui/plugin/raster/ProfileGraphTool.java
===
--- core/trunk/src/org/openjump/core/ui/plugin/raster/ProfileGraphTool.java 
2020-09-06 16:46:01 UTC (rev 6427)
+++ core/trunk/src/org/openjump/core/ui/plugin/raster/ProfileGraphTool.java 
2020-09-06 21:45:40 UTC (rev 6428)
@@ -164,4 +164,9 @@
 return distance;
 }
 
+@Override
+public String getName() {
+   return I18N
+
.get("org.openjump.core.ui.plugin.raster.ProfileGraphPlugIn.Profile-Graph");
+}
 }

Modified: 
core/trunk/src/org/openjump/core/ui/plugin/raster/RasterQueryCursorTool.java
===
--- 
core/trunk/src/org/openjump/core/ui/plugin/raster/RasterQueryCursorTool.java
2020-09-06 16:46:01 UTC (rev 6427)
+++ 
core/trunk/src/org/openjump/core/ui/plugin/raster/RasterQueryCursorTool.java
2020-09-06 21:45:40 UTC (rev 6428)
@@ -354,4 +354,9 @@
 "[" + LAYER + ": " + name + "] " + VALUE + ": "
 + cellValues.toString());
 }
+
+@Override
+public String getName() {
+   return  
I18N.get("org.openjump.core.ui.plugin.raster.RasterQueryPlugIn");
+}
 }
\ No newline at end of file

Modified: 
core/trunk/src/org/openjump/core/ui/plugin/raster/RasterQueryPlugIn.java
===
--- core/trunk/src/org/openjump/core/ui/plugin/raster/RasterQueryPlugIn.java
2020-09-06 16:46:01 UTC (rev 6427)
+++ core/trunk/src/org/openjump/core/ui/plugin/raster/RasterQueryPlugIn.java
2020-09-06 21:45:40 UTC (rev 6428)
@@ -69,12 +69,18 @@
 new String[] { MenuNames.RASTER },
 // new String[] {MenuNames.PLUGINS,
 // I18NPlug.getI18N("RasterInfo_Extension")},
-
I18N.get("org.openjump.core.ui.plugin.raster.RasterQueryPlugIn"),
+getName(),
 false, getIcon(),
 createEnableCheck(context.getWorkbenchContext()));
 
 }
 
+@Override
+public String getName() {
+   return  
I18N.get("org.openjump.core.ui.plugin.raster.RasterQueryPlugIn");
+}
+
+
 public boolean execute(PlugInContext context) throws Exception {
 try {
 



___
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


[JPP-Devel] [jump-pilot:bugs] #498 Most GeoTIFF drivers fail with a simple GeoTIFF image

2020-09-06 Thread ede via Jump-pilot-devel
wrt. to Standard TIFF Image reader from sun. since jdk9 or later it needs 
  --add-exports java.desktop/com.sun.imageio.plugins.tiff=ALL-UNNAMED
to access the specific imageio package.

added that to our startup scripts in  rev 6427
https://sourceforge.net/p/jump-pilot/code/6427/


---

** [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:** Sun Sep 06, 2020 04:18 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.(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 

[JPP-Devel] SVN: [6427] core/trunk/scripts

2020-09-06 Thread jump-pilot-svn--- via Jump-pilot-devel
Revision: 6427
  http://sourceforge.net/p/jump-pilot/code/6427
Author:   edso
Date: 2020-09-06 16:46:01 + (Sun, 06 Sep 2020)
Log Message:
---
fix IllegalAccessException when using Sun TIFF reader with java9+, reproduced 
with java15 though

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)

Modified Paths:
--
core/trunk/scripts/oj_linux.sh
core/trunk/scripts/oj_windows.bat

Modified: core/trunk/scripts/oj_linux.sh
===
--- core/trunk/scripts/oj_linux.sh  2020-09-06 16:23:34 UTC (rev 6426)
+++ core/trunk/scripts/oj_linux.sh  2020-09-06 16:46:01 UTC (rev 6427)
@@ -237,12 +237,13 @@
 [ -n "$JAVA_LOOKANDFEEL" ] && JAVA_OPTS="$JAVA_OPTS 
-Dswing.defaultlaf=$JAVA_LOOKANDFEEL"
 JAVA_OPTS="$JAVA_OPTS $JAVA_OPTS_OVERRIDE"
 
-# java9 needs some packages explicitly added/exported
+# java9+ needs some packages explicitly added/exported
 if awk "BEGIN{if($JAVA_VERSION >= 9)exit 0;else exit 1}"; then
   JAVA_OPTS="--add-exports java.base/jdk.internal.loader=ALL-UNNAMED \
 --add-exports java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED \
 --add-exports java.desktop/com.sun.java.swing.plaf.motif=ALL-UNNAMED \
 --add-exports java.desktop/com.sun.imageio.spi=ALL-UNNAMED \
+--add-exports java.desktop/com.sun.imageio.plugins.tiff=ALL-UNNAMED \
 $JAVA_OPTS"
 fi
 # java ee was removed from jdk in java 11

Modified: core/trunk/scripts/oj_windows.bat
===
--- core/trunk/scripts/oj_windows.bat   2020-09-06 16:23:34 UTC (rev 6426)
+++ core/trunk/scripts/oj_windows.bat   2020-09-06 16:46:01 UTC (rev 6427)
@@ -140,7 +140,8 @@
   set JAVA_OPTS=%JAVA_OPTS% --add-exports 
java.base/jdk.internal.loader=ALL-UNNAMED ^
 --add-exports java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED ^
 --add-exports java.desktop/com.sun.java.swing.plaf.motif=ALL-UNNAMED ^
---add-exports java.desktop/com.sun.imageio.spi=ALL-UNNAMED
+--add-exports java.desktop/com.sun.imageio.spi=ALL-UNNAMED ^
+--add-exports java.desktop/com.sun.imageio.plugins.tiff=ALL-UNNAMED
 )
 rem -- java ee was removed from jdk in java 11
 if %JAVAVER_MAJOR% geq 9 if %JAVAVER_MAJOR% lss 11 (



___
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


[JPP-Devel] SVN: [6426] core/trunk

2020-09-06 Thread jump-pilot-svn--- via Jump-pilot-devel
Revision: 6426
  http://sourceforge.net/p/jump-pilot/code/6426
Author:   edso
Date: 2020-09-06 16:23:34 + (Sun, 06 Sep 2020)
Log Message:
---
upgrade commons imaging to 1.0-alpha2

Modified Paths:
--
core/trunk/ChangeLog
core/trunk/pom.xml

Added Paths:
---
core/trunk/lib/commons-imaging-1.0-alpha2.jar

Removed Paths:
-
core/trunk/lib/commons-imaging-1.0-alpha1.jar

Modified: core/trunk/ChangeLog
===
--- core/trunk/ChangeLog2020-09-06 14:11:32 UTC (rev 6425)
+++ core/trunk/ChangeLog2020-09-06 16:23:34 UTC (rev 6426)
@@ -4,6 +4,9 @@
 # 3. be concise but convey the change in a way that ordinary users understand
 #< 80 chars 
-->#
 
+2020-09-06 ede
+  * upgrade commons imaging to 1.0-alpha2
+
 2020-09-02 mmichaud 
   * small fix in csv driver -> v1.1.1
   * fix #502 : fatal bug in ColorThemingStyle

Deleted: core/trunk/lib/commons-imaging-1.0-alpha1.jar
===
(Binary files differ)

Added: core/trunk/lib/commons-imaging-1.0-alpha2.jar
===
(Binary files differ)

Index: core/trunk/lib/commons-imaging-1.0-alpha2.jar
===
--- core/trunk/lib/commons-imaging-1.0-alpha2.jar   2020-09-06 14:11:32 UTC 
(rev 6425)
+++ core/trunk/lib/commons-imaging-1.0-alpha2.jar   2020-09-06 16:23:34 UTC 
(rev 6426)

Property changes on: core/trunk/lib/commons-imaging-1.0-alpha2.jar
___
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: core/trunk/pom.xml
===
--- core/trunk/pom.xml  2020-09-06 14:11:32 UTC (rev 6425)
+++ core/trunk/pom.xml  2020-09-06 16:23:34 UTC (rev 6426)
@@ -998,7 +998,7 @@
 
 org.apache.commons
 commons-imaging
-1.0-alpha1
+1.0-alpha2
 
 
 commons-io



___
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


[JPP-Devel] [jump-pilot:bugs] #498 Most GeoTIFF drivers fail with a simple GeoTIFF image

2020-09-06 Thread ede via Jump-pilot-devel
wrt. Commons Imaging - tested with commons-imaging-1.0-alpha2.jar the issue 
still remains.

i logged a bug in their tracker, let's see how it pans out
https://issues.apache.org/jira/projects/IMAGING/issues/IMAGING-265?filter=allopenissues




---

** [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:** Sun Sep 06, 2020 10:52 AM 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.(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 

Re: [JPP-Devel] How to use com.vividsolutions.jump.workbench.imagery.geoimg.GeoRaster

2020-09-06 Thread edgar . soldin
On 03.09.2020 09:33, Giuseppe Aruta wrote:
> Hi Ede,is it possible to use
> com.vividsolutions.jump.workbench.imagery.geoimg.GeoRaster
> to read an image file?
> And how?

same as GeoReferencedRaster

but as

  public class GeoReferencedRaster extends GeoRaster

you don't really gain anything, because GeoRaster is essentially 
GeoReferencedRaster without some fancy geo metadata processing. look at it's 
load routine

  protected void readRasterfile() throws ReferencedImageException {
super.readRasterfile();
...


> I can easily use GeoReferencedRaster(File file)
> but not GeoRaster(File file)

hmm the class seems to be abstract although no methods or members are abstract. 
probably because of that. we can make it public, but as said. it merely a base 
class to create a JAI object to be rendered. the referenced (geo data enriched) 
image will be provided by GeoReferencedRaster.

hope i confused you some more :) ..ede


___
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


Re: [JPP-Devel] wms layer title

2020-09-06 Thread edgar . soldin
On 03.09.2020 19:59, Michaud Michael wrote:
> Thank you for this clear description Jukka,
>
> I will follow Ede's suggestion to log a warning if a (mandatory) title is

how about logging it as error. as it seems to be one but will only be logged 
and hence not obstruct the users experience.

> missing in a layer to let him a chance to report the problem, but the main 
> thing
> was to make it possible to use the WMS even if it contains such a layer (it 
> will
> then contain " (untitled)" as its title).

what if the name is empty as well? not sure that's technically possible ;) as 
it seems to be needed to retrieve it.

..ede


___
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


[JPP-Devel] SVN: [6425] core/trunk/src/org/openjump/core/rasterimage/ RasterImageIO.java

2020-09-06 Thread jump-pilot-svn--- via Jump-pilot-devel
Revision: 6425
  http://sourceforge.net/p/jump-pilot/code/6425
Author:   ma15569
Date: 2020-09-06 14:11:32 + (Sun, 06 Sep 2020)
Log Message:
---
Patch to partially solve #498 Most GeoTIFF drivers fail with a simple GeoTIFF 
image 

Modified Paths:
--
core/trunk/src/org/openjump/core/rasterimage/RasterImageIO.java

Modified: core/trunk/src/org/openjump/core/rasterimage/RasterImageIO.java
===
--- core/trunk/src/org/openjump/core/rasterimage/RasterImageIO.java 
2020-09-05 09:45:01 UTC (rev 6424)
+++ core/trunk/src/org/openjump/core/rasterimage/RasterImageIO.java 
2020-09-06 14:11:32 UTC (rev 6425)
@@ -38,6 +38,8 @@
 import com.vividsolutions.jts.geom.Envelope;
 import com.vividsolutions.jump.I18N;
 import com.vividsolutions.jump.workbench.WorkbenchContext;
+import com.vividsolutions.jump.workbench.imagery.ReferencedImageException;
+import com.vividsolutions.jump.workbench.imagery.geoimg.GeoReferencedRaster;
 import com.vividsolutions.jump.workbench.ui.Viewport;
 
 /**
@@ -194,14 +196,23 @@
throws IOException {
 
if (filenameOrURL.toLowerCase().endsWith(".gif")
-   || filenameOrURL.toLowerCase().endsWith(".png")
-   || filenameOrURL.toLowerCase().endsWith(".tif")
-   || 
filenameOrURL.toLowerCase().endsWith(".tiff")) {
-
+   || 
filenameOrURL.toLowerCase().endsWith(".png")) {
RenderedOp renderedOp = JAI.create("fileload", 
filenameOrURL);
return renderedOp.getAsBufferedImage(subset, 
null).getData();
-
-   } else if (filenameOrURL.toLowerCase().endsWith(".jpg")
+   }
+   else if (filenameOrURL.toLowerCase().endsWith(".tif")
+   || 
filenameOrURL.toLowerCase().endsWith(".tiff")) {
+   GeoReferencedRaster geoRaster;
+   RenderedOp  renderedOp;
+   try {
+   geoRaster = new  GeoReferencedRaster(new 
File(filenameOrURL).toURI().toString());
+renderedOp = geoRaster.getImage();
+   } catch (ReferencedImageException e) {
+   // TODO Auto-generated catch block
+renderedOp = JAI.create("fileload", filenameOrURL);
+   }
+   return renderedOp.getAsBufferedImage(subset, 
null).getData();   
+   }  else if (filenameOrURL.toLowerCase().endsWith(".jpg")
|| filenameOrURL.toLowerCase().endsWith(".bmp")
|| 
filenameOrURL.toLowerCase().endsWith(".jp2")) {
 



___
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


[JPP-Devel] [jump-pilot:bugs] #498 Most GeoTIFF drivers fail with a simple GeoTIFF image

2020-09-06 Thread ede via Jump-pilot-devel
- **Milestone**: OJ_1.16 --> OJ_future
- **Comment**:

won't be fixed soonish, tag it accordingly



---

** [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 05, 2020 04:26 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.(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