Revision 1028

View differences:

org.gvsig.raster.lizardtech/trunk/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/DefaultLizardtechIOLibrary.java
23 23

  
24 24
import org.gvsig.fmap.dal.DALFileLibrary;
25 25
import org.gvsig.fmap.dal.DALLibrary;
26
import org.gvsig.raster.impl.store.AbstractNewRasterStoreParameters;
26 27
import org.gvsig.raster.impl.store.AbstractRasterFileDataParameters;
27 28
import org.gvsig.tools.ToolsLibrary;
28 29
import org.gvsig.tools.library.AbstractLibrary;
......
50 51
	@Override
51 52
	protected void doPostInitialize() throws LibraryException {
52 53
		AbstractRasterFileDataParameters.registerDynClass();
54
		AbstractNewRasterStoreParameters.registerDynClass();
53 55
		
54 56
		// Registro de los drivers de lectura
55 57
		LizardTechProvider.register();
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/saveas/SaveAsTocMenuEntry.java
40 40
import org.gvsig.fmap.dal.coverage.datastruct.Params;
41 41
import org.gvsig.fmap.dal.coverage.exception.NotSupportedExtensionException;
42 42
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
43
import org.gvsig.fmap.dal.coverage.store.DataServerWriter;
44 43
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
45 44
import org.gvsig.fmap.dal.coverage.util.ProviderServices;
46 45
import org.gvsig.fmap.geom.primitive.Envelope;
......
217 216
			if (chooser.showSaveDialog(((AbstractViewPanel) w).getComponent(0)) == JFileChooser.APPROVE_OPTION) {
218 217
				// Creaci?n de par?metros
219 218
				String tit = PluginServices.getMDIManager().getWindowInfo(w).getTitle();
220
				DataServerWriter dataWriter = rManager.createDataServerWriter();
221 219
				RasterDataStore datastore = ((FLyrRaster)fLayer).getDataStore();
222 220
				int[] drawableBands = new int[fLayer.getDataStore().getBandCount()];
223 221
				for (int i = 0; i < fLayer.getDataStore().getBandCount(); i++)
......
268 266
							 										 (int) fLayer.getPxHeight()});
269 267
				}
270 268
				clippingProcess.addParam("filename", file);
271
				clippingProcess.addParam("datawriter", dataWriter);
272 269
				clippingProcess.addParam("layer", fLayer);
273 270
				clippingProcess.addParam("drawablebands", drawableBands);
274 271
				clippingProcess.addParam("colorInterpretation", datastore.getColorInterpretation());
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/clip/ui/listener/ClippingPanelListener.java
44 44
import org.gvsig.fmap.dal.coverage.RasterLocator;
45 45
import org.gvsig.fmap.dal.coverage.datastruct.Extent;
46 46
import org.gvsig.fmap.dal.coverage.grid.ROI;
47
import org.gvsig.fmap.dal.coverage.store.DataServerWriter;
48 47
import org.gvsig.fmap.dal.coverage.store.props.ColorInterpretation;
49 48
import org.gvsig.fmap.geom.primitive.Envelope;
50 49
import org.gvsig.fmap.mapcontrol.MapControl;
......
441 440
	 * @param lr
442 441
	 *        Lower right coordinate
443 442
	 */
443
	@SuppressWarnings("unused")
444 444
	private void adjustPoints(Point2D ul, Point2D lr) {
445 445
		double a = (ul.getX() - (int)ul.getX());
446 446
		double b = (ul.getY() - (int)ul.getY());
......
457 457
	 * del raster en p?xeles
458 458
	 * @param req
459 459
	 */
460
	@SuppressWarnings("unused")
460 461
	private Point2D adjustPixelRequest(Point2D req) {
461 462
		req.setLocation(Math.max(0, req.getX()), Math.max(0, req.getY()));
462 463
		req.setLocation(Math.min(dim.width - 1, req.getX()), Math.min(dim.height - 1, req.getY()));
......
645 646
			}
646 647
		}
647 648

  
648
		DataServerWriter dataWriter = RasterLocator.getManager().createDataServerWriter();
649
		
650 649
		RasterProcess clippingProcess = new ClippingProcess();
