/** * Creates the inverse CoordinateOperation. */ @Override public CoordinateOperation inverse() throws NonInvertibleOperationException { return new Geocentric2Geographic(ellipsoid, epsilon); }
/** * @return * @throws org.cts.op.NonInvertibleOperationException * @see GeodeticCRS#toGeographicCoordinateConverter() */ @Override public CoordinateOperation toGeographicCoordinateConverter() throws NonInvertibleOperationException { List<CoordinateOperation> ops = new ArrayList<CoordinateOperation>(); ops.add(new Geocentric2Geographic(getDatum().getEllipsoid())); if (!getDatum().getPrimeMeridian().equals(PrimeMeridian.GREENWICH)) { ops.add(LongitudeRotation.getLongitudeRotationTo(getDatum().getPrimeMeridian())); } return new CoordinateOperationSequence(new Identifier( CoordinateOperationSequence.class), ops); }
new Geographic2Geocentric(ellipsoid), coordOp, new Geocentric2Geographic(targetDatum.getEllipsoid()), new LongitudeRotation(targetDatum.getPrimeMeridian().getLongitudeFromGreenwichInRadians()).inverse());
new Geographic2Geocentric(source.getDatum().getEllipsoid()), datumTransformation, new Geocentric2Geographic(target.getDatum().getEllipsoid()), new LongitudeRotation(target.getDatum().getPrimeMeridian().getLongitudeFromGreenwichInRadians()).inverse(), target.fromGeographicCoordinateConverter());