I am trying to convert the points 3.08, 62.08 from CRS 4320 to CRS 4326.
This conversion fails with the following error:

org.opengis.util.NoSuchIdentifierException: No operation method found for
name or identifier “Norway Offshore Interpolation”.

at
org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory.getOperationMethod(DefaultMathTransformFactory.java:474)
at
org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory.createParameterizedTransform(DefaultMathTransformFactory.java:1098)
at
org.apache.sis.internal.referencing.ReferencingUtilities.createBaseToDerived(ReferencingUtilities.java:563)
at
org.apache.sis.referencing.factory.sql.EPSGDataAccess.createCoordinateOperation(EPSGDataAccess.java:2999)
at
org.apache.sis.referencing.factory.AuthorityFactoryProxy$34.create(AuthorityFactoryProxy.java:516)
at
org.apache.sis.referencing.factory.AuthorityFactoryProxy$34.create(AuthorityFactoryProxy.java:514)
at
org.apache.sis.referencing.factory.ConcurrentAuthorityFactory.create(ConcurrentAuthorityFactory.java:1702)
at
org.apache.sis.referencing.factory.ConcurrentAuthorityFactory.createCoordinateOperation(ConcurrentAuthorityFactory.java:1615)
at
org.apache.sis.internal.referencing.DeferredCoordinateOperation.create(DeferredCoordinateOperation.java:71)
at
org.apache.sis.referencing.operation.CoordinateOperationRegistry.search(CoordinateOperationRegistry.java:593)
at
org.apache.sis.referencing.operation.CoordinateOperationRegistry.createOperations(CoordinateOperationRegistry.java:436)
at
org.apache.sis.referencing.operation.CoordinateOperationFinder.createOperations(CoordinateOperationFinder.java:271)
at
org.apache.sis.referencing.operation.CoordinateOperationFinder.createOperation(CoordinateOperationFinder.java:194)
at
org.apache.sis.referencing.operation.DefaultCoordinateOperationFactory.createOperation(DefaultCoordinateOperationFactory.java:789)
at org.apache.sis.referencing.CRS.findOperation(CRS.java:641)


I am using the Apache SIS 1.1 libraries. This error occurs when the EPSG
database is used. If the EPSG database is not used, then apache sis is able
to perform the conversion mentioned earlier.

Here is the code I used for the conversion:

CoordinateReferenceSystem fromCrs = CRS.forCode("EPSG:4230");
CoordinateReferenceSystem toCrs = CRS.forCode("EPSG:4326");
CoordinateReferenceSystem displayOrientedFromCrs =
AbstractCRS.castOrCopy(fromCrs).forConvention(AxesConvention.DISPLAY_ORIENTED);
CoordinateReferenceSystem displayOrientedToCrs =
AbstractCRS.castOrCopy(toCrs).forConvention(AxesConvention.DISPLAY_ORIENTED);
GeographicBoundingBox extentInLongLat =
ExtentUtil.getExtentFromAreaOfUse(displayOrientedFromCrs, 3.08, 62.08,
3.08, 62.08);
CoordinateOperation operation = CRS.findOperation(displayOrientedFromCrs,
displayOrientedToCrs, extentInLongLat);
DirectPosition position = new DirectPosition2D(3.08, 62.08);
double[] coordinate = operation.getMathTransform().transform(position,
position).getCoordinate();

Thanks,
Michael
-- 
*Michael Arneson*

*Software Engineer*



*Office:* +1 (713) 975-7434

michael.arne...@int.com

*INT *| *Empowering Visualization*

Reply via email to