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