Revision: 4324
          http://sourceforge.net/p/jump-pilot/code/4324
Author:   ma15569
Date:     2015-02-27 12:20:48 +0000 (Fri, 27 Feb 2015)
Log Message:
-----------
2014_02_22 Giuseppe Aruta (ma15569) 
        - Add 2 new plugin to manage nodata values on monoband DEM
                a) Change No Data Value: it changes default nodata value of file
                b) Set input value to no dta;: it changes an arbitrary cell 
value to
                   default nodata

Modified Paths:
--------------
    core/trunk/ChangeLog
    core/trunk/scripts/default-plugins.xml
    core/trunk/src/language/jump.properties
    core/trunk/src/language/jump_cz.properties
    core/trunk/src/language/jump_de.properties
    core/trunk/src/language/jump_es.properties
    core/trunk/src/language/jump_fi.properties
    core/trunk/src/language/jump_fr.properties
    core/trunk/src/language/jump_hu.properties
    core/trunk/src/language/jump_it.properties
    core/trunk/src/language/jump_ja_JP.properties
    core/trunk/src/language/jump_ml.properties
    core/trunk/src/language/jump_pt.properties
    core/trunk/src/language/jump_pt_BR.properties
    core/trunk/src/language/jump_ta_IN.properties
    core/trunk/src/language/jump_te.properties
    core/trunk/src/language/jump_zh_CN.properties
    core/trunk/src/language/jump_zh_HK.properties

Added Paths:
-----------
    core/trunk/src/org/openjump/core/ui/plugin/raster/nodata/
    
core/trunk/src/org/openjump/core/ui/plugin/raster/nodata/ChangeNoDataValuePlugIn.java
    
core/trunk/src/org/openjump/core/ui/plugin/raster/nodata/ChangeValueToNoDataPlugIn.java

Modified: core/trunk/ChangeLog
===================================================================
--- core/trunk/ChangeLog        2015-02-27 06:56:42 UTC (rev 4323)
+++ core/trunk/ChangeLog        2015-02-27 12:20:48 UTC (rev 4324)
@@ -1,5 +1,11 @@
 # for display continuity sake please use 2 spaces instead of tabs
 2014_02_22 Giuseppe Aruta (ma15569) 
+       - Add 2 new plugin to manage nodata values on monoband DEM
+               a) Change No Data Value: it changes default nodata value of file
+               b) Set input value to no dta;: it changes an arbitrary cell 
value to
+                  default nodata
+
+2014_02_22 Giuseppe Aruta (ma15569) 
        - Add new Compare Raster Grid layers to Raster plugins
 
 2014_01_24 Giuseppe Aruta (ma15569) 

Modified: core/trunk/scripts/default-plugins.xml
===================================================================
--- core/trunk/scripts/default-plugins.xml      2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/scripts/default-plugins.xml      2015-02-27 12:20:48 UTC (rev 
4324)
@@ -811,6 +811,16 @@
                        <main-menu menupath=" 
MenuNames.RASTER/MenuNames.STATISTICS" install="true"/>
                </menus>
        </plug-in>
+       <plug-in>
+               
org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn 
+                 
+       </plug-in>
+
+       <plug-in>
+               
org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn
+                 
+       </plug-in>
+       
        <separator />
 
        <plug-in> org.openjump.core.ui.plugin.raster.ProfileGraphPlugIn

Modified: core/trunk/src/language/jump.properties
===================================================================
--- core/trunk/src/language/jump.properties     2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/src/language/jump.properties     2015-02-27 12:20:48 UTC (rev 
4324)
@@ -1073,6 +1073,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=Change 
No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=Set 
input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
Black-White
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= Blue-Green-Red
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
Blue-Red

Modified: core/trunk/src/language/jump_cz.properties
===================================================================
--- core/trunk/src/language/jump_cz.properties  2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/src/language/jump_cz.properties  2015-02-27 12:20:48 UTC (rev 
4324)
@@ -1047,6 +1047,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
\u010Cern\u00E1-B\u00EDl\u00E1
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= Modr\u00E1-Zelen\u00E1-\u010Cerven\u00E1
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
Modr\u00E1-\u010Cerven\u00E1

Modified: core/trunk/src/language/jump_de.properties
===================================================================
--- core/trunk/src/language/jump_de.properties  2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/src/language/jump_de.properties  2015-02-27 12:20:48 UTC (rev 
4324)
@@ -1048,6 +1048,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
Schwarz-Weiss
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= Blau-Gr\u00fcn-Rot
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
Blau-Rot

Modified: core/trunk/src/language/jump_es.properties
===================================================================
--- core/trunk/src/language/jump_es.properties  2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/src/language/jump_es.properties  2015-02-27 12:20:48 UTC (rev 
4324)
@@ -1056,6 +1056,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=l\xEDneas
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=Comparar capas 
raster MDE
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=C\xE1lculo 
estad\xEDsticas de capas
+org.openjump.core.ui.plugin.raster.nodata.menu=Administrar valores NoData
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=Cambiar 
valores NoData
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=De:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=A:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=Establecer
 valor de la celda de entrada a NoData
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=Cambie
 este valor de la celda:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=A 
