Revision 6489 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.gdal/org.gvsig.raster.gdal.provider/src/main/java/org/gvsig/raster/gdal/provider/RasterGdalStoreProviderCreate.java
RasterGdalStoreProviderCreate.java | ||
---|---|---|
55 | 55 |
if (file.exists() && !overwrite){ |
56 | 56 |
throw new CreateException("File already exists: "+file.toString(), null); |
57 | 57 |
} |
58 |
Dataset gdalDataset; |
|
59 |
if (options.length== 0) { |
|
60 |
gdalDataset = gdalDriver.Create(file.getAbsolutePath(), |
|
61 |
buffer.getColumns(), buffer.getRows(), buffer.getBandCount()); |
|
62 |
} else { |
|
63 |
gdalDataset = |
|
64 |
gdalDriver.Create(file.getAbsolutePath(), buffer.getColumns(), |
|
65 |
buffer.getRows(), buffer.getBandCount(), options); |
|
66 |
} |
|
67 |
IProjection projection = buffer.getProjection(); |
|
58 |
Dataset gdalDataset = null; |
|
59 |
try { |
|
60 |
if (options.length == 0) { |
|
61 |
gdalDataset = |
|
62 |
gdalDriver.Create(file.getAbsolutePath(), buffer.getColumns(), buffer.getRows(), |
|
63 |
buffer.getBandCount()); |
|
64 |
} else { |
|
65 |
gdalDataset = |
|
66 |
gdalDriver.Create(file.getAbsolutePath(), buffer.getColumns(), buffer.getRows(), |
|
67 |
buffer.getBandCount(), options); |
|
68 |
} |
|
69 |
IProjection projection = buffer.getProjection(); |
|
68 | 70 |
|
69 |
if (projection!=null){
|
|
70 |
String wkt=projection.export(ICRSFactory.FORMAT_WKT_ESRI);
|
|
71 |
gdalDataset.SetProjection(wkt); |
|
72 |
} |
|
73 |
gdalDataset.SetGeoTransform(createGeoTransform(buffer)); |
|
71 |
if (projection != null) {
|
|
72 |
String wkt = projection.export(ICRSFactory.FORMAT_WKT_ESRI);
|
|
73 |
gdalDataset.SetProjection(wkt);
|
|
74 |
}
|
|
75 |
gdalDataset.SetGeoTransform(createGeoTransform(buffer));
|
|
74 | 76 |
|
75 |
fillDataset(buffer, gdalDataset); |
|
76 |
|
|
77 |
if (gdalDataset!=null){ |
|
77 |
fillDataset(buffer, gdalDataset); |
|
78 | 78 |
gdalDataset.FlushCache(); |
79 |
} finally { |
|
80 |
if (gdalDataset != null) { |
|
81 |
gdalDataset.delete(); |
|
82 |
} |
|
79 | 83 |
} |
80 | 84 |
//Create WLD |
81 | 85 |
try { |
... | ... | |
84 | 88 |
throw new CreateException("WLD File", e); |
85 | 89 |
} |
86 | 90 |
} |
87 |
|
|
88 |
|
|
89 |
|
|
90 |
|
|
91 | 91 |
} |
Also available in: Unified diff