Hi Peppe,

thanks for the update!

and have a good time in Switzerland. Its probably expensive there - but
if you are a tour guide its less a problem of yours ;)

stefan

Am 26.06.13 12:56, schrieb Giuseppe Aruta:
> Really I don't understand loops in Java
> ;-)
> 
> 
> 2013/6/26 Giuseppe Aruta <giuseppe_ar...@yahoo.it 
> <mailto:giuseppe_ar...@yahoo.it>>
> 
>     Hi Stefan,
>     I made some progress, now I am able to save to asc, unfortunately
>     each value of the pixel of the ascii is saved an incredible number
>     equal to rowXcolumn of the original. So my test file of 101 byte
>     becomes a huge file of 2 Gb :-( Surelly I made a misake.
>     Then I moved to Switzerland for job, where actully I am. And didn't
>     carry with me Eclipse, codes, OpenJMP, etc. I will be back home
>     after 5th of July and give a better look (and send the code)
>     regards
> 
>     Peppe
> 
> 
>     2013/6/26 Stefan Steiniger <sst...@geo.uzh.ch
>     <mailto:sst...@geo.uzh.ch>>
> 
>         Hi Peppe,
> 
>         did you made any progress on that?
>         Or is the code the last version you have?
> 
>         slds,
>         stefan
> 
>         Am 21.06.13 06:05, schrieb Giuseppe Aruta:
>          >
>          > Hi all,
>          > Recently I worked a bit with Sextante/grids and did some
>         specialized
>          > short courses. A student of mine used OpenJUMP/Sextante to do
>         some
>          > analysis. Than he had to convert all the rasters (TIFF
>         format) into ESRI
>          > Ascii grid files (.asc) as he had to use a more specialized
>         software
>          > that was accepting only asc. and surfer raster format.
>          > Of coarse we used gdal for raster transformation.
>          > Well, since  Esri ascii file is a very simple text file
>          > (http://en.wikipedia.org/wiki/Esri_grid), in these days (
>         that I have
>          > spare time)  I tried to make a plugin "Export raster to Esri
>         Ascii grid
>          > file" for OpenJUMP (that in turn I would like to add to OJ
>         NB). All
>          > raster parameters are easy implemented by RasterImageLayer and
>          > OpenJUMPSextanteRasterLayer.
>          > I had some success and some failures.
>          > I ask your help, as developers.
>          > I added to this mail the code I wrote (coping partially OJ raster
>          > classes and from other software like ImageJ) - The foillowing
>         code just
>          > shows the transformation, excluding initialize(), icon(),
>         name(), etc.
>          > This code partially works: the file is saved together with
>         the header of
>          > the raster (see the *black* part of the code, number of
>         colums, rows,
>          > x-ycoordinates of upper left corner, cell size and NODATA),
>          > The red part of code is not working. This part should  lists
>         the raster
>          > values for each cell, starting at the upper-left corner,
>         possibly with
>          > decimal values, delimited by space character. I ask you if
>         can give me a
>          > suggestion for this part.
>          > Another part that I would like to implement is the
>         MultienableCheck
>          > (dark *violet *part of the code). This plugin should be
>         activated only
>          > if the raster has only one band (I think this is numbered "0" by
>          > OpenJUMPSextanteRasterLayer class). Any suggestion is
>         accepted: a way to
>          > distinguish (within Pirol raster plugin) between grid mono
>         band file and
>          > others would be quite usefull for future plugins
>          > If this plugin is finished I think I will add to OJ NB under
>          > Raster>Tools menu.
>          > regards and thanks
>          >
>          > Peppe
>          >
>          > public class SaveToASCPlugIn extends AbstractPlugIn
>          > {
>          >
>          >    protected double[][] data;
>          >    private Properties properties = null;
>          >    private static String propertiesFile =
>          > LoadSextanteRasterImagePlugIn.getPropertiesFile();
>          >    private String lastPath;
>          >    NumberFormat cellFormat = null;
>          >    public static final String DEFAULT_NODATA = "-9999";
>          >
>          >    public boolean execute(PlugInContext context)
>          >      throws Exception
>          >    {
>          >      JFileChooser fc = new JFCWithEnterAction();
>          >
>          >      fc.setFileFilter(new FileFilter() {
>          >        public boolean accept(File f) {
>          >          return (f.isDirectory()) ||
>          >            (f.getName().toLowerCase().endsWith(".asc"));
>          >        }
>          >
>          >        public String getDescription() {
>          >          return "Arc/Info ASCII Grid (.asc)";
>          >        }
>          >      });
>          >      this.properties = new Properties();
>          >      try {
>          >        FileInputStream fis = new FileInputStream(propertiesFile);
>          >        this.properties.load(fis);
>          >        this.lastPath =
>          >
>         this.properties.getProperty(LoadSextanteRasterImagePlugIn.KEY_PATH);
>          >        fis.close();
>          >      }
>          >      catch (FileNotFoundException e) {
>          >
>          >
>         
> context.getWorkbenchFrame().warnUser(I18N.get("org.openjump.core.ui.plugin.layer.pirolraster.SaveRasterImageAsImagePlugIn.File-not-found"));
>          >      }
>          >      catch (IOException e) {
>          >        context.getWorkbenchFrame().warnUser(GenericNames.ERROR);
>          >      }
>          >
>          >      if (this.lastPath != null) {
>          >        fc.setCurrentDirectory(new File(this.lastPath));
>          >      }
>          >      fc.setMultiSelectionEnabled(false);
>          >
>          >      fc.setDialogTitle(getName());
>          >      int returnVal = fc.showSaveDialog(fc);
>          >      if (returnVal == 0) {
>          >        String ascFileName =
>         fc.getSelectedFile().getAbsolutePath();
>          >
>          >        if
>         (!ascFileName.toLowerCase().endsWith(".asc".toLowerCase())) {
>          >            ascFileName = ascFileName + ".asc";
>          >        }
>          >
>          >        File ascFile = new File(ascFileName);
>          >
>          >        FileOutputStream ascOut = new FileOutputStream(ascFile);
>          >
>          >        RasterImageLayer rLayer =
>          > (RasterImageLayer)LayerTools.getSelectedLayerable(context,
>          > RasterImageLayer.class);
>          >        OpenJUMPSextanteRasterLayer rstLayer = new
>          > OpenJUMPSextanteRasterLayer();
>          >        rstLayer.create(rLayer);
>          >
>          > *PrintStream o = new PrintStream(ascOut);*
>          > *o.println( "ncols " + rLayer.getOrigImageWidth()  );
>          >                  //rstLayer.getNX()  );
>          >          o.println( "nrows " + rLayer.getOrigImageHeight()  );
>          >                  //rstLayer.getNY() );
>          >          o.println( "xllcorner " +
>         rLayer.getEnvelope().getMinX() );
>          >          o.println( "yllcorner " +
>         rLayer.getEnvelope().getMinY());
>          >          o.println( "cellsize " + rstLayer.getLayerCellSize() );
>          >          o.println( "NODATA_value " + DEFAULT_NODATA  );*
>          >
>          >
>          >      GridWrapperNotInterpolated gwrapper = new
>          > GridWrapperNotInterpolated(rstLayer,
>         rstLayer.getLayerGridExtent());
>          >
>          >
>          >               int nx = rstLayer.getLayerGridExtent().getNX();
>          >              int ny = rstLayer.getLayerGridExtent().getNY();
>          >               for (int x = 0; x < nx; x++) {//cols
>          >                  for (int y = 0; y < ny; y++) {//rows
>          >                      double value =
>         gwrapper.getCellValueAsFloat(x, y, 0);
>          >                      StringBuffer b = new StringBuffer();
>          >                      for( int i = 0; i <
>         rLayer.getOrigImageWidth(); i++ )
>          >                      {
>          >                          if(
>         Double.isNaN(rstLayer.getNoDataValue()  )
>          > ) b.append( rstLayer.getNoDataValue() );
>          >                          else if( cellFormat != null ) b.append(
>          > cellFormat.format( value ));
>          >                          else b.append( cellFormat.format(
>         value ) );
>          >                          if( i < rLayer.getOrigImageWidth() -1 )
>          > b.append(  " "  );
>          >                      }
>          >                      o.println( b );
>          >               }
>          >          }
>          >          o.close();
>          >
>          >        rLayer.setImageFileName(ascFileName);
>          >        rLayer.setNeedToKeepImage(false);
>          >      }
>          >
>          >      return true;
>          >    }
>          >
>          >
>          >    public void setCellFormat( NumberFormat format )
>          >      {
>          >          cellFormat = format;
>          >      }
>          >
>          >
>          > *public static MultiEnableCheck
>         createEnableCheck(WorkbenchContext
>          > workbenchContext)
>          >    {
>          >      EnableCheckFactory checkFactory = new EnableCheckFactory(
>          >        workbenchContext);
>          >      MultiEnableCheck multiEnableCheck = new MultiEnableCheck();
>          >
>          >
>          >
>         
> multiEnableCheck.add(checkFactory.createExactlyNLayerablesMustBeSelectedCheck(1,
>          > RasterImageLayer.class));
>          >
>          >      return multiEnableCheck;*
>          >    }
>          >
>          > }
>          >
>          >
>          >
>         
> ------------------------------------------------------------------------------
>          > This SF.net email is sponsored by Windows:
>          >
>          > Build for Windows Store.
>          >
>          > http://p.sf.net/sfu/windows-dev2dev
>          >
>          >
>          >
>          > _______________________________________________
>          > Jump-pilot-devel mailing list
>          > Jump-pilot-devel@lists.sourceforge.net
>         <mailto:Jump-pilot-devel@lists.sourceforge.net>
>          > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>          >
> 
>         
> ------------------------------------------------------------------------------
>         This SF.net email is sponsored by Windows:
> 
>         Build for Windows Store.
> 
>         http://p.sf.net/sfu/windows-dev2dev
>         _______________________________________________
>         Jump-pilot-devel mailing list
>         Jump-pilot-devel@lists.sourceforge.net
>         <mailto:Jump-pilot-devel@lists.sourceforge.net>
>         https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
> 
> Build for Windows Store.
> 
> http://p.sf.net/sfu/windows-dev2dev
> 
> 
> 
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to