Revision 2328 org.gvsig.raster/branches/org.gvsig.raster_dataaccess_refactoring/org.gvsig.raster.algorithm/src/main/java/org/gvsig/raster/algorithm/process/ProcessUtils.java

View differences:

ProcessUtils.java
31 31

  
32 32
import javax.swing.JOptionPane;
33 33

  
34
import org.cresques.cts.IProjection;
35
import org.gvsig.fmap.dal.DALLocator;
36
import org.gvsig.fmap.dal.DataManager;
37
import org.gvsig.fmap.dal.DataServerExplorer;
38
import org.gvsig.fmap.dal.DataServerExplorerParameters;
34 39
import org.gvsig.fmap.dal.coverage.RasterLocator;
35 40
import org.gvsig.fmap.dal.coverage.RasterManager;
36 41
import org.gvsig.fmap.dal.coverage.dataset.Buffer;
......
45 50
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
46 51
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
47 52
import org.gvsig.fmap.dal.coverage.store.RasterWriter;
53
import org.gvsig.fmap.dal.coverage.store.parameter.NewRasterStoreParameters;
48 54
import org.gvsig.fmap.dal.coverage.store.props.ColorInterpretation;
55
import org.gvsig.fmap.dal.exception.DataException;
49 56
import org.gvsig.fmap.dal.exception.InitializeException;
50 57
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
58
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
51 59
import org.gvsig.i18n.Messages;
52 60
import org.gvsig.raster.roi.ROI;
61
import org.slf4j.Logger;
53 62
import org.slf4j.LoggerFactory;
54 63
/**
55 64
 * Clase base de todos los procesos raster. En ella se genstionan todas las
......
59 68
 * @author Nacho Brodin nachobrodin@gmail.com
60 69
 */
61 70
public abstract class ProcessUtils {
71
	private Logger          log          = LoggerFactory.getLogger(ProcessUtils.class);
62 72
	protected NoData        doubleNODATA = RasterLocator.getManager().getDataStructFactory().createDefaultNoData(1, Buffer.TYPE_DOUBLE);
63 73
	
64 74
	/**
......
127 137
	 * @throws ProviderNotRegisteredException 
128 138
	 * @throws InitializeException 
129 139
	 */
140
	public void exportRaster(final String sFilename, 
141
			Buffer buf, 
142
			ColorInterpretation ci,
143
			Extent windowExtent,
144
			NoData nodata,
145
			IProjection proj) {
146
		nodata.setFileName(sFilename);
147
		nodata.save();
148
		
149
		buf.setDataExtent(windowExtent.toRectangle2D());
150
		
151
		DataManager manager = DALLocator.getDataManager();
152
		String provider = "Gdal Store";
153
		try {
154
			DataServerExplorerParameters eparams = manager.createServerExplorerParameters("FilesystemExplorer");
155
			DataServerExplorer serverExplorer = manager.openServerExplorer(eparams.getExplorerName(), eparams);
156

  
157
			NewRasterStoreParameters sparams = (NewRasterStoreParameters)serverExplorer.getAddParameters(provider);
158
			sparams.setBuffer(buf);
159
			sparams.setColorInterpretation(ci.getValues());
160
			sparams.setProjection(proj);
161
			sparams.setDestination(sFilename);
162
			
163
			serverExplorer.add("Gdal Store", sparams, true);
164
		} catch (InitializeException e) {
165
			log.debug("Error saving the file of the process", e);
166
		} catch (ProviderNotRegisteredException e) {
167
			log.debug("Error saving the file of the process", e);
168
		} catch (ValidateDataParametersException e) {
169
			log.debug("Error saving the file of the process", e);
170
		} catch (DataException e) {
171
			log.debug("Error saving the file of the process", e);
172
		}
173
	}
174
	
175
	/**
176
	 * Exports a raster buffer to disk
177
	 * @param sFilename
178
	 * @param buf
179
	 * @param cellsize
180
	 * @param minX
181
	 * @param minY
182
	 * @return
183
	 * @throws ProviderNotRegisteredException 
184
	 * @throws InitializeException 
185
	 */
130 186
	public boolean exportRaster(final String sFilename, 
131 187
			Buffer buf, 
132 188
			double cellsize, 
......
137 193
		nodata.setFileName(sFilename);
138 194
		nodata.save();
139 195
		return result;
140
		/*DataManager manager = DALLocator.getDataManager();
141
		String provider = "Gdal Store";
142
		DataServerExplorerParameters eparams = manager.createServerExplorerParameters("FilesystemExplorer");
143
		
144
		DataServerExplorer serverExplorer = manager.openServerExplorer(eparams.getExplorerName(), eparams);
145

  
146
		NewRasterStoreParameters sparams = (NewRasterStoreParameters)serverExplorer.getAddParameters(provider);
147
		sparams.setDataServer((DataServerWriter)processIncrement);
148
		sparams.setDestination(path, file);
149
		sparams.setBuffer(buffer);
150
		sparams.setColorInterpretation(new String[]{ColorInterpretation.GRAY_BAND});
151
		sparams.setWktProjection(dstoreCopy.getWktProjection());
152
		sparams.setBand(i);
153
		sparams.setAffineTransform(affineTransform);
154
		sparams.setDriverParams(params);*/
155 196
	}
156 197
	
157 198
	/**
......
168 209
			Buffer buf, 
169 210
			Buffer alphaBuffer, 
170 211
			double cellsize, 
171
			double minX, 
172
			double minY) {
212
			double ulx, 
213
			double uly) {
173 214
		try {
174 215
			RasterManager manager = RasterLocator.getManager();
175 216
			final DataServerWriter writerBufferServer = manager.createDataServerWriter();
......
191 232
			final Params params = manager.createWriterParams(sFilename);
192 233
			final AffineTransform affineTransform =
193 234
				new AffineTransform(cellsize, 0, 0,
194
						-cellsize, minX, minY);
235
						-cellsize, ulx, uly);
195 236

  
196 237
			final RasterWriter writer = manager.createWriter(
197 238
						writerBufferServer, 
......
226 267
	public boolean exportRaster(final String sFilename, 
227 268
			Buffer buf, 
228 269
			double cellsize, 
229
			double minX, 
230
			double minY) {
231
        return exportRaster(sFilename, buf, null, cellsize, minX, minY);
270
			double ulx, 
271
			double uly) {
272
        return exportRaster(sFilename, buf, null, cellsize, ulx, uly);
232 273
    }
233 274
	
234 275
	/**

Also available in: Unified diff