Added by jgarnett, last edited by jgarnett on Jul 05, 2007  (view change)

Labels

 
(None)

Transforming an Envelope is a bit hard:

  • a proper JTS Envelope does not have a CoordianteReferenceSystem - please use ReferencedEnvelope instead
  • An Envelope is basically a rectangle (minx,maxx,miny,maxy), when you reproject that a rectangle the result is often a polygon

Transform an Envelope using the JTS Utility class

Here is the code example:

import org.geotools.geometry.jts.JTS;
import org.geotools.referencing.CRS;

CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:4326");
CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:23032");

Envelope envelope  = new Envelope(0, 10, 0, 10);
MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS);

// sample 10 points around the envelope
Envelope result = JTS.transform(envelope, transform, 10 );

Transform a ReferencedEnvelope

This is easier with ReferencedEnvelope:

import org.geotools.geometry.jts.JTS;
import org.geotools.referencing.CRS;

CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:4326");
CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:23032");

ReferencedEnvelope envelope  = new ReferencedEnvelope(0, 10, 0, 10, sourceCRS );

MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS);

// Sample 10 points around the envelope
ReferencedEnvelope result = envelope.transform( sourceCRS, true, 10 );