private Polygon calculateClippingArea( final Envelope bbox, final int width ) {
double resolution = bbox.getSpan0() / width;
double delta = resolution * 100;
double[] minCords = new double[] { bbox.getMin().get0() - delta, bbox.getMin().get1() - delta };
double[] maxCords = new double[] { bbox.getMax().get0() + delta, bbox.getMax().get1() + delta };
Point min = new DefaultPoint( null, bbox.getCoordinateSystem(), null, minCords );
Point max = new DefaultPoint( null, bbox.getCoordinateSystem(), null, maxCords );
Envelope enlargedBBox = new DefaultEnvelope( min, max );
return (Polygon) Geometries.getAsGeometry( enlargedBBox );
}