Revision: 6557
http://sourceforge.net/p/jump-pilot/code/6557
Author: ma15569
Date: 2020-09-29 12:28:03 +0000 (Tue, 29 Sep 2020)
Log Message:
-----------
Added other options. Saved cell size on output
Modified Paths:
--------------
core/trunk/src/org/openjump/core/ui/plugin/tools/generate/RasterizePlugIn.java
Modified:
core/trunk/src/org/openjump/core/ui/plugin/tools/generate/RasterizePlugIn.java
===================================================================
---
core/trunk/src/org/openjump/core/ui/plugin/tools/generate/RasterizePlugIn.java
2020-09-29 12:18:07 UTC (rev 6556)
+++
core/trunk/src/org/openjump/core/ui/plugin/tools/generate/RasterizePlugIn.java
2020-09-29 12:28:03 UTC (rev 6557)
@@ -31,6 +31,7 @@
import javax.swing.JComponent;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
+import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
@@ -49,6 +50,7 @@
import com.vividsolutions.jump.task.TaskMonitor;
import com.vividsolutions.jump.util.FileUtil;
import com.vividsolutions.jump.workbench.JUMPWorkbench;
+import com.vividsolutions.jump.workbench.Logger;
import com.vividsolutions.jump.workbench.WorkbenchContext;
import com.vividsolutions.jump.workbench.model.Category;
import com.vividsolutions.jump.workbench.model.Layer;
@@ -69,7 +71,6 @@
import com.vividsolutions.jump.workbench.ui.Viewport;
import com.vividsolutions.jump.workbench.ui.images.IconLoader;
-import de.latlon.deejump.wfs.jump.WFSLayer;
import it.betastudio.adbtoolbox.libs.FileOperations;
@@ -79,11 +80,10 @@
private Layer sourceLayer;
private JTextField cellYextFiels;
- private JCheckBox externalLayerCheck;
- private JComboBox<Layerable> layerableComboBox;
- private JComboBox<Layer> selectLayerComboBox;
- private JComboBox<String> jcb_attribute;
- private LayerNameRenderer layerListCellRenderer = new
LayerNameRenderer();
+ private JCheckBox externalLayerCheck,expandCheck, loadCheck;
+ private JComboBox<Layerable> layerableComboBox, selectLayerComboBox;
+ private JComboBox<String> jcb_attribute;
+ private LayerNameRenderer layerListCellRenderer = new
LayerNameRenderer();
private static String selAttribute = null;
private String ATTRIBUTE = GenericNames.SELECT_ATTRIBUTE;
@@ -108,6 +108,15 @@
private final static String USE_EXTERNAL_EXTENT =
I18N.get("ui.plugin.tools.generate.RasterizePlugIn.use-extent");
private final static String DESCRIPTION =
I18N.get("ui.plugin.tools.generate.RasterizePlugIn.description");
+ //TODO internationalize
+ private final static String EXPAND_ONE_CELL = "Expand one cell size
to each direction";
+ private final static String EXPAND_ONE_CELL_TIP = "It expands the
extension layer but can generate area of no data at the border";
+ private final static String LOAD_RASTER_INTO_VIEW = "Load ouput
raster into the view";
+
+ private final static String sSaved = I18N
+
.get("org.openjump.core.ui.plugin.raster.RasterImageLayerPropertiesPlugIn.file.saved");
+ private final static String SCouldNotSave = I18N
+
.get("org.openjump.sextante.gui.additionalResults.AdditionalResultsPlugIn.Could-not-save-selected-result");
@Override
public boolean execute(PlugInContext context) throws Exception {
MultiInputDialog dialog = new MultiInputDialog(
@@ -188,6 +197,8 @@
layerableComboBox.setEnabled(false);
layerableComboBox.setSize(240,
layerableComboBox.getPreferredSize().height);
+ expandCheck=dialog.addCheckBox(EXPAND_ONE_CELL, false,
EXPAND_ONE_CELL_TIP);
+ expandCheck.setEnabled(false);
selectLayerComboBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@@ -195,6 +206,7 @@
.filter(dialog.getLayer(SOURCE_LAYER));
jcb_attribute.setModel(new DefaultComboBoxModel<>(list
.toArray(new String[0])));
+ expandCheck.setEnabled(externalLayerCheck.isSelected());
}
});
externalLayerCheck.addActionListener(new ActionListener() {
@@ -205,7 +217,8 @@
});
//[Giuseppe Aruta 2020-09-27] deactivated. As suggested by Roberto Rossi
//It is better to leave a standard value for cell that user can
modified
- /* layerableComboBox.addActionListener(new ActionListener() {
+ // [Giuseppe Aruta 2020-09-29] reactivated
+ layerableComboBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
final Layerable slayer = (Layerable) layerableComboBox
@@ -214,48 +227,45 @@
cellYextFiels.setText(""+((RasterImageLayer)
slayer).getMetadata().getOriginalCellSize());
}
}
- });*/
+ });
final FileNameExtensionFilter filter;
filter = new FileNameExtensionFilter("TIF", "tif");
dialog.addRow("Save", new JLabel(OUTPUT_FILE + ":"),
createOutputFilePanel(filter), saveCheck, null);
- // dialog.addRow("Save", createOutputFilePanel(filter), saveCheck,
null);
+ loadCheck=dialog.addCheckBox(LOAD_RASTER_INTO_VIEW, true);
GUIUtil.centreOnWindow(dialog);
}
Envelope envWanted, fix;
- //Expand the envelope in order to recover data on last column and row
+ //Expand ouput envelope only if required
private void getCroppedEnvelope(Layer layer) {
- Envelope env;
+ Envelope env = null;
if (externalLayerCheck.isSelected()) {
envWanted = new Envelope();
-
final Layerable slayer = (Layerable) layerableComboBox
.getSelectedItem();
- if (slayer instanceof WFSLayer) {
- envWanted.expandToInclude(((WFSLayer) slayer)
- .getFeatureCollectionWrapper().getEnvelope());
- } else if (slayer instanceof Layer) {
- envWanted.expandToInclude(((Layer) slayer)
- .getFeatureCollectionWrapper().getEnvelope());
+ if (slayer instanceof Layer) {
+ env =((Layer) slayer)
+
.getFeatureCollectionWrapper().getEnvelope().intersection(layer.getFeatureCollectionWrapper().getEnvelope());
+
} else if (slayer instanceof RasterImageLayer) {
- envWanted.expandToInclude(((RasterImageLayer) slayer)
- .getWholeImageEnvelope());
+ env = ((RasterImageLayer) slayer)
+
.getWholeImageEnvelope().intersection(layer.getFeatureCollectionWrapper().getEnvelope());
+
}
- env =
envWanted.intersection(layer.getFeatureCollectionWrapper().getEnvelope());
-
+ if (expandCheck.isSelected()) {
+ envWanted= new Envelope(env.getMinX() - cellValue,
env.getMaxX() + 2*cellValue,
+ env.getMinY() - cellValue, env.getMaxY() +
cellValue);
+ } else {
+ envWanted=env;
+ }
}
else {
-
env=sourceLayer.getFeatureCollectionWrapper().getEnvelope();
+
envWanted=sourceLayer.getFeatureCollectionWrapper().getEnvelope();
}
-
- double minX = env.getMinX();
- double minY = env.getMinY();
- double maxX =
env.getMinX()+Math.round(env.getWidth())+cellValue;
- double maxY =
env.getMinY()+Math.round(env.getHeight())+cellValue;
- fix = new Envelope(minX, maxX, minY, maxY);
+ fix = envWanted;
}
@@ -297,12 +307,26 @@
try {
catName = ((Category) context.getLayerNamePanel()
.getSelectedCategories().toArray()[0]).getName();
+ saved(outFile);
} catch (final RuntimeException e1) {
+ notsaved();
+ Logger.error(e1);
}
load(outFile, context, catName);
}
+ protected static void saved(File file) {
+ JUMPWorkbench.getInstance().getFrame()
+ .setStatusMessage(sSaved + " :" + file.getAbsolutePath());
+ }
+
+
+ protected static void notsaved() {
+ JOptionPane.showMessageDialog(null, SCouldNotSave,
I18N.get(SCouldNotSave),
+ JOptionPane.WARNING_MESSAGE);
+ }
+
public JPanel createOutputFilePanel(FileNameExtensionFilter filter) {
JPanel jPanel = new JPanel(new GridBagLayout());
jPanel = new javax.swing.JPanel();
@@ -358,15 +382,14 @@
RasterImageLayer ril = new RasterImageLayer(file.getName(),
context
.getWorkbenchContext().getLayerManager(),
file.getAbsolutePath(), imageAndMetadata.getImage(),
env);
- // String catName = StandardCategoryNames.RESULT;
- try {
+ try {
category = ((Category) context.getLayerNamePanel()
.getSelectedCategories().toArray()[0]).getName();
} catch (RuntimeException e1) {
+ Logger.error(e1);
}
context.getLayerManager().addLayerable(category, ril);
- // ril.setName(selAttribute);
- }
+ }
}
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel