Revision: 6440
          http://sourceforge.net/p/jump-pilot/code/6440
Author:   ma15569
Date:     2020-09-11 16:20:30 +0000 (Fri, 11 Sep 2020)
Log Message:
-----------
Apdated Stefan's Save Raster plugin. Maybe one day we port it to OpenJUMP

Modified Paths:
--------------
    
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/ImageExtension.java
    
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/ImageUtils.java
    
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/SaveImageToRasterPlugIn.java

Added Paths:
-----------
    plug-ins/RasterLayerExport/.classpath
    plug-ins/RasterLayerExport/.project
    plug-ins/RasterLayerExport/.settings/
    plug-ins/RasterLayerExport/.settings/org.eclipse.jdt.core.prefs

Added: plug-ins/RasterLayerExport/.classpath
===================================================================
--- plug-ins/RasterLayerExport/.classpath                               (rev 0)
+++ plug-ins/RasterLayerExport/.classpath       2020-09-11 16:20:30 UTC (rev 
6440)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry kind="con" 
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="lib" 
path="/home/giuseppe/Desktop/GIS/OpenJUMP/OpenJUMP-1.15-r6241-Test JTS 
12/lib/commons-imaging-1.0-20180908.110935-119.jar"/>
+       <classpathentry kind="lib" 
path="/home/giuseppe/Desktop/GIS/OpenJUMP/OpenJUMP-1.15-r6241-Test JTS 
12/lib/OpenJUMP.jar"/>
+       <classpathentry kind="lib" 
path="/home/giuseppe/Desktop/GIS/OpenJUMP/OpenJUMP-1.15-r6241-Test JTS 
12/lib/log4j-1.2.17.jar"/>
+       <classpathentry kind="lib" 
path="/home/giuseppe/Desktop/GIS/OpenJUMP/OpenJUMP-1.15-r6241-Test JTS 
12/lib/jai_imageio-1.1.jar"/>
+       <classpathentry kind="lib" 
path="/home/giuseppe/Desktop/GIS/OpenJUMP/OpenJUMP-1.15-r6241-Test JTS 
12/lib/jai_core-1.1.3.jar"/>
+       <classpathentry kind="lib" 
path="/home/giuseppe/Desktop/GIS/OpenJUMP/OpenJUMP-1.15-r6241-Test JTS 
12/lib/jai_codec-1.1.3.jar"/>
+       <classpathentry kind="lib" 
path="/home/giuseppe/Desktop/GIS/OpenJUMP/OpenJUMP-1.15-r6241-Test JTS 
12/lib/jts-io-1.14.0.jar"/>
+       <classpathentry kind="lib" 
path="/home/giuseppe/Desktop/GIS/OpenJUMP/OpenJUMP-1.15-r6241-Test JTS 
12/lib/jts-core-1.14.0.jar"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>


Property changes on: plug-ins/RasterLayerExport/.classpath
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: plug-ins/RasterLayerExport/.project
===================================================================
--- plug-ins/RasterLayerExport/.project                         (rev 0)
+++ plug-ins/RasterLayerExport/.project 2020-09-11 16:20:30 UTC (rev 6440)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>SVN_OpenJUMP_Raster</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+       </natures>
+</projectDescription>


Property changes on: plug-ins/RasterLayerExport/.project
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: plug-ins/RasterLayerExport/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- plug-ins/RasterLayerExport/.settings/org.eclipse.jdt.core.prefs             
                (rev 0)
+++ plug-ins/RasterLayerExport/.settings/org.eclipse.jdt.core.prefs     
2020-09-11 16:20:30 UTC (rev 6440)
@@ -0,0 +1,12 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8


Property changes on: 
plug-ins/RasterLayerExport/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: 
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/ImageExtension.java
===================================================================
--- 
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/ImageExtension.java
 2020-09-11 11:22:05 UTC (rev 6439)
+++ 
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/ImageExtension.java
 2020-09-11 16:20:30 UTC (rev 6440)
@@ -1,7 +1,5 @@
 package org.openjump.core.ui.plugin.layer.raster;
 
