Revision: 6415
http://sourceforge.net/p/jump-pilot/code/6415
Author: ma15569
Date: 2020-09-02 12:03:05 +0000 (Wed, 02 Sep 2020)
Log Message:
-----------
Added methods to use, whenever it is possible, ImageIO -ext instead of JAI
Modified Paths:
--------------
core/trunk/src/org/openjump/core/rasterimage/TiffUtils.java
Modified: core/trunk/src/org/openjump/core/rasterimage/TiffUtils.java
===================================================================
--- core/trunk/src/org/openjump/core/rasterimage/TiffUtils.java 2020-09-02
11:59:16 UTC (rev 6414)
+++ core/trunk/src/org/openjump/core/rasterimage/TiffUtils.java 2020-09-02
12:03:05 UTC (rev 6415)
@@ -3,6 +3,8 @@
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jump.workbench.Logger;
+import com.vividsolutions.jump.workbench.imagery.ReferencedImageException;
+import com.vividsolutions.jump.workbench.imagery.geoimg.GeoReferencedRaster;
import java.awt.Point;
import java.awt.Rectangle;
@@ -323,18 +325,71 @@
}
- public static RenderedOp readSubsampled(File tiffFile, float xScale, float
yScale) {
-
+ /* public static RenderedOp readSubsampled(File tiffFile, float xScale,
float yScale) {
System.setProperty("com.sun.media.jai.disableMediaLib", "true");
RenderedOp renderedOp = JAI.create("fileload",
tiffFile.getAbsolutePath());
ParameterBlock parameterBlock = new ParameterBlock();
parameterBlock.addSource(renderedOp);
-
parameterBlock.add(xScale);
parameterBlock.add(yScale);
return JAI.create("scale", parameterBlock);
+ }*/
+
+ //[Giuseppe Aruta 2020-02-09] whenever it is possible
+ // we use ImageIO-ext first to retrive the Image
+
+ public static RenderedOp readSubsampled(File tiffFile, float xScale, float
yScale) {
+ RenderedOp renderedOp = null;
+ try {
+ //We first try with gdal/ImageIO-ext
+ GeoReferencedRaster geoRaster = new
GeoReferencedRaster(tiffFile.toURI().toString());
+ renderedOp = geoRaster.getImage();
+ } catch (ReferencedImageException e) {
+ //Then we use JAI
+ System.setProperty("com.sun.media.jai.disableMediaLib",
"true");
+ renderedOp = JAI.create("fileload",
tiffFile.getAbsolutePath());
+
+ }
+ ParameterBlock parameterBlock = new ParameterBlock();
+ parameterBlock.addSource(renderedOp);
+ parameterBlock.add(xScale);
+ parameterBlock.add(yScale);
+ renderedOp = JAI.create("scale", parameterBlock);
+ return JAI.create("scale", parameterBlock);
+ }
+
+
+ public static Double readCellValue(File tiffFile, int col, int row,
+ int band) {
+ RenderedOp renderedOp = null;
+ Rectangle rectangle = new Rectangle(col, row, 1, 1);
+ try {
+ GeoReferencedRaster geoRaster = new
GeoReferencedRaster(tiffFile.toURI().toString());
+ renderedOp = geoRaster.getImage();
+ }
+ catch (Exception e) {
+ System.setProperty("com.sun.media.jai.disableMediaLib",
"true");
+ renderedOp = javax.media.jai.JAI.create("fileload",
+ tiffFile.getAbsolutePath());
+ }
+ return renderedOp.getData(rectangle)
+ .getSampleDouble(col, row, band);
+ }
+
+
+ public static RenderedOp getRenderedOp(File tiffFile) {
+ RenderedOp renderedOp = null;
+ try {
+ GeoReferencedRaster geoRaster = new
GeoReferencedRaster(tiffFile.toURI().toString());
+ renderedOp = geoRaster.getImage();
+ }
+ catch (Exception e) {
+ System.setProperty("com.sun.media.jai.disableMediaLib",
"true");
+ renderedOp = javax.media.jai.JAI.create("fileload",
+ tiffFile.toURI().toString());
+ }
+ return renderedOp;
}
-
}
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel