Interface Ellipsoid

  • All Superinterfaces:

    public interface Ellipsoid
    extends IdentifiedObject
    Geometric figure that can be used to describe the approximate shape of the earth. In mathematical terms, it is a surface formed by the rotation of an ellipse about its minor axis. An ellipsoid requires two defining parameters: There is not just one ellipsoid. An ellipsoid is a matter of choice, and therefore many choices are possible. The size and shape of an ellipsoid was traditionally chosen such that the surface of the geoid is matched as closely as possible locally, e.g. in a country. A number of global best-fit ellipsoids are now available. An association of an ellipsoid with the earth is made through the definition of the size and shape of the ellipsoid and the position and orientation of this ellipsoid with respect to the earth. Collectively this choice is captured by the concept of "geodetic datum". A change of size, shape, position or orientation of an ellipsoid will result in a change of geographic coordinates of a point and be described as a different geodetic datum. Conversely geographic coordinates are unambiguous only when associated with a geodetic datum.
    See Also:
    DatumAuthorityFactory.createEllipsoid(String), DatumFactory.createEllipsoid(Map, double, double, Unit), DatumFactory.createFlattenedSphere(Map, double, double, Unit)
    Departure from OGC/ISO specification:
    ISO 19111 defines the union named secondDefiningParameter as being either semiMinorAxis or inverseFlattening. The union construct (defined in some languages like C/C++) does not exist in Java. GeoAPI changed the interface to require both ellipsoidal parameters (in addition to the semiMajorAxis parameter which is mandatory in any case), as was done in OGC 01-009. However, implementors could readily permit users to only provide one of the two parameters by creating a class which calculates the second parameter from the first. For precision, GeoAPI imports the isIvfDefinitive attribute from OGC 01-009 to enable the user to establish which of the two parameters was used to define the instance.