-
-
 import com.vividsolutions.jump.workbench.plugin.Extension;
 import com.vividsolutions.jump.workbench.plugin.PlugInContext;
 
@@ -10,17 +8,20 @@
   private static final String NAME = "Save Sextante Raster to Image (Giuseppe 
Aruta - http://sourceforge.net/projects/opensit/)";
   private static final String VERSION = "0.2 (2013-09-24)";
 
-  public String getName()
+  @Override
+public String getName()
   {
     return NAME;
 }
 
-  public String getVersion()
+  @Override
+public String getVersion()
   {
     return VERSION;
   }
 
-  public void configure(PlugInContext context)
+  @Override
+public void configure(PlugInContext context)
     throws Exception
   {
  

Modified: 
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/ImageUtils.java
===================================================================
--- 
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/ImageUtils.java
     2020-09-11 11:22:05 UTC (rev 6439)
+++ 
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/ImageUtils.java
     2020-09-11 16:20:30 UTC (rev 6440)
@@ -19,13 +19,17 @@
 import java.io.OutputStream;
 import java.util.HashMap;
 import java.util.Map;
+
 import javax.imageio.ImageIO;
+
 import org.apache.commons.imaging.ImageFormat;
+import org.apache.commons.imaging.ImageFormats;
 import org.apache.commons.imaging.ImageWriteException;
 import org.apache.commons.imaging.Imaging;
 import org.apache.commons.imaging.ImagingConstants;
 import org.apache.commons.imaging.formats.tiff.constants.TiffConstants;
  
+ 
 
 
 public class ImageUtils {
@@ -101,7 +105,7 @@
             throw new IllegalArgumentException("Null 'image' argument."); 
//$NON-NLS-1$
         }
         
-        ImageFormat format = ImageFormat.IMAGE_FORMAT_PNG;
+        ImageFormat format = ImageFormats.PNG;
         Map<String,Object> params = new HashMap<String,Object>();
        
         Imaging.writeImage(image, out, format, params);
@@ -132,7 +136,7 @@
         if (image == null) {
             throw new IllegalArgumentException("Null 'image' argument."); 
//$NON-NLS-1$
         }
-        ImageFormat format = ImageFormat.IMAGE_FORMAT_BMP;
+        ImageFormat format = ImageFormats.BMP;
         Map<String,Object> params = new HashMap<String,Object>();
        
         Imaging.writeImage(image, out, format, params);
@@ -189,7 +193,7 @@
             throw new IllegalArgumentException("Null 'image' argument."); 
//$NON-NLS-1$
         }
 
