JTS { public static ReferencedEnvelope toEnvelope(Geometry geom) { if (geom == null) { return null; } String srsName = null; Object userData = geom.getUserData(); if (userData != null && userData instanceof String) { srsName = (String) userData; } else if (geom.getSRID() > 0) { srsName = "EPSG:" + geom.getSRID(); } CoordinateReferenceSystem crs = null; if (userData != null && userData instanceof CoordinateReferenceSystem) { crs = (CoordinateReferenceSystem) userData; } else if (srsName != null) { try { crs = CRS.decode(srsName); } catch (NoSuchAuthorityCodeException e) { } catch (FactoryException e) { } } return new ReferencedEnvelope(geom.getEnvelopeInternal(), crs); } private  JTS(); static Envelope transform(final Envelope envelope, final MathTransform transform); static Envelope transform(final Envelope sourceEnvelope, Envelope targetEnvelope,
            final MathTransform transform, int npoints); static ReferencedEnvelope3D transformTo3D(final ReferencedEnvelope sourceEnvelope,
            CoordinateReferenceSystem targetCRS, boolean lenient, int npoints); static ReferencedEnvelope transformTo2D(final ReferencedEnvelope sourceEnvelope,
            CoordinateReferenceSystem targetCRS, boolean lenient, int npoints); static Geometry transform(final Geometry geom, final MathTransform transform); static Coordinate transform(final Coordinate source, Coordinate dest,
            final MathTransform transform); static Envelope toGeographic(final Envelope envelope, final CoordinateReferenceSystem crs); static ReferencedEnvelope toGeographic(final ReferencedEnvelope envelope); static void xform(final MathTransform transform, final double[] src, final double[] dest); static synchronized double orthodromicDistance(final Coordinate p1, final Coordinate p2,
            final CoordinateReferenceSystem crs); static DirectPosition toDirectPosition(final Coordinate point,
            final CoordinateReferenceSystem crs); static void copy(final Coordinate point, final double[] ordinates); static Geometry shapeToGeometry(final Shape shape, final GeometryFactory factory); static Geometry toGeometry(final Shape shape); static Geometry toGeometry(final Shape shape, final GeometryFactory factory); static Envelope2D getEnvelope2D(final Envelope envelope,
            final CoordinateReferenceSystem crs); static Point toGeometry(DirectPosition position); static Point toGeometry(DirectPosition position, GeometryFactory factory); static Polygon toGeometry(Envelope env); static Polygon toGeometry(final Envelope env, GeometryFactory factory); static ReferencedEnvelope toEnvelope(Geometry geom); static Polygon toGeometry(ReferencedEnvelope bbox); static Polygon toGeometry(BoundingBox bbox, GeometryFactory factory, int npoints); static Geometry toGeographic( Geometry geom, final CoordinateReferenceSystem crs ); static Polygon toGeometry(BoundingBox bbox); static Polygon toGeometry(BoundingBox bbox, final GeometryFactory factory); static void checkCoordinatesRange(Geometry geom, CoordinateReferenceSystem crs); static Geometry smooth(final Geometry geom, double fit); static Geometry smooth(final Geometry geom, double fit, final GeometryFactory factory); static ReferencedEnvelope bounds( Geometry geometry, CoordinateReferenceSystem crs ); static Geometry removeCollinearVertices(final Geometry g); static Geometry removeCollinearVertices(final Geometry geometry, int minPoints); static List<Polygon> makeValid(Polygon polygon, boolean removeHoles);  }
@Test public void toEnvelope() { Coordinate[] coords = getPolyCoords(); GeometryFactory gf = new GeometryFactory(); Geometry geom = gf.createPolygon(gf.createLinearRing(coords), null); ReferencedEnvelope refEnv = JTS.toEnvelope(geom); assertTrue(geom.getEnvelopeInternal().equals(refEnv)); }