Revision: 5060
http://sourceforge.net/p/jump-pilot/code/5060
Author: ma15569
Date: 2016-10-09 05:57:28 +0000 (Sun, 09 Oct 2016)
Log Message:
-----------
Correct bug 410. Added Data Explorer plugin
Modified Paths:
--------------
plug-ins/SextantePlugIn/.classpath
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/core/OpenJUMPRasterLayer.java
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/extensions/SextanteExtension.java
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante.properties
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_ca.properties
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_de.properties
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_en.properties
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_es.properties
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_fi.properties
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_fr.properties
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_hr.properties
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_it.properties
plug-ins/SextantePlugIn/src/org/openjump/sigle/plugin/tutorial/HelpDialog.java
Added Paths:
-----------
plug-ins/SextantePlugIn/dist/.classpath
plug-ins/SextantePlugIn/dist/.project
plug-ins/SextantePlugIn/dist/ojsextante_binding_oct2016.jar
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/extensions/SextanteDataExplorerPlugin.java
Modified: plug-ins/SextantePlugIn/.classpath
===================================================================
--- plug-ins/SextantePlugIn/.classpath 2016-10-08 23:23:12 UTC (rev 5059)
+++ plug-ins/SextantePlugIn/.classpath 2016-10-09 05:57:28 UTC (rev 5060)
@@ -1,12 +1,15 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry combineaccessrules="false" kind="src" path="/sextante"/>
- <classpathentry combineaccessrules="false" kind="src"
path="/sextante_gui"/>
- <classpathentry combineaccessrules="false" kind="src"
path="/openjump_app"/>
- <classpathentry kind="con"
path="org.eclipse.jdt.USER_LIBRARY/OpenJUMPLibs"/>
- <classpathentry kind="con"
path="org.eclipse.jdt.USER_LIBRARY/SextanteLibs"/>
- <classpathentry kind="lib"
path="/home/giusepppe/Scrivania/GIS/OpenJUMP-Test/lib/OpenJUMP_test.jar"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/OpenJUMP-20160706-r4951-nolang.jar"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/ext/sextante/sextante.jar"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/ext/sextante/sextante_algorithms.jar"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/ext/sextante/sextante_gui.jar"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/jts-core-1.14.0.jar"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/jts-io-1.14.0.jar"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/jai_codec-1.1.3.jar"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/jai_core-1.1.3.jar"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/jai_imageio-1.1.jar"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Added: plug-ins/SextantePlugIn/dist/.classpath
===================================================================
--- plug-ins/SextantePlugIn/dist/.classpath (rev 0)
+++ plug-ins/SextantePlugIn/dist/.classpath 2016-10-09 05:57:28 UTC (rev
5060)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.USER_LIBRARY/OpenJUMP"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.USER_LIBRARY/OpenJUMP_libraries"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/ext/sextante/sextante.jar"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/ext/sextante/sextante_algorithms.jar"/>
+ <classpathentry kind="lib"
path="C:/Users/Beppe/Desktop/OpenJUMP-Portable-20160706-r4951-CORE/OpenJUMP-20160706-r4951-CORE/lib/ext/sextante/sextante_gui.jar"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on: plug-ins/SextantePlugIn/dist/.classpath
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: plug-ins/SextantePlugIn/dist/.project
===================================================================
--- plug-ins/SextantePlugIn/dist/.project (rev 0)
+++ plug-ins/SextantePlugIn/dist/.project 2016-10-09 05:57:28 UTC (rev
5060)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Sextante</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/SextantePlugIn/dist/.project
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: plug-ins/SextantePlugIn/dist/ojsextante_binding_oct2016.jar
===================================================================
(Binary files differ)
Index: plug-ins/SextantePlugIn/dist/ojsextante_binding_oct2016.jar
===================================================================
--- plug-ins/SextantePlugIn/dist/ojsextante_binding_oct2016.jar 2016-10-08
23:23:12 UTC (rev 5059)
+++ plug-ins/SextantePlugIn/dist/ojsextante_binding_oct2016.jar 2016-10-09
05:57:28 UTC (rev 5060)
Property changes on: plug-ins/SextantePlugIn/dist/ojsextante_binding_oct2016.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/core/OpenJUMPRasterLayer.java
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/core/OpenJUMPRasterLayer.java
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/core/OpenJUMPRasterLayer.java
2016-10-09 05:57:28 UTC (rev 5060)
@@ -6,15 +6,24 @@
import java.awt.image.DataBuffer;
import java.awt.image.Raster;
import java.awt.image.WritableRaster;
+import java.io.BufferedWriter;
import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.util.Locale;
import javax.media.jai.PlanarImage;
import javax.media.jai.RasterFactory;
+import org.openjump.core.rasterimage.GeoTiffConstants;
import org.openjump.core.rasterimage.RasterImageLayer;
+import org.openjump.core.rasterimage.TiffTags;
import org.openjump.core.rasterimage.WorldFileHandler;
import com.sun.media.jai.codec.TIFFEncodeParam;
+import com.sun.media.jai.codec.TIFFField;
import com.sun.media.jai.codecimpl.TIFFCodec;
import com.sun.media.jai.codecimpl.TIFFImageEncoder;
import com.vividsolutions.jts.geom.Envelope;
@@ -24,313 +33,482 @@
import es.unex.sextante.gui.core.SextanteGUI;
import es.unex.sextante.outputs.FileOutputChannel;
import es.unex.sextante.outputs.IOutputChannel;
-import java.io.IOException;
-public class OpenJUMPRasterLayer
- extends
- AbstractRasterLayer {
+public class OpenJUMPRasterLayer extends AbstractRasterLayer {
- private static final double DEFAULT_NO_DATA_VALUE = -99999.;
+ private static final double DEFAULT_NO_DATA_VALUE = -99999.;
- private String m_sFilename;
- private String m_sName = "";
- private AnalysisExtent m_LayerExtent;
- private double m_dNoDataValue;
- private Raster m_Raster;
- RasterImageLayer m_Layer;
+ private String m_sFilename;
+ private String m_sName = "";
+ private AnalysisExtent m_LayerExtent;
+ private double m_dNoDataValue;
+ private Raster m_Raster;
+ RasterImageLayer m_Layer;
+ public void create(final RasterImageLayer layer) throws IOException {
- public void create(final RasterImageLayer layer) throws IOException {
+ // [Giuseppe Aruta 8 Oct. 2016] add few modification to correct bug
#410
- /* [sstein 26 Oct. 2010] - don't use code below because
- * the raster data should be loaded new from file.
- * It happened in tests that with the code below data from
- * another raster, created last, was used instead.
- * (e.g. calculated Point-KDE first, and then Line-KDE=> then getting
the polygon grid from
- * the point-KDE raster delivered the Line-KDE raster as poly grid)
- *
- m_BaseDataObject = layer;
- //[sstein 2 Aug 2010], changed so we work now with the raster and not
the image, which may be scaled for display.
- //m_Raster = layer.getImage().getData();
- m_Raster = layer.getRasterData();
- //-- end
- m_sName = layer.getName();
- m_sFilename = layer.getImageFileName();
- Envelope env = layer.getEnvelope();
- m_LayerExtent = new GridExtent();
- m_LayerExtent.setXRange(env.getMinX(), env.getMaxX());
- m_LayerExtent.setYRange(env.getMinY(), env.getMaxY());
- m_LayerExtent.setCellSize((env.getMaxX() - env.getMinX())
- / (double)m_Raster.getWidth());
- m_dNoDataValue = DEFAULT_NO_DATA_VALUE;
- */
+ /*
+ * [sstein 26 Oct. 2010] - don't use code below because the raster data
+ * should be loaded new from file. It happened in tests that with the
+ * code below data from another raster, created last, was used instead.
+ * (e.g. calculated Point-KDE first, and then Line-KDE=> then getting
+ * the polygon grid from the point-KDE raster delivered the Line-KDE
+ * raster as poly grid)
+ *
+ * m_BaseDataObject = layer; //[sstein 2 Aug 2010], changed so we work
+ * now with the raster and not the image, which may be scaled for
+ * display. //m_Raster = layer.getImage().getData(); m_Raster =
+ * layer.getRasterData(); //-- end m_sName = layer.getName();
+ * m_sFilename = layer.getImageFileName(); Envelope env =
+ * layer.getEnvelope(); m_LayerExtent = new GridExtent();
+ * m_LayerExtent.setXRange(env.getMinX(), env.getMaxX());
+ * m_LayerExtent.setYRange(env.getMinY(), env.getMaxY());
+ * m_LayerExtent.setCellSize((env.getMaxX() - env.getMinX()) /
+ * (double)m_Raster.getWidth()); m_dNoDataValue =
DEFAULT_NO_DATA_VALUE;
+ */
- //[sstein 26 Oct. 2010] using the new method instead
- // so I do not need to change the code in all the cases
- // where #.create(layer) is used
- System.out.println("creation of raster layer");
- create(layer, true);
+ // [sstein 26 Oct. 2010] using the new method instead
+ // so I do not need to change the code in all the cases
+ // where #.create(layer) is used
+ System.out.println("creation of raster layer");
+ create(layer, true);
- }
+ }
+ public void create(final RasterImageLayer layer, final boolean
loadFromFile)
+ throws IOException {
- public void create(final RasterImageLayer layer,
- final boolean loadFromFile) throws IOException {
+ if (loadFromFile == false) {
+ m_Layer = layer;
+ // [sstein 2 Aug 2010], changed so we work now with the raster and
+ // not the image, which may be scaled for display.
+ // m_Raster = layer.getImage().getData();
+ m_Raster = layer.getRasterData(null);
+ // -- end
+ m_sName = layer.getName();
+ m_sFilename = layer.getImageFileName();
+ final Envelope env = layer.getWholeImageEnvelope();
+ m_LayerExtent = new AnalysisExtent();
+ // [sstein 18 Mar 2013], set cell size first, and then the extent,
+ // otherwise maxX and maxY will be reset
+ m_LayerExtent.setCellSize((env.getMaxX() - env.getMinX())
+ / m_Raster.getWidth());
+ m_LayerExtent.setXRange(env.getMinX(), env.getMaxX(), true);
+ m_LayerExtent.setYRange(env.getMinY(), env.getMaxY(), true);
+ // [Giuseppe Aruta 8 Oct. 2016] using selected rasterlayer no data
+ // value instead
+ m_dNoDataValue = layer.getNoDataValue();
+ // m_dNoDataValue = DEFAULT_NO_DATA_VALUE;
+ } else {
+ final RasterImageLayer rasterLayer = new RasterImageLayer(
+ layer.getName(), layer.getLayerManager(),
+ layer.getImageFileName(), null,
+ layer.getWholeImageEnvelope());
+ m_Layer = rasterLayer;
+ m_Raster = rasterLayer.getRasterData(null);
+ // -- end
+ m_sName = rasterLayer.getName();
+ m_sFilename = rasterLayer.getImageFileName();
+ final Envelope env = rasterLayer.getWholeImageEnvelope();
+ m_LayerExtent = new AnalysisExtent();
+ // [sstein 18 Mar 2013], set cell size first, and then the extent,
+ // otherwise maxX and maxY will be reset
+ m_LayerExtent.setCellSize((env.getMaxX() - env.getMinX())
+ / m_Raster.getWidth());
+ m_LayerExtent.setXRange(env.getMinX(), env.getMaxX(), true);
+ m_LayerExtent.setYRange(env.getMinY(), env.getMaxY(), true);
+ // [Giuseppe Aruta 8 Oct. 2016] using selected rasterlayer no data
+ // value instead
+ m_dNoDataValue = layer.getNoDataValue();
+ // m_dNoDataValue = DEFAULT_NO_DATA_VALUE;
+ }
- if (loadFromFile == false) {
- m_Layer = layer;
- //[sstein 2 Aug 2010], changed so we work now with the raster and not
the image, which may be scaled for display.
- //m_Raster = layer.getImage().getData();
- m_Raster = layer.getRasterData(null);
- //-- end
- m_sName = layer.getName();
- m_sFilename = layer.getImageFileName();
- final Envelope env = layer.getWholeImageEnvelope();
- m_LayerExtent = new AnalysisExtent();
- //[sstein 18 Mar 2013], set cell size first, and then the extent,
otherwise maxX and maxY will be reset
- m_LayerExtent.setCellSize((env.getMaxX() - env.getMinX()) /
m_Raster.getWidth());
- m_LayerExtent.setXRange(env.getMinX(), env.getMaxX(), true);
- m_LayerExtent.setYRange(env.getMinY(), env.getMaxY(), true);
- m_dNoDataValue = DEFAULT_NO_DATA_VALUE;
- }
- else {
- final RasterImageLayer rasterLayer = new
RasterImageLayer(layer.getName(), layer.getLayerManager(),
- layer.getImageFileName(), null,
layer.getWholeImageEnvelope());
- m_Layer = rasterLayer;
- m_Raster = rasterLayer.getRasterData(null);
- //-- end
- m_sName = rasterLayer.getName();
- m_sFilename = rasterLayer.getImageFileName();
- final Envelope env = rasterLayer.getWholeImageEnvelope();
- m_LayerExtent = new AnalysisExtent();
- //[sstein 18 Mar 2013], set cell size first, and then the extent,
otherwise maxX and maxY will be reset
- m_LayerExtent.setCellSize((env.getMaxX() - env.getMinX()) /
m_Raster.getWidth());
- m_LayerExtent.setXRange(env.getMinX(), env.getMaxX(), true);
- m_LayerExtent.setYRange(env.getMinY(), env.getMaxY(), true);
- m_dNoDataValue = DEFAULT_NO_DATA_VALUE;
- }
+ }
- }
+ public void create(final String name, final String filename,
+ final AnalysisExtent ge, final int dataType, final int numBands,
+ final Object crs) {
+ m_Raster = RasterFactory.createBandedRaster(dataType, ge.getNX(),
+ ge.getNY(), numBands, null);
- public void create(final String name,
- final String filename,
- final AnalysisExtent ge,
- final int dataType,
- final int numBands,
- final Object crs) {
+ final OpenJUMPOutputFactory fact = (OpenJUMPOutputFactory) SextanteGUI
+ .getOutputFactory();
- m_Raster = RasterFactory.createBandedRaster(dataType, ge.getNX(),
ge.getNY(), numBands, null);
+ final Envelope envelope = new Envelope();
+ envelope.init(ge.getXMin(), ge.getXMax(), ge.getYMin(), ge.getYMax());
+ final ColorModel colorModel = PlanarImage.createColorModel(m_Raster
+ .getSampleModel());
+ final BufferedImage bufimg = new BufferedImage(colorModel,
+ (WritableRaster) m_Raster, false, null);
+ // final PlanarImage pimage = PlanarImage.wrapRenderedImage(bufimg);
+ m_Layer = new RasterImageLayer(name, fact.getContext()
+ .getLayerManager(), filename, bufimg, envelope);
+ m_sName = name;
+ m_sFilename = filename;
+ m_LayerExtent = ge;
+ // [Giuseppe Aruta 8 Oct. 2016] using Sextante GUI to get no data value
+ // instead
+ m_dNoDataValue =
SextanteGUI.getOutputFactory().getDefaultNoDataValue();
+ // m_dNoDataValue = DEFAULT_NO_DATA_VALUE;
- final OpenJUMPOutputFactory fact = (OpenJUMPOutputFactory)
SextanteGUI.getOutputFactory();
+ }
- final Envelope envelope = new Envelope();
- envelope.init(ge.getXMin(), ge.getXMax(), ge.getYMin(), ge.getYMax());
- final ColorModel colorModel =
PlanarImage.createColorModel(m_Raster.getSampleModel());
- final BufferedImage bufimg = new BufferedImage(colorModel,
(WritableRaster) m_Raster, false, null);
-// final PlanarImage pimage = PlanarImage.wrapRenderedImage(bufimg);
- m_Layer = new RasterImageLayer(name,
fact.getContext().getLayerManager(), filename, bufimg, envelope);
- m_sName = name;
- m_sFilename = filename;
- m_LayerExtent = ge;
- m_dNoDataValue = DEFAULT_NO_DATA_VALUE;
+ public int getBandsCount() {
- }
+ if (m_Raster != null) {
+ return m_Raster.getNumBands();
+ } else {
+ return 0;
+ }
+ }
- public int getBandsCount() {
+ public double getCellValueInLayerCoords(final int x, final int y,
+ final int band) {
- if (m_Raster != null) {
- return m_Raster.getNumBands();
- }
- else {
- return 0;
- }
+ try {
+ if (m_Raster != null) {
+ return m_Raster.getSampleDouble(x, y, band);
+ } else {
+ return getNoDataValue();
+ }
+ } catch (final Exception e) {
+ return getNoDataValue();
+ }
- }
+ }
+ public int getDataType() {
- public double getCellValueInLayerCoords(final int x,
- final int y,
- final int band) {
+ if (m_Raster != null) {
+ return m_Raster.getDataBuffer().getDataType();
+ } else {
+ return DataBuffer.TYPE_DOUBLE;
+ }
- try {
- if (m_Raster != null) {
- return m_Raster.getSampleDouble(x, y, band);
- }
- else {
- return getNoDataValue();
- }
- }
- catch (final Exception e) {
- return getNoDataValue();
- }
+ }
- }
+ public double getLayerCellSize() {
+ if (m_LayerExtent != null) {
+ return m_LayerExtent.getCellSize();
+ } else {
+ return 0;
+ }
- public int getDataType() {
+ }
- if (m_Raster != null) {
- return m_Raster.getDataBuffer().getDataType();
- }
- else {
- return DataBuffer.TYPE_DOUBLE;
- }
+ public AnalysisExtent getLayerGridExtent() {
- }
+ return m_LayerExtent;
+ }
- public double getLayerCellSize() {
+ public double getNoDataValue() {
- if (m_LayerExtent != null) {
- return m_LayerExtent.getCellSize();
- }
- else {
- return 0;
- }
+ return m_dNoDataValue;
- }
+ }
+ public void setCellValue(final int x, final int y, final int band,
+ final double value) {
- public AnalysisExtent getLayerGridExtent() {
+ if (m_Raster instanceof WritableRaster) {
+ if (this.getWindowGridExtent().containsCell(x, y)) {
+ ((WritableRaster) m_Raster).setSample(x, y, band, value);
+ }
+ }
- return m_LayerExtent;
+ }
- }
+ public void setNoDataValue(final double noDataValue) {
+ m_dNoDataValue = noDataValue;
- public double getNoDataValue() {
+ }
- return m_dNoDataValue;
+ public Object getCRS() {
- }
+ return null;
+ }
- public void setCellValue(final int x,
- final int y,
- final int band,
- final double value) {
+ /**
+ * Returns the extent covered by the layer
+ *
+ * @return the extent of the layer
+ */
+ public Rectangle2D getFullExtent() {
- if (m_Raster instanceof WritableRaster) {
- if (this.getWindowGridExtent().containsCell(x, y)) {
- ((WritableRaster) m_Raster).setSample(x, y, band, value);
- }
- }
+ if (m_Layer != null) {
+ final Envelope envelope = m_Layer.getWholeImageEnvelope();
+ return new Rectangle2D.Double(envelope.getMinX(),
+ envelope.getMinY(), envelope.getWidth(),
+ envelope.getHeight());
+ } else {
+ return null;
+ }
- }
+ }
+ public void open() {
+ }
- public void setNoDataValue(final double noDataValue) {
+ public void close() {
+ }
- m_dNoDataValue = noDataValue;
+ public void postProcess() throws Exception {
- }
+ if (m_Layer != null) {
+ final FileOutputStream tifOut = new FileOutputStream(m_sFilename);
+ final TIFFEncodeParam param = new TIFFEncodeParam();
+ param.setCompression(TIFFEncodeParam.COMPRESSION_NONE);
+ TIFFField[] tiffFields = new TIFFField[2];
- public Object getCRS() {
+ // [Giuseppe Aruta 8 Oct. 2016] the following parameters come from
+ // RasterImageIO class
+ // and add cell size/no data value and Tie point to the new created
+ // file
+ // Cell size
+ tiffFields[0] = new TIFFField(GeoTiffConstants.ModelPixelScaleTag,
+ TIFFField.TIFF_DOUBLE, 2, getLayerCellSize());
+ // No data
+ String noDataS = Double.toString(getNoDataValue());
+ byte[] bytes = noDataS.getBytes();
+ tiffFields[0] = new TIFFField(TiffTags.TIFFTAG_GDAL_NODATA,
+ TIFFField.TIFF_BYTE, noDataS.length(), bytes);
+ // Tie point
+ final Envelope envelope = m_Layer.getWholeImageEnvelope();
+ tiffFields[1] = new TIFFField(GeoTiffConstants.ModelTiepointTag,
+ TIFFField.TIFF_DOUBLE, 6, new double[] { 0, 0, 0,
+ envelope.getMinX(), envelope.getMaxY(), 0 });
+ param.setExtraFields(tiffFields);
- return null;
+ final TIFFImageEncoder encoder = (TIFFImageEncoder) TIFFCodec
+ .createImageEncoder("tiff", tifOut, param);
+ // -- [sstein 2 Aug 2010]
+ // BufferedImage image = layer.getImage().getAsBufferedImage();
+ final ColorModel colorModel = PlanarImage.createColorModel(m_Raster
+ .getSampleModel());
+ final BufferedImage image = new BufferedImage(colorModel,
+ (WritableRaster) m_Raster, false, null);
+ // -- end
+ encoder.encode(image);
+ tifOut.close();
- }
+ /* save geodata: */
+ // final Envelope envelope = m_Layer.getWholeImageEnvelope();
+ final WorldFileHandler worldFileHandler = new WorldFileHandler(
+ m_sFilename, false);
+ worldFileHandler.writeWorldFile(envelope, image.getWidth(),
+ image.getHeight());
- /**
- * Returns the extent covered by the layer
- *
- * @return the extent of the layer
- */
- public Rectangle2D getFullExtent() {
+ // Switch RAM mode of the RasterImage
+ m_Layer.setImageFileName(m_sFilename);
+ m_Layer.setNeedToKeepImage(false);
- if (m_Layer != null) {
- final Envelope envelope = m_Layer.getWholeImageEnvelope();
- return new Rectangle2D.Double(envelope.getMinX(), envelope.getMinY(),
envelope.getWidth(), envelope.getHeight());
- }
- else {
- return null;
- }
+ }
- }
+ }
+ public boolean export(final String sFilename) {
- public void open() {}
+ if (sFilename.endsWith("asc")) {
+ return exportToArcInfoASCIIFile(sFilename);
+ } else if (sFilename.endsWith("tif")) {
+ return exportToGeoTIFFFile(sFilename);
+ } else {
+ return exportToGeoTIFFFile(sFilename);
+ }
+ }
- public void close() {}
+ /*
+ * public void postProces() throws Exception {
+ *
+ * if (m_Layer != null) {
+ *
+ * final FileOutputStream tifOut = new FileOutputStream(m_sFilename); final
+ * TIFFEncodeParam param = new TIFFEncodeParam();
+ * param.setCompression(TIFFEncodeParam.COMPRESSION_NONE); TIFFField[]
+ * tiffFields = new TIFFField[2];
+ *
+ * // Cell size
+ *
+ *
+ *
+ * // No data String noDataS = Double.toString(getNoDataValue()); byte[]
+ * bytes = noDataS.getBytes(); tiffFields[0] = new
+ * TIFFField(TiffTags.TIFFTAG_GDAL_NODATA, TIFFField.TIFF_BYTE,
+ * noDataS.length(), bytes);
+ *
+ * // Tie point final Envelope envelope = m_Layer.getWholeImageEnvelope();
+ * tiffFields[1] = new TIFFField(GeoTiffConstants.ModelTiepointTag,
+ * TIFFField.TIFF_DOUBLE, 6, new double[] { 0, 0, 0, envelope.getMinX(),
+ * envelope.getMaxY(), 0 }); param.setExtraFields(tiffFields); final
+ * TIFFImageEncoder encoder = (TIFFImageEncoder) TIFFCodec
+ * .createImageEncoder("tiff", tifOut, param); // -- [sstein 2 Aug 2010] //
+ * BufferedImage image = layer.getImage().getAsBufferedImage(); final
+ * ColorModel colorModel = PlanarImage.createColorModel(m_Raster
+ * .getSampleModel()); final BufferedImage image = new
+ * BufferedImage(colorModel, (WritableRaster) m_Raster, false, null); // --
+ * end encoder.encode(image); tifOut.close();
+ *
+ *
+ *
+ * final WorldFileHandler worldFileHandler = new WorldFileHandler(
+ * m_sFilename, false); worldFileHandler.writeWorldFile(envelope,
+ * image.getWidth(), image.getHeight());
+ *
+ * // Switch RAM mode of the RasterImage
+ * m_Layer.setImageFileName(m_sFilename);
m_Layer.setNeedToKeepImage(false);
+ *
+ * }
+ *
+ * }
+ */
+ private boolean exportToGeoTIFFFile(final String sFilename) {
+ try {
+ final FileOutputStream tifOut = new FileOutputStream(m_sFilename);
+ final TIFFEncodeParam param = new TIFFEncodeParam();
+ param.setCompression(TIFFEncodeParam.COMPRESSION_NONE);
+ TIFFField[] tiffFields = new TIFFField[2];
- public void postProcess() throws Exception {
+ // Cell size
- if (m_Layer != null) {
+ /*
+ * tiffFields[0] = new
+ * TIFFField(GeoTiffConstants.ModelPixelScaleTag,
+ * TIFFField.TIFF_DOUBLE, 2, new double[] { cellSize.cellSizeX,
+ * cellSize.cellSizeY });
+ */
- final FileOutputStream tifOut = new FileOutputStream(m_sFilename);
- final TIFFEncodeParam param = new TIFFEncodeParam();
- param.setCompression(TIFFEncodeParam.COMPRESSION_NONE);
- final TIFFImageEncoder encoder = (TIFFImageEncoder)
TIFFCodec.createImageEncoder("tiff", tifOut, param);
- //-- [sstein 2 Aug 2010]
- //BufferedImage image = layer.getImage().getAsBufferedImage();
- final ColorModel colorModel =
PlanarImage.createColorModel(m_Raster.getSampleModel());
- final BufferedImage image = new BufferedImage(colorModel,
(WritableRaster) m_Raster, false, null);
- //-- end
- encoder.encode(image);
- tifOut.close();
+ // No data
+ String noDataS = Double.toString(getNoDataValue());
+ byte[] bytes = noDataS.getBytes();
+ tiffFields[0] = new TIFFField(TiffTags.TIFFTAG_GDAL_NODATA,
+ TIFFField.TIFF_BYTE, noDataS.length(), bytes);
- /* save geodata: */
- final Envelope envelope = m_Layer.getWholeImageEnvelope();
+ // Tie point
+ final Envelope envelope = m_Layer.getWholeImageEnvelope();
+ tiffFields[1] = new TIFFField(GeoTiffConstants.ModelTiepointTag,
+ TIFFField.TIFF_DOUBLE, 6, new double[] { 0, 0, 0,
+ envelope.getMinX(), envelope.getMaxY(), 0 });
+ param.setExtraFields(tiffFields);
+ final TIFFImageEncoder encoder = (TIFFImageEncoder) TIFFCodec
+ .createImageEncoder("tiff", tifOut, param);
+ // -- [sstein 2 Aug 2010]
+ // BufferedImage image = layer.getImage().getAsBufferedImage();
+ final ColorModel colorModel = PlanarImage.createColorModel(m_Raster
+ .getSampleModel());
+ final BufferedImage image = new BufferedImage(colorModel,
+ (WritableRaster) m_Raster, false, null);
+ // -- end
+ encoder.encode(image);
+ tifOut.close();
- final WorldFileHandler worldFileHandler = new
WorldFileHandler(m_sFilename, false);
- worldFileHandler.writeWorldFile(envelope, image.getWidth(),
image.getHeight());
+ /* save geodata: */
+ // final Envelope envelope = m_Layer.getWholeImageEnvelope();
- // Switch RAM mode of the RasterImage
- m_Layer.setImageFileName(m_sFilename);
- m_Layer.setNeedToKeepImage(false);
+ final WorldFileHandler worldFileHandler = new WorldFileHandler(
+ m_sFilename, false);
+ worldFileHandler.writeWorldFile(envelope, image.getWidth(),
+ image.getHeight());
- }
+ // Switch RAM mode of the RasterImage
+ m_Layer.setImageFileName(m_sFilename);
+ m_Layer.setNeedToKeepImage(false);
- }
+ } catch (final Exception e) {
+ return false;
+ }
+ return true;
+ }
- public String getName() {
+ private boolean exportToArcInfoASCIIFile(final String sFilename) {
- return m_sName;
+ try {
+ final FileWriter f = new FileWriter(sFilename);
+ final BufferedWriter fout = new BufferedWriter(f);
+ final DecimalFormat df = new DecimalFormat("##.###");
+ df.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.US));
+ df.setDecimalSeparatorAlwaysShown(true);
- }
+ fout.write("ncols " + Integer.toString(m_LayerExtent.getNX()));
+ fout.newLine();
+ fout.write("nrows " + Integer.toString(m_LayerExtent.getNY()));
+ fout.newLine();
+ fout.write("xllcorner " +
Double.toString(m_LayerExtent.getXMin()));
+ fout.newLine();
+ fout.write("yllcorner " +
Double.toString(m_LayerExtent.getYMin()));
+ fout.newLine();
+ // ArcInfo ASCII does not support individual x/y cell sizes. But
who
+ // cares?
+ fout.write("cellsize "
+ + Double.toString(m_LayerExtent.getCellSize()));
+ fout.newLine();
+ fout.write("nodata_value " + Double.toString(getNoDataValue()));
+ fout.newLine();
+ for (int i = 0; i < m_LayerExtent.getNY(); i++) {
+ for (int j = 0; j < m_LayerExtent.getNX(); j++) {
+ fout.write(df.format(getCellValueAsDouble(j, i)) + " ");
+ }
+ fout.newLine();
+ }
+ fout.close();
+ f.close();
+ } catch (final Exception e) {
+ return false;
+ }
- public void setName(final String sName) {
+ return true;
- m_sName = sName;
+ }
- if (m_Layer != null) {
- m_Layer.setName(sName);
- }
+ public String getName() {
- }
+ return m_sName;
+ }
- public void free() {
- // TODO Auto-generated method stub
+ public void setName(final String sName) {
- }
+ m_sName = sName;
+ if (m_Layer != null) {
+ m_Layer.setName(sName);
+ }
- public Object getBaseDataObject() {
+ }
- return m_Layer;
+ public void free() {
+ // TODO Auto-generated method stub
- }
+ }
+ public Object getBaseDataObject() {
- public IOutputChannel getOutputChannel() {
+ return m_Layer;
- return new FileOutputChannel(m_sFilename);
+ }
- }
+ public IOutputChannel getOutputChannel() {
- //[sstein 26. Oct. 2012] added method back-in
- public String getFilename() {
- return m_sFilename;
- }
+ return new FileOutputChannel(m_sFilename);
+ }
+ // [sstein 26. Oct. 2012] added method back-in
+ public String getFilename() {
+ return m_sFilename;
+ }
+
}
Added:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/extensions/SextanteDataExplorerPlugin.java
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/extensions/SextanteDataExplorerPlugin.java
(rev 0)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/extensions/SextanteDataExplorerPlugin.java
2016-10-09 05:57:28 UTC (rev 5060)
@@ -0,0 +1,49 @@
+package es.unex.sextante.openjump.extensions;
+
+import javax.swing.ImageIcon;
+
+import com.vividsolutions.jump.workbench.plugin.PlugIn;
+import com.vividsolutions.jump.workbench.plugin.PlugInContext;
+import com.vividsolutions.jump.workbench.ui.WorkbenchToolBar;
+
+import es.unex.sextante.gui.core.SextanteGUI;
+import es.unex.sextante.openjump.language.I18NPlug;
+
+public class SextanteDataExplorerPlugin implements PlugIn {
+
+ public boolean execute(final PlugInContext context) throws Exception {
+
+ SextanteGUI.getGUIFactory().showDataExplorer();
+ ;
+
+ return true;
+
+ }
+
+ public ImageIcon getIcon() {
+
+ return new ImageIcon(SextanteGUI.class.getClassLoader().getResource(
+ "images/layers.gif"));
+
+ }
+
+ public String getName() {// Giuseppe Aruta - PlugIn Internationalized
+ // 2013_05_25//
+
+ return I18NPlug
+
.getI18N("es.unex.sextante.kosmo.extensions.SextanteDataExplorerPlugin.dataexplorer");
+
+ }
+
+ public void initialize(final PlugInContext context) throws Exception {
+
+ context.getFeatureInstaller().addMainMenuPlugin(this,
+ new String[] { "Sextante" }, getName(), false, getIcon(),
null);
+ WorkbenchToolBar localWorkbenchToolBar = context.getWorkbenchFrame()
+ .getToolBar();
+
+ localWorkbenchToolBar.addPlugIn(getIcon(), this, null,
+ context.getWorkbenchContext());
+ }
+
+}
Property changes on:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/extensions/SextanteDataExplorerPlugin.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/extensions/SextanteExtension.java
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/extensions/SextanteExtension.java
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/extensions/SextanteExtension.java
2016-10-09 05:57:28 UTC (rev 5060)
@@ -4,6 +4,10 @@
import sun.security.x509.Extension;
+import com.vividsolutions.jump.workbench.WorkbenchContext;
+import com.vividsolutions.jump.workbench.plugin.PlugInContext;
+import com.vividsolutions.jump.workbench.ui.plugin.FeatureInstaller;
+
public class SextanteExtension extends Extension {
/*
@@ -28,12 +32,17 @@
}
public void configure(PlugInContext context) throws Exception {
+ WorkbenchContext workbenchContext = context.getWorkbenchContext();
+ FeatureInstaller featureInstaller = new FeatureInstaller(
+ workbenchContext);
new SextanteToolboxPlugin().initialize(context);
new SextanteResultsPlugin().initialize(context);
new SextanteHistoryPlugin().initialize(context);
new SextanteModelerPlugin().initialize(context);
new SextanteCommandLinePlugin().initialize(context);
+ new SextanteDataExplorerPlugin().initialize(context);
+ featureInstaller.addMenuSeparator(new String[] { "Sextante" });
new HelpPlugIn().initialize(context);
}
Modified:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante.properties
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante.properties
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante.properties
2016-10-09 05:57:28 UTC (rev 5060)
@@ -9,3 +9,4 @@
es.unex.sextante.kosmo.extensions.SextanteToolboxPlugin.Sextante-toolbox=Sextante
toolbox
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Batch-processing-not-yet-implemented=Batch
processing not yet implemented
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Warning=Warning
+es.unex.sextante.kosmo.extensions.SextanteDataExplorerPlugin.dataexplorer=Data
Explorer
Modified:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_ca.properties
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_ca.properties
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_ca.properties
2016-10-09 05:57:28 UTC (rev 5060)
@@ -9,3 +9,4 @@
es.unex.sextante.kosmo.extensions.SextanteToolboxPlugin.Sextante-toolbox=Barra
d'eines de Sextante
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Batch-processing-not-yet-implemented=El
processament per lots (Batch processing) encara no est\u00E0 implementat
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Warning=Atenci\u00F3
+es.unex.sextante.kosmo.extensions.SextanteDataExplorerPlugin.dataexplorer=Explorar
les dades
Modified:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_de.properties
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_de.properties
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_de.properties
2016-10-09 05:57:28 UTC (rev 5060)
@@ -9,3 +9,4 @@
es.unex.sextante.kosmo.extensions.SextanteToolboxPlugin.Sextante-toolbox=Sextante
Werkzeugkasten
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Batch-processing-not-yet-implemented=Batch
Verarbeitung noch nicht implementiert
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Warning=Warnung
+es.unex.sextante.kosmo.extensions.SextanteDataExplorerPlugin.dataexplorer=Entdecken
Daten
Modified:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_en.properties
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_en.properties
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_en.properties
2016-10-09 05:57:28 UTC (rev 5060)
@@ -9,3 +9,4 @@
es.unex.sextante.kosmo.extensions.SextanteToolboxPlugin.Sextante-toolbox=Sextante
toolbox
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Batch-processing-not-yet-implemented=Batch
processing not yet implemented
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Warning=Warning
+es.unex.sextante.kosmo.extensions.SextanteDataExplorerPlugin.dataexplorer=Data
Explorer
Modified:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_es.properties
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_es.properties
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_es.properties
2016-10-09 05:57:28 UTC (rev 5060)
@@ -9,3 +9,4 @@
es.unex.sextante.kosmo.extensions.SextanteToolboxPlugin.Sextante-toolbox=Barra
de herramientas de Sextante
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Batch-processing-not-yet-implemented=El
procesamiento por lotes no est\u00E1 a\u00FAn implementado
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Warning=Atenci\u00F3n
+es.unex.sextante.kosmo.extensions.SextanteDataExplorerPlugin.dataexplorer=Explorar
los datos
\ No newline at end of file
Modified:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_fi.properties
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_fi.properties
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_fi.properties
2016-10-09 05:57:28 UTC (rev 5060)
@@ -9,3 +9,4 @@
es.unex.sextante.kosmo.extensions.SextanteToolboxPlugin.Sextante-toolbox=Sextante-ty\u00F6kalut
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Batch-processing-not-yet-implemented=Er\u00E4ajoprosessointia
ei ole viel\u00E4 toteutettu
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Warning=Varoitus
+es.unex.sextante.kosmo.extensions.SextanteDataExplorerPlugin.dataexplorer=Tutustu
tiedot
Modified:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_fr.properties
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_fr.properties
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_fr.properties
2016-10-09 05:57:28 UTC (rev 5060)
@@ -7,4 +7,5 @@
es.unex.sextante.kosmo.extensions.SextanteToolboxPlugin.Help-files-placed-on-{0}=Les
fichiers d'aide sont dans {0}
es.unex.sextante.kosmo.extensions.SextanteToolboxPlugin.Sextante-toolbox=Bo\xEEte
\xE0 outils SEXTANTE
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Batch-processing-not-yet-implemented=Le
traitement par lots n'est pas disponible
-es.unex.sextante.kosmo.gui.KosmoGUIFactory.Warning=Attention
\ No newline at end of file
+es.unex.sextante.kosmo.gui.KosmoGUIFactory.Warning=Attention
+es.unex.sextante.kosmo.extensions.SextanteDataExplorerPlugin.dataexplorer=Explorer
les donn\xE9es
\ No newline at end of file
Modified:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_hr.properties
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_hr.properties
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_hr.properties
2016-10-09 05:57:28 UTC (rev 5060)
@@ -9,3 +9,4 @@
es.unex.sextante.kosmo.extensions.SextanteToolboxPlugin.Sextante-toolbox=Sextante
alatna traka
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Batch-processing-not-yet-implemented=Masovno
procesiranje jo\u0161 nije implementirano
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Warning=Upozorenje
+es.unex.sextante.kosmo.extensions.SextanteDataExplorerPlugin.dataexplorer=Fedezze
fel az adatok
Modified:
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_it.properties
===================================================================
---
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_it.properties
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/es/unex/sextante/openjump/language/Sextante_it.properties
2016-10-09 05:57:28 UTC (rev 5060)
@@ -9,3 +9,4 @@
es.unex.sextante.kosmo.extensions.SextanteToolboxPlugin.Sextante-toolbox=Barra
strumenti di Sextante
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Batch-processing-not-yet-implemented=Il
processo batch non \u00E8 stato ancora implementato
es.unex.sextante.kosmo.gui.KosmoGUIFactory.Warning=Attenzione
+es.unex.sextante.kosmo.extensions.SextanteDataExplorerPlugin.dataexplorer=Esplora
dati
Modified:
plug-ins/SextantePlugIn/src/org/openjump/sigle/plugin/tutorial/HelpDialog.java
===================================================================
---
plug-ins/SextantePlugIn/src/org/openjump/sigle/plugin/tutorial/HelpDialog.java
2016-10-08 23:23:12 UTC (rev 5059)
+++
plug-ins/SextantePlugIn/src/org/openjump/sigle/plugin/tutorial/HelpDialog.java
2016-10-09 05:57:28 UTC (rev 5060)
@@ -19,6 +19,8 @@
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
+import com.vividsolutions.jump.workbench.ui.images.IconLoader;
+
public class HelpDialog extends JPanel implements TreeSelectionListener {
/**
* Class adapted from HelpOJPlugIn.class from SIGLE OpenJump Viatoris
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel