/** * Creates the inverse CoordinateOperation. */ @Override public CoordinateOperation inverse() throws NonInvertibleOperationException { return new Geographic2Geocentric(ellipsoid); }
/** * Returns true if object is equals to * <code>this</code>. Tests equality between the ellipsoid used by the * transformation. * * @param o The object to compare this Geographic2Geocentric against */ @Override public boolean equals(Object o) { if (this == o) { return true; } if (o instanceof Geographic2Geocentric) { Geographic2Geocentric gg2gc = (Geographic2Geocentric) o; return getEllipsoid().equals(gg2gc.getEllipsoid()); } return false; }
/** * Return a String representation of this Geographic/Geocentric converter. */ @Override public String toString() { return getName() + " (" + ellipsoid.getName() + ")"; }
/** * @return * @throws org.cts.op.NonInvertibleOperationException * @see GeodeticCRS#fromGeographicCoordinateConverter() */ @Override public CoordinateOperation fromGeographicCoordinateConverter() throws NonInvertibleOperationException { List<CoordinateOperation> ops = new ArrayList<CoordinateOperation>(); if (!getDatum().getPrimeMeridian().equals(PrimeMeridian.GREENWICH)) { ops.add(LongitudeRotation.getLongitudeRotationFrom(getDatum().getPrimeMeridian())); } ops.add(new Geographic2Geocentric(getDatum().getEllipsoid())); return new CoordinateOperationSequence(new Identifier( CoordinateOperationSequence.class), ops); }
"Geographic Transformation from " + this.getShortName() + " to " + targetDatum.getShortName()), new LongitudeRotation(this.primeMeridian.getLongitudeFromGreenwichInRadians()), new Geographic2Geocentric(ellipsoid), coordOp, new Geocentric2Geographic(targetDatum.getEllipsoid()),
source.toGeographicCoordinateConverter(), new LongitudeRotation(source.getDatum().getPrimeMeridian().getLongitudeFromGreenwichInRadians()), new Geographic2Geocentric(source.getDatum().getEllipsoid()), datumTransformation, new Geocentric2Geographic(target.getDatum().getEllipsoid()),