-        ImageFormat format = ImageFormat.IMAGE_FORMAT_TIFF;
+        ImageFormat format = ImageFormats.PNG;
         Map<String,Object> params = new HashMap<String,Object>();
         
         params.put(ImagingConstants.PARAM_KEY_COMPRESSION, new Integer(
@@ -249,7 +253,8 @@
      
       ImageFilter filter = new RGBImageFilter()
       {
-        public final int filterRGB(int x, int y, int rgb)
+        @Override
+               public final int filterRGB(int x, int y, int rgb)
         {
           int r = (rgb & 0xFF0000) >> 16;
           int g = (rgb & 0xFF00) >> 8;

Modified: 
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/SaveImageToRasterPlugIn.java
===================================================================
--- 
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/SaveImageToRasterPlugIn.java
        2020-09-11 11:22:05 UTC (rev 6439)
+++ 
plug-ins/RasterLayerExport/src/org/openjump/core/ui/plugin/layer/raster/SaveImageToRasterPlugIn.java
        2020-09-11 16:20:30 UTC (rev 6440)
@@ -16,6 +16,7 @@
 import java.text.NumberFormat;
 import java.util.HashMap;
 import java.util.Properties;
+
 import javax.imageio.ImageIO;
 import javax.media.jai.PlanarImage;
 import javax.swing.Icon;
@@ -24,14 +25,12 @@
 import org.apache.commons.imaging.ImageWriteException;
 import org.apache.log4j.Logger;
 import org.openjump.core.apitools.LayerTools;
+import org.openjump.core.rasterimage.AddRasterImageLayerWizard;
 import org.openjump.core.rasterimage.RasterImageLayer;
 import org.openjump.core.rasterimage.WorldFileHandler;
 import org.openjump.core.rasterimage.sextante.OpenJUMPSextanteRasterLayer;
 import 
org.openjump.core.rasterimage.sextante.rasterWrappers.GridWrapperNotInterpolated;
-import 
org.openjump.core.ui.plugin.layer.pirolraster.LoadSextanteRasterImagePlugIn;
-import com.sun.media.jai.codec.TIFFEncodeParam;
-import com.sun.media.jai.codecimpl.TIFFCodec;
-import com.sun.media.jai.codecimpl.TIFFImageEncoder;
+
 import com.vividsolutions.jts.geom.Envelope;
 import com.vividsolutions.jump.I18N;
 import com.vividsolutions.jump.task.TaskMonitor;
@@ -99,8 +98,7 @@
 
        protected double[][] data;
        private Properties properties = null;
-       private static String propertiesFile = LoadSextanteRasterImagePlugIn
-                       .getPropertiesFile();
+       private static String propertiesFile = "RasterImage.properties";
        NumberFormat cellFormat = null;
        public static final Double DEFAULT_NODATA = -9999.00;
        public double defaultNoData = -9999;
@@ -170,6 +168,7 @@
                return ICON;
        }
 
+       @Override
        public void initialize(PlugInContext context) throws Exception {
                WorkbenchContext workbenchContext = 
context.getWorkbenchContext();
                new FeatureInstaller(workbenchContext);
@@ -179,6 +178,7 @@
                                false, null, 
createEnableCheck(context.getWorkbenchContext()));
        }
 
+       @Override
        public boolean execute(PlugInContext context) throws Exception {
                reportNothingToUndoYet(context);
 
@@ -199,6 +199,7 @@
                }
        }
 
+       @Override
        public void run(TaskMonitor monitor, PlugInContext context)
                        throws Exception {
 
@@ -215,11 +216,11 @@
                        BufferedImage image = null;
                        RasterImageLayer rLayer = (RasterImageLayer) LayerTools
                                        .getSelectedLayerable(context, 
RasterImageLayer.class);
-                       Raster r = rLayer.getRasterData();
+                       Raster r = rLayer.getRasterData(null);
                        SampleModel sm = r.getSampleModel();
                        ColorModel colorModel = 
PlanarImage.createColorModel(sm);
                        image = new BufferedImage(colorModel,
-                                       (WritableRaster) 
rLayer.getRasterData(), false, null);
+                                       (WritableRaster) 
rLayer.getRasterData(null), false, null);
 
                        layerName = rLayer.getName();
 
@@ -373,7 +374,7 @@
                                // ... and the image is in b-w/grey only 
(similar to png) 
                                // use Apache commons-imaging
                                ImageUtils.writeBufferedImageAsTIF(out, image);
-                               Envelope envelope = rLayer.getEnvelope();
+                               Envelope envelope = 
rLayer.getWholeImageEnvelope();
                                WorldFileHandler worldFileHandler = new 
WorldFileHandler(
                                                file.getAbsolutePath(), false);
                                worldFileHandler.writeWorldFile(envelope,
@@ -392,7 +393,7 @@
 
        private void saveInfoFile(RasterImageLayer rLayer, 
OpenJUMPSextanteRasterLayer rstLayer) throws IOException {
                OutputStream out1 = null;
-
+               Envelope env = rLayer.getWholeImageEnvelope();
                try {
 
                        out1 = new FileOutputStream(fileINFO);
@@ -401,10 +402,10 @@
                        c.println(DATASOURCE_CLASS + ": " + file + "\n");
                        c.println(RASTER_SIZE + ": " + 
rstLayer.getLayerGridExtent().getNX() + " x "+ 
rstLayer.getLayerGridExtent().getNY() + "\n");
                        c.println(EXTENT + ":");
-                       c.println(XMIN + ": " + rLayer 
.getEnvelope().getMinX());
-                       c.println(YMIN + ": " + rLayer.getEnvelope().getMinY());
-                       c.println(XMAX + ": " + rLayer.getEnvelope().getMaxX());
-                       c.println(YMAX + ": " + rLayer.getEnvelope().getMaxY() 
+ "\n");
+                       c.println(XMIN + ": " + env.getMinX());
+                       c.println(YMIN + ": " + env.getMinY());
+                       c.println(XMAX + ": " + env.getMaxX());
+                       c.println(YMAX + ": " + env.getMaxY() + "\n");
                        c.println(BANDS + ": " + rstLayer.getBandsCount() + 
"\n");
                        c.println(CELL_SIZE + ": " + 
rstLayer.getLayerCellSize()+ "\n");
                        c.println(CELL_VALUES + ":");
@@ -428,7 +429,7 @@
        private void saveGrd(PlugInContext context, RasterImageLayer rLayer)
                        throws IOException {
                OutputStream out = null;
-
+               Envelope env = rLayer.getWholeImageEnvelope();
                try {
                        OpenJUMPSextanteRasterLayer rstLayer = new 
OpenJUMPSextanteRasterLayer();
                        rstLayer.create(rLayer);
@@ -443,7 +444,7 @@
                                                propertiesFile);
                                this.properties.load(fis);
                                this.properties
-                               
.getProperty(LoadSextanteRasterImagePlugIn.KEY_PATH);
+                               
.getProperty(AddRasterImageLayerWizard.KEY_PATH);
                                fis.close();
                        } catch (FileNotFoundException e) {
                                // not sure if it is necessary to show this 
warning,
@@ -461,14 +462,14 @@
                        // Surfer grids are based on grid lines which equate to 
the
                        // edges of a cell.
 
-                       Double xcMin = rLayer.getEnvelope().getMinX()
-                                       + (0.5 * rstLayer.getLayerCellSize());
-                       Double ycMin = rLayer.getEnvelope().getMinY()
-                                       + (0.5 * rstLayer.getLayerCellSize());
-                       Double xcMax = rLayer.getEnvelope().getMaxX()
-                                       - (0.5 * rstLayer.getLayerCellSize());
-                       Double ycMax = rLayer.getEnvelope().getMaxY()
-                                       - (0.5 * rstLayer.getLayerCellSize());
+                       Double xcMin = env.getMinX()
+                                       + (0.5 * 
rLayer.getMetadata().getOriginalCellSize());
+                       Double ycMin = env.getMinY()
+                                       + (0.5 * 
rLayer.getMetadata().getOriginalCellSize());
+                       Double xcMax = env.getMaxX()
+                                       - (0.5 * 
rLayer.getMetadata().getOriginalCellSize());
+                       Double ycMax = env.getMaxY()
+                                       - (0.5 * 
rLayer.getMetadata().getOriginalCellSize());
 
                        // Write Header
 
@@ -557,7 +558,7 @@
                                                propertiesFile);
                                this.properties.load(fis);
                                this.properties
-                               
.getProperty(LoadSextanteRasterImagePlugIn.KEY_PATH);
+                               
.getProperty(AddRasterImageLayerWizard.KEY_PATH);
                                fis.close();
                        } catch (FileNotFoundException e) {
                                // not sure if it is necessary to show this 
warning,
@@ -621,7 +622,7 @@
        private void saveAsc(PlugInContext context, RasterImageLayer rLayer)
                        throws IOException {
                OutputStream out = null;
-
+               Envelope env = rLayer.getWholeImageEnvelope();
                try {
                        OpenJUMPSextanteRasterLayer rstLayer = new 
OpenJUMPSextanteRasterLayer();
                        rstLayer.create(rLayer);
@@ -636,7 +637,7 @@
                                                propertiesFile);
                                this.properties.load(fis);
                                this.properties
-                               
.getProperty(LoadSextanteRasterImagePlugIn.KEY_PATH);
+                               
.getProperty(AddRasterImageLayerWizard.KEY_PATH);
                                fis.close();
                        } catch (FileNotFoundException e) {
                                // not sure if it is necessary to show this 
warning,
@@ -655,7 +656,7 @@
                        o.println("nrows " + rLayer.getOrigImageHeight());// 
Number
                        // of
                        // rows
-                       o.println("xllcorner " + 
rLayer.getEnvelope().getMinX());// the
+                       o.println("xllcorner " + env.getMinX());// the
                        // x
                        // coordinate
                        // of
@@ -668,7 +669,7 @@
                        // left
                        // grid
                        // cell
-                       o.println("yllcorner " + 
rLayer.getEnvelope().getMinY());// the
+                       o.println("yllcorner " + env.getMinY());// the
                        // Y
                        // coordinate
                        // of
@@ -735,12 +736,13 @@
        private void writeGif(BufferedImage image, RasterImageLayer rLayer)
                        throws FileNotFoundException, IOException, 
ImageWriteException {
                OutputStream out = null;
+               Envelope env = rLayer.getWholeImageEnvelope();
                try {
                        out = new FileOutputStream(file);
                        File inputFile = new File(rLayer.getName());
                        BufferedImage input = ImageIO.read(inputFile);
                        ImageUtils.writeBufferedImageAsGIF(out, input);
-                       Envelope envelope = rLayer.getEnvelope();
+                       Envelope envelope = env;
                        WorldFileHandler worldFileHandler = new 
WorldFileHandler(
                                        file.getAbsolutePath(), false);
                        worldFileHandler.writeWorldFile(envelope, 
image.getWidth(),
@@ -760,10 +762,11 @@
        private void writeBmp(BufferedImage image, RasterImageLayer rLayer)
                        throws FileNotFoundException, IOException, 
ImageWriteException {
                OutputStream out = null;
+               Envelope env = rLayer.getWholeImageEnvelope();
                try {
                        out = new FileOutputStream(file);
                        ImageUtils.writeBufferedImageAsBMP(out, image);
-                       Envelope envelope = rLayer.getEnvelope();
+                       Envelope envelope = env;
                        WorldFileHandler worldFileHandler = new 
WorldFileHandler(
                                        file.getAbsolutePath(), false);
                        worldFileHandler.writeWorldFile(envelope, 
image.getWidth(),
@@ -779,10 +782,11 @@
        private void writeJp2(BufferedImage image, RasterImageLayer rLayer)
                        throws FileNotFoundException, IOException {
                OutputStream out = null;
+               Envelope env = rLayer.getWholeImageEnvelope();
                try {
                        out = new FileOutputStream(file);
                        ImageUtils.writeBufferedImageAsJPEG2000(out, image);
-                       Envelope envelope = rLayer.getEnvelope();
+                       Envelope envelope = env;
                        WorldFileHandler worldFileHandler = new 
WorldFileHandler(
                                        file.getAbsolutePath(), false);
                        worldFileHandler.writeWorldFile(envelope, 
image.getWidth(),
@@ -798,12 +802,13 @@
        private void writeJpg(BufferedImage image, RasterImageLayer rLayer)
                        throws FileNotFoundException, IOException, 
ImageWriteException {
                OutputStream out = null;
+               Envelope env = rLayer.getWholeImageEnvelope();
                try {
 
                        out = new FileOutputStream(file);
                        ImageUtils.writeBufferedImageAsJPEG(out, 1.0f, image);
 
-                       Envelope envelope = rLayer.getEnvelope();
+                       Envelope envelope = env;
                        WorldFileHandler worldFileHandler = new 
WorldFileHandler(
                                        file.getAbsolutePath(), false);
                        worldFileHandler.writeWorldFile(envelope, 
image.getWidth(),
@@ -819,12 +824,13 @@
        private void writePng(BufferedImage image, RasterImageLayer rLayer)
                        throws FileNotFoundException, IOException {
                OutputStream out = null;
+               Envelope env = rLayer.getWholeImageEnvelope();
                try {
                        out = new FileOutputStream(file);
 
                        ImageUtils.writeBufferedImageAsPNG2(out, image);
 
-                       Envelope envelope = rLayer.getEnvelope();
+                       Envelope envelope = env;
                        WorldFileHandler worldFileHandler = new 
WorldFileHandler(
                                        file.getAbsolutePath(), false);
                        worldFileHandler.writeWorldFile(envelope, 
image.getWidth(),



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

Reply via email to