Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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

share|improve this question

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.