NoData:
 org.openjump.core.ui.plugin.raster.RasterQueryPlugIn=Inspecci\u00F3n pixel
 org.openjump.core.ui.plugin.raster.RasterQueryPlugIn.info=La capa seleccionada 
no es un raster monobanda
 org.openjump.core.ui.plugin.raster.RasterQueryPlugIn.previous.value=valor 
anterior

Modified: core/trunk/src/language/jump_fi.properties
===================================================================
--- core/trunk/src/language/jump_fi.properties  2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/src/language/jump_fi.properties  2015-02-27 12:20:48 UTC (rev 
4324)
@@ -1080,6 +1080,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.RasterQueryPlugIn=Pikseliarvojen kysely
 org.openjump.core.ui.plugin.raster.RasterQueryPlugIn.info=Valittu rasteritaso 
ei ole yksikanavainen
 org.openjump.core.ui.plugin.raster.RasterQueryPlugIn.previous.value=edellinen 
arvo

Modified: core/trunk/src/language/jump_fr.properties
===================================================================
--- core/trunk/src/language/jump_fr.properties  2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/src/language/jump_fr.properties  2015-02-27 12:20:48 UTC (rev 
4324)
@@ -1050,6 +1050,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
Noir-Blanc
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= Bleu-Vert-Rouge
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
Bleu-Rouge

Modified: core/trunk/src/language/jump_hu.properties
===================================================================
--- core/trunk/src/language/jump_hu.properties  2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/src/language/jump_hu.properties  2015-02-27 12:20:48 UTC (rev 
4324)
@@ -1047,6 +1047,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
Fekete-feh\u00E9r
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= K\u00E9k-Z\u00F6ld-V\u00F6r\u00F6s
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
K\u00E9k-V\u00F6r\u00F6s

Modified: core/trunk/src/language/jump_it.properties
===================================================================
--- core/trunk/src/language/jump_it.properties  2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/src/language/jump_it.properties  2015-02-27 12:20:48 UTC (rev 
4324)
@@ -1055,7 +1055,14 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.columns=Colonne
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=Righe
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=Compara livelli 
raster DEM
-org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=Calculando la 
statistica dei livelli
+org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=Calcolando la 
statistica dei livelli
+org.openjump.core.ui.plugin.raster.nodata.menu=Gestisci valori nodata
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=Cambia 
il valore nodata
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=Da:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=A:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=Imposta
 il valore cella a nodata
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=Cambia
 questo valore:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=al
 valore nodata:
 org.openjump.core.ui.plugin.raster.RasterQueryPlugIn=Ispezione pixel
 org.openjump.core.ui.plugin.raster.RasterQueryPlugIn.info=Il livello 
selezionato non \u00E8 un raster monobanda
 org.openjump.core.ui.plugin.raster.RasterQueryPlugIn.previous.value=valore 
precedente

Modified: core/trunk/src/language/jump_ja_JP.properties
===================================================================
--- core/trunk/src/language/jump_ja_JP.properties       2015-02-27 06:56:42 UTC 
(rev 4323)
+++ core/trunk/src/language/jump_ja_JP.properties       2015-02-27 12:20:48 UTC 
(rev 4324)
@@ -1046,6 +1046,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
\#T\:Black-White
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= \#T\:Blue-Green-Red
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
\#T\:Blue-Red

Modified: core/trunk/src/language/jump_ml.properties
===================================================================
--- core/trunk/src/language/jump_ml.properties  2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/src/language/jump_ml.properties  2015-02-27 12:20:48 UTC (rev 
4324)
@@ -1406,6 +1406,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
\#T\:
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= \#T\:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
\#T\:

Modified: core/trunk/src/language/jump_pt.properties
===================================================================
--- core/trunk/src/language/jump_pt.properties  2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/src/language/jump_pt.properties  2015-02-27 12:20:48 UTC (rev 
4324)
@@ -1046,6 +1046,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
T\:Black-White
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= T\:Blue-Green-Red
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
T\:Blue-Red

Modified: core/trunk/src/language/jump_pt_BR.properties
===================================================================
--- core/trunk/src/language/jump_pt_BR.properties       2015-02-27 06:56:42 UTC 
(rev 4323)
+++ core/trunk/src/language/jump_pt_BR.properties       2015-02-27 12:20:48 UTC 
(rev 4324)
@@ -1046,6 +1046,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
T\:Black-White
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= T\:Blue-Green-Red
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
T\:Blue-Red

Modified: core/trunk/src/language/jump_ta_IN.properties
===================================================================
--- core/trunk/src/language/jump_ta_IN.properties       2015-02-27 06:56:42 UTC 
(rev 4323)
+++ core/trunk/src/language/jump_ta_IN.properties       2015-02-27 12:20:48 UTC 
(rev 4324)
@@ -1044,6 +1044,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
\u0B95\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1-\u0BB5\u0BC6\u0BB3\u0BCD\u0BB3\u0BC8
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= \u0BA8\u0BC0\u0BB2\u0BAE\u0BCD,  \u0BAA\u0B9A\u0BCD\u0B9A\u0BC8, 
\u0B9A\u0BBF\u0BB5\u0BAA\u0BCD\u0BAA\u0BC1
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
\u0BA8\u0BC0\u0BB2\u0BAE\u0BCD, \u0BB0\u0BC6\u0B9F\u0BCD

