Interface DatumFactory

All Superinterfaces:
Factory, Object­Factory
All Known Implementing Classes:
Geodetic­Object­Factory

@UML(identifier="CS_CoordinateSystemFactory", specification=OGC_01009) public interface DatumFactory extends ObjectFactory
Builds up complex datums from simpler objects or values. Datum­Factory allows applications to make datums that cannot be created by a Datum­Authority­Factory. This factory is very flexible, whereas the authority factory is easier to use. So Datum­Authority­Factory can be used to make "standard" datums, and Datum­Factory can be used to make "special" datums.
Since:
1.0
See Also:
  • Method Details

    • createEngineeringDatum

      @UML(identifier="createLocalDatum", specification=OGC_01009) EngineeringDatum createEngineeringDatum(Map<String,?> properties) throws FactoryException
      Creates an engineering datum.
      Parameters:
      properties - Name and other properties to give to the new object. Available properties are listed there.
      Returns:
      The datum for the given properties.
      Throws:
      Factory­Exception - if the object creation failed.
    • createGeodeticDatum

      @UML(identifier="createHorizontalDatum", specification=OGC_01009) GeodeticDatum createGeodeticDatum(Map<String,?> properties, Ellipsoid ellipsoid, PrimeMeridian primeMeridian) throws FactoryException
      Creates geodetic datum from ellipsoid and (optionally) Bursa-Wolf parameters.
      Parameters:
      properties - Name and other properties to give to the new object. Available properties are listed there.
      ellipsoid - Ellipsoid to use in new geodetic datum.
      prime­Meridian - Prime meridian to use in new geodetic datum.
      Returns:
      The datum for the given properties.
      Throws:
      Factory­Exception - if the object creation failed.
    • createImageDatum

      ImageDatum createImageDatum(Map<String,?> properties, PixelInCell pixelInCell) throws FactoryException
      Creates an image datum.
      Parameters:
      properties - Name and other properties to give to the new object. Available properties are listed there.
      pixel­In­Cell - Specification of the way the image grid is associated with the image data attributes.
      Returns:
      The datum for the given properties.
      Throws:
      Factory­Exception - if the object creation failed.
    • createTemporalDatum

      TemporalDatum createTemporalDatum(Map<String,?> properties, Date origin) throws FactoryException
      Creates a temporal datum from an enumerated type value.

      Warning: The argument type of this method may change in GeoAPI 3.1 release. It may be replaced by a type matching more closely either ISO 19108 (Temporal Schema) or ISO 19103.

      Parameters:
      properties - Name and other properties to give to the new object. Available properties are listed there.
      origin - The date and time origin of this temporal datum.
      Returns:
      The datum for the given properties.
      Throws:
      Factory­Exception - if the object creation failed.
    • createVerticalDatum

      @UML(identifier="createVerticalDatum", specification=OGC_01009) VerticalDatum createVerticalDatum(Map<String,?> properties, VerticalDatumType type) throws FactoryException
      Creates a vertical datum from an enumerated type value.
      Parameters:
      properties - Name and other properties to give to the new object. Available properties are listed there.
      type - The type of this vertical datum (often "geoidal").
      Returns:
      The datum for the given properties.
      Throws:
      Factory­Exception - if the object creation failed.
    • createEllipsoid

      @UML(identifier="createEllipsoid", specification=OGC_01009) Ellipsoid createEllipsoid(Map<String,?> properties, double semiMajorAxis, double semiMinorAxis, Unit<Length> unit) throws FactoryException
      Creates an ellipsoid from radius values.
      Parameters:
      properties - Name and other properties to give to the new object. Available properties are listed there.
      semi­Major­Axis - Equatorial radius in supplied linear units.
      semi­Minor­Axis - Polar radius in supplied linear units.
      unit - Linear units of ellipsoid axes.
      Returns:
      The ellipsoid for the given properties.
      Throws:
      Factory­Exception - if the object creation failed.
    • createFlattenedSphere

      @UML(identifier="createFlattenedSphere", specification=OGC_01009) Ellipsoid createFlattenedSphere(Map<String,?> properties, double semiMajorAxis, double inverseFlattening, Unit<Length> unit) throws FactoryException
      Creates an ellipsoid from an major radius, and inverse flattening.
      Parameters:
      properties - Name and other properties to give to the new object. Available properties are listed there.
      semi­Major­Axis - Equatorial radius in supplied linear units.
      inverse­Flattening - Eccentricity of ellipsoid.
      unit - Linear units of major axis.
      Returns:
      The ellipsoid for the given properties.
      Throws:
      Factory­Exception - if the object creation failed.
    • createPrimeMeridian

      @UML(identifier="createPrimeMeridian", specification=OGC_01009) PrimeMeridian createPrimeMeridian(Map<String,?> properties, double longitude, Unit<Angle> unit) throws FactoryException
      Creates a prime meridian, relative to Greenwich.
      Parameters:
      properties - Name and other properties to give to the new object. Available properties are listed there.
      longitude - Longitude of prime meridian in supplied angular units East of Greenwich.
      unit - Angular units of longitude.
      Returns:
      The prime meridian for the given properties.
      Throws:
      Factory­Exception - if the object creation failed.