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
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