Modified: core/trunk/src/language/jump_te.properties
===================================================================
--- core/trunk/src/language/jump_te.properties  2015-02-27 06:56:42 UTC (rev 
4323)
+++ core/trunk/src/language/jump_te.properties  2015-02-27 12:20:48 UTC (rev 
4324)
@@ -1220,6 +1220,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
Black-White
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= Blue-Green-Red
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
Blue-Red

Modified: core/trunk/src/language/jump_zh_CN.properties
===================================================================
--- core/trunk/src/language/jump_zh_CN.properties       2015-02-27 06:56:42 UTC 
(rev 4323)
+++ core/trunk/src/language/jump_zh_CN.properties       2015-02-27 12:20:48 UTC 
(rev 4324)
@@ -1049,6 +1049,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
\u9ed1\u767d
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= \u84dd\uff0c\u7eff\uff0c\u7ea2
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
\u84dd\u7ea2

Modified: core/trunk/src/language/jump_zh_HK.properties
===================================================================
--- core/trunk/src/language/jump_zh_HK.properties       2015-02-27 06:56:42 UTC 
(rev 4323)
+++ core/trunk/src/language/jump_zh_HK.properties       2015-02-27 12:20:48 UTC 
(rev 4324)
@@ -1049,6 +1049,13 @@
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.rows=\#T\:Rows
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.name=\#T\:Compare Grid 
Raster layers
 org.openjump.core.ui.plugin.raster.DEMStatisticsPlugIn.report=\#T\:Calculating 
layers statistics
+org.openjump.core.ui.plugin.raster.nodata.menu=\#T\:Manage No Data values
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name=\#T\:Change
 No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from=\#T\:From:
+org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to=\#T\:To:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name=\#T\:Set
 input cell value to No Data value
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change=\#T\:Change
 this cell value:
+org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata=\#T\:to
 nodata value:
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Black-White = 
\u9ED1\u767D
 
org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Green-Red 
= \u85CD\uFF0C\u7DA0\uFF0C\u7D05
 org.openjump.core.ui.plugin.raster.color.RasterColorEditorDialog.Blue-Red = 
\u85CD\u7D05

Added: 
core/trunk/src/org/openjump/core/ui/plugin/raster/nodata/ChangeNoDataValuePlugIn.java
===================================================================
--- 
core/trunk/src/org/openjump/core/ui/plugin/raster/nodata/ChangeNoDataValuePlugIn.java
                               (rev 0)
+++ 
core/trunk/src/org/openjump/core/ui/plugin/raster/nodata/ChangeNoDataValuePlugIn.java
       2015-02-27 12:20:48 UTC (rev 4324)