651 650
		clippingProcess.setActions(this);
652 651
		clippingProcess.addParam("viewname", getViewName());
......
655 654
		else
656 655
			clippingProcess.addParam("realcoordinates", wcValues);
657 656
		clippingProcess.addParam("filename", filename);
658
		clippingProcess.addParam("datawriter", dataWriter);
659 657
		clippingProcess.addParam("layer", getFLayer());
660 658
		clippingProcess.addParam("drawablebands", drawableBands);
661 659
		clippingProcess.addParam("onelayerperband", new Boolean(getOptionsPanel().getCbOneLyrPerBand().isSelected()));
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/saveraster/operation/CopyDataset.java
30 30
import org.gvsig.fmap.dal.coverage.exception.NotSupportedExtensionException;
31 31
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
32 32
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
33
import org.gvsig.fmap.dal.coverage.store.DataServerWriter;
34 33
import org.gvsig.fmap.mapcontext.exceptions.LoadLayerException;
35 34
import org.gvsig.gui.beans.incrementabletask.IncrementableTask;
36 35
import org.gvsig.raster.fmap.layers.DefaultFLyrRaster;
......
95 94
	 */
96 95
	public void copy() throws ProcessInterruptedException {
97 96
		// Creaci?n de par?metros
98
		DataServerWriter dataWriter = rManager.createDataServerWriter();
99 97
		int[] dValues = new int[] { 0, (int) src.getPxHeight(), (int) src.getPxWidth(), 0 };
100 98
		int[] drawableBands = new int[src.getDataStore().getBandCount()];
101 99
		for (int i = 0; i < src.getDataStore().getBandCount(); i++)
......
117 115
		clippingProcess.addParam("showenddialog", new Boolean(false));
118 116
		clippingProcess.addParam("pixelcoordinates", dValues);
119 117
		clippingProcess.addParam("filename", fDstName);
120
		clippingProcess.addParam("datawriter", dataWriter);
121 118
		clippingProcess.addParam("layer", src);
122 119
		clippingProcess.addParam("drawablebands", drawableBands);
123 120
		clippingProcess.addParam("colorInterpretation", src.getDataStore().getColorInterpretation());
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/raster/process/ClippingProcess.java
31 31
import org.gvsig.app.project.ProjectManager;
32 32
import org.gvsig.app.project.documents.Document;
33 33
import org.gvsig.app.project.documents.view.BaseViewDocument;
34
import org.gvsig.fmap.dal.DALLocator;
35
import org.gvsig.fmap.dal.DataManager;
36
import org.gvsig.fmap.dal.DataServerExplorer;
37
import org.gvsig.fmap.dal.DataServerExplorerParameters;
34 38
import org.gvsig.fmap.dal.coverage.RasterLibrary;
35 39
import org.gvsig.fmap.dal.coverage.RasterLocator;
36 40
import org.gvsig.fmap.dal.coverage.RasterManager;
......
39 43
import org.gvsig.fmap.dal.coverage.datastruct.NoData;
40 44
import org.gvsig.fmap.dal.coverage.datastruct.Params;
41 45
import org.gvsig.fmap.dal.coverage.exception.InvalidSetViewException;
42
import org.gvsig.fmap.dal.coverage.exception.NotSupportedExtensionException;
43 46
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
44 47
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
45 48
import org.gvsig.fmap.dal.coverage.exception.RmfSerializerException;
46 49
import org.gvsig.fmap.dal.coverage.process.IncrementableTask;
47
import org.gvsig.fmap.dal.coverage.store.DataServerWriter;
48 50
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
49 51
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
50
import org.gvsig.fmap.dal.coverage.store.RasterWriter;
52
import org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters;
51 53
import org.gvsig.fmap.dal.coverage.store.parameter.RemoteStoreParameters;
52 54
import org.gvsig.fmap.dal.coverage.store.props.ColorInterpretation;
53 55
import org.gvsig.fmap.dal.coverage.store.props.ColorTable;
54 56
import org.gvsig.fmap.dal.coverage.util.RasterUtils;
55 57
import org.gvsig.fmap.dal.exception.CloseException;
58
import org.gvsig.fmap.dal.exception.DataException;
59
import org.gvsig.fmap.dal.exception.InitializeException;
60
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
61
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
56 62
import org.gvsig.fmap.mapcontext.layers.FLayer;
57 63
import org.gvsig.fmap.mapcontext.layers.FLayers;
58 64
import org.gvsig.raster.fmap.layers.DefaultFLyrRaster;
......
70 76
 */
71 77
public class ClippingProcess extends RasterProcess {
72 78
	private String                        fileName            = "";
73
	private DataServerWriter              writerBufferServer  = null;
74 79
	private FLyrRaster                    rasterSE            = null;
75
	private AffineTransform               affineTransform     = new AffineTransform();
76 80
	private boolean                       oneLayerPerBand     = false;
77 81
	private int[]                         drawableBands       = { 0, 1, 2 };
78 82
	private double[]                      pValues             = null;
79
	private RasterWriter                  rw                  = null;
80 83
	private int                           interpolationMethod = Buffer.INTERPOLATION_Undefined;
81 84
	private String                        viewName            = "";
82 85
	private Params                        params              = null;
83 86
	private ColorInterpretation           colorInterp         = null;
84 87
	private ArrayList<VectorialROI>       selectedRois        = null;
85

  
88
	private AffineTransform               affineTransform     = null;
86 89
	private double[]                      wcValues            = null;
87 90
	private RasterManager                 rManager            = RasterLocator.getManager();
91
	private NewRasterStoreParameters      sparams             = null; 
88 92
	
89 93
	/**
90 94
	 * Variables de la resoluci?n de salida
......
113 117
	@SuppressWarnings("unchecked")
114 118
	public void init() {
115 119
		fileName = getStringParam("filename");
116
		writerBufferServer = (DataServerWriter) getParam("datawriter");
117 120
		viewName = getStringParam("viewname");
118 121
		pValues = getDoubleArrayParam("pixelcoordinates");
119 122
		wcValues = getDoubleArrayParam("realcoordinates");
......
268 271
			
269 272
			
270 273
			insertLineLog(RasterToolsUtil.getText(this, "salvando_imagen"));
271

  
274
			
275
			DataManager manager = DALLocator.getDataManager();
276
			String provider = "Gdal Store";
277
			DataServerExplorerParameters eparams = manager.createServerExplorerParameters("FilesystemExplorer");
278
			
272 279
			String finalFileName = "";
273 280
			if (oneLayerPerBand) {
274 281
				long[] milis = new long[drawableBands.length];
275 282
				String[] fileNames = new String[drawableBands.length];
276 283
				for (int i = 0; i < drawableBands.length; i++) {
277 284
					fileNames[i] = fileName + "_B" + drawableBands[i] + ".tif";
278
					writerBufferServer.setBuffer(buffer, i);
279
					Params p = null;
280
					if (params == null)
281
						p = rManager.createWriter(fileNames[i]).getParams();
282
					else
283
						p = params;
284
					rw = rManager.createWriter(writerBufferServer, fileNames[i], 1,
285
							affineTransform, buffer.getWidth(), buffer.getHeight(),
286
							buffer.getDataType(), p, null);
287
					rw.setColorBandsInterpretation(new String[]{ColorInterpretation.GRAY_BAND});
288
					rw.setWkt(dstoreCopy.getWktProjection());
289
					rw.dataWrite();
290
					rw.writeClose();
285
					
286
					int index = fileNames[i].lastIndexOf(File.separator);
287
					if(index < 0)
288
						index = fileNames[i].length();
289
					String path = fileNames[i].substring(0, index);
290
					String file = fileNames[i].substring(index + 1, fileNames[i].length());
291
					
292
					eparams.setDynValue("initialpath", path);
293
					DataServerExplorer serverExplorer = manager.openServerExplorer(eparams.getExplorerName(), eparams);
294

  
295
					sparams = (NewRasterStoreParameters)serverExplorer.getAddParameters(provider);
296
					sparams.setDestination(path, file);
297
					sparams.setBuffer(buffer);
298
					sparams.setColorInterpretation(new String[]{ColorInterpretation.GRAY_BAND});
299
					sparams.setWktProjection(dstoreCopy.getWktProjection());
300
					sparams.setBand(i);
301
					sparams.setAffineTransform(affineTransform);
302
					
303
					serverExplorer.add(provider, sparams, true);
304
					
305
//					writerBufferServer.setBuffer(buffer, i);
306
//					Params p = null;
307
//					if (params == null)
308
//						p = rManager.createWriter(fileNames[i]).getParams();
309
//					else
310
//						p = params;
311
//					rw = rManager.createWriter(writerBufferServer, fileNames[i], 1,
312
//							affineTransform, buffer.getWidth(), buffer.getHeight(),
313
//							buffer.getDataType(), p, null);
314
//					rw.setColorBandsInterpretation(new String[]{ColorInterpretation.GRAY_BAND});
315
//					rw.setWkt(dstoreCopy.getWktProjection());
316
//					rw.dataWrite();
317
//					rw.writeClose();
291 318
					saveToRmf(fileNames[i]);
292 319
					t2 = new java.util.Date().getTime();
293 320
					milis[i] = (t2 - t1);
......
325 352
					f.delete();
326 353
				}
327 354
				f = null;
328
				writerBufferServer.setBuffer(buffer, -1);
329
				if (params == null) {
330
					finalFileName = fileName + ".tif";
331
					params = rManager.createWriter(finalFileName).getParams();
332
				} else
333
					finalFileName = fileName;
334
				rw = rManager.createWriter(writerBufferServer, finalFileName,
335
						buffer.getBandCount(), affineTransform, buffer.getWidth(),
336
						buffer.getHeight(), buffer.getDataType(), params, null);
355
				
356
				finalFileName = fileName + ".tif";
357
				
358
				int index = finalFileName.lastIndexOf(File.separator);
359
				if(index < 0)
360
					index = finalFileName.length();
361
				String path = finalFileName.substring(0, index);
362
				String file = finalFileName.substring(index + 1, finalFileName.length());
363
				
364
				eparams.setDynValue("initialpath", path);
365
				DataServerExplorer serverExplorer = manager.openServerExplorer(eparams.getExplorerName(), eparams);
366

  
367
				sparams = (NewRasterStoreParameters)serverExplorer.getAddParameters(provider);
368
				sparams.setDestination(path, file);
369
				sparams.setBuffer(buffer);
337 370
				if(colorInterp != null)
338
					rw.setColorBandsInterpretation(colorInterp.getValues());
339
				rw.setWkt(dstoreCopy.getWktProjection());
340
				rw.dataWrite();
341
				rw.writeClose();
371
					sparams.setColorInterpretation(colorInterp.getValues());
372
				sparams.setWktProjection(dstoreCopy.getWktProjection());
373
				sparams.setAffineTransform(affineTransform);
374
				
375
				serverExplorer.add(provider, sparams, true);
376
				
377
//				writerBufferServer.setBuffer(buffer, -1);
378
//				if (params == null) {
379
//					finalFileName = fileName + ".tif";
380
//					params = rManager.createWriter(finalFileName).getParams();
381
//				} else
382
//					finalFileName = fileName;
383
//				rw = rManager.createWriter(writerBufferServer, finalFileName,
384
//						buffer.getBandCount(), affineTransform, buffer.getWidth(),
385
//						buffer.getHeight(), buffer.getDataType(), params, null);
386
//				if(colorInterp != null)
387
//					rw.setColorBandsInterpretation(colorInterp.getValues());
388
//				rw.setWkt(dstoreCopy.getWktProjection());
389
//				rw.dataWrite();
390
//				rw.writeClose();
342 391
				saveToRmf(finalFileName);
392
				
393
				
343 394
				t2 = new java.util.Date().getTime();
344 395
				if (incrementableTask != null) {
345 396
					incrementableTask.processFinalize();
......
355 406
				cutFinalize(finalFileName, (t2 - t1));
356 407
			}
357 408

  
358
		} catch (NotSupportedExtensionException e) {
359
			RasterToolsUtil.messageBoxError("error_not_suported_extension", this, e);
360 409
		} catch (RasterDriverException e) {
361 410
			RasterToolsUtil.messageBoxError("error_writer", this, e);
362
		} catch (IOException e) {
411
		} catch (ValidateDataParametersException e) {
363 412
			RasterToolsUtil.messageBoxError("error_georasterwriter", this, e);
413
		} catch (ProviderNotRegisteredException e) {
414
			RasterToolsUtil.messageBoxError("error_georasterwriter", this, e);
415
		} catch (InitializeException e) {
416
			RasterToolsUtil.messageBoxError("error_georasterwriter", this, e);
417
		} catch (DataException e) {
418
			RasterToolsUtil.messageBoxError("error_georasterwriter", this, e);
419
		} catch (Exception e) {
420
			e.printStackTrace();
364 421
		} finally {
365 422
			if (dstoreCopy != null)
366 423
				try {
......
477 534
				return task.getPercent();
478 535
		}
479 536
		
480
		return (writerBufferServer != null) ? writerBufferServer.getPercent() : 0;
537
		return (sparams != null) ? sparams.getPercent() : 0;
481 538
	}
482 539

  
483 540
	/*
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/AbstractNewRasterStoreParameters.java
23 23
package org.gvsig.raster.impl.store;
24 24

  
25 25
import java.awt.geom.AffineTransform;
26
import java.io.File;
26 27

  
27 28
import org.cresques.cts.IProjection;
28 29
import org.gvsig.fmap.dal.coverage.dataset.Buffer;
29 30
import org.gvsig.fmap.dal.coverage.datastruct.Params;
30 31
import org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters;
32
import org.gvsig.tools.ToolsLocator;
33
import org.gvsig.tools.dynobject.DelegatedDynObject;
34
import org.gvsig.tools.dynobject.DynClass;
35
import org.gvsig.tools.dynobject.DynField;
36
import org.gvsig.tools.dynobject.DynObjectManager;
31 37

  
32 38
/**
33 39
 * This class represents parameters that we need to create a new
......
35 41
 *
36 42
 * @author Nacho Brodin (nachobrodin@gmail.com)
37 43
 */
38
public abstract class AbstractNewRasterStoreParameters extends AbstractRasterFileDataParameters 
44
public abstract class AbstractNewRasterStoreParameters extends AbstractRasterFileDataParameters
39 45
	implements NewRasterStoreParameters {
40
	private int        percent = 0;
46
	public static final String         DYNCLASS_NAME               = "NewRasterStoreParameters";
47
	protected DelegatedDynObject       delegatedDynObject          = null;
48
	private static DynClass            DYNCLASS                    = null;
49
	private Buffer                     buffer                      = null;
50
	private int                        percent                     = 0;
41 51
	
52
	public AbstractNewRasterStoreParameters() {
53
		super();
54
		initialize();
55
	}
56
	
57
	public static void registerDynClass() {
58
	   	DynObjectManager dynman = ToolsLocator.getDynObjectManager();
59
    	DynClass dynClass = dynman.get(DYNCLASS_NAME);
60
    	DynField field;
61
    	if (dynClass == null) {
62
    		dynClass = dynman.add(DYNCLASS_NAME);
63
    		
64
//    		field = dynClass.addDynField(FIELD_BUFFER);
65
//    		field.setDescription("Data buffer");
66
//    		field.setClassOfValue(Object.class);
67
//    		field.setMandatory(false);
68

  
69
    		field = dynClass.addDynField(FIELD_SRS);
70
    		field.setDescription("SRS");
71
    		field.setClassOfValue(Object.class);
72
    		field.setMandatory(false);
73

  
74
    		field = dynClass.addDynField(FIELD_PARAMS);
75
    		field.setDescription("Driver parameters");
76
    		field.setClassOfValue(Object.class);
77
    		field.setMandatory(false);
78

  
79
    		field = dynClass.addDynFieldInt(FIELD_BAND);
80
    		field.setDescription("band");
81
    		field.setClassOfValue(Integer.class);
82
    		field.setMandatory(false);
83
    		
84
    		field = dynClass.addDynFieldString(FIELD_WKT);
85
            field.setDescription("");
86
            field.setMandatory(false);
87
            field.setClassOfValue(String.class);
88
            
89
            field = dynClass.addDynFieldArray(FIELD_COLORINTERPRETATION);
90
            field.setDescription("Color interpretation by band");
91
            field.setMandatory(false);
92
            field.setClassOfValue(String.class);
93
            
94
            field = dynClass.addDynFieldString(FIELD_AFFINETRANSFORM);
95
    		field.setDescription("Affine transform");
96
    		field.setClassOfValue(String.class);
97
    		field.setMandatory(false);
98
    		
99
    		field = dynClass.addDynFieldString(FIELD_URI);
100
    		field.setDescription("Uniform Resource Identifier (File name or URL)");
101
    		field.setClassOfValue(String.class);
102
    		field.setMandatory(false);
103
    		
104
            DYNCLASS = dynClass;
105
    	}
106
		
107
	}
108
	
109
	protected void initialize() {
110
		this.delegatedDynObject = (DelegatedDynObject) ToolsLocator
111
				.getDynObjectManager().createDynObject(
112
						DYNCLASS);
113
	}
114
	
115
	protected DelegatedDynObject getDelegatedDynObject() {
116
		return this.delegatedDynObject;
117
	}
118
	
42 119
	/*
43 120
	 * (non-Javadoc)
44 121
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#getBuffer()
45 122
	 */
46 123
	public Buffer getBuffer() {
47
		return (Buffer)getDynValue(BUFFER);
124
		return buffer;
48 125
	}
49 126

  
50 127
	/*
......
52 129
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#getColorInterpretation()
53 130
	 */
54 131
	public String[] getColorInterpretation() {
55
		return (String[])getDynValue(COLORINTERPRETATION);
132
		return (String[])getDynValue(FIELD_COLORINTERPRETATION);
56 133
	}
57 134

  
58 135
	/*
......
60 137
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#getFileName()
61 138
	 */
62 139
	public String getFileName() {
63
		return (String)getDynValue(FILENAME);
140
		String s = getFile().toString();
141
		int n = s.lastIndexOf(File.separator);
142
		if(n >= 0)
143
			return s.substring(n + 1, s.length());
144
		return s;
64 145
	}
65

  
146
	
66 147
	/*
67 148
	 * (non-Javadoc)
149
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#getPath()
150
	 */
151
	public String getPath() {
152
		String s = getFile().toString();
153
		int n = s.lastIndexOf(File.separator);
154
		if(n >= 0)
155
			return s.substring(0, n);
156
		return s;
157
	}
158
	
159
	/*
160
	 * (non-Javadoc)
68 161
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#getProjection()
69 162
	 */
70 163
	public IProjection getProjection() {
71
		return (IProjection)getDynValue(SRS);
164
		return (IProjection) getDynValue(FIELD_SRS);
72 165
	}
73 166
	
74 167
	/*
......
76 169
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#getDriverParams()
77 170
	 */
78 171
	public Params getDriverParams() {
79
		return (Params)getDynValue(PARAMS);
172
		return (Params)getDynValue(FIELD_PARAMS);
80 173
	}
81 174
	
82 175
	/*
......
84 177
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#setDriverParams(org.gvsig.fmap.dal.coverage.datastruct.Params)
85 178
	 */
86 179
	public void setDriverParams(Params params) {
87
		this.setDynValue(PARAMS, params);
180
		this.setDynValue(FIELD_PARAMS, params);
88 181
	}
89 182
	
90 183
	/*
......
92 185
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#setBuffer(org.gvsig.fmap.dal.coverage.dataset.Buffer)
93 186
	 */
94 187
	public void setBuffer(Buffer buffer) {
95
		this.setDynValue(BUFFER, buffer);
188
		this.buffer = buffer;
96 189
	}
97 190
	
98 191
	/*
......
100 193
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#getBand()
101 194
	 */
102 195
	public int getBand() {
103
		if(getDynValue(BAND) == null)
196
		if(getDynValue(FIELD_BAND) == null)
104 197
			return -1;
105
		return (Integer)getDynValue(BAND);
198
		return (Integer)getDynValue(FIELD_BAND);
106 199
	}
107 200
	
108 201
	/*
......
110 203
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#setBand(int)
111 204
	 */
112 205
	public void setBand(int n) {
113
		this.setDynValue(BAND, n);
206
		this.setDynValue(FIELD_BAND, n);
114 207
	}
115 208
	
116 209
	/*
......
118 211
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#setAffineTransform(java.awt.geom.AffineTransform)
119 212
	 */
120 213
	public void setAffineTransform(AffineTransform at) {
121
		this.setDynValue(AFFINETRANSFORM, at);
214
		StringBuilder str = new StringBuilder();
215
		str.append(at.getScaleX());
216
		str.append(",");
217
		str.append(at.getShearX());
218
		str.append(",");
219
		str.append(at.getShearY());
220
		str.append(",");
221
		str.append(at.getScaleY());
222
		str.append(",");
223
		str.append(at.getTranslateX());
224
		str.append(",");
225
		str.append(at.getTranslateY());
226
		this.setDynValue(FIELD_AFFINETRANSFORM, str);
122 227
	}
123 228
	
124 229
	/*
......
126 231
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#getAffineTransform()
127 232
	 */
128 233
	public AffineTransform getAffineTransform() {
129
		if(getDynValue(AFFINETRANSFORM) != null)
130
			return (AffineTransform)getDynValue(AFFINETRANSFORM);
234
		if(getDynValue(FIELD_AFFINETRANSFORM) != null) {
235
			String str = (String)getDynValue(FIELD_AFFINETRANSFORM);
236
			String[] values = str.split(",");
237
			return new AffineTransform(
238
					new Double(values[0]), 
239
					new Double(values[1]), 
240
					new Double(values[2]), 
241
					new Double(values[3]), 
242
					new Double(values[4]), 
243
					new Double(values[5]));
244
		}
131 245
		return null;
132 246
	}
133 247
	
......
136 250
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#setWktProjection(java.lang.String)
137 251
	 */
138 252
	public void setWktProjection(String wkt) {
139
		this.setDynValue(WKT, wkt);
253
		this.setDynValue(FIELD_WKT, wkt);
140 254
	}
141 255
	
142 256
	/*
......
144 258
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#getWktProjection()
145 259
	 */
146 260
	public String getWktProjection() {
147
		return (String)getDynValue(WKT);
261
		return (String)getDynValue(FIELD_WKT);
148 262
	}
149 263

  
150 264
	/*
......
152 266
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#setColorInterpretation(java.lang.String[])
153 267
	 */
154 268
	public void setColorInterpretation(String[] colorInterpretation) {
155
		this.setDynValue(COLORINTERPRETATION, colorInterpretation);
269
		this.setDynValue(FIELD_COLORINTERPRETATION, colorInterpretation);
156 270
	}
157 271

  
158 272
	/*
159 273
	 * (non-Javadoc)
160
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#setFileName(java.lang.String)
274
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#setDestination(java.lang.String, java.lang.String)
161 275
	 */
162
	public void setFileName(String fileName) {
163
		this.setDynValue(FILENAME, fileName);
276
	public void setDestination(String path, String fileName) {
277
		this.setFile(new File(path, fileName));
164 278
	}
165 279

  
166 280
	/*
......
168 282
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#setProjection(org.cresques.cts.IProjection)
169 283
	 */
170 284
	public void setProjection(IProjection projection) {
171
		this.setDynValue(SRS, projection);
285
		this.setDynValue(FIELD_SRS, projection);
172 286
	}
173 287
	
288
	public boolean isValid() {
289
		if(getFileName() == null)
290
			return false;
291
		return true;
292
	}
293
	
174 294
	/*
175 295
	 * (non-Javadoc)
176 296
	 * @see org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters#setPercent(int)
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.api/src/main/java/org/gvsig/fmap/dal/coverage/store/parameter/NewRasterStoreParameters.java
15 15
 * @author Nacho Brodin (nachobrodin@gmail.com)
16 16
 */
17 17
public interface NewRasterStoreParameters extends NewDataStoreParameters {
18
	public static String          FILENAME               = "fileName";
19
	public static String          BUFFER                 = "buffer";
20
	public static String          COLORINTERPRETATION    = "colorInterpretation";
21
	public static String          SRS                    = "srs";
22
	public static String          PARAMS                 = "driverparams";
23
	public static String          BAND                   = "band";
24
	public static String          WKT                    = "wktproj";
25
	public static String          AFFINETRANSFORM        = "affineTransform";
18
	public static String          FIELD_BUFFER                 = "buffer";
19
	public static String          FIELD_COLORINTERPRETATION    = "colorInterpretation";
20
	public static String          FIELD_SRS                    = "srs";
21
	public static String          FIELD_PARAMS                 = "driverparams";
22
	public static String          FIELD_BAND                   = "band";
23
	public static String          FIELD_WKT                    = "wktproj";
24
	public static String          FIELD_AFFINETRANSFORM        = "affineTransform";
26 25
	
27 26
	/**
28 27
	 * Sets the name of the file to save
29 28
	 * @param fileName
30 29
	 */
31
	public void setFileName(String fileName);
30
	public void setDestination(String path, String fileName);
32 31
	
33 32
	/**
34 33
	 * Sets the buffer with data loaded
......
118 117
	 */
119 118
	public String getFileName();
120 119
	
120
	public String getPath();
121
	
121 122
	/**
122 123
	 * Gets the buffer with data loaded
123 124
	 * @return
org.gvsig.raster.gdal/trunk/org.gvsig.raster.gdal/org.gvsig.raster.gdal.io/src/main/java/org/gvsig/raster/gdal/io/DefaultGdalIOLibrary.java
23 23

  
24 24
import org.gvsig.fmap.dal.DALFileLibrary;
25 25
import org.gvsig.fmap.dal.DALLibrary;
26
import org.gvsig.raster.impl.store.AbstractNewRasterStoreParameters;
26 27
import org.gvsig.raster.impl.store.AbstractRasterFileDataParameters;
27 28
import org.gvsig.tools.ToolsLibrary;
28 29
import org.gvsig.tools.library.AbstractLibrary;
......
49 50
	@Override
50 51
	protected void doPostInitialize() throws LibraryException {
51 52
		AbstractRasterFileDataParameters.registerDynClass();
53
		AbstractNewRasterStoreParameters.registerDynClass();
52 54
		
53 55
		// Registro de los drivers de lectura
54 56
		GdalProvider.register();
org.gvsig.raster.gdal/trunk/org.gvsig.raster.gdal/org.gvsig.raster.gdal.io/src/main/java/org/gvsig/raster/gdal/io/GdalFilesystemServerExplorer.java
91 91
				params = RasterLocator.getManager().createWriter(p.getFileName()).getParams();
92 92
			
93 93
			AffineTransform affineTransform = p.getAffineTransform();
94
			if(affineTransform != null) {
94
			if(affineTransform == null) {
95 95
				if(p.getBuffer().getDataExtent() != null) {
96 96
					double x = p.getBuffer().getDataExtent().getMinX();
97 97
					double y = p.getBuffer().getDataExtent().getMaxY();
......
105 105
			
106 106
			RasterWriter writer = RasterLocator.getManager().createWriter(
107 107
					dataWriter, 
108
					p.getFileName(),
108
					p.getPath() + File.separator + p.getFileName(),
109 109
					p.getBuffer().getBandCount(), 
110 110
					affineTransform, 
111 111
					p.getBuffer().getWidth(),
org.gvsig.raster.ermapper/trunk/org.gvsig.raster.ermapper/org.gvsig.raster.ermapper.io/src/main/java/org/gvsig/raster/ermapper/io/DefaultErmapperIOLibrary.java
23 23

  
24 24
import org.gvsig.fmap.dal.DALFileLibrary;
25 25
import org.gvsig.fmap.dal.DALLibrary;
26
import org.gvsig.raster.impl.store.AbstractNewRasterStoreParameters;
26 27
import org.gvsig.raster.impl.store.AbstractRasterFileDataParameters;
27 28
import org.gvsig.tools.ToolsLibrary;
28 29
import org.gvsig.tools.library.AbstractLibrary;
......
50 51
	@Override
51 52
	protected void doPostInitialize() throws LibraryException {
52 53
		AbstractRasterFileDataParameters.registerDynClass();
54
		AbstractNewRasterStoreParameters.registerDynClass();
53 55
		
54 56
		// Registro de los drivers de lectura
55 57
		ErmapperProvider.register();

Also available in: Unified diff