I need to colorized geometries from shapefiles and convert them to raster image (geotiff).
I tried to use geotools's VectorToRasterProcess and ImageWorker ("d:\gis\tmp\32 27 25 w4.shp" is path to my test shapefile):
URL url = new File("d:\\gis\\tmp\\32 27 25 w4.shp").toURI().toURL();
ShapefileDataStore ds = new ShapefileDataStore(url);
FeatureSource fs = ds.getFeatureSource("32%2027%2025%20w4");
GridCoverage2D raster = VectorToRasterProcess.process(fs.getFeatures(),
"ID", new Dimension(400, 400), fs.getBounds(),"test", null);
ImageWorker imageWorker = new ImageWorker(raster.getRenderedImage());
imageWorker = imageWorker.rescaleToBytes();
imageWorker.makeColorTransparent(Color.BLACK);
imageWorker.forceComponentColorModel();
raster = new GridCoverageFactory().create("one", imageWorker.getRenderedImage(), fs.getBounds());
GeoTiffWriter writer = new GeoTiffWriter(output);
GeoTiffWriteParams params = new GeoTiffWriteParams();
ParameterValue<GeoToolsWriteParams> value = GeoTiffFormat.GEOTOOLS_WRITE_PARAMS.createValue();
value.setValue(params);
writer.write(raster, new GeneralParameterValue[]{value});
writer.dispose();
The result geotiff is here
What is not right in my configuration of ImageWorker? Give, please, some advices.
Regards, Dmitry