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

View differences:

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