@@ -0,0 +1,322 @@
+package org.openjump.core.ui.plugin.raster.nodata;
+
+import java.awt.GridBagLayout;
+import java.awt.event.KeyEvent;
+import java.awt.geom.NoninvertibleTransformException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.channels.FileChannel;
+import java.text.NumberFormat;
+import java.util.Properties;
+
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+
+import org.apache.log4j.Logger;
+import org.openjump.core.apitools.LayerTools;
+import org.openjump.core.rasterimage.GridFloat;
+import org.openjump.core.rasterimage.ImageAndMetadata;
+import org.openjump.core.rasterimage.RasterImageIO;
+import org.openjump.core.rasterimage.RasterImageLayer;
+import org.openjump.core.rasterimage.Resolution;
+import org.openjump.core.rasterimage.TiffTags.TiffReadingException;
+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 org.saig.core.gui.swing.sldeditor.util.FormUtils;
+
+import com.vividsolutions.jts.geom.Envelope;
+import com.vividsolutions.jump.I18N;
+import com.vividsolutions.jump.workbench.WorkbenchContext;
+import com.vividsolutions.jump.workbench.model.Category;
+import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn;
+import com.vividsolutions.jump.workbench.plugin.EnableCheckFactory;
+import com.vividsolutions.jump.workbench.plugin.MultiEnableCheck;
+import com.vividsolutions.jump.workbench.plugin.PlugInContext;
+import com.vividsolutions.jump.workbench.ui.GenericNames;
+import com.vividsolutions.jump.workbench.ui.MenuNames;
+import com.vividsolutions.jump.workbench.ui.Viewport;
+import com.vividsolutions.jump.workbench.ui.plugin.FeatureInstaller;
+
+public class ChangeNoDataValuePlugIn extends AbstractPlugIn {
+    public static final String PLUGINNAME = I18N
+            
.get("org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.name");
+
+    private static final Logger LOGGER = Logger
+            .getLogger(ChangeNoDataValuePlugIn.class);
+    private Properties properties = null;
+    private String byteOrder = "LSBFIRST";
+    private static String propertiesFile = LoadSextanteRasterImagePlugIn
+            .getPropertiesFile();
+    NumberFormat cellFormat = null;
+
+    private String SUBMENU = I18N
+            .get("org.openjump.core.ui.plugin.raster.nodata.menu");
+
+    public ChangeNoDataValuePlugIn() {
+
+    }
+
+    @Override
+    public String getName() {
+        return PLUGINNAME;
+    }
+
+    @Override
+    public void initialize(PlugInContext context) throws Exception {
+        WorkbenchContext workbenchContext = context.getWorkbenchContext();
+        new FeatureInstaller(workbenchContext);
+
+        context.getFeatureInstaller().addMainMenuPlugin(this,
+                new String[] { MenuNames.RASTER, SUBMENU }, getName(), false,
+                null, createEnableCheck(context.getWorkbenchContext()));
+    }
+
+    @Override
+    public boolean execute(PlugInContext context) throws Exception {
+        reportNothingToUndoYet(context);
+        RasterImageLayer rLayer = (RasterImageLayer) LayerTools
+                .getSelectedLayerable(context, RasterImageLayer.class);
+        JPanel firstPanel = new JPanel(new GridBagLayout());
+        JLabel source_NoData_label = new JLabel(
+                
I18N.get("org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.from"));
+        JLabel target_NoData_label = new JLabel(
+                
I18N.get("org.openjump.core.ui.plugin.raster.nodata.ChangeNoDataValuePlugIn.to"));
+        JTextField source_nodata = new JTextField(String.valueOf(rLayer
+                .getNoDataValue()));
+        source_nodata.setEditable(false);
+        JTextField target_nodata = new JTextField(String.valueOf("-99999"));
+        source_nodata.addKeyListener(new java.awt.event.KeyAdapter() {
+            @Override
+            public void keyTyped(KeyEvent e) {
+                char vChar = e.getKeyChar();
+                if (!(Character.isDigit(vChar) || (vChar == KeyEvent.VK_PERIOD)
+                        || (vChar == KeyEvent.VK_BACK_SPACE) || (vChar == 
KeyEvent.VK_DELETE))) {
+                    e.consume();
+                }
+            }
+        });
+        target_nodata.addKeyListener(new java.awt.event.KeyAdapter() {
+            @Override
+            public void keyTyped(KeyEvent e) {
+                char vChar = e.getKeyChar();
+                if (!(Character.isDigit(vChar) || (vChar == KeyEvent.VK_PERIOD)
+                        || (vChar == KeyEvent.VK_BACK_SPACE) || (vChar == 
KeyEvent.VK_DELETE))) {
+                    e.consume();
+                }
+            }
+        });
+
+        FormUtils.addRowInGBL(firstPanel, 2, 0, source_NoData_label,
+                source_nodata);
+        FormUtils.addRowInGBL(firstPanel, 2, 3, target_NoData_label,
+                target_nodata);
+
+        int option = JOptionPane.showConfirmDialog(null, firstPanel,
+                PLUGINNAME, JOptionPane.OK_CANCEL_OPTION,
+                JOptionPane.PLAIN_MESSAGE);
+
+        switch (option) {
+
+        case JOptionPane.CANCEL_OPTION:
+
+            break;
+
+        case JOptionPane.OK_OPTION:
+
+            String redName = context.getLayerManager().uniqueLayerName(
+                    rLayer.getName());
+            int boxToInt = 0;
+
+            File flt_outFile = new File(System.getProperty("java.io.tmpdir")
+                    .concat(File.separator).concat(redName).concat(".flt"));
+            File hdr_outFile = new File(System.getProperty("java.io.tmpdir")
+                    .concat(File.separator).concat(redName).concat(".hdr"));
+            float newdata = Float.parseFloat(target_nodata.getText());
+            float olddata = (float) rLayer.getNoDataValue();
+            saveFLT(flt_outFile, context, rLayer, boxToInt, olddata, newdata);
+            saveHDR(hdr_outFile, context, rLayer, newdata);
+            loadFLT(flt_outFile, context);
+        }
+        return true;
+
+    }
+
+    private void saveHDR(File outFile, PlugInContext context,
+            RasterImageLayer rLayer, double nodata) throws IOException {
+        OutputStream out = null;
+        try {
+            OpenJUMPSextanteRasterLayer rstLayer = new 
OpenJUMPSextanteRasterLayer();
+            rstLayer.create(rLayer);
+            LOGGER.debug(getClass());
+            out = new FileOutputStream(outFile);
+            this.cellFormat = NumberFormat.getNumberInstance();
+            this.cellFormat.setMaximumFractionDigits(3);
+            this.cellFormat.setMinimumFractionDigits(0);
+            this.properties = new Properties();
+            try {
+                FileInputStream fis = new FileInputStream(propertiesFile);
+                this.properties.load(fis);
+                this.properties
+                        .getProperty(LoadSextanteRasterImagePlugIn.KEY_PATH);
+                fis.close();
+            } catch (FileNotFoundException localFileNotFoundException) {
+            } catch (IOException e) {
+                context.getWorkbenchFrame().warnUser(GenericNames.ERROR);
+            }
+            PrintStream o = new PrintStream(out);
+            o.println("ncols " + rLayer.getOrigImageWidth());
+
+            o.println("nrows " + rLayer.getOrigImageHeight());
+
+            o.println("xllcorner " + rLayer.getWholeImageEnvelope().getMinX());
+
+            o.println("yllcorner " + rLayer.getWholeImageEnvelope().getMinY());
+
+            o.println("cellsize " + rstLayer.getLayerCellSize());
+
+            String sNoDataVal = Double.toString(nodata);
+
+            o.println("NODATA_value " + sNoDataVal);
+            o.println("byteorder " + byteOrder);
+            o.close();
+        } catch (Exception e) {
+            context.getWorkbenchFrame()
+                    .warnUser(
+                            
I18N.get("org.openjump.core.ui.plugin.mousemenu.SaveDatasetsPlugIn.Error-See-Output-Window"));
+            context.getWorkbenchFrame().getOutputFrame().createNewDocument();
+            context.getWorkbenchFrame()
+                    .getOutputFrame()
+                    .addText(
+                            "SaveImageToRasterPlugIn Exception:Export Part of 
FLT/ASC or modify raster to ASC not yet implemented. Please Use Sextante 
Plugin");
+        } finally {
+            if (out != null)
+                out.close();
+        }
+    }
+
+    private void saveFLT(File outFile, PlugInContext context,
+            RasterImageLayer rLayer, int band, float oldnodata, float 
newnodata)
+            throws IOException {
+        FileOutputStream out = null;
+        try {
+            OpenJUMPSextanteRasterLayer rstLayer = new 
OpenJUMPSextanteRasterLayer();
+            rstLayer.create(rLayer);
+            LOGGER.debug(getClass());
+            out = new FileOutputStream(outFile);
+            this.cellFormat = NumberFormat.getNumberInstance();
+            this.cellFormat.setMaximumFractionDigits(3);
+            this.cellFormat.setMinimumFractionDigits(0);
+            this.properties = new Properties();
+            try {
+                FileInputStream fis = new FileInputStream(propertiesFile);
+                this.properties.load(fis);
+                this.properties
+                        .getProperty(LoadSextanteRasterImagePlugIn.KEY_PATH);
+                fis.close();
+            } catch (FileNotFoundException localFileNotFoundException) {
+            } catch (IOException e) {
+                context.getWorkbenchFrame().warnUser(GenericNames.ERROR);
+            }
+            FileChannel fileChannelOut = out.getChannel();
+            GridWrapperNotInterpolated gwrapper = new 
GridWrapperNotInterpolated(
+                    rstLayer, rstLayer.getLayerGridExtent());
+            int nx = rstLayer.getLayerGridExtent().getNX();
+            int ny = rstLayer.getLayerGridExtent().getNY();
+            ByteBuffer bb = ByteBuffer.allocateDirect(nx * 4);
+            bb.order(ByteOrder.LITTLE_ENDIAN);
+
+            for (int y = 0; y < ny; y++) {
+                for (int x = 0; x < nx; x++) {
+                    float value = gwrapper.getCellValueAsFloat(x, y, band);
+                    if (bb.hasRemaining()) {
+                        if (value == oldnodata) {
+                            bb.putFloat(newnodata);
+                        } else {
+                            bb.putFloat(value);
+                        }
+                    } else {
+                        x--;
+                        // c--;
+                        bb.compact();
+                        fileChannelOut.write(bb);
+                        bb.clear();
+                    }
+                }
+            }
+            bb.compact();
+            fileChannelOut.write(bb);
+            bb.clear();
+        } catch (Exception e) {
+            context.getWorkbenchFrame()
+                    .warnUser(
+                            
I18N.get("org.openjump.core.ui.plugin.mousemenu.SaveDatasetsPlugIn.Error-See-Output-Window"));
+            context.getWorkbenchFrame().getOutputFrame().createNewDocument();
+            context.getWorkbenchFrame()
+                    .getOutputFrame()
+                    .addText(
+                            "SaveImageToRasterPlugIn Exception:Export Part of 
FLT/ASC or modify raster to ASC not yet implemented. Please Use Sextante 
Plugin");
+        } finally {
+            if (out != null)
+                out.close();
+        }
+    }
+
+    private void loadFLT(File flt_outFile, PlugInContext context)
+            throws NoninvertibleTransformException, TiffReadingException,
+            Exception {
+
+        RasterImageIO rasterImageIO = new RasterImageIO();
+        Viewport viewport = context.getWorkbenchContext().getLayerViewPanel()
+                .getViewport();
+        Resolution requestedRes = RasterImageIO
+                .calcRequestedResolution(viewport);
+        ImageAndMetadata imageAndMetadata = rasterImageIO.loadImage(
+                context.getWorkbenchContext(), flt_outFile.getAbsolutePath(),
+                null, viewport.getEnvelopeInModelCoordinates(), requestedRes);
+
+        GridFloat gf = new GridFloat(flt_outFile.getAbsolutePath());
+
+        Envelope imageEnvelope = new Envelope(gf.getXllCorner(),
+                gf.getXllCorner() + gf.getnCols() * gf.getCellSize(),
+                gf.getYllCorner(), gf.getYllCorner() + gf.getnRows()
+                        * gf.getCellSize());
+
+        RasterImageLayer ril = new RasterImageLayer(flt_outFile.getName(),
+                context.getWorkbenchContext().getLayerManager(),
+                flt_outFile.getAbsolutePath(), imageAndMetadata.getImage(),
+                imageEnvelope);
+        String catName = "Temp";// StandardCategoryNames.RESULT;
+        try {
+            catName = ((Category) context.getLayerNamePanel()
+                    .getSelectedCategories().toArray()[0]).getName();
+        } catch (RuntimeException e1) {
+        }
+        context.getLayerManager().addLayerable(catName, ril);
+    }
+
+    public static MultiEnableCheck createEnableCheck(
+            WorkbenchContext workbenchContext) {
+        EnableCheckFactory checkFactory = new EnableCheckFactory(
+                workbenchContext);
+        MultiEnableCheck multiEnableCheck = new MultiEnableCheck();
+
+        multiEnableCheck.add(
+                checkFactory.createExactlyNLayerablesMustBeSelectedCheck(1,
+                        RasterImageLayer.class)).add(
+                checkFactory
+                        .createRasterImageLayerExactlyNBandsMustExistCheck(1));
+
+        return multiEnableCheck;
+    }
+
+}
\ No newline at end of file


Property changes on: 
core/trunk/src/org/openjump/core/ui/plugin/raster/nodata/ChangeNoDataValuePlugIn.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: 
core/trunk/src/org/openjump/core/ui/plugin/raster/nodata/ChangeValueToNoDataPlugIn.java
===================================================================
--- 
core/trunk/src/org/openjump/core/ui/plugin/raster/nodata/ChangeValueToNoDataPlugIn.java
                             (rev 0)
+++ 
core/trunk/src/org/openjump/core/ui/plugin/raster/nodata/ChangeValueToNoDataPlugIn.java
     2015-02-27 12:20:48 UTC (rev 4324)
@@ -0,0 +1,315 @@
+package org.openjump.core.ui.plugin.raster.nodata;
+
+import java.awt.GridBagLayout;
+import java.awt.event.KeyEvent;
+import java.awt.geom.NoninvertibleTransformException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.channels.FileChannel;
+import java.text.NumberFormat;
+import java.util.Properties;
+
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.JTextPane;
+
+import org.apache.log4j.Logger;
+import org.openjump.core.apitools.LayerTools;
+import org.openjump.core.rasterimage.GridFloat;
+import org.openjump.core.rasterimage.ImageAndMetadata;
+import org.openjump.core.rasterimage.RasterImageIO;
+import org.openjump.core.rasterimage.RasterImageLayer;
+import org.openjump.core.rasterimage.Resolution;
+import org.openjump.core.rasterimage.TiffTags.TiffReadingException;
+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 org.saig.core.gui.swing.sldeditor.util.FormUtils;
+
+import com.vividsolutions.jts.geom.Envelope;
+import com.vividsolutions.jump.I18N;
+import com.vividsolutions.jump.workbench.WorkbenchContext;
+import com.vividsolutions.jump.workbench.model.Category;
+import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn;
+import com.vividsolutions.jump.workbench.plugin.EnableCheckFactory;
+import com.vividsolutions.jump.workbench.plugin.MultiEnableCheck;
+import com.vividsolutions.jump.workbench.plugin.PlugInContext;
+import com.vividsolutions.jump.workbench.ui.GenericNames;
+import com.vividsolutions.jump.workbench.ui.MenuNames;
+import com.vividsolutions.jump.workbench.ui.Viewport;
+import com.vividsolutions.jump.workbench.ui.plugin.FeatureInstaller;
+
+public class ChangeValueToNoDataPlugIn extends AbstractPlugIn {
+    public static final String PLUGINNAME = I18N
+            
.get("org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.name");
+    private String SUBMENU = I18N
+            .get("org.openjump.core.ui.plugin.raster.nodata.menu");
+    private static final Logger LOGGER = Logger
+            .getLogger(ChangeNoDataValuePlugIn.class);
+    private Properties properties = null;
+    private String byteOrder = "LSBFIRST";
+    private static String propertiesFile = LoadSextanteRasterImagePlugIn
+            .getPropertiesFile();
+    NumberFormat cellFormat = null;
+
+    public ChangeValueToNoDataPlugIn() {
+
+    }
+
+    public String getName() {
+        return PLUGINNAME;
+    }
+
+    @Override
+    public void initialize(PlugInContext context) throws Exception {
+        WorkbenchContext workbenchContext = context.getWorkbenchContext();
+        new FeatureInstaller(workbenchContext);
+
+        context.getFeatureInstaller().addMainMenuPlugin(this,
+                new String[] { MenuNames.RASTER, SUBMENU }, getName(), false,
+                null, createEnableCheck(context.getWorkbenchContext()));
+    }
+
+    public boolean execute(PlugInContext context) throws Exception {
+        reportNothingToUndoYet(context);
+        RasterImageLayer rLayer = (RasterImageLayer) LayerTools
+                .getSelectedLayerable(context, RasterImageLayer.class);
+
+        JPanel secondPanel = new JPanel(new GridBagLayout());
+        JTextPane text = new JTextPane();
+        text.setOpaque(false);
+        text.setText(String.valueOf(rLayer.getNoDataValue()));
+        JTextField changing_data = new JTextField();
+        changing_data.addKeyListener(new java.awt.event.KeyAdapter() {
+            @Override
+            public void keyTyped(KeyEvent e) {
+                char vChar = e.getKeyChar();
+                if (!(Character.isDigit(vChar) || (vChar == KeyEvent.VK_PERIOD)
+                        || (vChar == KeyEvent.VK_BACK_SPACE) || (vChar == 
KeyEvent.VK_DELETE))) {
+                    e.consume();
+                }
+            }
+        });
+
+        FormUtils
+                .addRowInGBL(
+                        secondPanel,
+                        2,
+                        0,
+                        
I18N.get("org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.change"),
+                        changing_data);
+        FormUtils
+                .addRowInGBL(
+                        secondPanel,
+                        3,
+                        0,
+                        
I18N.get("org.openjump.core.ui.plugin.raster.nodata.ChangeValueToNoDataPlugIn.tonodata"),
+                        text);
+        int option = JOptionPane.showConfirmDialog(null, secondPanel,
+                PLUGINNAME, JOptionPane.OK_CANCEL_OPTION,
+                JOptionPane.PLAIN_MESSAGE);
+
+        switch (option) {
+
+        case JOptionPane.CANCEL_OPTION:
+
+            break;
+
+        case JOptionPane.OK_OPTION:
+
+            String redName = context.getLayerManager().uniqueLayerName(
+                    rLayer.getName());
+            int boxToInt = 0;
+
+            File flt_outFile = new File(System.getProperty("java.io.tmpdir")
+                    .concat(File.separator).concat(redName).concat(".flt"));
+            File hdr_outFile = new File(System.getProperty("java.io.tmpdir")
+                    .concat(File.separator).concat(redName).concat(".hdr"));
+            float olddata = Float.parseFloat(changing_data.getText());
+            float newdata = (float) rLayer.getNoDataValue();
+            saveFLT(flt_outFile, context, rLayer, boxToInt, olddata, newdata);
+            saveHDR(hdr_outFile, context, rLayer);
+            loadFLT(flt_outFile, context);
+
+        }
+        return true;
+
+    }
+
+    private void saveHDR(File outFile, PlugInContext context,
+            RasterImageLayer rLayer) throws IOException {
+        OutputStream out = null;
+        try {
+            OpenJUMPSextanteRasterLayer rstLayer = new 
OpenJUMPSextanteRasterLayer();
+            rstLayer.create(rLayer);
+            LOGGER.debug(getClass());
+            out = new FileOutputStream(outFile);
+            this.cellFormat = NumberFormat.getNumberInstance();
+            this.cellFormat.setMaximumFractionDigits(3);
+            this.cellFormat.setMinimumFractionDigits(0);
+            this.properties = new Properties();
+            try {
+                FileInputStream fis = new FileInputStream(propertiesFile);
+                this.properties.load(fis);
+                this.properties
+                        .getProperty(LoadSextanteRasterImagePlugIn.KEY_PATH);
+                fis.close();
+            } catch (FileNotFoundException localFileNotFoundException) {
+            } catch (IOException e) {
+                context.getWorkbenchFrame().warnUser(GenericNames.ERROR);
+            }
+            PrintStream o = new PrintStream(out);
+            o.println("ncols " + rLayer.getOrigImageWidth());
+
+            o.println("nrows " + rLayer.getOrigImageHeight());
+
+            o.println("xllcorner " + rLayer.getWholeImageEnvelope().getMinX());
+
+            o.println("yllcorner " + rLayer.getWholeImageEnvelope().getMinY());
+
+            o.println("cellsize " + rstLayer.getLayerCellSize());
+
+            String sNoDataVal = Double.toString(rstLayer.getNoDataValue());
+
+            o.println("NODATA_value " + sNoDataVal);
+            o.println("byteorder " + byteOrder);
+            o.close();
+        } catch (Exception e) {
+            context.getWorkbenchFrame()
+                    .warnUser(
+                            
I18N.get("org.openjump.core.ui.plugin.mousemenu.SaveDatasetsPlugIn.Error-See-Output-Window"));
+            context.getWorkbenchFrame().getOutputFrame().createNewDocument();
+            context.getWorkbenchFrame()
+                    .getOutputFrame()
+                    .addText(
+                            "SaveImageToRasterPlugIn Exception:Export Part of 
FLT/ASC or modify raster to ASC not yet implemented. Please Use Sextante 
Plugin");
+        } finally {
+            if (out != null)
+                out.close();
+        }
+    }
+
+    private void saveFLT(File outFile, PlugInContext context,
+            RasterImageLayer rLayer, int band, float oldnodata, float 
newnodata)
+            throws IOException {
+        FileOutputStream out = null;
+        try {
+            OpenJUMPSextanteRasterLayer rstLayer = new 
OpenJUMPSextanteRasterLayer();
+            rstLayer.create(rLayer);
+            LOGGER.debug(getClass());
+            out = new FileOutputStream(outFile);
+            this.cellFormat = NumberFormat.getNumberInstance();
+            this.cellFormat.setMaximumFractionDigits(3);
+            this.cellFormat.setMinimumFractionDigits(0);
+            this.properties = new Properties();
+            try {
+                FileInputStream fis = new FileInputStream(propertiesFile);
+                this.properties.load(fis);
+                this.properties
+                        .getProperty(LoadSextanteRasterImagePlugIn.KEY_PATH);
+                fis.close();
+            } catch (FileNotFoundException localFileNotFoundException) {
+            } catch (IOException e) {
+                context.getWorkbenchFrame().warnUser(GenericNames.ERROR);
+            }
+            FileChannel fileChannelOut = out.getChannel();
+            GridWrapperNotInterpolated gwrapper = new 
GridWrapperNotInterpolated(
+                    rstLayer, rstLayer.getLayerGridExtent());
+            int nx = rstLayer.getLayerGridExtent().getNX();
+            int ny = rstLayer.getLayerGridExtent().getNY();
+            ByteBuffer bb = ByteBuffer.allocateDirect(nx * 4);
+            bb.order(ByteOrder.LITTLE_ENDIAN);
+
+            for (int y = 0; y < ny; y++) {
+                for (int x = 0; x < nx; x++) {
+                    float value = gwrapper.getCellValueAsFloat(x, y, band);
+                    if (bb.hasRemaining()) {
+                        if (value == oldnodata) {
+                            bb.putFloat(newnodata);
+                        } else {
+                            bb.putFloat(value);
+                        }
+                    } else {
+                        x--;
+                        // c--;
+                        bb.compact();
+                        fileChannelOut.write(bb);
+                        bb.clear();
+                    }
+                }
+            }
+            bb.compact();
+            fileChannelOut.write(bb);
+            bb.clear();
+        } catch (Exception e) {
+            context.getWorkbenchFrame()
+                    .warnUser(
+                            
I18N.get("org.openjump.core.ui.plugin.mousemenu.SaveDatasetsPlugIn.Error-See-Output-Window"));
+            context.getWorkbenchFrame().getOutputFrame().createNewDocument();
+            context.getWorkbenchFrame()
+                    .getOutputFrame()
+                    .addText(
+                            "SaveImageToRasterPlugIn Exception:Export Part of 
FLT/ASC or modify raster to ASC not yet implemented. Please Use Sextante 
Plugin");
+        } finally {
+            if (out != null)
+                out.close();
+        }
+    }
+
+    private void loadFLT(File flt_outFile, PlugInContext context)
+            throws NoninvertibleTransformException, TiffReadingException,
+            Exception {
+
+        RasterImageIO rasterImageIO = new RasterImageIO();
+        Viewport viewport = context.getWorkbenchContext().getLayerViewPanel()
+                .getViewport();
+        Resolution requestedRes = RasterImageIO
+                .calcRequestedResolution(viewport);
+        ImageAndMetadata imageAndMetadata = rasterImageIO.loadImage(
+                context.getWorkbenchContext(), flt_outFile.getAbsolutePath(),
+                null, viewport.getEnvelopeInModelCoordinates(), requestedRes);
+
+        GridFloat gf = new GridFloat(flt_outFile.getAbsolutePath());
+
+        Envelope imageEnvelope = new Envelope(gf.getXllCorner(),
+                gf.getXllCorner() + gf.getnCols() * gf.getCellSize(),
+                gf.getYllCorner(), gf.getYllCorner() + gf.getnRows()
+                        * gf.getCellSize());
+
+        RasterImageLayer ril = new RasterImageLayer(flt_outFile.getName(),
+                context.getWorkbenchContext().getLayerManager(),
+                flt_outFile.getAbsolutePath(), imageAndMetadata.getImage(),
+                imageEnvelope);
+        String catName = "Temp";// StandardCategoryNames.RESULT;
+        try {
+            catName = ((Category) context.getLayerNamePanel()
+                    .getSelectedCategories().toArray()[0]).getName();
+        } catch (RuntimeException e1) {
+        }
+        context.getLayerManager().addLayerable(catName, ril);
+    }
+
+    public static MultiEnableCheck createEnableCheck(
+            WorkbenchContext workbenchContext) {
+        EnableCheckFactory checkFactory = new EnableCheckFactory(
+                workbenchContext);
+        MultiEnableCheck multiEnableCheck = new MultiEnableCheck();
+
+        multiEnableCheck.add(
+                checkFactory.createExactlyNLayerablesMustBeSelectedCheck(1,
+                        RasterImageLayer.class)).add(
+                checkFactory
+                        .createRasterImageLayerExactlyNBandsMustExistCheck(1));
+
+        return multiEnableCheck;
+    }
+
+}
\ No newline at end of file


Property changes on: 
core/trunk/src/org/openjump/core/ui/plugin/raster/nodata/ChangeValueToNoDataPlugIn.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to