public void create( final String name, final String filename, final AnalysisExtent ae, int dataType, final int numBands, final GProjection projection) { if (projection == null) { _projection = ProjectionUtils.getDefaultProjection(); } else { _projection = projection; } if (dataType == DataBuffer.TYPE_DOUBLE) { dataType = DataBuffer.TYPE_FLOAT; } System.out.println(ae.getNX()); System.out.println(ae.getNY()); _raster = RasterFactory.createBandedRaster(dataType, ae.getNX(), ae.getNY(), numBands, null); _filename = filename; _name = name; _layerExtent = ae; _noDataValue = DEFAULT_NO_DATA_VALUE; }
@Override public void postProcess() { try { // BufferedImage bi = new // BufferedImage(RasterRenderer.getDefaultColorModel( // (WritableRaster)m_Raster), (WritableRaster)m_Raster, false, // null); // Sector sector = Sector.fromDegrees(m_LayerExtent.getYMin(), // m_LayerExtent.getYMax(), // m_LayerExtent.getXMin(), m_LayerExtent.getXMax()); // GeotiffWriter writer; // File file = new File(m_sFilename); // writer = new GeotiffWriter(file); // writer.write(bi); // TODO:Sector??????????? final File file = new File(_filename); final GRasterGeodata geodata = new GRasterGeodata( _layerExtent.getXMin(), _layerExtent.getYMin(), _layerExtent.getCellSize(), _layerExtent.getNY(), _layerExtent.getNX(), _projection); final GGlobeRasterLayer layer = new GGlobeRasterLayer(_raster, geodata); layer.setNoDataValue(_noDataValue); layer.setName(_name); ESRIAsciiFileTools.writeFile(layer, file); create(layer); } catch (final Exception e) { e.printStackTrace(); } }