Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Using geotools I've been trying to create a referenced envelope after converting/reprojecting from WGS 84 to UTM with specific zones and it seems that either I need to do something with authority factories or figure out some kind of a workaround for this.

Here are the errors:

Exception in thread "main" org.opengis.referencing.NoSuchIdentifierException: No transform for classification "Transverse Mercator Zoned Grid System".
at org.geotools.referencing.operation.DefaultMathTransformFactory.getProvider(
at org.geotools.referencing.operation.DefaultMathTransformFactory.getDefaultParameters(
at org.geotools.referencing.factory.epsg.DirectEpsgFactory.createCoordinateOperation(
at org.geotools.referencing.factory.BufferedAuthorityFactory.createCoordinateOperation(
at org.geotools.referencing.factory.epsg.DirectEpsgFactory.createCoordinateReferenceSystem(
at org.geotools.referencing.factory.BufferedAuthorityFactory.createCoordinateReferenceSystem(
at org.geotools.referencing.factory.AuthorityFactoryAdapter.createCoordinateReferenceSystem(
at org.geotools.referencing.factory.FallbackAuthorityFactory.createCoordinateReferenceSystem(
at org.geotools.referencing.factory.FallbackAuthorityFactory.createCoordinateReferenceSystem(
at org.geotools.referencing.factory.AuthorityFactoryAdapter.createCoordinateReferenceSystem(
at org.geotools.referencing.factory.ThreadedAuthorityFactory.createCoordinateReferenceSystem(
at org.geotools.referencing.DefaultAuthorityFactory.createCoordinateReferenceSystem(
at org.geotools.referencing.CRS.decode(
at org.geotools.referencing.CRS.decode(

Here is the block of code that caused the error, it is related to trying to use CRS.decode():

    MathTransform mathTransform = CRS.findMathTransform(aoi.getCoordinateReferenceSystem(), CRS.decode("EPSG:" + epsg));
    DirectPosition2D srcDirectPosition2D = new DirectPosition2D(aoi.getCoordinateReferenceSystem(), aoi.getMinX(), aoi.getMinY());
    DirectPosition2D destDirectPosition2D = new DirectPosition2D();
    mathTransform.transform(srcDirectPosition2D, destDirectPosition2D);
    DirectPosition2D srcMaxDirectPosition2D = new DirectPosition2D(aoi.getCoordinateReferenceSystem(), aoi.getMaxX(), aoi.getMaxY());
    DirectPosition2D destMaxDirectPosition2D = new DirectPosition2D();
    mathTransform.transform(srcMaxDirectPosition2D, destMaxDirectPosition2D);

This is what I got when I printed out the coordinate reference system:

PROJCS["WGS 84 / UTM zone 18N", 
DATUM["World Geodetic System 1984", 
  SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]], 
PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], 
UNIT["degree", 0.017453292519943295], 
AXIS["Geodetic latitude", NORTH], 
AXIS["Geodetic longitude", EAST], 
PROJECTION["Transverse_Mercator", AUTHORITY["EPSG","9807"]], 
PARAMETER["central_meridian", -75.0], 
PARAMETER["latitude_of_origin", 0.0], 
PARAMETER["scale_factor", 0.9996], 
PARAMETER["false_easting", 500000.0], 
PARAMETER["false_northing", 0.0], 
UNIT["m", 1.0], 
AXIS["Easting", EAST], 
AXIS["Northing", NORTH], 

Apparently I may need to set a comparison tolerance when I use CRS related functions, but I'm not sure how to go about doing that.

share|improve this question
did you use maven to build your project? if not then there will be a missing jar – iant Apr 23 '13 at 7:51
yes I did. I also verified that the jar does in fact have a source attachment. – Carl Carlson Apr 23 '13 at 11:24

Your Answer


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

Browse other questions tagged or ask your own question.