gvsig-raster / org.gvsig.raster / branches / org.gvsig.raster.2.4 / org.gvsig.raster / org.gvsig.raster.gdal / org.gvsig.raster.gdal.provider / src / test / java / org / gvsig / raster / gdal / provider / RasterGdalStoreProviderTest.java @ 6335
History | View | Annotate | Download (3.85 KB)
1 |
package org.gvsig.raster.gdal.provider; |
---|---|
2 |
|
3 |
import java.io.File; |
4 |
import java.net.URL; |
5 |
|
6 |
import org.cresques.cts.IProjection; |
7 |
import org.gvsig.fmap.crs.CRSFactory; |
8 |
import org.gvsig.fmap.dal.DALLocator; |
9 |
import org.gvsig.fmap.dal.DataManager; |
10 |
import org.gvsig.fmap.dal.DataServerExplorer; |
11 |
import org.gvsig.fmap.dal.DataServerExplorerParameters; |
12 |
import org.gvsig.fmap.dal.raster.api.RasterStore; |
13 |
import org.gvsig.fmap.dal.raster.spi.NewRasterStoreParameters; |
14 |
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters; |
15 |
import org.gvsig.fmap.dal.spi.DALSPILocator; |
16 |
import org.gvsig.fmap.dal.spi.DataManagerProviderServices; |
17 |
import org.gvsig.raster.lib.buffer.api.Buffer; |
18 |
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase; |
19 |
|
20 |
public class RasterGdalStoreProviderTest extends AbstractLibraryAutoInitTestCase { |
21 |
|
22 |
@Override
|
23 |
protected void doSetUp() throws Exception { |
24 |
|
25 |
|
26 |
} |
27 |
|
28 |
/**
|
29 |
* Tries to copy an store into a new one using gdal provider
|
30 |
* @throws Exception
|
31 |
*/
|
32 |
public void testGdalCopyStore() throws Exception{ |
33 |
IProjection projection = CRSFactory.getCRS("EPSG:23030");
|
34 |
final URL url = this.getClass().getResource("/pathcv.png"); |
35 |
//The store is created using the PNG provider
|
36 |
String openingProviderName="PNG"; |
37 |
File openedFile=new File(url.toURI()); |
38 |
//The store is copied using the GTiff provider
|
39 |
String storingProviderName="GTiff"; |
40 |
String extension="tif"; |
41 |
File destFile=new File(openedFile.getParentFile(), "copiedFile."+extension); |
42 |
|
43 |
DataManager dataManager = DALLocator.getDataManager(); |
44 |
try {
|
45 |
//Opening the store
|
46 |
RasterGdalStoreProviderFactory gdalFactory= |
47 |
(RasterGdalStoreProviderFactory)dataManager.getStoreProviderFactory(openingProviderName); |
48 |
RasterGdalFileStoreParameters openParams = (RasterGdalFileStoreParameters)gdalFactory.createParameters(); |
49 |
openParams.setFile(openedFile); |
50 |
openParams.setCRS(projection); |
51 |
|
52 |
RasterStore store=null;
|
53 |
store = (RasterStore) dataManager.openStore(openingProviderName,openParams); |
54 |
assertNotNull(store); |
55 |
|
56 |
//The store is opened and must be copied
|
57 |
DataManagerProviderServices manager=DALSPILocator.getDataManagerProviderServices(); |
58 |
DataServerExplorerParameters eparams = manager.createServerExplorerParameters("FilesystemExplorer");
|
59 |
eparams.setDynValue("initialpath","/"); |
60 |
DataServerExplorer serverExplorer= manager.createServerExplorer(eparams); |
61 |
|
62 |
NewRasterStoreParameters newStoreParams =(NewRasterStoreParameters) serverExplorer.getAddParameters(storingProviderName); |
63 |
if (newStoreParams instanceof FilesystemStoreParameters) { |
64 |
((FilesystemStoreParameters) newStoreParams).setFile(destFile); |
65 |
} |
66 |
if (newStoreParams instanceof NewRasterStoreParameters) { |
67 |
Buffer buffer = store.getRasterSet().clip(store.getEnvelope());
|
68 |
((NewRasterStoreParameters) newStoreParams).setBuffer(buffer); |
69 |
} |
70 |
if (newStoreParams.hasDynValue("compress")) { |
71 |
newStoreParams.setDynValue("compress", "NONE"); |
72 |
} |
73 |
if (newStoreParams.hasDynValue("tfw")) { |
74 |
newStoreParams.setDynValue("tfw", true); |
75 |
} |
76 |
if (newStoreParams.hasDynValue("photometric")) { |
77 |
newStoreParams.setDynValue("photometric", "RGB"); |
78 |
} |
79 |
|
80 |
|
81 |
if (newStoreParams.isValid() ) {
|
82 |
serverExplorer.add(storingProviderName, newStoreParams, true);
|
83 |
} |
84 |
assert(destFile.exists());
|
85 |
|
86 |
}catch (Exception e){ |
87 |
fail("Exception happened: "+e.getMessage());
|
88 |
}finally{
|
89 |
if (destFile!=null && destFile.exists()){ |
90 |
destFile.delete(); |
91 |
} |
92 |
} |
93 |
|
94 |
} |
95 |
|
96 |
} |