Interface DatumFactory

All Superinterfaces:
Factory, ObjectFactory

@UML(identifier="CS_CoordinateSystemFactory", specification=OGC_01009) public interface DatumFactory extends ObjectFactory
Builds up complex datums from simpler objects or values. DatumFactory allows applications to make datums that cannot be created by a DatumAuthorityFactory. This factory is very flexible, whereas the authority factory is easier to use. So DatumAuthorityFactory can be used to make "standard" datums, and DatumFactory 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:
      FactoryException - 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.
      primeMeridian - Prime meridian to use in new geodetic datum.
      Returns:
      The datum for the given properties.
      Throws:
      FactoryException - 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.
      pixelInCell - Specification of the way the image grid is associated with the image data attributes.
      Returns:
      The datum for the given properties.
      Throws:
      FactoryException - 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:
      FactoryException - 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:
      FactoryException - 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.
      semiMajorAxis - Equatorial radius in supplied linear units.
      semiMinorAxis - Polar radius in supplied linear units.
      unit - Linear units of ellipsoid axes.
      Returns:
      The ellipsoid for the given properties.
      Throws:
      FactoryException - 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.
      semiMajorAxis - Equatorial radius in supplied linear units.
      inverseFlattening - Eccentricity of ellipsoid.
      unit - Linear units of major axis.
      Returns:
      The ellipsoid for the given properties.
      Throws:
      FactoryException - 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:
      FactoryException - if the object creation failed.